Журнал · Rit.work

Где агенты для программирования тратят лишние токены

Разбор трёх повторяющихся действий, которые повышают стоимость Claude Code и Mini-SWE-Agent, и способов сократить расходы без ухудшения результата.

Rit.work
Студия разработки
28 сентября 2026 г.3 мин чтения

Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.

У агентов для программирования нашли три повторяющихся поведения, которые расходуют токены, но не приближают исправление к завершению. Хотя препринт команды Purdue University не рецензирован и все числа получили сами авторы, разработанные вручную инструкции снизили стоимость задачи вплоть до 41,73%. Добавлять новые инструменты оказалось недостаточно: экономия зависела от того, как агент читает код, передаёт работу и использует результаты предыдущих шагов.

Как отделили полезные действия от повторной работы

Для поиска лишних расходов разобрали 1200 журналов работы агентов на 300 задачах SWE-bench Verified. В исследование вошли Claude Code с Sonnet 4.6 и Mini-SWE-Agent с Sonnet 4.6, MiniMax-M3 и Qwen-3.5 Plus. Так авторы сравнили не только модели, но и две архитектуры: систему с отдельными инструментами и подагентами против одиночного агента, который работает с репозиторием через команды оболочки.

Стоимость каждого действия рассчитали по входным, выходным и кэшированным токенам с учётом цены соответствующей модели. В расчёт не вошли время выполнения команд и расходы на оборудование. Результат задачи проверяли через Pass@1 — долю задач, которые агент решил с первой попытки.

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

Правила разметки сочетали программные проверки и классификацию с помощью LLM, после чего авторы вручную настраивали пороги. Контрмеры проверяли отдельно на отложенной части SWE-bench Verified и на SWE-bench Pro, чтобы не оценивать их на тех же задачах, по которым выявили шаблоны.

Три способа потратить деньги без нового результата

Хотя бы один из трёх шаблонов встретился в 79–98% задач в зависимости от конфигурации. Вместе они занимали до 22,75% стоимости задачи. Это не единичные сбои, а систематическая часть работы исследованных агентов.

Повторное чтение кода. Claude Code часто заново запрашивал участки, которые ранее прочитал подагент. Подагент возвращал основному агенту краткое описание, но не весь найденный код, поэтому позднее тот снова открывал те же строки. У Mini-SWE-Agent повтор возникал по другим причинам: команды без номеров строк заставляли уточнять расположение кода, а редактирование через оболочку давало мало обратной связи и провоцировало проверочное чтение.

Повторная генерация скриптов. Агенты заново создавали похожие проверки, диагностические команды и скрипты редактирования. Одноразовый скрипт не оставлял объекта для повторного использования, а сохранённый файл мог потеряться в длинном журнале действий. Сгенерировать знакомый фрагмент ещё раз для модели проще, чем найти и аккуратно изменить прежний.

Повторный запуск тестов. Агент снова выполнял ту же команду, не меняя исправление, и получал ту же ошибку. В одном разобранном примере тест запускался восемь раз и каждый раз завершался прежней ошибкой модуля. Причинами становились незнание правил конкретного репозитория, попытки восстановить потерянный сигнал теста и зацикливание после остановки прогресса.

Архитектура заметно меняла источник расходов. Поэтому единый детектор повторов полезен для наблюдения, но исправлять поведение приходится с учётом инструментов агента, формата их ответов и способа передачи контекста между агентами.

Новые инструменты не заменяют коротких правил поведения

Авторы проверили структурный поиск CodeGraph, автоматически составленные инструкции и инструкции, спроектированные разработчиками. CodeGraph позволял запрашивать сущности и зависимости в коде, но возвращал объёмные ответы и менял то, какие действия Claude Code поручал подагентам. В некоторых конфигурациях итоговая стоимость выросла на 28,14%, хотя сам поиск должен был уменьшить повторное чтение.

Инструкции, которые агент составил из прежних журналов, часто описывали частный эпизод: конкретный файл, команду или последовательность действий. Они переносились на новые задачи хуже и дали примерно вдвое меньшую максимальную экономию, чем правила разработчиков.

Разработанные вручную инструкции формулировали поведение на более высоком уровне и не зависели от конкретного журнала. Они снизили стоимость на 7,88–41,73% в зависимости от агента и набора задач. При этом оценка учитывала не только расход токенов, но и успешность решения, поэтому простое преждевременное завершение работы не считалось экономией.

Для команд, которые внедряют таких агентов, работа меняет порядок оптимизации. Сначала стоит собирать полные журналы действий и отмечать повторное чтение, пересоздание скриптов и тесты без нового исправления. Затем — добавить короткие общие правила против обнаруженных циклов и проверить стоимость вместе с Pass@1 на собственных репозиториях.

Подключать граф кода только ради экономии рискованно: более точный поиск может увеличить объём контекста или нарушить удачное распределение работы. Вывод относится к Claude Code, Mini-SWE-Agent, исследованным моделям и задачам SWE-bench; для других агентов направление эффекта нужно измерять заново.

Источники

Пауза в чтении

Похоже на вашу задачу?

Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.

Rit.work

Студия разработки

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

← Ко всем материалам
Понравилось? Обсудим вашу задачу