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

Шаблоны запросов

всё, что есть в книге, на одном месте

Что это

Шаблоны из глав 3, 13 и 14, собранные вместе. Подставь своё в угловые скобки. Для каждого указана статья, где разобрано, почему он устроен именно так.

Работа с кодом

Новая функция (статья 3.4):

Запрос
Проект: <стек, версии>. Файл: <путь>.
Нужна функция <имя>: принимает <что>, возвращает <что>.
Крайние случаи: <пусто / ошибка сети / нет данных>.
Ограничения: новых библиотек не добавляй, стиль как в файле.
Покажи только изменённый фрагмент.

Исправить баг (статья 3.5):

Запрос
Что делаю: <шаги>.
Что ожидаю: <результат>. Что получаю: <результат>.
Ошибка целиком: <текст с трейсбеком>.
Версии: <язык, библиотеки>.
Сначала скажи, в чём причина. Правку — после моего «да».

Рефакторинг (статья 3.6):

Запрос
Вот код: <фрагмент>.
Поведение менять нельзя. Нужно: <что именно улучшить>.
Не трогай: <файлы, функции>.
Покажи дифф, а не файл целиком, и объясни каждое изменение одной строкой.

Объясни этот код (статья 3.7):

Запрос
Объясни этот код построчно, как человеку, который знает
основы, но не знает эту библиотеку.
Отдельно: что здесь может сломаться и при каких данных.

Ревью (статья 3.8):

Запрос
Сделай ревью: <код>.
Ищи: необработанные ошибки, крайние случаи, утечки секретов,
лишние зависимости, места, где поведение неочевидно.
Формат: список, по строке на находку, с номером строки.
Не переписывай код.

Тесты (статья 3.9):

Запрос
Напиши тесты на <функция/модуль>, pytest.
Покрой: обычный случай, границы, пустой ввод, ошибку.
Без моков там, где можно без них.
Каждый тест — одна проверка, имя теста описывает случай.

Приёмы

Сначала план (статья 3.10):

Запрос
Задача: <описание>.
Не пиши код. Сначала план: какие файлы затронешь,
что в каждом изменится, в каком порядке.
Код после моего «да».

Пусть ИИ задаёт вопросы (статья 3.11):

Запрос
Прежде чем писать код, задай мне вопросы, ответы
на которые изменят решение. По одному за раз.
Если вопросов нет — скажи, какие допущения ты делаешь.

Ограничить зону правок (статья 3.13):

Запрос
Меняй только файл <путь> и только функцию <имя>.
Остального не касайся. Если для решения нужно тронуть
что-то ещё — скажи об этом, но не делай.

Проект целиком

Десять вопросов (статья 13.6):

Запрос
Задумка: <две-три фразы>.
Задай мне по одному вопросу и дождись ответа:
что делает одним предложением; что хранится; где хранится;
кто пользуется и сколько их; что нельзя потерять;
внешние сервисы и поведение при отказе; что меняется чаще;
окружения и секреты; запуск и перезапуск; как узнаю о поломке.
Код не пиши. В конце собери ответы в мини-ТЗ.

Разбиение на части (статья 13.1):

Запрос
Задумка: <описание>. Не пиши код. Разложи на части:
1) что хранится — сущности с полями
2) что происходит — действия
3) что видно снаружи — экраны или адреса
Для каждого действия укажи, какие сущности оно трогает.

Архитектурная справка (статья 13.5):

Запрос
Вот дерево проекта и ключевые файлы.
Собери черновик справки по шести блокам: что это, стек,
структура, зависимости, где что лежит, чего не делать.
Где не уверен — пиши «?», не придумывай.

Проверка кода по справке (статья 13.5):

Запрос
Вот справка и код, который ты написал.
Проверь свой код на соответствие справке: зависимости,
расположение файлов, запрет на новые библиотеки.
Нарушения — списком.

Перед выпуском

Что ломается при сборке (статья 12.1):

Запрос
Проект собирается у меня, но падает после установки.
Перечисли, чем запуск при разработке отличается от артефакта
в этом проекте: пути, переменные окружения, ресурсы, версии.
По пункту на строку.

Правка с ценой (статья 12.1):

Запрос
Сборка падает: <ошибка>. Нужны два варианта:
правка кода и правка настроек сборки.
Для каждого скажи, что перестанет проверяться.
Выбирать буду я.

Совместимость при обновлении (статья 12.3):

Запрос
Я меняю <поле / схему / эндпоинт>.
Старые клиенты обновляются не сразу.
Что у них сломается и как сделать это изменение без поломки?
Отдельно: какая часть не откатывается.

Чек-лист публикации (статья 12.4):

Запрос
Составь чек-лист публикации под мой проект.
Стек: <перечисли>. Публикуется: <куда>.
Раздели на «один раз на проект» и «перед каждым выпуском».
Только моё, без общих советов.