ПостСредне~6 мин

Agent = Model + Harness: куда уехала инженерия за два года

Ещё два года назад главный вопрос в разговорах про AI в разработке звучал так: «какую модель взять?». Год назад он сменился на «как правильно скормить модели контекст?». А этим летом я ловлю себя на том, что почти все предметные споры сводятся к другому: кто как обвязал агента. Какие у него инструменты, какие проверки стоят на пути к репозиторию, какие лимиты, что пишется в трассировки. Модель обсуждаем всё меньше.

Эта заметка открывает новую серию про harness engineering. Серия получится одновременно курсом и плейбуком: разберём, из чего состоит обвязка агента, как построить каждый её слой и как понять, что всё это окупается. Начну с рамки: что вообще такое harness и почему именно сейчас про него все говорят.

Откуда этот пост

Весной и в начале лета 2026 года вышло сразу несколько больших материалов от AI-лабораторий и инженерных блогов, и у них у всех в центре одна формула: агент — это модель плюс harness. Термин закрепился быстро, за считанные месяцы. Такое бывает, когда у явления давно есть практика, но не было имени.

Я почувствовал это на себе. Перечитывал свои же заметки из серии про AI в разработке и понял, что половина написанного — это про harness, просто без слова «harness». Лимиты попыток для QA-агентов. Правило «сначала схема, потом вызов». Коммит только по запросу человека. Разделение инструментов на разведочные и финальные. Я собирал куски обвязки руками, из боли, а теперь у этой сборки появилось отраслевое название и нормальная теория.

Так что эта серия — продолжение разговора, который мы тут ведём давно. Только теперь с картой местности.

Три фазы: промпт, контекст, harness

Полезно увидеть, как индустрия дошла до текущей точки. Путь занял примерно четыре года и три фазы.

Первая фаза, 2022–2024, — промпт-инженерия. Главным рычагом был текст запроса. Мы учились писать инструкции, подбирать примеры, строить цепочки рассуждений. Инженерия сводилась к одному тексту на входе одного вызова модели.

Вторая фаза, 2025, — контекст-инженерия. Агенты стали жить дольше одного запроса, и узким местом стало другое: что модель видит на каждом шаге. Что подмешать в контекст, что убрать, как сжимать историю, как ранжировать результаты инструментов. Инженерия расширилась с одного текста до управления всем потоком информации в окно контекста.

Третья фаза, 2026, — harness engineering. Модели научились вести длинные задачи, и надёжность уперлась в инфраструктуру вокруг: кто держит состояние, кто проверяет результат, кто останавливает агента, когда он уехал не туда. Вопрос сместился с «что сказать модели» на «что модели позволено делать и как мы проверяем, что получилось».

Здесь важный момент: фазы не заменяют друг друга, а поглощают. Промпт никуда не делся, он живёт внутри контекст-инженерии. Контекст живёт внутри harness. Просто центр тяжести переехал.

Формула: Agent = Model + Harness

Теперь к самой формуле. Модель даёт рассуждение и порождает текст. Всё остальное, что превращает этот текст в работающего агента, — harness:

  • цикл, который вызывает модель, передаёт ей состояние и разбирает ответ;

  • инструменты и их схемы: чтение файлов, терминал, поиск, внутренние API;

  • среда исполнения: где и с какими правами выполняются команды;

  • память и контекст-политики: что агент помнит между шагами и сессиями;

  • проверки: тесты, линтеры, сборка, ревью-петли;

  • ограничения: лимиты попыток, бюджеты, запретные зоны, точки, где нужно одобрение человека;

  • наблюдаемость: трассы, стоимость, метрики.

Модель без harness — это чат. Она не прочитает файл, не запустит тест, не заметит, что уже третий круг ходит по одной и той же ошибке. Всё это делает обвязка.

Здесь удобно ввести различие, которое я буду использовать всю серию. Есть inner harness — то, что встроил вендор агента: цикл, базовые инструменты, режимы разрешений. Его вы не меняете, вы с ним живёте. И есть outer harness — то, что строите вы и ваша команда: правила репозитория, MCP-серверы, CI-гейты, лимиты, форматы отчётов, ревью-процесс.

Пример из жизни. Коробочный агент умеет читать проект, править код и запускать команды. Но он не знает, что в вашем проекте миграции базы трогать нельзя без отдельного согласования, что PR в платёжный модуль обязан пройти ваш собственный линтер, а вся активность агента должна падать в аудит-лог, потому что этого требует регулятор. Ничего из этого в коробке нет. Это вы достраиваете сами, и именно эта достройка отличает «у нас агенты реально работают» от «мы попробовали, получился цирк».

