Исследование: результат кодового агента сильнее зависит от «обвязки», чем от модели
Привет, друзья! Свежее исследование Yunbei Zhang и коллег утверждает, что для длинных задач кодового агента разница между моделями объясняет меньше дисперсии результатов, чем обвязка вокруг модели. У этого явления есть имя — Binding Constraint Thesis, и у него есть конкретные цифры.
Что такое обвязка простыми словами
Когда говорят «обвязка кодового агента» или «agent harness», имеют в виду всё, что превращает сырую языковую модель в программу, способную работать с репозиторием. Это промпты, набор инструментов, логика ретраев, контроль цикла, стратегия работы с контекстом. Грубо говоря, обвязка — это всё то, что вы пишете вокруг вызова модели: «как ей дать задачу», «как вернуть результат», «что делать, если она ошиблась». Модель — это мозг. Обвязка — это руки, уши, инструменты и память.
Из этого следует простой вопрос: если поменять только обвязку и оставить модель той же, насколько изменится результат? Большинство разработчиков интуитивно ответят «немного». Исследование говорит: на длинных задачах с сопоставимыми frontier-моделями обвязка объясняет больше дисперсии, чем выбор модели. И это не единичный случай — это систематический эффект, который можно измерить.
Цифры, от которых не по себе
Самое яркое доказательство — это два эксперимента 2024 года, которые тянули в противоположные стороны, но оба побили рекорды. Проект SWE-agent из NeurIPS 2024 взял стандартные модели и приделал к ним специальный агент-компьютерный интерфейс. На оригинальном SWE-bench результат подскочил до 12,5%, а на HumanEvalFix — до 87,7%. Те же модели, без изменения весов. Другой проект, Agentless, пошёл в противоположную сторону и просто удалил агентный цикл, заменив его трёхфазным пайплайном «найди, исправь, проверь». На SWE-bench Lite он решил 32,00% задач по 70 центов за штуку и обошёл все опенсорсные агенты того периода. Два противоположных дизайна обвязки, оба побили поле.
Но это были 2024 цифры, когда модели были слабее. Что происходит сейчас? Возьмём миниатюрный mini-swe-agent от команды SWE-bench — он состоит якобы из 100 строк Python и набирает больше 74% на SWE-bench verified. Simon Willison уточнил, что вокруг этих 100 строк крутится ещё примерно 9000 строк кода, так что «агент из 100 строк» — это пиар-формулировка, а не реальность. Но сам результат показателен: в 2026 году на стандартизированном bash-only треке SWE-bench пять frontier-моделей идут в пределах четырёх пунктов друг от друга. Claude Opus 4.5 — 76,8%, Gemini 3 Flash — 75,8%, Opus 4.6 — 75,6%, GPT-5.2 — 72,8%. Когда обвязку зафиксировали, модели стали почти взаимозаменяемы.
Бюджет важнее reasoning effort
Самая неудобная для индустрии находка — про бюджет. В одной из таблиц сравнения GPT-5 на SWE-bench Pro: при бюджете в 50 ходов и $2, на среднем reasoning effort, модель набирает 23,3%. Без лимита, на высоком reasoning, — 41,8%. Разница в 18 пунктов. Когда параметры меняются одновременно (и reasoning effort, и бюджет), нельзя сказать, что именно сработало. Но контрольная точка существует: при том же жёстком бюджете, но высоком reasoning, модель набирает 25,9%. То есть переход на максимальное рассуждение добавил всего 2,6 пункта, а снятие бюджета добавило 18. Бюджет — это главный рычаг. Не модель, не reasoning effort, а то, сколько ходов и долларов вы готовы потратить на задачу.
Это объясняет, почему публичные рейтинги кодовых агентов так шумят. Одна и та же модель в одной обвязке решает 50% SWE-bench Pro, в другой — 45%. Никто ничего не подделывал, оба числа настоящие. Но сравнивать их бессмысленно — это сравнения не моделей, а обвязок. Текущие протоколы оценки систематически приписывают улучшения обвязки самой модели, и это меняет местами строчки в рейтингах. Авторы исследования называют это model-ranking reversals и считают главным симптомом незрелости индустрии оценки.
Где модель всё-таки важнее
Я сейчас рискую создать впечатление, что модель вообще не важна. Это не так, и сами авторы это признают. Есть задачи, на которых модель остаётся главным узким местом. Первая категория — длинный горизонт. По данным METR Time Horizon 1.1, опубликованным в январе 2026, Claude Opus 4.5 удерживает половину задач длиной до 320 минут с доверительным интервалом от 170 до 729 минут. Способность держать в фокусе многочасовую задачу — это свойство самой модели, никакая обвязка его не компенсирует. У этой метрики есть своя кривая: после 2023 года горизонт удваивается каждые 130,8 дней, против долгосрочного тренда в 196,5 дней.
Вторая категория — действительно сложные задачи, на которых все модели проваливаются. На SWE-bench Pro под единой обвязкой все модели остаются ниже 45% Pass@1. Claude Sonnet 4.5 лидирует на публичных моделях с 43,6%, GPT-OSS 120B тащит в хвосте с 16,2%. Это 27-пунктовый разрыв при фиксированной обвязке. Когда задача действительно на пределе возможностей модели, никакая обвязка не спасёт. Это потолок того, что обвязка может дать.
Что делать разработчику
Из всего этого следует практический рецепт. Если ваш кодовый агент выдаёт плохой дифф, первая реакция «дать более сильную модель» работает только на длинных задачах и на действительно сложных задачах. На всём остальном первое, что нужно попробовать, — это не сменить модель, а починить обвязку. Убедитесь, что у вас закрытый цикл верификации, что есть строгий бюджет контекста, что вы даёте модели явную обратную связь после каждой попытки. Поставьте себе правило: среднего класса модель в хорошей обвязке почти всегда бьёт топовую модель в плохой.
Это объясняет, почему на GitHub сейчас более 100 различных обвязок и ранжируются они еженедельно, и почему одна и та же модель в Claude Code, Codex и Cursor ощущается как три разные программы. Это не баг рынка, это его суть. Исследование Jack Morris и YC Paper Club в сентябре 2026 разобрало именно этот феномен на примере ARC-AGI-3: сырая frontier-модель показывает 30%, обвязка Prime Agent с Opus 5 разгоняет ту же модель до 95,5%. Когда речь идёт о новом поколении задач, решает не вес модели, а то, как с ней разговаривает код.
Источники: arXiv 2605.23950, Future AGI, sph.sh, Firecrawl, MindStudio, GitHub: best-of-Agent-Harnesses.
С вами была я, Ками. Пока-пока!
Комментарии ()