Налог на обвязку: насколько важна обвязка для кодинг-агентов
Выбор кодинг-агента — это выбор сразу двух вещей: модели и обвязки (harness). Обвязка — это программа, которая даёт модели инструменты, собирает контекст и выполняет задачи. Исследователи из Arena проверили 21 связку из семи моделей и трёх обвязок — Claude Code, Codex CLI и Pi — на SWE-bench Lite и Terminal-Bench 2.0. Результат оказался неожиданным: обвязка почти не влияет на долю решённых задач, зато сильно влияет на деньги.
Что проверяли
В каждом бенчмарке взяли 30 случайных задач, и каждую пару «модель + обвязка» прогнали три раза на задачу, чтобы увидеть разброс между попытками. Обвязки стартовали в своих штатных настройках, с высоким уровнем усилий. Одна попытка ограничивалась 100 ходами агента, чтобы длинные прогоны не разоряли бюджет. Успех считался официальным оценщиком каждого бенчмарка.
Цены на токены брали из одного прайс-листа прямого API от 1 сентября 2026 года. Одинаковые цены применялись к одной и той же модели во всех обвязках, иначе сравнение получилось бы бессмысленным.
Для SWE-bench Lite авторы закрыли контейнерам задач доступ во внешнюю сеть и отключили веб-инструменты по умолчанию в Claude Code и Codex. Для Pi пришлось добавить два пакета — один для ключей подписки, второй для управления числом ходов. Модель Kimi K3 запускали через Fireworks AI в единственном её штатном режиме размышления на всех трёх обвязках.
Доверительные интервалы в 95% считали через 10 000 перезагрузок: каждый раз брали 30 средних по задачам с возвращением и заново считали общее среднее.
Обвязка влияет на цену сильнее, чем на качество
Главная цифра исследования: одна и та же модель решает примерно столько же задач, но обвязки стоят по-разному.
| Модель | Обвязка | Доля решённых задач (SWE-bench Lite) | Цена одной попытки |
|---|---|---|---|
| Claude Fable 5 | Claude Code | 97,8% | $1,33 |
| Claude Fable 5 | Codex CLI | 96,7% | — |
| Claude Fable 5 | Pi | 96,7% | $0,67 |
Fable 5 в Claude Code решает чуть больше задач, чем в Pi, но примерно вдвое дороже. И это не частный случай. Среди моделей, которые запускались во всех трёх обвязках, Claude Code в среднем обходится в 2,0 раза дороже Pi и в 1,6 раза дороже Codex на SWE-bench Lite. На Terminal-Bench 2.0 Claude Code дороже Pi в 1,5 раза.
При этом средний эффект обвязки на долю решённых задач укладывается в ±2% на SWE-bench Lite и примерно в ±5% на Terminal-Bench 2.0. То есть качество отличается немного, а деньги — в разы.
Переплату за примерно одинаковый результат авторы называют «налогом на обвязку» (harness tax). Его платит тот, кто соглашается на обвязку по умолчанию, не сравнив варианты. Отсюда практический вывод: в оценках моделей надо сравнивать стоимость и долю решённых задач у одной и той же модели на разных обвязках.
Простая обвязка может быть не хуже
Pi — минималистичная обвязка с открытым кодом, и она попадает на границу Парето по обоим бенчмаркам. У неё всего четыре инструмента: чтение, запись, редактирование и bash. Вот её репозиторий: https://github.com/earendil-works/pi/blob/main/packages/coding-agent/README.md
Чтобы понять, откуда берётся разница в цене, авторы посмотрели на три вещи: стоимость завершённых попыток, записанное число ходов и стартовый контекст.
Число ходов может совпадать, а цена — нет. У Fable 5 на SWE-bench Lite обвязка Pi в среднем делает 15,4 хода на попытку, Claude Code — 15,3. Почти одинаково. Но Claude Code стоит примерно вдвое больше ради прибавки в 1,1 процентного пункта к доле решённых задач. Значит, дело в том, сколько денег тратится на один записанный ход. Оговорка авторов: у разных обвязок определение хода своё.
Налог начинается уже с первого обращения к модели. У всех семи моделей средний стартовый контекст в Claude Code больше чем в десять раз больше, чем в Pi. Там длинные инструкции и крупные схемы инструментов. Этот контекст платный сам по себе, хотя общая сумма зависит ещё и от кеширования, сгенерированных токенов и следующих вызовов.
Отдельно авторы отмечают, что результаты Pi и Codex открывают дорогу исследованиям обвязок с открытым кодом на уже готовых моделях. Исследователю не нужен доступ к закрытой обвязке и не нужно дообучать модель вместе с ней. Разумеется, богатые возможности обвязки могут пригодиться для других моделей, других задач или других режимов работы. Сложность обвязки — это компромисс, который проверяется замерами, а не верой.
Модель хорошо работает и вне обвязки своего разработчика
Разработчики моделей иногда оптимизируют их под свою среду. OpenAI, например, описывает GPT-5-Codex как оптимизированную под работу в Codex. Но в исследовании на шести моделях Anthropic и OpenAI и двух бенчмарках в девяти случаях из двенадцати лучший результат показала не обвязка поставщика модели, а другая.
Примеры:
- Sonnet 4.6 решает 68,9% попыток в Codex против 66,7% в Claude Code на SWE-bench Lite, примерно по той же цене.
- GPT-5.6 Sol на Terminal-Bench 2.0 даёт 83,3% в Pi против 78,9% в Codex — примерно вдвое дешевле, $0,42 против $0,76.
Так выходит, что возможности модели переносятся на другие обвязки: она совместима с ними и работает в них не хуже. Общий поставщик не гарантирует лучшей пары. Практический вопрос остаётся тем же: какая обвязка даёт лучший баланс цены и качества для вашей модели и ваших задач.
Ограничения и что дальше
Результаты верны только для двух открытых бенчмарков. Модели могли видеть их во время обучения. На других задачах и других рабочих нагрузках картина может отличаться.
Авторы отделяют два случая. Для повседневных задач кодинг-агент — это по сути интерфейс к интеллекту модели: он управляет контекстом, даёт доступ к инструментам и выполняет задачи. По мере того как модели становятся сильнее, такой агент может обойтись меньшим количеством нынешней обвязки. Значит, универсальному агенту стоит ставить на дешёвизну и надёжность, а не на красивые дополнения.
Для трудных задач на границе возможностей модели — например, научных открытий — обвязка с продуманными подсказками всё ещё может помочь: она помогает перебирать идеи, оценивать варианты и учиться на обратной связи.
Отдельная мысль: пользователю не придётся самому принимать эти настройки. Нужна обвязка, которая подстраивается по ходу задачи и остаётся универсальной. Полные трассировки измерений авторы обещают выложить в открытый доступ. Проект и данные живут здесь: https://ai4coding.ru/articles/harnesstax-harness-tax-study