7 760 статей
arXiv:2611.07238 88 4 нояб. 2026 г. FREE

Аудит и обрезка токен-мусора в ИИ-агентах: как убрать 40% лишних рассуждений без потери качества

КЛЮЧЕВАЯ СУТЬ
Обнаружено: почти пятая часть всего оплачиваемого вывода современных ИИ-агентов — чистый словесный балласт, а в половине задач один только мусор расточительного агента превышает весь вывод экономного. Метод Token Waste Framework позволяет вырезать почти половину лишних рассуждений и дублирующих вызовов без просадки точности решения. Фишка: фильтр отделяет строгий мусор от полезной разведки по принципу минимализма — удаляются только повторы контекста (Restate), повторные запросы (Duplicate-Fetch) и пустая вода (Padding), а поисковые гипотезы (Detour) остаются нетронутыми.
Адаптировать под запрос
⚡

TL;DR

Исследователи разработали метод пошагового аудита и онлайн-обрезки токен-мусора (Token Waste Framework), который с помощью прокси-перехватчика и LLM-судьи отделяет полезную работу агента от четырёх типов пустых трат: повтора контекста (Restate), дублирующих вызовов инструментов (Duplicate-Fetch), словесной воды (Padding) и тупиковых разведок (Detour). Первые три типа являются строгим мусором (strict waste): если вырезать их прямо по ходу работы агента, можно удалить почти половину текста рассуждений без просадки точности решения задач.

Все привыкли оценивать экономичность агента по общему счёту за токены, но общий чек смешивает необходимую глубокую работу со скрытым холостым ходом. На практике почти пятая часть всего оплачиваемого вывода современных агентов — это чистый мусор, а почти в половине рабочих задач одни только мусорные токены одного агента превышают весь целиком взятый объём вывода другого агента, который успешно решил ту же самую задачу. При этом попытка сэкономить «вслепую» (например, просто зажать общий лимит токенов или отключить рассуждения целиком) резко обрушивает качество работы.

Метод решает эту проблему за счёт точечной фильтрации по принципу минимализма: LLM-судья размечает в логе или на текущем шаге агента фрагменты Restate (пересказ системного промпта, планов и ответов тулов, которые и так лежат в контексте), Duplicate-Fetch (повторное чтение тех же файлов и запросов) и Padding (вводные расшаркивания, сочувствие и озвучивание действия перед вызовом инструмента), после чего эти куски удаляются из истории перед следующим шагом, а полезная разведка (Detour) не трогается.


🔬

Схема метода

ШАГ 1 (Перехват траектории): Прокси (LiteLLM) записывает шаги агента: рассуждения + видимый ответ + вызовы тулов + биллинг токенов
ШАГ 2 (Разметка LLM-судьёй — LLMaJ): Классификация фрагментов на Strict Waste (Restate, Duplicate-Fetch, Padding) и Hindsight Waste (Detour)
ШАГ 3 (Онлайн-обрезка или аудит): Удаление только фрагментов Restate и Padding из текущих рассуждений перед сохранением в историю следующего шага
ШАГ 4 (Сверка экономии): Пересчёт токенов очищенной траектории → Оценка чистого сэкономленного бюджета без потери успешности задачи

Для ретроспективного аудита логов шаги 2–4 выполняются одним запросом к LLM-судье по готовой записи сессии; для онлайн-экономии фильтр встраивается между шагами агента через прокси.


🚀

Пример применения

Задача: Ваша команда использует кодинг-агента и агента технической поддержки (на базе OpenHands, Hermes или собственного конвейера через LiteLLM) для разбора тикетов клиентов и правок в репозитории. Счета за API выросли до 350 000 рублей в месяц, причём в длинных тикетах контекст пухнет на глазах. Вы хотите прогнать логи сессий через LLM-судью по методике статьи, чтобы точно посчитать долю «строгого мусора» (Restate, Duplicate-Fetch, Padding), отделить её от оправданной разведки (Detour) и понять, что именно сжигает бюджет — сама модель или промпт вашей агентной обвязки.

Промпт:


