Кодовый агент (Claude Code, Cursor, Copilot и подобные) — это агент, заточенный под работу с вашим проектом: он читает файлы, пишет код, запускает тесты, ходит по репозиторию. Разница между теми, у кого он ускоряет работу в разы, и теми, у кого он «пишет ерунду», — не в модели, а в том, как с ним работают. Это навык, и у него есть базовый цикл.
Дать контекст и цель, а не приказ
Главная ошибка новичка — бросить агенту короткую команду и ждать чуда. Агент работает ровно с тем, что у него в контексте, и знает ровно то, что вы дали. Продуктивная сессия начинается с трёх вещей:
- Цель — что должно получиться и как понять, что готово. «Добавь эндпоинт отмены заказа; после него статус в базе —
cancelled, тест проходит». - Контекст — какие файлы, правила, ограничения относятся к задаче. Не «весь проект», а релевантное.
- Границы — что не трогать, каким стилем писать, какие подходы запрещены.
Чем яснее вход, тем лучше выход. Это прямое следствие того, как устроены модели: расплывчатый запрос → расплывчатый результат.
Работать итерациями, а не одним махом
Не пытайтесь получить всё за один огромный запрос. Крупная задача одним ходом почти всегда даёт результат, который проще выкинуть, чем разобрать. Продуктивнее — маленькими проверяемыми шагами:
- Разбейте задачу на куски, каждый из которых можно проверить (собрать, запустить тест).
- Сделайте один кусок → проверьте → закрепите → следующий.
- Если пошло не туда — откатитесь на последний хороший шаг, а не чините снежный ком.
Маленькие шаги важны ещё и потому, что ошибки агента накапливаются: чем длиннее бесконтрольная серия, тем дальше уезжает результат.
Держать шаги проверяемыми
Агент силён, когда у него есть objective-критерий: тест, компиляция, запуск. Дайте ему то, обо что он сам проверится, — тесты, которые должны пройти, команду сборки, ожидаемый результат. Тогда агент видит свою ошибку и правит сам, а вы получаете результат, про который уже что-то известно.
Без проверяемого критерия агент «думает, что готово», а на деле — правдоподобно, но неверно.
Не отпускать контроль
Агент — усилитель, а не замена суждения. Вы остаётесь тем, кто:
- читает диф, а не принимает его вслепую — особенно на стыках, в крайних случаях, в удалениях;
- решает архитектурные развилки сам, а не спрашивает «как лучше?» у модели, которая ответит правдоподобно;
- проверяет результат (приёмка выхода ИИ) прежде, чем он идёт в дело.
Скорость от агента реальна, но она превращается в долги, если принимать всё не глядя.
Что это значит на практике
Работа с агентом — это не «попросить и получить», а управляемый цикл: чёткая цель и контекст → маленький проверяемый шаг → проверка → закрепление → следующий шаг, с вашим суждением на развилках. Продукт-инженер относится к агенту как к очень быстрому джуну: даёт ясную задачу, даёт чем проверить, читает результат и держит руль.
Дальше
Дальше — конкретные сценарии этого цикла: как агентом разобраться в незнакомой кодовой базе, разработать функциональность через планы и брейншторминг, искать и чинить баги, ревьюить и тестировать код и как настроить агента под свой проект.