Год назад команда Kaiten — российского сервиса управления проектами — начала системно встраивать LLM в рабочие процессы. Ожидание было стандартным: каждый новый релиз модели даст заметный скачок качества. Реальность оказалась другой. Смена модели что-то меняет, но прирост ограничен. Зато каждый новый слой настройки вокруг модели — системный промпт, инструменты, правила репозитория, проверки — даёт кратный эффект.

Эту идею лаконично сформулировал Эдди Османи из Google в апрельском посте Agent Harness Engineering: Agent = Model + Harness. Harness — англоязычный термин для всей обвязки вокруг модели: контура, в котором она работает. «Зрелая обвязка вокруг средней модели бьёт сырую обвязку вокруг топовой», — пишет Османи. Независимо ту же мысль высказал Габриэль Чуа из OpenAI: модели серии Codex обучаются в присутствии harness, и tool use, execution loops, итеративная верификация — не надстройка, а часть того, как модель учится работать. Граница между моделью и обвязкой со временем размывается.

Блок harnessНазначениеПример в Claude Code
Системный промптЗадаёт роль и правила поведения моделиCLAUDE.md с инструкциями
ИнструментыВнешние функции, которые модель может вызыватьBash, файловая система, API
КонтекстИнформация, доступная модели в момент запросаИндекс файлов проекта
СкиллыСпециализированные инструкции под конкретный тип задачСкилл под конверсионный лендинг
ХукиАвтоматические проверки до или после действий моделиPre-commit-хуки
РазрешенияСписок допустимых действий и компонентовRegistry разрешённых компонентов
ПамятьПерсистентное хранение знаний между сессиямиAGENTS.md с накопленными правилами

Практическую структуру harness описал корейский инженер Youngju Kim в марте 2026 года: семь блоков — системный промпт, инструменты, контекст, скиллы, хуки, разрешения и память. Если в проекте есть CLAUDE.md, несколько slash-команд и pre-commit-хуки — это уже зрелый harness, просто под другим названием.

В Kaiten ИИ-редактор документов на одном системном промпте одинаково хорошо работает с YandexGPT, Llama, Claude и GPT — разница между моделями стала несущественной.

Конкретный пример из Kaiten показывает, как это работает на практике. Внутренний ИИ-редактор документов получил подробный системный промпт с чёткими инструкциями по работе с текстом. На этом промпте все четыре провайдера — YandexGPT, open-source Llama, Claude и GPT — справляются на приемлемом уровне. Разница между моделями в метриках качества стала несущественной. Большая задача, разложенная на маленькие с чёткими инструкциями, даёт предсказуемый результат без флагманской модели.

Сейчас в Kaiten работают три проекта, построенных целиком на проектировании обвязки. Первый — генерация лендингов по входящему техзаданию. На входе JSON-бриф с описанием продукта и аудитории, на выходе — готовый TSX-компонент, который мержится в репозиторий как обычный PR. Цепочку маркетолог → копирайтер → дизайнер → фронтенд закрывает harness: скилл под конверсионный лендинг, registry разрешённых компонентов из дизайн-системы, проверки бренда и бизнес-правил, repair-loop до трёх попыток и visual regression перед approval. Второй проект — навигация по legacy-документации из около 100 md-файлов с тарифами и расчётами. Без обвязки агент тонет в объёме; с индексом файлов и отдельными скиллами под навигацию он подтягивает релевантное по запросу. Третий — автономный агент-багфиксер, замыкающий цикл починки без участия человека благодаря правилам репозитория и проверкам качества перед мерджем.

Отрасль движется в том же направлении. Anthropic осенью 2025 года выпустила две статьи про обвязку. В сентябре — про «context rot»: чем больше контекста, тем хуже модель его удерживает, и управлять им нужно как конечным ресурсом. В октябре — про принцип «progressive disclosure»: метаданные триггерят релевантность, полная документация подгружается только при необходимости. Джереми Ховард из Answer.ИИ 3 сентября 2024 года предложил формат llms.txt — компактный индекс в корне проекта, по которому LLM сама находит нужные куски документации. За год его поддержали Anthropic, Cursor и множество docs-сайтов.

У обвязки есть чёткая граница применимости. Harness работает там, где есть повторяемость: системные процессы, регулярные задачи, известный класс работы. Каждая зафиксированная ошибка превращается в новое правило, и система реже наступает на те же грабли — Османи называет это Ratchet Principle. Но когда задача новая, домен незнакомый или процесс ещё не осмыслен — обвязку строить не из чего. Попытка создать контур до того, как сам понял процесс, — частая причина провала ИИ-инициатив. Цифра MIT NANDA про 95% корпоративных ИИ-пилотов без измеримого эффекта, при всей методологической критике, указывает именно на это: команды строят обвязку вокруг процесса, который сами ещё не прошли. В Kaiten с этим тоже сталкивались — часть инициатив не выстрелила именно потому, что инструмент встраивали в процесс, который не был достаточно понят и описан.