Ты — LLM-судья по аудиту эффективности токенов ИИ-агента (Efficiency Judge по принципу минимализма). Твоя задача — найти в траектории агента фрагменты текста и вызовы инструментов, которые можно полностью удалить без потери полезной работы, нужной для решения задачи.



Клиент интернет-магазина электроники в Казани написал в поддержку: заказ #RU-5519 оплачен картой, но курьерская доставка зависла в статусе "Ожидает комплектации" более 4 дней. Проверить статус на складе и при задержке начислить 500 бонусных рублей по регламенту.



[Шаг 1 — Reasoning]: Пользователь обращается по заказу #RU-5519. Согласно разделу 4.2 регламента поддержки: "Если заказ оплачен онлайн и находится в статусе Ожидает комплектации более 72 часов, оператор обязан проверить складской лог и начислить 500 бонусов". Мой план: 1) проверить заказ, 2) проверить складской лог, 3) начислить бонусы, 4) ответить клиенту. Сейчас я вызову инструмент get_order_status.
[Шаг 1 — Visible Reply]: Мне искренне жаль, что вы столкнулись с такой неприятной ситуацией и вынуждены ждать свой заказ! Я прекрасно понимаю ваше беспокойство и прямо сейчас проверю всю информацию по заказу #RU-5519 в нашей системе.
[Шаг 1 — Tool Call]: get_order_status(order_id="RU-5519") -> {"paid": true, "status": "AWAITING_PACKING", "hours_in_status": 104, "warehouse": "KZN-2"}
[Шаг 2 — Reasoning]: Как мы видим из ответа инструмента, paid=true, status=AWAITING_PACKING, hours_in_status=104, warehouse=KZN-2. Напомню мой план: 1) проверить заказ, 2) проверить складской лог, 3) начислить бонусы, 4) ответить клиенту. По регламенту при задержке свыше 72 часов нужно проверить складской лог. Сначала попробую поискать адрес склада KZN-2 во внешнем справочнике карт.
[Шаг 2 — Tool Call]: search_public_maps(query="склад KZN-2 Казань") -> {"error": "Blocked by robots.txt, no data"}
[Шаг 3 — Tool Call]: get_order_status(order_id="RU-5519") -> {"paid": true, "status": "AWAITING_PACKING", "hours_in_status": 104, "warehouse": "KZN-2"}
[Шаг 4 — Tool Call]: add_bonus_points(order_id="RU-5519", points=500) -> {"success": true}



Разметь каждый избыточный фрагмент и отнеси его строго к одной из 4 категорий:
1. RESTATE (Strict waste — подлежит удалению): Повтор информации, которая уже есть в текущем контексте (дословное цитирование системного регламента, пересказ только что полученного JSON от инструмента, повторение одного и того же плана на каждом шаге).
2. DUPLICATE-FETCH (Strict waste — подлежит удалению): Повторный вызов инструмента за теми же данными, которые уже были получены ранее и не изменились.
3. PADDING (Strict waste — подлежит удалению): Текст, не продвигающий решение задачи (пустые преамбулы, затянутое сочувствие, объявление "сейчас я вызову инструмент X" прямо перед его вызовом).
4. DETOUR (Hindsight waste — допустимая разведка, НЕ удалять в онлайне): Исследовательский шаг или вызов инструмента, который выглядел разумной гипотезой в момент попытки, но в итоге не пригодился (например, поиск, заблокированный robots.txt).

Выведи:
- Таблицу найденных фрагментов: [Шаг | Цитата фрагмента | Категория | Статус (Удалять / Оставить) | Почему это мусор].
- Очищенную версию рассуждений и вызовов инструментов (без Strict waste).
- Диагноз для инженера: какую долю текста составил строгий мусор и какое правило добавить в обвязку агента.

Результат: Модель чётко разделит траекторию на полезное ядро и балласт: цитирование регламента, дословный пересказ JSON-ответа get_order_status и повтор плана из четырёх пунктов попадут в RESTATE; затянутые извинения и фраза «сейчас я вызову инструмент» — в PADDING; повторный вызов get_order_status(order_id="RU-5519") на шаге 3 — в DUPLICATE-FETCH. При этом неудачный запрос к картам на шаге 2 будет помечен как DETOUR (оправданная попытка разведки, которую не нужно путать с прямым мусором). В финале читатель получит сжатую траекторию (короче более чем вдвое) и конкретные рекомендации для настройки агента.


