GitHub считает, что измерение эффективности агентов программирования по числу токенов в одном вызове может привести к вводящему в заблуждение результату. Более короткий вывод может вынудить модель повторно выполнить команду или запросить удалённую информацию, что увеличивает число раундов, время и стоимость на уровне всей задачи. Поэтому компания заново оценила улучшения GitHub Copilot по конечному результату задачи, а не по размеру ответа отдельного инструмента.
В записи, опубликованной Эриком Кристенсеном и Набалисом Клесиусом 2 сентября 2026 года, GitHub объяснила четыре изменения, которые, по её словам, были разработаны с помощью офлайн-тестов на основе эталонов для оценки задач агентного программирования, а затем проверены в контролируемых экспериментах с пользователями до запуска. Несколько продуктов Copilot, включая приложение GitHub Copilot и проверку кода, используют одну и ту же базовую инфраструктуру, однако приведённые в записи примеры относятся к GitHub Copilot CLI.
Почему более короткого ответа недостаточно?
GitHub проверила влияние инструмента RTK, или Rust Token Killer, который сокращает вывод shell перед его передачей агенту. В использованных тестовых настройках удаление некоторого важного текста приводило к повторному открытию исходного вывода или повторному выполнению команд. В результате размер ответа инструмента локально уменьшился, но в среднем для задачи требовалось больше токенов и времени.
Компания подчёркивает, что этот результат относится к проверенной интеграции и рабочим нагрузкам и не является оценкой всех настроек RTK или всех способов сжатия вывода. Практический вывод заключается в том, что критерий оценки должен охватывать путь от запроса пользователя до конечного результата, включая раунды восстановления и повторной работы.
Выборочное сжатие вывода
Решением GitHub стало сжатие повторяющегося шума при сохранении информации, необходимой агенту. Операционный анализ показал, что вывод установки, сборки, тестирования и операций lint часто содержит много повторений, тогда как вывод, похожий на код, и результаты произвольных команд могут содержать важную информацию.
В выпущенной версии использовалась политика из трёх пунктов:
- Вывод, похожий на код, и произвольные результаты оставляются без изменений, включая такие команды, как cat, git diff, git show и произвольные скрипты.
- Результаты поиска, например результаты grep и списки файлов, реорганизуются без удаления каких-либо результатов.
- Вывод установки, сборки, тестирования и информации о ходе выполнения сжимается только тогда, когда экономия значительна.
Copilot также сохранил прямой путь для получения полного исходного вывода. GitHub продолжила отслеживать использование этого пути как механизм безопасности и показатель того, что сжатие удалило полезную информацию. В офлайн-задачах, где сжатие было включено, компания не обнаружила статистически значимого снижения успешности задач, а онлайн-эксперимент немного снизил среднюю стоимость без существенного ухудшения отслеживаемых показателей качества.
Удаление ненужного форматирования
Одну из наиболее заметных экономий GitHub получила благодаря инструменту view, который отображает модели содержимое файлов. Инструмент добавлял номер строки к каждой строке, хотя современные инструменты редактирования используют сопоставление окружающего кода и обычно не применяют эти номера в рабочем процессе. Поэтому компания убрала эти префиксы из чтения файлов, сохранив номера строк там, где они полезны, — в различиях и коротких фрагментах.
Изменение снизило стоимость инференса модели примерно на 5% в офлайн-эталонах задач агентного программирования. При этом показатели успешности остались в пределах ожидаемого разброса, а число ошибок редактирования не увеличилось. В онлайн-эксперименте с пользователями Copilot CLI средняя дневная стоимость инференса на пользователя снизилась примерно на 3% без существенного ухудшения показателей качества или удовлетворённости, измеряемых GitHub.
Сокращение инструкций без изменения поведения
Инструкции инструмента task накапливались в описаниях инструментов, схемах, определениях агентов и системных инструкциях. GitHub использовала цикл автоматической оптимизации инструкций, сократила текст примерно наполовину, а затем проверила поведение, которое хотела сохранить.
Однако первый онлайн-эксперимент выявил проблему, не проявившуюся в офлайн-оценках: рекомендации по осторожному параллелизму превратились в строгую политику планирования, из-за чего независимые специализированные агенты стали работать последовательно. GitHub остановила эксперимент, добавила регрессионный тест этого поведения, а затем заменила список разрешений и запретов одним предложением: «Независимые агенты могут работать параллельно; учитывайте побочные эффекты».
Итоговая формулировка сократила примерно 1300 токенов из инструкций инструмента задач в каждом раунде, что соответствовало снижению примерно на 1,8% общего числа токенов инструкций за сеанс и на 2,9% нормализованной стоимости за час активности; при этом в измеренных оценках снижения качества не обнаружили.
Отмена ненужных раундов получения результатов
Агенты иногда выполняют независимые фоновые задачи, например запускают длительную shell-команду параллельно с исследованием, которое проводит дочерний агент. Ранее уведомления о завершении этих задач поступали без самих результатов, поэтому агенту требовался дополнительный вызов для получения вывода, который Copilot уже получил. Теперь система собирает подходящие уведомления о завершении и передаёт готовые результаты в существующем формате результатов инструмента.
В примере, объединяющем shell-команду и дочернего агента, ранее для завершения работы требовалось четыре вызова модели: два вызова для запроса результатов и два для их обработки. После изменения оба результата поступают вместе в одном вызове для обработки. Это снизило среднее использование токенов, измеряемое в единицах AI Credits, примерно на 2,3%.
Что меняется на практике?
Опыт GitHub предлагает разработчикам агентов программирования важное правило: наиболее безопасное улучшение заключается не в удалении максимально возможного объёма текста, а в устранении работы, которая модели вообще не нужна. Сюда относятся неиспользуемое форматирование, раунды ожидания и получения результатов, которые система может обработать самостоятельно, а также повторения, которые можно сжать при наличии пути восстановления.
При этом не каждый результат можно обобщать за пределами тестовой среды. Сокращение инструкций инструментов работы с файлами, несмотря на успех при проверке кода, привело к увеличению стоимости в эксперименте с Copilot CLI, поэтому GitHub не стала его запускать. Кроме того, сжатие git diff было удалено после того, как эталоны показали: агенты повторно открывают исходный вывод для восстановления удалённой информации.
Главный вывод материала заключается в необходимости измерять изменение на уровне задачи, рабочего процесса и продукта, в котором оно будет использоваться, применяя офлайн-эталоны, онлайн-эксперименты и чёткие поведенческие тесты. Влияние этих улучшений на конкретного пользователя зависит от типа задач, инструментов и их вывода; его нельзя определить только по локальному снижению числа токенов.