Ваш агент не тупой — ему просто неудобно. ai-агенты.. ai-агенты. C++.. ai-агенты. C++. claude code.. ai-агенты. C++. claude code. code review.. ai-агенты. C++. claude code. code review. context engineering.. ai-агенты. C++. claude code. code review. context engineering. DevOps.. ai-агенты. C++. claude code. code review. context engineering. DevOps. github.. ai-агенты. C++. claude code. code review. context engineering. DevOps. github. IT-стандарты.. ai-агенты. C++. claude code. code review. context engineering. DevOps. github. IT-стандарты. Open source.. ai-агенты. C++. claude code. code review. context engineering. DevOps. github. IT-стандарты. Open source. агентская разработка.. ai-агенты. C++. claude code. code review. context engineering. DevOps. github. IT-стандарты. Open source. агентская разработка. качество кода.

Agent Comfort: измеримое свойство среды, от которого зависит, справится кодинг агент сам или нет

В обсуждениях агентской разработки сейчас две повторяющиеся истории. Инженеры тонут в ревью сгенерированного кода: с ИИ мержится почти вдвое больше PR, а время ревью выросло на 91%. Продакты и эффективные менеджеры тем временем хвастаются, что выкатывают фичи без программистов. Продакт из Meta, чья “суперспособность” от vibe coding разошлась по лентам, передает свой код разработчику на финальное ревью. Суперсила Формулы-1, где под капотом живые кочегары.

В этой статье я предлагаю подход – Agent Comfort: свойство среды разработки, которое можно измерить и целенаправленно поднимать, чтобы кочегаров под капотом заменила среда.

Сколько на самом деле стоит “автоматизация”

Типичная картина: агенту ставят задачу, он что-то пишет, тесты падают, он читает логи, интерпретирует их по-своему, пробует еще раз, снова мимо. Инженер в это время либо ждет, либо вмешивается и начинает разбираться, что происходит. Если ему хватает терпения докопаться, к третьей итерации выясняется, что агент неправильно понял структуру проекта: в контексте было три версии одного и того же модуля и закомментированный легаси-код пятилетней давности. У некоторых терпение кончается – тогда человек исправляет код сам. Токены сгорели, полдня инженера сгорело. На следующей задаче агент опять ошибается, доверие к нему падает, выгорание инженера растет. При этом формально “мы используем ИИ в разработке”.

Что такое Agent Comfort

Agent Comfort – свойство среды: насколько агенту удобно ориентироваться в контексте, применять доступные инструменты и проверять свою работу. Измеряется оно метрикой First-Prompt Success Rate:

FPSR = задачи, закрытые с первого промпта / всего задач

Если из 10 задач агент закрыл 8 с первого промпта – FPSR = 0.8, комфорт высокий. “Первый промпт” здесь – стартовый промпт сессии. Сколько итераций агент крутил внутри – значения не имеет. Важно, что человек в чате больше не участвовал в уточнении задачи и не отвечал на вопросы агента.

Комфорт держится на трех элементах среды.

Чистый контекст. Минимум шума: понятная структура, история изменений под рукой, отсутствие мешающего легаси. Агент не тратит токены на разбор хаоса и не строит ложных гипотез о том, как устроена система. Каждый лишний файл в контексте – это и расход токенов, и дополнительная возможность ошибиться в интерпретации.

Удобные инструменты. Агент не должен бороться с окружением: угадывать, как собрать проект, как запустить тесты, где лежат логи. Каждая такая борьба – это ложные ветки исследований и дополнительные вопросы. Все запускается одной командой, вывод читается без археологии, результат воспроизводим.

Датчики контура верификации. Способы посмотреть на промежуточное состояние работы, пока она еще идет. Написать сценарный тест и вывести промежуточные состояния выполнения – то, что сводится к оптимизируемым метрикам. В геометрической задаче, например, – построить профиль трехмерной поверхности и получить ее характеристики в точке. В веб-сервисе – получить число запросов к базе на операцию, посмотреть, на что уходит время запроса, обратиться к Zabbix за показателями нагрузки. Датчик – это осциллограф, а не ОТК. Он не выносит fail/pass вердикт, а показывает объективную картину в виде чисел и слов, по которым агент оптимизирует результат генерации под требования задачи. Требования должны быть непротиворечивыми и достижимыми – иначе датчики показывают прогресс к цели, которой не существует.

