Выдать разработчикам Claude Code или Codex и ждать, что релизы ускорятся, — распространённая ошибка. Инструмент ускоряет генерацию кода, но если планирование спринта, ревью и доставка остались прежними, общая скорость не меняется. Код пишется со скоростью инференса, а спринт по-прежнему планируется вручную. Автоматизирован один узел, а система вокруг него осталась нетронутой.
Штайнбергер в статье Shipping at Inference-Speed описывает процесс, в котором его производительность упирается во время инференса и сложные инженерные решения. Он запускает несколько задач параллельно, ведёт документацию по подсистемам, даёт агентам выполнять команды и проверять результат. Это пример опытного соло-разработчика, перестроившего под агентов всю личную среду. Но в той же статье есть оговорка: часть практик в большой команде не сработает. У одного разработчика ограничение — скорость инференса, у команды — процессы, которые генерируют задачи.
| Этап | Действие | Ответственный |
|---|---|---|
| Намерение или задача | Формулировка задачи | Человек |
| Критерии приёмки и границы риска | Определение проверяемого обещания | Человек |
| Маршрутизация к контексту | Выбор нужных документов и контрактов | Агент |
| План для нетривиального изменения | Составление фича-плана | Агент |
| Изолированная реализация | Написание кода в изолированном окружении | Агент |
| Локальные проверки | Запуск обязательных тестов | Агент |
| Независимое ревью и CI | Проверка diff и повторный запуск CI | Агент или человек |
| Staging и проверка поведения | Тестирование на синтетических данных | Агент |
| Контролируемая доставка | Одобрение доставки в production | Человек |
| Телеметрия и обновление документации | Сбор метрик и актуализация документов | Агент |
Когда в доагентскую эпоху речь заходила об ускорении работы с помощью нейросетей, часто звучал вопрос: «А как же хайлоад?» Люди представляли один сценарий: засунуть в контекст всю кодовую базу, попросить модель вести себя как сеньор и ждать, что всё заработает само. Но так не работает ни модель, ни человек. Человек, знающий проект, держит в голове маршруты: где что лежит, где контракт, кого спросить, если контракт молчит. Агенту нужно то же самое.
Опытный соло-разработчик упирается в скорость инференса, команда — в процессы, порождающие задачи.
Маршрут выглядит так: намерение или задача → критерии приёмки и границы риска → маршрутизация к нужному контексту → план для нетривиального изменения → изолированная реализация → обязательные локальные проверки → независимое ревью и CI → staging и проверка поведения → контролируемая доставка → телеметрия, выводы и обновление документации. Убирать человека из каждого узла не требуется. У каждого участка должен быть явный вход, выход, владелец и условие перехода. Где риск низкий — переход автоматический. Где цена ошибки высока — нужно подтверждение человека. Агент исполняет разрешённую часть процесса и переносит проверяемый результат на следующий гейт.
Пример: команда добавляет идемпотентность в создание платежа. В задаче записано проверяемое обещание: два запроса с одним ключом создают одну операцию. Корневая инструкция отправляет агента к контракту API, ADR по платежам и правилам миграций. Фича-план перечисляет затронутые компоненты, состояние при частичном сбое и способ отката. Агент меняет код в изолированном окружении и прогоняет happy path вместе с повторным запросом, параллельными запросами, падением после записи в базу и повторным запуском миграции. Второй агент или человек получает исходное обещание, diff и результаты проверок. CI заново исполняет обязательный профиль. На staging сценарий гоняется на синтетических данных. После успешной проверки человек принимает результат и одобряет доставку артефакта в production. Модель пишет код, а надёжность обеспечивается процессом вокруг: заранее заданные критерии, нужный контекст, изолированная реализация, независимое ревью, повторные проверки и человеческое решение о доставке.
Для сборки такого маршрута нужна единая точка входа вместо энциклопедии в одном промпте. В корне проекта нужен короткий файл, который агент читает перед работой. У Codex это AGENTS.md. Документация Anthropic говорит, что Claude не читает Agents.md и ему нужен выделенный Claude.md, но по наблюдениям автора — читает, если нет альтернативного файла. AGENTS.md можно указать как явную точку входа в начальной инструкции или в корневом файле Claude. Дублировать и поддерживать отдельный Claude.md с идентичным содержанием нет смысла. Задача корневого файла — маршрутизация: описать назначение проекта и его границы, команды запуска и базовой проверки, а также ссылки на ключевые документы и контракты.