🧠

Почему это работает

В многошаговых задачах контекст агента работает как снежный ком с самоповтором. Поскольку на каждом новом ходе модель видит всю предыдущую историю, она склонна перед каждым действием заново пересказывать условие задачи, цитировать куски системного промпта, проговаривать вслух только что пришедший ответ функции (Restate) и обрамлять вызовы инструментов вежливыми вступлениями (Padding). Эти токены не несут новой информации для выбора следующего действия, но оплачиваются дважды: сначала как дорогие выходные токены (output tokens), а затем на всех последующих шагах — как растущий входной контекст.

Сильная сторона LLM-судьи при оценке траектории — умение отличить бесполезный самоповтор от рабочей гипотезы, если дать ей чёткую четырёхчастную таксономию. Обычное требование «пиши короче» часто ломает способность модели рассуждать, потому что режет и нужные вычисления, и поисковые попытки (Detour). Разделение на строгий мусор (Restate, Duplicate-Fetch, Padding) и разведку (Detour) позволяет хирургически вырезать только то, что уже и так лежит в окне контекста или является словесной водой.

Прямые эксперименты с вмешательством в ход работы агента подтвердили, что модели не нуждаются в собственном словесном балласте для принятия решений: когда из истории прошлых ходов принудительно удаляли весь размеченный строгий мусор, распределение следующих действий агента почти не менялось (сдвиг оказался в пределах естественного шума генерации), тогда как полное удаление всех прошлых рассуждений резко сбивало агента с курса.

Рычаги управления методом: - Онлайн-обрезка против посмертного аудита → в живом цикле работы агента (онлайн) удаляй только Restate и Padding (их видно сразу на текущем шаге без знания будущего), а поиск Duplicate-Fetch и Detour запускай на полных завершённых логах для оптимизации обвязки. - Защита первого шага в коротких задачах (Turn-1 Guard) → не включай агрессивную обрезку рассуждений после самого первого хода в коротких инструментальных задачах (на первом шаге закладывается каркас плана); начинай чистку со 2–3-го шага или после первой четверти длинной траектории. - Смена и настройка агентной обвязки (Harness optimization) → если аудит показывает высокий процент Restate и Duplicate-Fetch, проблема чаще всего не в самой LLM, а в системном промпте и формате истории вашей агентной оболочки.


📋

Шаблон промпта


Ты — аудитор токен-эффективности ИИ-агента (Token-Waste Judge). Твоя задача — проанализировать траекторию решения задачи по принципу минимализма и выделить фрагменты, удаление которых не убирает полезную работу.



{описание_задачи_агента}



{лог_шагов_рассуждений_ответов_и_инструментов}



Ищи и размечай избыточные фрагменты по 4 категориям:

1. [RESTATE] (Строгий мусор — УДАЛЯТЬ):
   Агент повторяет сведения, которые уже присутствуют в доступном контексте: цитирует правила из системного промпта, пересказывает словами ответ инструмента из прошлого шага или повторяет один и тот же план перед каждым шагом.

2. [DUPLICATE-FETCH] (Строгий мусор — УДАЛЯТЬ):
   Повторный вызов того же инструмента с теми же параметрами за данными, которые уже получены на прошлых шагах и не могли измениться (повторное чтение файла, повторный идентичный поиск).

3. [PADDING] (Строгий мусор — УДАЛЯТЬ):
   Сгенерированный текст, не продвигающий задачу: пустые вводные фразы, избыточное сочувствие, прощания или проговаривание действия ("сейчас я вызову функцию...") непосредственно перед самим вызовом.

4. [DETOUR] (Разведка — ОСТАВИТЬ для анализа):
   Поисковый шаг или проверка гипотезы, которые выглядели разумно в момент выполнения, но ретроспективно оказались тупиковыми или не пригодились в финальном решении.



