Кодовый агент (Claude Code, Cursor, Copilot и подобные) — это агент, заточенный под работу с вашим проектом: он читает файлы, пишет код, запускает тесты, ходит по репозиторию. Разница между теми, у кого он ускоряет работу в разы, и теми, у кого он «пишет ерунду», — не в модели, а в том, как с ним работают. Это навык, и у него есть базовый цикл.

Дать контекст и цель, а не приказ

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

  • Цель — что должно получиться и как понять, что готово. «Добавь эндпоинт отмены заказа; после него статус в базе — cancelled, тест проходит».
  • Контекст — какие файлы, правила, ограничения относятся к задаче. Не «весь проект», а релевантное.
  • Границы — что не трогать, каким стилем писать, какие подходы запрещены.

Чем яснее вход, тем лучше выход. Это прямое следствие того, как устроены модели: расплывчатый запрос → расплывчатый результат.

Работать итерациями, а не одним махом

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

  1. Разбейте задачу на куски, каждый из которых можно проверить (собрать, запустить тест).
  2. Сделайте один кусок → проверьте → закрепите → следующий.
  3. Если пошло не туда — откатитесь на последний хороший шаг, а не чините снежный ком.

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

Держать шаги проверяемыми

Агент силён, когда у него есть objective-критерий: тест, компиляция, запуск. Дайте ему то, обо что он сам проверится, — тесты, которые должны пройти, команду сборки, ожидаемый результат. Тогда агент видит свою ошибку и правит сам, а вы получаете результат, про который уже что-то известно.

Без проверяемого критерия агент «думает, что готово», а на деле — правдоподобно, но неверно.

Не отпускать контроль

Агент — усилитель, а не замена суждения. Вы остаётесь тем, кто:

  • читает диф, а не принимает его вслепую — особенно на стыках, в крайних случаях, в удалениях;
  • решает архитектурные развилки сам, а не спрашивает «как лучше?» у модели, которая ответит правдоподобно;
  • проверяет результат (приёмка выхода ИИ) прежде, чем он идёт в дело.

Скорость от агента реальна, но она превращается в долги, если принимать всё не глядя.

Что это значит на практике

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

Дальше

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