Промпты: данные и бэкенд

Готовые формулировки под конкретные задачи: собрать проект, найти баг, отрефакторить, написать тесты. Копируйте целиком — они рассчитаны на агентные режимы Cursor, Claude Code и Windsurf. У каждого промпта написано, зачем в нём та или иная строка.

Спроектировать структуру данных

Любой агент
Нужно хранить: {описание предметной области}.
Предложи структуру таблиц: поля, типы, связи,
индексы.
Отдельно укажи, что придётся менять, если
понадобится {вероятное изменение}.
Миграции пока не пиши.

Вопрос про будущие изменения выявляет слабые места схемы заранее.

Написать миграцию

Любой агент
Нужна миграция: {что меняем}.
Напиши up и down. В down — реальный откат,
а не заглушка.
Если миграция теряет данные — скажи об этом
явно перед кодом.

Предупреждение о потере данных — то, о чём агент обычно молчит.

Ускорить запрос

Любой агент
Запрос {код или описание} работает медленно
на {объём} записей.
Покажи, что именно медленно: полный перебор,
отсутствие индекса, запрос в цикле.
Предложи правку и скажи, какой индекс нужен.
Не меняй логику выборки.

Классический N+1 и отсутствующие индексы агент находит хорошо.

Спроектировать эндпоинт

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

Договориться о контракте до реализации дешевле, чем переделывать.

Обработка внешнего сервиса

Любой агент
Интеграция с {сервис}.
Обработай: таймаут, недоступность, некорректный
ответ, превышение лимита запросов.
Повторы — с задержкой и ограничением попыток.
Ни одна ошибка не должна ронять наш процесс.

Внешние сервисы падают всегда; агент об этом не думает без напоминания.

Фоновая задача

Любой агент
Нужна фоновая задача: {что делает, как часто}.
Учти: задача может запуститься дважды одновременно,
может упасть на середине, может выполняться
дольше интервала запуска.
Опиши, как это обработано, перед кодом.

Идемпотентность и перекрытие запусков — типовые грабли фоновых задач.

Как пользоваться промптами

Фигурные скобки — это места, куда нужно подставить своё: {стек}, {файл}, {текст ошибки}. Промпт без подстановки работать будет, но хуже: агент начнёт угадывать.

Второе правило — не склеивать несколько промптов в один запрос. Каждый рассчитан на одну задачу, и вместе они дают три посредственных результата вместо одного хорошего.

Что работает лучше промптов

Файл правил проекта в корне репозитория. То, что вы иначе повторяли бы в каждом сообщении — стек, запреты, порядок работы, — пишется один раз и действует во всех сессиях у всей команды.

Как его составить, разобрано в гайде «Правила проекта для агента».