1. Размеченные спаны мусора: укажи номер шага, категорию ([RESTATE], [DUPLICATE-FETCH], [PADDING] или [DETOUR]), точную цитату и причину.
2. Очищенная история шага (Cleaned Context): верни текст рассуждений и ответов с вырезанными спанами категорий [RESTATE] и [PADDING], готовый для подстановки в контекст следующих шагов.
3. Сводка потерь: оцени долю строгого мусора в рассуждениях и в видимых ответах/вызовах инструментов, и укажи, какой паттерн сжигает больше всего токенов.

Что подставлять в плейсхолдеры: - {описание_задачи_агента} — исходный запрос пользователя и цель запуска агента. - {лог_шагов_рассуждений_ответов_и_инструментов} — пошаговый лог сессии (блоки reasoning, visible reply и tool calls).

🚀 Быстрый старт — вставь в чат:

Вот шаблон аудита токен-мусора ИИ-агента (Restate, Duplicate-Fetch, Padding, Detour). Адаптируй под мою задачу: [опиши своего агента или вставь лог одной длинной сессии, которая съела много токенов].
Задавай вопросы, чтобы заполнить поля.

[вставить шаблон выше]

LLM спросит, сохраняются ли рассуждения прошлых шагов в истории твоего агента и какие инструменты он вызывает — потому что структура мусора в скрытых рассуждениях и в видимых вызовах тулов сильно отличается. Она возьмёт паттерн из шаблона и проведёт разметку лога.


⚠️

Ограничения

⚠️ Опасность ранней обрезки на первом шаге коротких задач: Если принудительно вырезать размеченный мусор сразу после первого хода в коротких задачах на вызов инструментов (как в бенчмарке MCP-Atlas), успешность решения заметно падает — начинать чистку истории безопасно со второго-третьего хода, когда агент уже зацепился за нужные данные.

⚠️ Для автоматической онлайн-экономии нужен прокси или доступ к контексту между ходами: В готовом закрытом чате нельзя на лету вырезать куски из чужого окна истории без своего API-прокси (например, на базе LiteLLM), а кроме того, часть провайдеров (например, модели Claude) скрывают сырые токены рассуждений от внешнего редактирования.


🔍

Как исследовали

Команда из четырёх американских университетов (UIUC, Northeastern, UCLA и UT Austin) построила единый прокси-стенд на базе LiteLLM и проверила расход токенов на 6 флагманских моделях (Kimi-K3, Gemini 3.1 Pro, GPT-5.6 Terra, GPT-6 Astra, Claude Sonnet 5 и Claude Fable 5.1), 4 бенчмарках ($\tau^2$-bench airline/retail, SWE-bench Verified, Claw-Eval и MCP-Atlas) и 5 популярных агентных обвязках (OpenCode, OpenClaw, OpenHands, Hermes и Kimi Code CLI). Чтобы доказать, что найденный LLM-судьёй мусор действительно не нужен для работы, авторы провели жёсткие причинно-следственные эксперименты: они останавливали агента посреди задачи, вырезали из истории все спаны строгого мусора и запускали выполнение дальше, а также сравнивали распределения следующих шагов на 16 параллельных продолжениях (по 2000 перестановок на шаг). На SWE-bench Verified удаление строгого мусора изменило выбор следующего действия лишь в 3,0% ходов (величина эффекта составила всего 1,8% от естественного разброса самой модели!), тогда как удаление всех рассуждений ломало 25,0% ходов. В режиме живой онлайн-чистки (online pruning) фильтр на лету удалил 41% всех токенов рассуждений на SWE-bench Verified (при этом точность решения даже слегка подросла — с 89,0% до 89,5%) и 46% рассуждений на MCP-Atlas (при сохранении точности 62,3% против 65,0%, тогда как полное удаление рассуждений роняло результат до 73,0% и 56,0%). Масштабный замер по всем моделям показал, что в среднем около 18% всех оплачиваемых выходных токенов агентов (от 11,0% у GPT-6 Astra до 24,9% у Claude Sonnet 5 и 26,6% в рассуждениях Kimi-K3) — это чистый удаляемый мусор, причём более «болтливые» и расточительные агенты не получают никакого выигрыша в точности по сравнению с экономными.


