AI Community · харнес
AI Community · ИТ-трек

Харнес: контур, в котором ИИ-агенты дают предсказуемый результат

Frontier-модели пишут код нормально. Ломается всё вокруг них: правила, доступы, среда, память, приёмка. Разбираем, из чего состоит эта обвязка и почему именно она определяет разброс результата.

«Модель можно купить, а контур - нельзя. Это навык.» принцип методологии харнеса

Харнес - это всё вокруг модели, кроме её весов: инструкции, инструменты, окружение, состояние, проверки. Модель - фиксированный актив, одинаковый у вас и у конкурента. Дисперсию задаёт окружение. Если агент сделал не то, чинят не промпт, а конкретный кусок харнеса.

модель Instructions Tools Environment State Checks дисперсия результата задаётся контуром, а не весами

схема прокручивается вбок

Боттлнек

Агент генерит быстрее, чем человек успевает понимать

Инструмент раздали, скорость выросла, поток PR вырос в 5 и более раз. Предел осознания кода человеком остался прежним - порядка 3000 строк за один заход. Разница между «сгенерировано» и «реально понято» копится и превращается в когнитивный долг: в метриках скорости его не видно, он всплывает на ревью, на инциденте и на передаче проекта другому человеку.

Второй симптом того же порядка: процесс перестаёт быть детерминированным. Один и тот же запрос на той же кодовой базе даёт разный результат от сессии к сессии. Это не каприз модели - это недостающая инструкция в харнесе.

56% коммитов, написанных с ИИ без ограждений, снижают maintainability; когнитивная сложность растёт на 39% исследование MSR 2026
~3000 строк - предел, который человек осознаёт за один заход; агент выдаёт больше и быстрее лимит осознания
88 / 95 88% компаний используют ИИ, около 95% не получают измеримого эффекта отраслевые данные
потолок ~3000 строк за заход объём кода от агента объём, который команда осознала когнитивный долг старт внедрения через несколько спринтов разрыв не закрывается скоростью чтения - он закрывается артефактами и проверками
Долг растёт молча: скорость выглядит отлично ровно до первого разбора инцидента.схема прокручивается вбок

Ответ не в том, чтобы читать быстрее. Понимание переносится в артефакты: каждая работа агента оставляет след - требования, принятое решение, доказательства, отвергнутые варианты. Сумма следов становится базой знаний проекта, по которой можно ходить срезами, а не читать целиком. Роль человека смещается из «искать и писать» в «валидировать на точках передачи».

Рабочая рамка простая: вы тимлид команды джунов и мидлов, которая стоит порядка $250 в месяц, не устаёт и не помнит вчерашний день. Всё, что вы дали бы такой команде - правила, доступы, среда, память, приёмка - и есть харнес.

Архитектура

Харнес: пять подсистем

Диагностика начинается с вопроса «какая подсистема сломана», а не «какой промпт переписать». Пять зон покрывают почти все случаи, когда агент сделал не то. Потеря любой даёт каскадную деградацию.

01Instructions

CLAUDE.md и AGENTS.md, правила, карта репозитория и блок red lines: пронумерованные запреты со ссылкой на инцидент, из которого правило родилось.

без неёагент блуждает и каждый раз изобретает свой порядок работы

02Tools

Shell, файловые операции, тесты, MCP - типизированные, с явными контрактами. Каждый вывод инструмента заканчивается одним маркером следующего шага, чтобы агент не угадывал.

без неёагент только говорит, что сделал бы, и не трогает систему

03Environment

Зависимости, песочница, воспроизводимая сборка из git. Отдельно проектируются owned и forbidden зоны: где агенту можно писать, а где нельзя.

без неёагент работает «в своей голове», локально всё зелёное, в сборке нет

04State

Git, память по временным слоям, handoff между сессиями. Ядро контекста загружается каждый ход, остальное поднимается по запросу, микро-решения живут с TTL.

без неёамнезия каждую сессию: вчерашние выводы и отвергнутые варианты предлагаются заново

05Checks

Валидация, линтер, тесты, smoke, скоринг артефактов. Наибольший эффект при наименьшем пороге входа - и почти всегда строятся последними, потому что вместо них бесконечно тюнят инструкции.

без неёагент не знает, что сделал плохо, и уверенно рапортует «готово»

06Design systemдля фронта

Текстовые токены и компоненты, к которым агент обязан обращаться, плюс визуальный гейт до мерджа: снапшоты, сверка состояний, цветов и отступов.

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

Как он работает

