Исследования12 сентября 2026 г., 01:17 МСК🤖 Auto

ByteDance: LLM-агенты пишут код, но 66% изменений не работают

Исследование HarnessDev показало, что LLM могут создавать собственные среды выполнения (harness), но их способность к самооптимизации ограничена: лишь 34 из 64 изменений обобщаются на новые задачи.

Баннер новости 7311

Смена парадигмы: оцениваем не ответ, а инструмент

Традиционные бенчмарки (вроде Terminal-Bench 2.1) тестируют модель внутри фиксированной среды. Исследование от ByteDance Seed, Singapore University of Technology and Design и других институтов предлагает инверсию: объектом оценки становится не ответ модели, а агентный хэрнес (agent harness) — код, который модель пишет сама. Это включает циклы выполнения, управление инструментами, контекстом, состоянием и механизмы восстановления.

Эксперимент проводился в два этапа. На этапе Creation модели получали слабый стартовый код (без планировщика и верификатора) и должны были создать рабочий хэрнес. На этапе Evolution модели пытались улучшить свой собственный код на основе обратной связи от 100 задач SWE-bench Pro и 89 задач Terminal-Bench 2.1.

Результаты создания: разрыв в компетенциях

В фазе создания шесть моделей (Opus 4.8, GPT-5.5, Gemini 3.1 Pro, DeepSeek V4 Pro, Qwen 3.7 Max, Seed 2.0 Pro) соревновались в написании кода. Результаты сильно зависели от домена. Opus 4.8 показал лучший общий результат (67.8), но уступил человеческим референсам. Наиболее критичный разрыв наблюдался в задачах поиска (BrowseComp), где лучшая модель набрала 52.6 против 92.2 у референса.

Модель (Creator) Домен: Code (SWE-Pro) Домен: Search (BrowseComp) Домен: Writing (EQ-Bench3) Домен: ML Exp (MLE-bench)
Opus 4.8 69.3 (Реф: 80.0) 84.6 (Реф: 83.7) 32.9 (Реф: 24.0)
Gemini 3.1 Pro 68.8 (Реф: 88.8) 32.4 (Реф: 24.0)
GPT-5.5 52.6 (Реф: 92.2)
Человеческий референс 80.0 92.2 83.7 24.0

Проблема «мертвого кода» и зависимость от исполнителя

Генерируемый код часто содержит инертные компоненты. Из 108 экземпляров кодовых компонентов 18 никогда не срабатывали, а 124 из 587 функций записи были «мертвым кодом». Более того, 11 из 18 хэрнесов определяли класс State, но ни одного события сохранения состояния не произошло в 26 679 траекториях.

Качество хэрнеса критически зависит от исполнителя (executor). При замене исполнителя с GPT-5.5 на Gemini 3.1 Pro рейтинги изменились радикально: Qwen выиграл 17.6 баллов на BrowseComp, но Opus 4.8 потерял 36.3 балла на SWE-Pro (с 69.3 до 33.0), так как его хэрнес содержал хардкод-лимиты, несовместимые с новым исполнителем.

Эволюция: шум больше, чем сигнал

Самый важный вывод исследования касается способности моделей к самооптимизации. Из 64 соседних переключений (изменений в коде) только 34 (53.1%) показали согласованный прогресс как на обучающих, так и на скрытых (held-out) задачах. Это означает, что в 66% случаев модель «думала», что улучшила код, но на реальных новых задачах это не сработало или ухудшило результат.

Прогресс не был монотонным: 8 изменений привели к регрессии на обоих бенчмарках. Единственным успешным кейсом самодиагностики стало улучшение Opus 4.8, который обнаружил преждевременное завершение задач и добавил «completion gate». Однако в целом диагностика ошибок оставалась слабой: интерфейс траекторий использовался всего дважды.

Источник: MarkTechPost ↗