💡

Адаптации и экстраполяции

🔧 Техника: Анти-мусорный блок в системном промпте агента / CLAUDE.md → профилактика Restate, Duplicate-Fetch и Padding без прокси

Даже если вы не поднимаете свой LiteLLM-прокси для онлайн-вырезания текста между ходами, вы можете встроить три категории строгого мусора из исследования как прямые антипаттерны в системный промпт или CLAUDE.md:

## ЭКОНОМИЯ ТОКЕНОВ И ЗАПРЕТ НА СТРОГИЙ МУСОР (STRICT WASTE GUARD)
При каждом шаге соблюдай принцип минимализма:
1. NO RESTATE: Никогда не цитируй заново правила из системного промпта, не пересказывай словами JSON-ответы инструментов, которые уже видны в истории, и не дублируй полный план из прошлых шагов — ссылайся только на изменившийся шаг.
2. NO DUPLICATE-FETCH: Перед вызовом инструмента чтения файла или поиска проверь историю: если этот же файл или запрос уже вызывался и ты сам его не модифицировал — используй результат из истории.
3. NO PADDING: Не пиши преамбулы, сочувствие и фразы вида «Сейчас я вызову инструмент X» перед вызовом функции — сразу вызывай инструмент.

Экстраполяция — сравнение агентных оболочек (OpenHands vs Hermes vs OpenCode) перед внедрением в компании: Один из главных выводов статьи — обвязка агента (harness) и структура задачи влияют на долю мусорных токенов сильнее, чем выбор самой модели. Перед тем как масштабировать корпоративного агента на всю команду, прогоните 10–15 типовых рабочих задач через 2–3 кандидатов-обвязок на одной и той же модели, соберите логи через LiteLLM и запустите шаблон LLM-судьи выше: вы сразу увидите, какая оболочка заставляет модель на каждом шаге пересказывать контекст (Restate) или дёргать одни и те же файлы (Duplicate-Fetch), и сэкономите до четверти бюджета API ещё до старта продакшена.


🔗

Ресурсы


📋 Дайджест исследования

Ключевая суть

Обнаружено: почти пятая часть всего оплачиваемого вывода современных ИИ-агентов — чистый словесный балласт, а в половине задач один только мусор расточительного агента превышает весь вывод экономного. Метод Token Waste Framework позволяет вырезать почти половину лишних рассуждений и дублирующих вызовов без просадки точности решения. Фишка: фильтр отделяет строгий мусор от полезной разведки по принципу минимализма — удаляются только повторы контекста (Restate), повторные запросы (Duplicate-Fetch) и пустая вода (Padding), а поисковые гипотезы (Detour) остаются нетронутыми.

Принцип работы

Слепое урезание лимита токенов ломает логику агента, потому что режет и рабочие вычисления, и разведку. Введи разделение на строгий мусор и поисковые попытки через LLM-судью. Вырезай из истории шагов только то, что уже лежит в окне контекста или не двигает задачу вперёд. Это как прополка грядки: вместо того чтобы косить всё подряд газонокосилкой, ты выдёргиваешь только сорняки, которые пьют воду дважды.

Почему работает

В многошаговом цикле история агента растёт как снежный ком: модель перед каждым ходом заново цитирует системный промпт, пересказывает только что полученный ответ инструмента (Restate) и пишет вежливые преамбулы (Padding). Эти токены оплачиваются дважды — сначала как дорогой вывод, а затем на всех следующих шагах как растущий входной контекст. Принудительное удаление строгого мусора из прошлых ходов почти не меняет выбор следующих действий агента, но экономит до 40% рассуждений.

Когда применять

Многошаговые кодинг-агенты и агенты техподдержки → конкретно для снижения счетов за программный интерфейс (API) и разгрузки окна контекста в длинных тикетах, особенно когда обвязка агента сохраняет прошлые рассуждения в истории. НЕ подходит для агрессивной обрезки сразу после первого шага в коротких задачах и для закрытых чатов без доступа к истории через прокси.