Датчики контура верификации

Датчики контура верификации

У высокого комфорта есть следствие, которое я проверял на практике: он частично заменяет интеллект модели. В комфортной среде знание уже лежит в контексте и в контуре верификации – и Sonnet закрывает тикеты сам, без плана от Fable, дешево и быстро.

Человек не участвует во внутреннем цикле “изменение -> проверка -> исправление”. Он настраивает среду, задает цель и оценивает итог, а не код.

Матрица: Agent Comfort × Human Comfort

Введем парное понятие – Human Comfort: сколько инженерной экспертизы человек должен добавить к своему намерению, чтобы агент выполнил задачу. Меньше экспертизы – выше комфорт. Максимум комфорта – требование на языке продукта, без технических деталей реализации: “при потере связи лодка должна безопасно остановиться и сообщить оператору причину”. Агент будет искать ответ на вопрос “где хранить величину таймаута?” В некомфортной среде вопрос пойдет человеку – вместе с ним упадут и Human Comfort, и FPSR. В комфортной ответ уже лежит в среде: в конвенциях проекта, в истории решений, в конфиге. Если для успеха агента нужен человек, способный написать исчерпывающий инженерный промпт или ответить на все уточняющие вопросы – Human Comfort низкий.

Два понятия дают матрицу из четырех режимов:

Agent Comfort

Human Comfort

Режим

Low

Low

Swamp of Despair

Low

High

Cheap Lottery

High

Low

Heroic Prompting

High

High

Paved Road

Swamp of Despair – Low Agent / Low Human. Легаси, слабый контекст, бедные инструменты. Инженер должен досконально знать систему, подробно объяснять ее агенту и все равно регулярно вытаскивать его из трясины. Платим токенами и инженерной экспертизой.

Cheap Lottery – Low Agent / High Human. От человека почти ничего не требуется: сформулировал желание – получил результат. Иногда ожидаемый. Но агент работает в среде, где плохо ориентируется и плохо проверяет себя, поэтому результат – лотерея, а когда агент возвращается с вопросами, ответить на них человек без инженерной экспертизы не может. Здесь живет большая часть vibe coding: отложенный риск, который срабатывает на проде или вычищается кочегарами на code review.

Heroic Prompting – High Agent / Low Human. Агент способен выполнить сложную задачу, но инженер каждый раз вручную загружает в него недостающее знание: архитектуру, ограничения, инварианты, способы проверки, особенности легаси. Результат как правило ожидаемый – но потому, что инженер в каждой задаче толкает агента к цели заново своим промптом-бульдозером.

Paved Road – High Agent / High Human. Нужное знание уже находится в среде: структура проекта понятна, инструменты доступны, датчики дают обратную связь, гейты проверяют инварианты. Человек формулирует продуктовое намерение, а агент сам добирает инженерный контекст из репозитория, спецификаций и истории решений. Дорога вымощена и служит каждой следующей задаче.

Матрица: Agent Comfort × Human Comfort

Матрица: Agent Comfort × Human Comfort

Гейты

Отдельно от комфорта стоит слой, без которого агентская разработка невозможна. Гейты – это детерминированные проверки инвариантов (в CI-мире Quality Gates). Тесты (юнит, контрактные, регрессионные), линтеры, статические анализаторы, архитектурные чекеры – для C++ я написал такой сам, archcheck, – метрики с пороговыми значениями. Они работают в детерминированном pass/fail режиме.

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

Вот что бывает без гейтов

Агент Replit снес основателю SaaStr продакшн-базу, потому что тестовая и боевая базы не были разделены. Tea App выложила в открытый доступ 72 000 документов пользователей, включая государственные ID: база осталась с дефолтными настройками, ее даже не взламывали. Разбор семи таких инцидентов за полгода сводит их к общему знаменателю: между выводом агента и продом не было ни одного слоя верификации.

