Год в Claude Code, несколько релизов моделей, десятки экспериментов с командой в Kaiten. Всё это время я ждал, что главным рычагом качества будет очередной релиз модели. Оказалось, ровно наоборот: смена модели даёт заметный, но ограниченный прирост, а каждый новый слой обвязки вокруг неё — кратный.
Англоязычные инженеры называют эту обвязку harness. Это контур, в котором живёт модель: системный промпт, инструменты, контекст, скиллы, хуки, разрешения и память. Без него даже флагманский Claude или Codex работает как экскаватор без рычагов — мощность есть, использовать нечем. У русского аналога одного короткого слова пока нет, поэтому ниже — harness и обвязка вперемешку.
Формула, которая всё ставит на место
Лучше всех тезис свёл Эдди Османи из Google в апрельском посте Agent Harness Engineering: Agent = Model + Harness. Его сопроводительная мысль звучит так: «A decent model with a great harness beats a great model with a bad harness». Зрелая обвязка вокруг средней модели бьёт сырую обвязку вокруг топовой.
Эту картину независимо подтверждает Gabriel Chua (OpenAI), которого процитировал Симон Уиллисон в февральской рассылке: «Codex-модели обучаются в присутствии harness. Tool use, execution loops, компакция, итеративная верификация — это не накладное поведение, а часть того, как модель учится работать». Если читать прямо, модель и обвязка формируют друг друга двунаправленно, и граница между ними со временем размывается.
Из чего конкретно состоит harness, удобнее всего показывает практический гайд корейского инженера Youngju Kim от марта 2026-го: семь блоков — system-prompt, tools, context, skills, hooks, permissions, memory. Если у вас в Claude Code есть CLAUDE.md, пара slash-команд, скилл с триггер-описанием и pre-commit-хуки — у вас уже зрелый harness, просто называется иначе.
Почему все приходят к одному и тому же
Когда независимые инженеры из Google, OpenAI, Anthropic, Answer.AI за полгода описывают одно и то же место, велик соблазн назвать это сходимостью индустрии. Мне эта рамка кажется слабее, чем она выглядит. За ней стоит другая, более точная: нормальная фаза взросления любого, кто прошёл с LLM достаточный путь — пользователя или команды.
Я заметил это на себе. Чем выше мой собственный грейд работы с LLM, тем меньше радости от очередного релиза модели и больше дисциплины в том, как я строю контур вокруг неё. Глубина использования всегда упирается в один и тот же потолок — потолок предсказуемости, который модель сама не пробивает.
Чистый кейс из Kaiten — наш внутренний AI-редактор документов. Системный промпт там подробный: чётко описано, что делать с текстом и как. На этом промпте все четыре провайдера, которые мы пробовали — YandexGPT, open-source-Llama, Claude и GPT — справляются на приемлемом для задачи уровне; разница между моделями в наших метриках качества стала несущественной. Большая задача, разложенная на маленькие с чёткими инструкциями, даёт предсказуемый результат и без флагманской модели.
Что я вижу изнутри Kaiten
Сейчас два моих собственных проекта внутри Kaiten — это в чистом виде проектирование обвязки.
→ Лендинги по входящему ТЗ. Я строю harness так, чтобы продакт или сейлз с готовым ТЗ собирал брендированный лендинг сам, не привлекая дизайнера и фронтенда на каждую страницу. На входе — JSON-бриф с продуктом и аудиторией; на выходе — готовый TSX-компонент, который мержится в основной репозиторий как обычный PR. Цепочку маркетолог → копирайтер → дизайнер → фронтенд закрывает harness: скилл под конверсионный лендинг с awareness-уровнями аудитории, registry разрешённых компонентов из дизайн-системы — валидатор отсекает любой блок вне белого списка, — проверки бренда, бизнес-правил и SVG-иллюстраций с repair-loop до трёх попыток на feedback модели, и visual regression перед approval. Десятки страниц в бэклоге; рассчитываем делать каждую быстрее и дешевле.
→ Перепроектирование тарифной сетки. Это огромный legacy: около 100 md-файлов с разными типами документов, расчётами, версиями нынешних и будущих тарифов. Без обвязки агент в таком объёме тонет; с обвязкой у него появляется карта навигации по проекту. Индекс файлов с короткими описаниями, отдельные скиллы под навигацию по legacy, сборку сводок и сравнение версий — агент подтягивает релевантное по запросу, а не читает всё подряд.
→ Автономный агент-багфиксер. У нас появился агент, замыкающий цикл починки без человека. Работает он именно благодаря обвязке: правилам репозитория, доступам, проверкам качества перед мерджем. Работа, которая раньше требовала ротации разработчиков на дежурство, понемногу переходит к нему.
Свой личный сайд-проект — внутренняя SaaS-ка, которая когда-то начиналась как Google-таблица с картой рабочих гипотез, — за полгода превратилась в полноценный продукт. Когда переезжал из таблицы в проект, сразу заложил базу данных, правила репозитория, скиллы под SEO-статьи, под интерфейс, под архитектуру, под вызовы агентов и под тесты. Каждый новый мой проект сейчас стартует с одного и того же — CLAUDE.md, в который месяцами доливаются правила.
Эту же тропу протаптывают другие
Anthropic Engineering осенью 2025-го выпустили две статьи именно про обвязку. В сентябре 2025-го — Effective context engineering for AI agents с понятием «context rot»: чем больше контекста, тем хуже модель его удерживает, и курировать его надо как конечный ресурс. В октябре 2025-го — Equipping agents with Agent Skills и принцип «progressive disclosure»: метаданные триггерят релевантность, полная документация подгружается только при необходимости. Универсальный агент становится специалистом по PDF или Excel без смены самой модели.
Идею собственного индекса для LLM стандартизировал Джереми Ховард из Answer.AI. 3 сентября 2024-го он предложил формат llms.txt — компактный индекс в корне проекта, по которому LLM сама находит релевантные куски документации. Целиком документацию в запрос больше тащить не надо: за год формат поддержали Anthropic, Cursor и масса docs-сайтов.
Концептуально это в линии Карпати про «LLM Wiki» — персистентную вики, которую LLM ведёт сама: один раз компилирует знания из сырых источников и держит индексы и сводки актуальными.
Объединяет эти источники не сговор, а общая ступень в работе с LLM, на которую каждый встаёт по мере глубины.
Где harness ломается
Любая красивая идея ломается, если не назвать её границу. У обвязки она простая.
Harness работает там, где есть повторяемость и желание получить предсказуемый результат. Системные процессы, регулярные задачи, известный класс работы — это его родная среда. Каждая зафиксированная ошибка превращается в новое правило в AGENTS.md, и систему реже бьёт по тем же граблям. Османи называет это Ratchet Principle — накопление по «храповику».
Зато когда вы протаптываете новую тропинку, делаете что-то впервые, разбираетесь с новой технологией или незнакомым доменом, harness ещё неоткуда взяться. Сначала нужно пройти руками, понять, на что натыкаешься, и только потом систематизировать в обвязку. Попытка построить контур до того, как сам понял процесс, — частая причина того, почему очередная AI-инициатива не взлетела.
Сюда же ложится знаменитая (и методологически критикуемая) цифра MIT NANDA про 95% корпоративных AI-пилотов без измеримого эффекта. Даже с поправкой на качество выборки направление видно: команды строят обвязку вокруг процесса, который сами ещё не прошли. У нас в Kaiten на это нарвались тоже — было много инициатив, выстрелили немногие. Пока разбирались с технологией, какое-то время путали хайп с реальностью. Сейчас отделили: AI — это инструмент автоматизации внутри бизнеса. Ценность даёт понятный бизнес-процесс, в который этот инструмент встаёт; сама технология вторична.
Что делать сейчас
Если из всего сказанного брать одно конкретное действие, оно такое.
→ Найти у себя системные, повторяющиеся запросы. Тот класс работы, который вы делаете снова и снова с похожим ожидаемым результатом. У разработчика это работа с legacy, у продакта — спецификации, у маркетолога — лендинги по ТЗ, у саппорта — типовые ответы.
→ Перевести их в обвязку. Системный промпт, скилл, хук, индекс файлов — что естественно ложится под класс задач. Целевая планка — предсказуемый результат с одного промпта, без бесконечного диалога с моделью до приемлемого ответа.
→ Накапливать по «храповику». Каждая ошибка агента становится правилом в AGENTS.md или скилле. Идеальной система не становится: агенты всё равно путаются и ошибаются по-новому. Но накопленная обвязка — это конкурентное преимущество, которое не отчуждается со сменой провайдера модели.
Финал
Главное, что я понял за последний год: в зрелом использовании LLM рычаг качества постепенно уходит выше самой модели — в системный промпт, скиллы, хуки, контекст и память. Модель по-прежнему важна, и её обвязка теперь определяет результат не меньше, чем её свежесть.
А у вас сейчас рост качества AI-агента больше зависит от смены модели, или от того, что вы доращиваете в обвязке вокруг неё?
Живите и процветайте ?
Комментарии (9)