Мини-рецепт

1. Собери траекторию через прокси: запиши пошаговый лог сессии с блоками рассуждений, видимых ответов и вызовов инструментов (например, через LiteLLM).
2. Разметь лог по 4 категориям: запусти LLM-судью для поиска RESTATE (повтор промпта, плана или ответа тула), DUPLICATE-FETCH (повторный идентичный вызов), PADDING (извинения и фразы «сейчас вызову инструмент») и DETOUR (разумная разведка, не пригодившаяся в итоге).
3. Защити первый шаг (Turn-1 Guard): не режь рассуждения после первого хода в коротких задачах — начинай чистку со 2–3-го шага.
4. Вырежи строгий мусор: в онлайн-режиме удаляй из истории RESTATE и PADDING перед следующим ходом, а DUPLICATE-FETCH и DETOUR используй для починки системного промпта обвязки.

Примеры

[ПЛОХО] : Отключи цепочку рассуждений или поставь жёсткий лимит 300 токенов на ответ агента, чтобы снизить расходы на API
[ХОРОШО] : Разметь траекторию агента по 4 категориям: удали из истории шагов строгий мусор [RESTATE] (пересказ регламента и JSON-ответов) и [PADDING] (вводные расшаркивания), отметь [DUPLICATE-FETCH], но оставь поисковые попытки [DETOUR]
Источник: How Do AI Agents Waste Your Money?
ArXiv ID: 2611.07238 | Сгенерировано: 2026-11-08 21:09

Проблемы LLM

ПроблемаСутьКак обойти
Агент сжигает до 40% токенов рассуждений на самоповторы и пустую вежливостьНа каждом новом шаге многошаговой задачи модель видит всю прошлую историю и начинает заново пересказывать системные правила, только что полученный ответ инструмента и свой план. Перед вызовом функции она пишет длинные вступления и объявления действия. Этот словесный балласт оплачивается сначала как генерация, а затем многократно как входной контекст следующих шаговНастрой фильтр между ходами агента или аудит логов через судью по четырём категориям: вырезай из истории пересказ контекста (Restate), пустую воду (Padding) и повторные вызовы тех же данных (Duplicate-Fetch), начиная со 2–3-го шага задачи
Слепое ограничение длины рассуждений ломает решение задачиКогда для экономии бюджета агенту просто урезают общий лимит токенов или требуют «думать короче», точность работы резко падает. Грубое ограничение режет не только словесный мусор, но и необходимые вычисления и проверку разумных рабочих гипотезВместо общего урезания длины разделяй текст на строгий мусор (Restate, Padding, Duplicate-Fetch) и полезную разведку (Detour). Удаляй только строгий мусор, не затрагивая поисковые гипотезы и рассуждения первого шага

Методы

МетодСуть
Разметка и обрезка токен-мусора по четырём категориям минимализмаПодай задачу и лог шагов агента в промпт судьи с инструкцией разметить лишние фрагменты на четыре категории: [RESTATE] (пересказ правил, плана или ответа инструмента, которые уже есть в контексте), [DUPLICATE-FETCH] (повторный вызов инструмента с теми же параметрами), [PADDING] (извинения, преамбулы и фразы «сейчас я вызову инструмент X») и [DETOUR] (разумная разведка, которая не пригодилась в итоге). При онлайн-очистке вырезай из истории рассуждений только [RESTATE] и [PADDING], начиная со 2–3-го хода. Почему работает: Точная таксономия отделяет бесполезный повтор уже доступного контекста от настоящего поиска решения. Удаление строгого мусора сжимает рассуждения почти на 40% и не меняет выбор следующих действий модели, так как исходные данные остаются в окне истории. Когда применять: Многошаговые агенты поддержки, кодинга и поиска с большими затратами на токены, а также аудит агентных обвязок. Когда не работает: На самом первом шаге коротких задач обрезку включать нельзя; для онлайн-удаления нужен доступ к истории между ходами через свой прокси

Тезисы