Продакт из Meta, с которого начиналась статья, решает эту проблему по-старому: его код уходит разработчику на финальное ревью. Гейт из живого инженера. Он работает, но не масштабируется – чем больше кода генерят агенты, тем больше ревью ложится на людей. Автоматические гейты забирают повторяемую часть этой работы – то, что можно выразить инвариантом и проверить механически. Так делится труд на Paved Road: инженер строит среду – комфорт и гейты. Агент в этой среде работает с продактом напрямую. Инженер перестает быть ревьюером каждого коммита и становится строителем дороги.

Agent Comfort в loop engineering

Индустрия уже трижды пыталась закрыть некомфортную среду надстройкой поверх нее. Сначала подробный план писал человек, а агент исполнял. Потом план поручили сильной модели: Fable загружает все знание о системе в план, Sonnet идет по нему. Обе волны – мертворожденная технология: знание тратится заново на каждую задачу, а среда как была непонятной агенту, так и осталась. Третья волна – loop engineering: не промптить агента, а проектировать циклы. В мае 2026 в Claude Code появилась команда /goal: формулируешь условие завершения, агент крутит итерации сам, а после каждого хода маленькая модель читает переписку и решает, достигнута ли цель. Это работает: Борис Черни, создатель Claude Code, за 30 дней сделал 259 PR, написанных самим Claude Code. Работу с контекстом эти три волны прошли поверху. Цикл крутится – лавэха мутится.

Как устроен /goal

Проверяющая модель – не детерминированная проверка: она не запускает команды и не читает файлы, а судит по тексту переписки. Технически /goal – это Stop hook, который после каждого хода спрашивает модель. Тот же механизм умеет иначе: Stop hook может запускать скрипт, и тогда вердикт выносит код. Свежая академическая работа Proof-or-Stop (июль 2026) требует того же: результат агента – только заявление, пока его не подтвердила проверка, которую можно запустить и повторить без участия модели.

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

Примеры сломанных циклов
  • Непроверяемая цель. Автор разбора на vc.ru поставил на ночь “сделай интерфейс настроек удобнее” и утром получил 217 ходов, ноль коммитов и две трети недельного лимита: агент всю ночь двигал верстку туда-обратно и откатывал собственные изменения, потому что такую цель нельзя ни подтвердить, ни опровергнуть.

  • Переполненный контекст. В другом открытом разборе Claude Code крутил классическую петлю “подход A, стена, подход B, возврат к A”: задача не влезала в контекст, а каждое автосжатие размывало ранние решения.

/goal в некомфортной среде – это попытка забить гол в темноте.

Loop engineering в среде с низким Agent Comfort имеет смысл, только если вы осознанно занимаетесь токенмаксингом – расход токенов некоторые компании успели вставить программистам в KPI. Сейчас некоторые одумались: Meta и Amazon сняли внутренние токен-лидерборды, Duolingo отозвал план мерить сотрудников использованием ИИ.

Кейс Rumba

В проекте матмодели гусеничной машины Rumba агент написал 12 788 строк кода. Датчиком и гейтом там служил механизм сценарного плейера: он прогонял тесты, которые Клод генерил пачками по спекам и замечаниям экспертов, выдавал трассу промежуточных состояний и вердикт по ним. Я настраивал среду: придумывал метрики и замкнутые проверки, находил документацию, заполнял пробелы в контексте и вычищал противоречия, когда агент путался. Как появилась Rumba и почему я выбрал написание с нуля – в “Клоде в шестернях”.

Как поднять Agent Comfort у себя

Признаки низкого Agent Comfort:

  • Агент задает вопросы, ответы на которые лежат в репозитории.

  • Перечитывает одни и те же файлы по несколько раз за сессию.

  • Меняет код так, что он противоречит соседнему коду или документации.

  • “Чинит” упавшие тесты подгонкой ожидаемых значений под фактические.

  • Каждая сессия начинается с археологии: агент заново восстанавливает картину, которую уже строил вчера.

  • В ответах и коде множатся “честные оговорки”: for now, placeholder, simplified, not verified, one honest caveat – агент заранее тихо снимает с себя ответственность за непроверенное.