Вся инженерная ценность копится в outer harness. Модель вы арендуете, inner harness вам выдали, а вот внешняя обвязка — это то, что ваша команда знает про свой проект и чего не знает никто другой.

Почему «какую модель взять» — не тот вопрос

В прошлом году я и сам участвовал в бесконечных сравнениях моделей. Сейчас смотрю на это спокойнее. И в моей практике, и в публичных тестах этого года картина повторяется: открытая модель с хорошей обвязкой на реальных инженерных задачах держится на уровне фронтирной, а фронтирная модель без обвязки стабильно выдаёт результат, который приходится переписывать руками.

Я писал похожее про QA-агентов: качество агента определяется архитектурой цикла, а не выбором модели. Тогда это звучало как наблюдение из одного проекта. Сейчас это выглядит как отраслевой закон. Плохая структура портит любую модель. Хорошая структура вытаскивает даже среднюю.

Практический сдвиг тут в экономике. Если разница между дорогой и дешёвой моделью гасится обвязкой, то считать стоимость агента надо не по прайсу токенов, а по стоимости одного смёрдженного PR. И инвестировать не в «модель побогаче», а в слои harness, которые дают рост на любой модели. Модели меняются каждые пару месяцев. Обвязка остаётся.

Когда harness не нужен

Честности ради: не каждому нужен harness, и не каждой задаче. Если вы используете AI как автокомплит, спрашиваете про незнакомый код, генерируете черновик теста или прототип на вечер — хватит промпта и контекста. Строить обвязку ради этого — всё равно что ставить ремни безопасности на табуретку.

Harness становится нужен, когда меняется масштаб ответственности:

  • агент ведёт задачу от начала до конца, а не подсказывает кусок;

  • задача длиннее одной сессии и не влезает в один контекст;

  • результат идёт в CI и дальше в продакшн, где у ошибки есть цена;

  • агентов несколько, или они запускаются по расписанию без человека рядом;

  • за результат отвечаете вы, а не демо-стенд.

Если хотя бы пара пунктов про вас — вы уже строите harness. Вопрос только, осознанно или методом «почему опять всё сломалось».

Что будет дальше в серии

План такой. Во второй части разберу анатомию harness по слоям: оркестрация инструментов, верификационные петли, контекст и память, ограничения, наблюдаемость — и что ломается, когда слоя нет. Дальше по практике: AGENTS.md, схемы инструментов и MCP как переносимый слой, который переживёт смену вендора. Потом верификация и evals: чем «тесты зелёные» отличаются от доверия. Отдельная часть про guardrails: песочницы, бюджеты, запретные зоны. Затем про команду: кто строит harness и как меняются роли. И финал — метрики и дорожная карта внедрения, где всё сойдётся в один плейбук.

Главный вывод

Инженерия работы с AI за четыре года прошла путь от текста запроса к контексту и дальше к обвязке. Формула 2026 года проста: агент — это модель плюс harness. Модель даёт интеллект, harness делает его пригодным для работы: инструменты, проверки, память, ограничения, наблюдаемость.

Менять модель — быстро и дешево, поэтому на этом мало что строится. Строить outer harness — долго и местами скучно, поэтому именно тут копится преимущество. Всё, что ваша команда знает про свой проект: где лежат грабли, что нельзя трогать, как выглядит «хорошо сделано», — должно перестать жить в головах и переехать в обвязку.

Практический чеклист

Проверьте себя. Если на большинство пунктов отвечаете «да» — вы в фазе, где harness важнее модели:

  1. Результат агента скачет при той же модели и тех же промптах.

  2. Агент пишет код быстрее, чем команда успевает его ревьюить.

  3. Одни и те же ошибки повторяются из сессии в сессию: агент снова наступает на известные грабли.

  4. Часть правил проекта существует только устно: «миграции не трогай», «в этот модуль без ревью Васи не лезь».

  5. Вы не можете ответить, сколько стоит один агентный PR — ни в токенах, ни в часах ревью.

  6. Хочется отдавать агенту задачу целиком, а не кусочками, но страшно.

В следующей части — разбор пяти слоев harness на одной сквозной задаче: от тикета до PR. Если узнали в чеклисте свой проект — расскажите, на каком пункте зацепило. Интересно, что болит у вас.

Обсуждение

Комментариев пока нет — начните тему.

Комментариев пока нет — начните тему.

Оставить комментарий

Комментарии публикуются сразу после отправки.