Dhwtj
16.05.2026 05:33Странно наблюдать всё это из окопов энтерпрайз легаси. У нас тут своя война
LLM слишком тесно в душных объятиях накопленных каскадных архитектурных ошибок и неоптимальных архитектурных решений по забытым причинам.
Думаете, это вас не касается?
Все будем в легаси и вы тоже.
Полностью переписать можно (если восстановить забытые замыслы и причины решений, что отдельная сложность), переехать нельзя: адаптация пользователей, миграция данных - всё очень дорого.
Стоимость сейчас не в коде, а в: переобучении пользователей и поддержке двух систем, миграции исторических данных с их аномалиями (а аномалии и есть настоящая бизнес-логика), регуляторике и аудиторских следах, интеграциях, где другая сторона не будет мигрировать вместе с тобой
Ну и чтобы 2 раза не вставать добавлю: госы нынче повадились отключать старые системы при наличии новых но плохих, бесит

mazdai19
16.05.2026 05:33LLM слишком тесно в душных объятиях накопленных каскадных архитектурных ошибок и неоптимальных архитектурных решений по забытым причинам.
Но ведь и людям с таким работать не легко.

Granulex
16.05.2026 05:33«Harness > смена модели» — верно. Кстати, убедиться в этом точно можно только с контрольным набором сценариев и ответов: иначе каждое изменение harness оцениваешь на глаз, а не по факту.