Большинство этих симптомов сводится к двум причинам – противоречиям и дырам в контексте. Противоречие – две версии правды в репозитории: документация расходится с кодом и с другой версией себя, комментарий с реализацией, CLAUDE.md с реальной структурой проекта. Классика жанра – комментарий, переживший изменение кода:

// try all 4 directions
for (int dir = 0; dir < 8; dir++)

Человек часто такие расхождения фильтрует не задумываясь, потому что знает, “как на самом деле”. Агент не знает – и выбирает не ту версию. Дыра – отсутствие нужного знания, которое агент молча заполняет правдоподобной выдумкой.

Подъем комфорта – это два направления работы. Первое – контекст: искать и закрывать противоречия и дыры. Попросите вашего агента в режиме максимального думания найти все противоречия в рабочем контексте и проанализировать, как они влияют на его генерации. Возьмите себе за правило – когда агент путается, не исправлять его ответ, а находить все источники, которые его запутали, и удалять/исправлять неверные. Правило (constraint), положенное в контекст, в сессии не вечно: агент соблюдает (почти всегда) ограничение, пока оно живет в его окне, а окно деградирует.

про модную LLM-вики

LLM-вики нужна, когда исходники – набор разнородных и противоречивых документов: знание дистиллируется в одну структуру и синхронизируется при изменении исходников. На малой кодовой базе идея переворачивается, я это померил: в archcheck вики на 28 страниц проиграла обычному грепу – страницы оказались больше файлов, которые описывали. Выиграл один плотный файл с фактами, которых нет ни в одном отдельном файле репозитория: минус 49% токенов и минус 92% вызовов инструментов на разведочных вопросах.

Работает это при трех условиях. Файл должен быть короче того, что он заменяет. Агент должен попадать в него сразу, без промежуточных ссылок. И в инструкции файл должен быть назван источником правды, иначе агент прочитает его и все равно полезет в код. Рядом нужна автоматическая проверка, что файл не устарел.

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

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

Пока я дописывал

Вышел Claude Opus 5, и Anthropic опубликовала официальный гайд по работе с ним. Рекомендация для агентного кодинга: модель работает лучше всего, когда получает полную спецификацию задачи заранее и дальше работает сама. Узнаете квадрант? Полная спецификация заранее – это Heroic Prompting: все инженерное знание снова выгружается в промпт.

Вторая деталь: гайд отмечает, что Opus 5 проверяет свою работу сам, и просит убрать из промптов инструкции “перепроверь”: они не отменяются зашитым поведением, а пересекаются с ним и ведут к потреблению лишних токенов. Для новых моделей Anthropic удалила больше 80% системного промпта Claude Code без потери качества – правила, защищавшие от слабостей прошлых моделей, стали шумом, конкурирующим за внимание с настоящими инструкциями. Это еще раз подтверждает критическую важность контекста.

Официальные гайды отправляют в Heroic Prompting: это лучший режим из тех, куда можно попасть, не работая над средой. Paved Road придется строить самим.

Пока вендоры призывают писать исчерпывающие промпты, с другого конца подъехал олдскул. Роберт Мартин, автор “Чистого кода”, написал на днях: “моя текущая стратегия – не читать код, написанный моими агентами”. Вместо чтения он окружает агентов гейтами: юнит-тесты, gherkin-сценарии, метрики качества, мутационное тестирование, покрытие.

Вывод

Инженеры тонут в ревью, потому что сегодня они сами работают гейтами – живыми и не масштабируемыми вместе с генерацией. Подъем Agent Comfort и автоматика инвариантов снимают эту работу с людей: агент работает в чистой среде и приходит к цели за меньшее число итераций, проверки не пускают в прод сломанное, а человек смотрит на результат и выбирает ракурс автоматической верификации.

Если вы дочитали до этого места – попробуйте дать прочесть эту статью вашему агенту в конце длинного сложного чата, полного ошибок и разочарований. Вы удивитесь результату.

Автор: blurman

Источник