Дело в harness, а не в модели: почему одна и та же LLM жжет в 4 раза больше токенов без правильной обвязки
Дело в harness, а не в модели: почему одна и та же LLM жжет в 4 раза больше токенов без правильной обвязки
По сети гуляет один график, который переворачивает весь разговор о стоимости токенов. Инженер прогнал 180 одинаковых задач на исправление кода на одной и той же модели и менял между запусками ровно одно — harness, обвязку вокруг модели. Без обвязки модель решила 6.7% задач. С правильным harness — 68%, и потратила при этом в 4 раза меньше токенов.
Те же веса. Те же задачи. Десятикратная разница в успехе и четырехкратная в стоимости — исключительно за счет обвязки.
Аналитик Aakash Gupta сформулировал бизнес-смысл прямо: “Модель — это commodity, она есть у всех. Harness — это ров вокруг вашего замка, ваше конкурентное преимущество.” Этот пост читает ту же мысль через единственную линзу, которая волнует этот блог: токены. Потому что harness — это не только про точность, это про счет.
Это парная статья к Как экономить токены в LLM. Тот гайд — каталог тактик; этот — принцип, лежащий в основе их всех, и объяснение, почему весь этот каталог в конечном счете и есть инженерия harness.
1. Что на самом деле означает “harness”
Модель — это двигатель: сырое предсказание следующего токена. Harness — это все, что вокруг него и превращает этот двигатель в агента, который доводит работу до конца:
- как ставится задача (системный промпт, документация к инструментам, примеры);
- какие у него инструменты и в каком виде возвращаются их результаты;
- сколько репозитория/файла/истории он видит и в какой форме;
- что происходит при неудаче — он слепо повторяет попытку или его направляют;
- что он запоминает между шагами и сессиями.
Claude Code и есть harness. Как и Cursor, как и Codex, как и любой самописный цикл агента. Две обвязки, управляющие одной и той же моделью, дают дико разные результаты — и дико разные счета за токены — потому что они кормят модель дико разным контекстом и по-разному восстанавливаются после ошибок.
2. Почему именно в harness сгорают токены
Вот та часть, которая важна для стоимости. В агентной задаче счет за токены не определяется той единственной чистой траекторией, что решает проблему. Он определяется всем, что идет не так по дороге:
- Повторы. Невнятная ошибка, кривой вызов инструмента, неверное допущение — каждый тупик это полный круг входа (весь накопленный контекст) плюс выход, оплаченный целиком и не давший ничего.
- Перечитывания. Обвязка, которая не может подать модели нужные 30 строк, заставляет ее читать весь файл на 800 строк — или сделать grep, промахнуться и прочитать еще три файла.
- Метания. Без направления застрявшая модель повторяет то же провальное действие чуть иными словами, и каждый повтор заново отправляет весь контекст.
- Гниение контекста. По мере того как провальные попытки набиваются в окно, качество падает (см. §3 гайда по токенам), а это порождает больше неудач, которые жгут больше токенов. Порочный круг.
Вот почему одна и та же модель может стоить в 4 раза дороже без обвязки, чем с ней. Harness с 68% успеха не просто умнее — он не платит за метания. Самый дешевый токен — тот, что вы никогда не потратите на повторную попытку. Качество harness и стоимость токенов — это одна и та же ось, измеренная дважды.
3. Исследования: адаптируй интерфейс, а не модель
Это не только инфлюенсерская подача — теперь это направление исследований с цифрами.
Life-Harness
Life-Harness (Xu, Wen, Li — arXiv 2605.22166) выносит тезис прямо в заголовок: “Adapting the Interface, Not the Model.” Утверждение в том, что в средах с четкими правилами агенты проваливаются из-за рассогласования интерфейса между моделью и средой, а не потому, что модель тупая. Поэтому вместо дообучения весов вы эволюционируете harness прямо во время работы: превращаете наблюдаемые неудачи в переиспользуемые вмешательства и затем сохраняете их для новых задач. Все это без обучения — никаких обновлений градиента, никаких новых весов.
Собран он из четырех рантайм-слоев, и каждый стоит рассматривать как экономию токенов:
| Слой | Что делает | Токен-угол |
|---|---|---|
| Environment contracts | Заранее проговаривает реальные ограничения задачи | Убивает цикл повторов, где модель узнает правило, только нарушив его |
| Procedural skills | Переиспользует выжатые паттерны восстановления, что уже сработали | Не выводит заново решение, которое агент однажды уже нашел |
| Action realization | Переводит намерение модели в валидное исполняемое действие | Убирает круги на кривых вызовах |
| Trajectory regulation | Обнаруживает и блокирует повторяющиеся паттерны провалов | Останавливает цикл метаний, который заново отправляет контекст N раз |
Каждый из этих четырех нацелен на свою категорию потраченных впустую токенов. Результаты: на 7 детерминированных средах и 18 модельных бэкбонах Life-Harness улучшил 116 из 126 конфигураций со средним относительным приростом 88.5% — а harness, эволюционировавший на одной модели, перенесся на 17 других. Код под лицензией MIT лежит на GitHub. (Работа сообщает о показателях успеха, а не о заголовке про токены; цифра “в 4 раза меньше токенов” — из практического эксперимента выше, но механизм ровно тот, что делает хороший harness: меньше провальных траекторий, меньше токенов.)
Meta-Harness
Если Life-Harness эволюционирует harness из неудач, то Meta-Harness (Lee, Nair, Zhang, Lee, Khattab, Finn) идет до конца: автоматически оптимизирует сам harness — описания задач, промпты, критерии оценки — как обучаемый объект, не трогая модель. Ее ключевой тезис — “проблема harness”: одинаковые задачи, поданные по-разному, дают существенно разные результаты, и систематическая оптимизация harness может сравняться с приростом от апгрейда модели или превзойти его. Проверено на T-Bench 2 на задачах распознавания намерения, распознавания эмоций и кода.
Две работы, один и тот же квартал, один вывод с разных сторон: интерфейс — это рычаг первого класса, и для фиксированной модели это единственный оставшийся у вас рычаг.
4. Что это значит для вашего счета в Claude Code
Вот суть для пользователя Claude Code: все в гайде по экономии токенов — это инженерия harness. У вас нет ручки с надписью “harness”, но вы строите его каждый раз, когда:
- делегируете субагентам с маленькими контекстами (§2) — чтобы неудачи оставались в дочернем контексте и не гноили родительский;
- заменяете MCP на скиллы (§5) — слой procedural-skills под другим именем: переиспользуемое ноу-хау, загружаемое по требованию, а не выводимое заново;
- фильтруете вывод инструментов хуками и сжимаете команды через rtk (§11, §13) — это action realization: валидные, компактные результаты вместо логов на 500 строк;
- запрашиваете граф вместо чтения всего репозитория — graphify, а теперь CodeGraph и Serena (см. обновленные §7/§13 гайда) — самое крупное урезание налога на “перечитай все”;
- управляете сессией через
/rewind,/compact,/clear(§4) — это trajectory regulation: не давайте тупиковому пути выставлять счет снова и снова.
Сопоставьте этот список с четырьмя слоями Life-Harness — соответствие почти один-к-одному. Академическая рамка просто дает имя тому, что экономные пользователи агентов уже делали по наитию. Стек — это не куча трюков, это harness, и каждая деталь убирает свою категорию потраченных впустую токенов.
5. Два способа получить harness получше: построить или арендовать
Построить. Именно это делает связка claude-code-token-savers — rtk, graphify, caveman, а теперь еще pxpipe/headroom, вшитые в Claude Code так, чтобы harness вокруг флагманской модели перестал платить за метания. Модель Anthropic вы оставляете; вы апгрейдите обвязку.
Арендовать. Некоторые продукты продают harness как сам продукт. commandcode.ai, например, — это не прокси для Claude Code, а самостоятельный агент ($1/мес, $10 бесплатных кредитов), который гоняет дешевые полновесные, никогда не квантованные открытые модели (DeepSeek V4 Pro, MiniMax M3, MiMo V2.5 Pro) за своим собственным harness, с обучающейся системой “taste-1”, что следит за вашими принятиями/отклонениями/правками и автоматически пишет скиллы уровня проекта — слой procedural-skills, превращенный в продукт. Экономика тут — ход из §6 (дешевые модели) плюс harness, который тем лучше, чем больше вы им пользуетесь. Стоит держать в голове как категорию: когда harness достаточно хорош, commodity-модель на нем бьет флагманскую модель без обвязки — это и есть весь график 6.7% против 68%, проданный как подписка. (Это альтернативный агент, а не дополнение к вашему стеку Claude Code.)
Оба пути — одна и та же ставка: тратьте на harness, а не на модель.
Вывод
Модель — это двигатель, а двигатели стали commodity — DeepSeek, MiniMax, Qwen, Claude, все в пределах досягаемости подписки за $1 или дешевого алиаса OpenRouter. То, что отделяет сессию за $6 от сессии за $42 на одной и той же задаче, — это не двигатель. Это harness: насколько хорошо обвязка держит модель на рельсах, подает ей ровно тот контекст, что нужен, и отказывается платить за одну и ту же ошибку дважды.
Aakash Gupta назвал harness рвом. Для всех, кто следит за своим счетом за токены, все проще: harness — это то место, где ваши токены либо тратятся, либо экономятся. Постройте хороший — или арендуйте — и та же модель сделает в 10 раз больше работы за четверть цены.
Парное чтение: Как экономить токены в LLM — практический гайд по Claude Code, каталог тактика-за-тактикой, под которым лежит этот принцип.