Программирование с ИИ
ENRU
3.10

Приём — сначала план, потом код

десять строк текста вместо двухсот строк переделок

Что это

Приём простой: прежде чем просить код, попроси план. Пусть ИИ сначала напишет, что собирается сделать, — а ты проверишь, совпадает ли это с тем, что ты имел в виду.

Выгода в том, где обнаруживается расхождение. Неверный план виден за полминуты, неверный код — через час, когда он уже вписан в проект и обрастает вызовами.

Как выглядит в коде

Схема из книги — будет перерисована для сайта
Расхождение дешевле ловить в плане. Путь с планом длиннее на один шаг и короче на все переделки.

Как просить

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

Жду план, потом скажу, где поправить.

Фраза «не пиши код» нужна буквально: без неё ИИ напишет и план, и код сразу, и смысл приёма пропадёт — читать план, когда под ним уже лежит готовое решение, никто не станет.

Что проверять в плане

Не всё подряд, а четыре вещи:

СмотримТревожный признак
Список файловфайлов больше, чем ты ожидал
Сигнатурыаргументы, которых ты не предполагал
«Что может сломаться»пусто или «ничего»
Порядок шаговначинает с переделки того, что работает

Пустой раздел «что может сломаться» — самый надёжный признак, что ИИ не думал о последствиях, а перечислил желаемое.

Как сказать ИИ

Правка плана — это обычный разговор, не надо переписывать запрос целиком:

Запрос
План в целом верный, но:
1. storage.py не трогай, подписки оставь как есть
2. вместо нового класса сделай две функции
3. начни с миграции, а не с хендлеров

Перепиши план с учётом этого.

Когда план устраивает — одна фраза:

Запрос
План принят, делай по нему. Если по ходу поймёшь,
что план не работает, остановись и скажи, а не придумывай
другое решение на ходу.

Вторая фраза важна. Без неё ИИ, упёршись в препятствие, молча свернёт в сторону, и ты получишь код, который не соответствует согласованному плану.

Когда приём не нужен

На правках уровня «одна строка» (статья 3.3) план — лишняя трата времени. Приём окупается там, где затронуто больше одного файла или где откат дорог.

На что смотреть

План подозрительно гладкий. Все шаги простые, рисков нет, всё укладывается в три пункта. Обычно это значит, что сложность не обнаружена, а не что её нет. Спроси: «что в этом плане самое рискованное?»

Код не соответствует плану. Бывает, особенно в длинных сессиях. Приняв работу, сверь с планом: те ли файлы, те ли сигнатуры.

План как способ оттянуть. Если планы просятся по три раза подряд и каждый раз правятся, дело не в плане — задача сформулирована неясно. Вернись к шагу 1 рабочего цикла.

Шпаргалка

  • «Не пиши код» — обязательная фраза, иначе напишет сразу и то и другое.

  • В плане проверяй: файлы, сигнатуры, что сломается, порядок шагов.

  • Пустое «что может сломаться» — признак, что о последствиях не думали.

  • «Упрёшься — остановись и скажи, а не придумывай на ходу».

  • Принятый план сохраняй рядом с задачей.

  • На однострочных правках приём не нужен.