Шесть принципов, которые сразу меняют процесс в команде разработки.

  1. Агент не может проверять сам себя

    Самооценка систематически завышена: студент не проверяет свой экзамен. Generator и verifier разделяются на каждой стадии - проверка отдельным агентом в чистой сессии, по внешнему ground truth: git diff, реальный запуск, скриншот. Пустой diff при зелёных тестах - блокер, а не успех.

    следствие

    В пайплайне появляется роль ревьюера, которая физически не может писать код. Отчёт «done, тесты зелёные» перестаёт быть основанием для мерджа.

  2. Проверки живут в CI, а не на ноутбуке

    Всё, что настроено локально у одного человека, не существует для остальных и для агентов. Гейт должен стоять там, где через него проходят все коммиты, включая агентские.

    следствие

    Ревью успевает за генерацией не потому, что люди читают быстрее, а потому что до человека доходит только то, что прошло машинные гейты.

  3. Репозиторий - единственный источник истины

    Информация, которой нет в репо, для агента не существует. Не «должна быть» - именно не существует. Markdown в git первичен, любые базы и индексы - производный кэш, перестраиваемый одной командой.

    следствие

    Знание из вики, тредов и голов тимлидов переезжает в репозиторий рядом с кодом. Побочный эффект: документация начинает обновляться, потому что от неё зависит результат агента.

  4. Инварианты - через enforcement, а не через текст

    Правило из документа нарушали 32 раза за полгода. Правило либо зашито в компилятор, хук, гейт или denylist, либо это фольклор. Нарушено дважды - переезжает из текста в enforcement.

    следствие

    Стандарт разработки перестаёт быть документом, который никто не читает, и становится набором проверок, которые невозможно обойти.

  5. Доверие равно слабейшему звену

    Надёжность решения считается как минимум по доказательствам, а не как среднее: среднее статистически отмывает слабое свидетельство. Доказательства оцениваются по формальности, гранулярности и надёжности источника в вашем контексте.

    следствие

    Whitepaper вендора не перевешивает собственный замер на своём проде. Выбор стека и инструментов перестаёт быть спором вкусов.

  6. Доказательства протухают

    У каждого замера есть срок годности, у каждого решения - условия пересмотра: дата, событие или метрика, которые срабатывают сами. Решение без условий пересмотра - памятник, а не рабочий артефакт. Отсюда и следующий шаг: ошибка агента разбирается до конкретного куска харнеса - правило, проверка, память или инструмент.

    следствие

    Ретро после задачи заканчивается правкой конкретного файла в репозитории, а не переписыванием промпта. Доверие к процессу растёт от количества пройденных циклов, а не от смены модели.

Результат

Что это даёт команде разработки

Перевод методологии в то, что видно руководителю ИТ через месяц после запуска контура.

Одинаковое качество при разных инструментах

Команды сидят на Claude, Cursor, Codex и своих обвязках - и это нормально. Стандарт задают артефакты в репозитории и гейты в сборке, а не выбор редактора. Вопрос методологии, а не молотка: пересаживать всех на один инструмент не требуется.

Ревью, которое успевает за генерацией

До человека доходит diff, уже прошедший машинные проверки и ревью отдельным агентом в чистой сессии. Человек тратит внимание на границы: контракты, инварианты, необратимые решения - а не на вычитку тысяч строк.

Воспроизводимость вместо лотереи

Тот же запрос завтра даёт тот же результат, потому что решения, отвергнутые варианты и условия их пересмотра лежат в репозитории. Проект переживает уход человека: контекст не в голове, а в артефактах.

Онбординг в готовый контур

Новый разработчик или аналитик заходит в проект, где правила, карта репозитория и точки эскалации уже описаны для агента - значит, описаны и для человека. Карта слоёв строится детальная: роуты, бизнес-логика, скрипты, конфиги, документация.

Полномочия агента как проектируемая вещь

Песочница, owned и forbidden зоны, denylist инструментов по ролям, точки обязательной остановки. Это ложится на требования ИБ напрямую: видно, что уходит наружу, что остаётся во внутреннем контуре и где агент не имеет прав.

Калибровка глубины против бюрократии

Не каждой задаче нужны артефакты. Правка в один файл с откатом за час - просто коммит. Полный конвейер включается там, где решение необратимо или задевает несколько команд. Записи «на всякий случай» хуже отсутствия записей.

Внедрение

Как контур разворачивают в компании

Три шага. Сроки не называются до аудита: они зависят от того, что найдётся в текущем контуре.

  1. Аудит контура одной команды

    Берут команду, которая собрала больше всего грабель. Смотрят, что уже есть по пяти подсистемам, где рвётся, какие проверки существуют и где они живут, как выглядит ревью агентского кода сейчас. На выходе - карта пробелов: что есть, что частично, чего нет.

  2. Пилот на небольшом реальном продукте

    Маленькая разнородная группа и настоящий продукт, а не учебный. Разработка в нормальном понимании: с девопсом, CI/CD и требованиями ИБ. Харнес собирается по ходу задач - инструкции, гейты в сборке, ревью отдельным агентом, артефакты решений - и каждая ошибка агента разбирается как баг харнеса.

  3. Перенос стандарта на остальные команды

    То, что выжило в пилоте, оформляется в переносимый контур: шаблоны артефактов, гейты, роли агентов, протокол онбординга. Дальше команды подключаются к общему стандарту, оставаясь на своих инструментах.

01 Аудит контура одна команда, карта пробелов 02 Пилот реальный продукт, CI и ИБ 03 Перенос стандарта остальные команды после переноса контур продолжает расти из инцидентов, а не из презентаций инструмент остаётся выбором команды

схема прокручивается вбок

Практика

С чего начать у себя

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

Дальше

Харнес нельзя купить готовым: он растёт из инцидентов конкретной команды и конкретной кодовой базы. Но собирать его с нуля каждый раз тоже не нужно - есть отработанные шаблоны артефактов, ролей и гейтов.

Разбираем это в программе AI Masters для ИТ-команд: пять подсистем на своём репозитории, гейты в своём CI, разбор ошибок агента как багов харнеса. Обсудить формат под вашу команду - в личных сообщениях.