Pull to refresh

Comments 2

Очень познавательная статья, спасибо!
А как можно заставить кодинг агента всегда проверять результат своей работы через линтер/компилятор? Отдельный тул + жесткая инструкция, или есть другие варианты?

Если нужна гарантия, что агент действительно проверяет результат своей работы, одного промпта недостаточно. Надежнее всего работает многоуровневая схема: инструкции как baseline, хуки как детерминированный механизм и при необходимости, отдельный агент-ревьюер в рамках Spec-Driven Development (SDD).

Самый базовый и минимально необходимый вариант — явно прописать в файлах инструкций (AGENTS.md / CLAUDE.md), что перед завершением задачи агент обязан прогнать сборку, тесты и линтер. Но на практике такой подход не дает полной гарантии.

Если нужна именно детерминированность, лучше выносить проверку во внешний механизм. Для этого хорошо подходят хуки: например, финальный stop-hook, который срабатывает в конце агентского цикла, запускает нужные команды и возвращает ошибки обратно агенту. В таком режиме агент уже реально получает вывод компилятора, тестов или линтера и должен исправить проблему, прежде чем двигаться дальше.

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

Sign up to leave a comment.

Articles