Самый частый способ провалить фичу с агентом — сразу сказать «напиши» и получить гору кода, которую проще выбросить, чем разобрать. Опытная работа устроена иначе: сначала думают (брейншторминг и план), потом пишут по плану. Агент силён на обоих этапах, но роли у них разные.
Сначала брейншторминг
Прежде чем писать код, стоит прояснить саму задачу — и агент здесь хороший собеседник, а не исполнитель. На этом этапе вы не просите код, вы разбираете:
- Что именно строим и зачем — какую проблему пользователя закрывает фича.
- Крайние случаи и развилки — «а что, если оплата пройдёт дважды?», «а что при отмене после отгрузки?». Агент хорошо накидывает варианты, которые легко упустить.
- Подходы — 2–3 способа сделать, с плюсами и минусами. Решение принимаете вы, но видеть альтернативы полезно.
Ключевое правило брейншторминга: не давать агенту писать код, пока задача не прояснена. Ранний код фиксирует непродуманные решения.
Потом план
Прояснив задачу, попросите агента (или составьте вместе) план реализации — до кода. Хороший план:
- разбивает фичу на вертикальные срезы — не «сначала все модели, потом все контроллеры», а «срез 1: одна операция целиком от входа до базы и теста; срез 2: следующая». Каждый срез можно собрать и проверить;
- называет конкретные файлы, шаги и способ проверки каждого;
- виден целиком, и его можно поправить до того, как написана хоть строчка.
План — это дешёвая точка, где ловятся ошибки замысла. Поменять пункт в плане — минуты; переписать реализованный код — часы. Это тот же принцип, что и спецификация как код: договориться о том, что строим, прежде чем строить.
Потом код — по плану, срезами
Только теперь — реализация, и она идёт по базовому циклу работы с агентом: один срез → собрать → тест → закрепить → следующий. План удерживает агента от расползания, а вас — от потери нити на длинной задаче.
Если в процессе план оказался неверным — это нормально: возвращаетесь к плану, правите, продолжаете. Плохо не «план оказался неточным», а «кода уже гора, а замысел не тот».
Почему это быстрее, хотя шагов больше
Кажется, что брейншторминг и план — лишние этапы, замедляющие старт. На дистанции наоборот: они убирают самую дорогую переделку — когда написанное не туда обнаруживается в конце. Час на план экономит день на разбор кода, который решал не ту задачу. Агент делает эти этапы дешёвыми: он быстро накидывает варианты, оформляет план, держит его перед глазами.
Что это значит на практике
Разработка фичи с агентом — это «думать, потом писать», а не «писать сразу». Продукт-инженер тратит первые ходы на брейншторминг и план (где решения дёшево менять), режет работу на вертикальные срезы и только потом пускает агента писать — срез за срезом, каждый проверяемый. Суждение о том, что и как строить, остаётся за человеком; на агента ложится объём.
Дальше
Код написан — дальше его нужно проверить и подчистить: поиск и исправление ошибок, затем ревью и тестирование.