bjl
16.05.2026 05:33Экспертиза не может накопиться внутри нейросети - переобучаться недорого пока не могут.
Поэтому экспертиза теперь вне.
Можно было бы назвать это огромным промптом работника, который улучшается, но такой промпт не влезет адекватно в контекст, а также будет проседать по качеству для отдельных задач.
Поэтому делаем обвязку.
Спасибо за статью.

WhiteBehemoth
16.05.2026 05:33Как мне кажется, уже заметна тенденция по сдвигу обвязки "от локальной к серверной". Коллекции skills, agents, plugins etc, практически на любой случай. Уже не надо писать самому, - можно брать готовые и адаптировать (или брать как есть и адаптировать проект).
Клод 4.7 уже умеет создавать суб-агентов и циклы работы, используя встроенные инструменты.
То есть вполне возможно, через пару поколений, LLM сами смогут выбирать оптимальную обвязку, исходя из контекста запроса. Причём в общем случае будут делать это эффективнее локальных программистов.

Diamon33
16.05.2026 05:33Год в Claude Code, несколько релизов моделей
Кулстори, бро.
Что там с Cursor, Antigravity/Gemini CLI, Codex CLI/App/App Server, Roo Code, Cline, OpenCode, OpenClaw, Pi, Tmux + <что-то>? Тысячи их.
Где эспертиза-то, собственно? Я тоже твиттер и релизы читать умею.
Politura
Какой вы мудрый, сумели пользоваться Claude Code даже до того, как его зарелизили!
halezov Автор
Спасибо, поправил)
entze
Это всё хорошо отработавшая open-source-Llama!