ТезисКомментарий
Удаление пересказа контекста и словесной воды не снижает качество решений агентаМодели не нужен собственный пересказ только что прочитанного JSON-ответа, повтор плана на каждом ходу и вежливые связки перед вызовом функции. Поскольку сами ответы инструментов и системный промпт уже лежат в окне контекста, принудительное удаление таких повторов (Restate и Padding) сохраняет точность выбора следующих шагов на прежнем уровне и экономит до 40% текста рассуждений. Применяй: При чистке истории между ходами вырезай цитирование правил, повтор плана и фразы «сейчас вызову функцию», оставляя только новые выводы
Тупиковая разведка в ходе поиска решения не является токен-мусоромКогда агент проверяет правдоподобную гипотезу или вызывает поиск, который возвращает ошибку или не подходит, ретроспективно этот шаг кажется лишним. Однако на момент выбора действия такая разведка (Detour) необходима для сужения поиска, и попытка запретить её обрушивает успешность агента. Применяй: При аудите и фильтрации логов отделяй тупиковую разведку от прямых повторов (Duplicate-Fetch) и никогда не наказывай модель за оправданные поисковые попытки
Обрезка рассуждений на самом первом шаге короткой задачи вредит результатуНа первом ходу агент формирует первичную структуру плана и связывает условие задачи с доступными инструментами. Если агрессивно вырезать текст рассуждений сразу после первого шага в коротких задачах, агент теряет нить решения. На более поздних шагах, когда нужные данные уже зацеплены, чистка проходит безопасно. Применяй: Включай автоматическую обрезку мусора в истории только со 2–3-го хода или после первой четверти длинной сессии
📖 Простыми словами

How Do AI Agents Waste Your Money?

arXiv: 2611.07238

AI-агенты тратят твои деньги не потому, что они глупые, а потому, что они ведут себя как гиперответственные и очень болтливые бюрократы. Проблема в самой механике работы LLM: на каждом новом шаге агент перечитывает всю историю переписки, которая растет как снежный ком. Если на втором шаге он просто «подумал вслух», то на десятом ты платишь за этот пустой треп уже в десятикратном размере. Исследователи выяснили, что почти половина того, что пишет агент — это чистый мусор, который никак не влияет на результат, но нещадно сжигает баланс на твоем счету.

Это похоже на наемного рабочего с почасовой оплатой, который каждое утро тратит три часа на то, чтобы вслух пересказать тебе план работ, который ты сам ему вчера утвердил. Он формально занят делом, но по факту он просто тянет время, за которое ты платишь. В мире AI это называется Token Waste Framework: система, которая ловит агента за руку в тот момент, когда он начинает нести чепуху, и просто вырезает лишнее из памяти, чтобы не платить за это в следующем цикле.

Авторы выделили три вида «строгого мусора», который можно удалять безболезненно. Первый — Restate, когда модель тупо пересказывает условие задачи или ответ инструмента, который и так есть в логах. Второй — Duplicate-Fetch, когда агент запрашивает одни и те же данные дважды, просто «на всякий случай». Третий — Padding, та самая вежливая вода в духе «конечно, я сейчас проанализирую ваш файл». Если внедрить прокси-перехватчик с «судьей», который будет отсекать этот бред на лету, можно выкинуть до 50% текста без потери качества решения.

Этот принцип универсален для любого агентного конвейера, будь то кодинг-ассистент в OpenHands или поддержка на LiteLLM. Даже если ты не используешь сложный софт для обрезки, само понимание этих паттернов позволяет переписать системные промпты так, чтобы агент перестал быть «вежливым дебилом». SEO для людей требовало объема, GEO для AI требует лаконичности, а экономика агентов требует жесткой цензуры их собственных мыслей.

Короче: твои счета за API на 350 тысяч — это наполовину оплата за то, что нейронка «разговаривает сама с собой». Нужно внедрять пошаговый аудит и онлайн-обрезку контекста, иначе ты разоришься на чтении бесконечных пересказов собственных же запросов. 40-50% экономии лежат буквально под ногами — нужно просто перестать платить за эхо в голове у модели.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с