Шаблоны промптов по вариантам использования
Копируйте и адаптируйте эти шаблоны под ваши конкретные нужды. Каждый шаблон включает ключевые компоненты, которые делают промпты эффективными.
Промпты для реализации
Section titled “Промпты для реализации”Новая функция
Section titled “Новая функция”Реализуйте [название функции].
## Требования- [Функциональное требование 1]- [Функциональное требование 2]- [Нефункциональное требование]
## Технический контекст- Язык/Фреймворк: [указать]- Релевантные файлы: [список файлов]- Паттерн для следования: [reference файл или описание]
## Ограничения- Не изменять: [файлы/функции для сохранения]- Поддерживать: [требования обратной совместимости]- Требование к производительности: [если есть]
## Критерии приёмки- [x] [Критерий 1]- [x] [Критерий 2]- [x] [Критерий 3]API-эндпоинт
Section titled “API-эндпоинт”Создайте API-эндпоинт для [назначение].
## Спецификация эндпоинта- Метод: [GET/POST/PUT/DELETE]- Путь: [/api/v1/...]- Аутентификация: [required/optional/none]
## Запрос- Body: [описать структуру или предоставить пример]- Параметры: [query params, path params]- Заголовки: [требуемые заголовки]
## Ответ- Успех (200): [описать/пример]- Случаи ошибок: [список с кодами статусов]
## Детали реализации- Расположение обработчика: [путь к файлу]- Сервис для использования: [название сервиса]- Следовать паттерну в: [пример файла]Миграция базы данных
Section titled “Миграция базы данных”Создайте миграцию базы данных для [назначение].
## Необходимые изменения- [Изменение 1: добавить таблицу/колонку/индекс]- [Изменение 2]- [Изменение 3]
## Детали схемы[Опишите таблицы, колонки, типы, ограничения]
## Соображения- Существующие данные: [как обработать]- Обратимость: [требования к rollback]- Производительность: [соображения для больших таблиц]
## Фреймворк миграции: [Prisma/Knex/и т.д.]Промпты для исправления багов
Section titled “Промпты для исправления багов”С известной причиной
Section titled “С известной причиной”Исправить баг: [однострочное описание]
## Воспроизведение1. [Шаг 1]2. [Шаг 2]3. [Шаг 3]
## Текущее поведение[Что происходит сейчас]
## Ожидаемое поведение[Что должно происходить]
## Корневая причина[Ваш анализ почему это происходит]
## Ограничения- Минимизировать изменения- Не изменять [защищённые области]- Добавить регрессионный тестТребуется расследование
Section titled “Требуется расследование”Отладить проблему: [описание симптома]
## Контекст- Когда возникает: [условия]- Сообщение об ошибке: [если есть]- Релевантные логи: [вставьте релевантные логи]- Недавние изменения: [что недавно изменилось]
## Что я пробовал- [Попытка 1 и результат]- [Попытка 2 и результат]
## Вопросы- Что могло это вызвать?- Как я могу проверить корневую причину?- Какое самое безопасное исправление?Промпты для тестирования
Section titled “Промпты для тестирования”Юнит-тесты
Section titled “Юнит-тесты”Напишите юнит-тесты для [имя функции/класса] в [файл].
## Тестовый фреймворк: [Jest/pytest/и т.д.]
## Требования к покрытию- Случаи нормальной работы- Граничные случаи: - Пустой/null ввод - Граничные значения - [Специфичные для домена границы]- Условия ошибок: - [Случай ошибки 1] - [Случай ошибки 2]
## Стиль- Следовать паттернам в [пример тестового файла]- Использовать [describe/it или соглашение об именовании тестов]- Мокать [указать что мокать]Интеграционные тесты
Section titled “Интеграционные тесты”Напишите интеграционные тесты для [компонент/функция].
## Область тестирования- Тестировать взаимодействие между [компонент A] и [компонент B]- Использовать [real/mocked] [база данных/внешний сервис]
## Сценарии1. [Сценарий счастливого пути]2. [Сценарий ошибки]3. [Граничный сценарий]
## Требования к настройке- [Пререквизиты]- [Необходимые тестовые данные]
## Фреймворк: [указать]Промпты для рефакторинга
Section titled “Промпты для рефакторинга”Извлечение функции/класса
Section titled “Извлечение функции/класса”Рефакторинг: Извлечь [описание] в [функция/класс].
## Текущее расположение кода: [файл:строки]
## Желаемый результат- Новое имя [функции/класса]: [название]- Новое расположение: [файл]- Параметры: [что должно приниматься]- Возвращаемое значение: [что должно возвращаться]
## Ограничения- Сохранить существующее поведение без изменений- Обновить все вызывающие стороны- Поддерживать обратную совместимостьМиграция паттерна
Section titled “Миграция паттерна”Рефакторинг [файл/модуль] с [старый паттерн] на [новый паттерн].
## Текущее состояние[Описать или показать текущую реализацию]
## Целевое состояние[Описать или показать пример нового паттерна]
## Правила миграции- [Правило 1]- [Правило 2]- [Правило 3]
## Затронутые файлы: [список]
## Ограничения- Все тесты должны пройти после изменения- Не изменять публичные интерфейсыПромпты для документации
Section titled “Промпты для документации”Документация функции/класса
Section titled “Документация функции/класса”Документируйте [имя функции/класса] в [файл].
## Формат документации: [JSDoc/docstrings/и т.д.]
## Включить- Назначение/описание- Параметры (имя, тип, описание)- Возвращаемое значение (тип, описание)- Исключения/ошибки- Пример использования
## Стиль- Следовать конвенциям в [пример файла]- [Дополнительные требования к стилю]Генерация README
Section titled “Генерация README”Создайте/обновите README для [проект/модуль].
## Необходимые секции- Обзор/описание- Установка- Быстрый старт- Конфигурация- API-справочник (краткий)- Содействие- Лицензия
## Целевая аудитория: [разработчики/пользователи/оба]
## Существующая документация: [что уже существует]Промпты для код-ревью
Section titled “Промпты для код-ревью”Ревью перед коммитом
Section titled “Ревью перед коммитом”Просмотрите этот код перед коммитом.
## Код[вставьте код]
## Контекст- Назначение: [что делает этот код]- Часть: [большая функция/PR]
## Конкретные опасения- [Область 1, в которой я не уверен]- [Область 2, по которой хочу получить обратную связь]
## Проверить на- Баги и логические ошибки- Проблемы безопасности- Проблемы производительности- Стиль кода- Граничные случаиАрхитектурный ревью
Section titled “Архитектурный ревью”Просмотрите эту предложенную архитектуру.
## Предложение[Описать или диаграрафировать предложенную архитектуру]
## Решаемая проблема[Что адресует эта архитектура]
## Ограничения- [Технические ограничения]- [Бизнес-ограничения]- [Таймлайн]
## Вопросы- Имеет ли этот подход смысл?- Что я упускаю?- Какие альтернативы я должен рассмотреть?- Каковы риски?Советы по использованию шаблонов
Section titled “Советы по использованию шаблонов”- Заполняйте конкретику - Заменяйте все placeholder’ы в скобках
- Предоставляйте контекст - Больше контекста = лучше вывод
- Будьте явными в ограничениях - Что НЕ делать так же важно, как что делать
- Включайте примеры - Показывайте паттерны для следования, когда возможно
- Итерируйте - Первый ответ редко идеален; дорабатывайте с follow-up’ами
Ресурсы
Section titled “Ресурсы”Основные
Section titled “Основные”- Prompt Engineering Specialization – Vanderbilt University - Комплексный курс по использованию LLMs как “экзоскелетон разума”
Углублённые материалы
Section titled “Углублённые материалы”- Understanding Prompt Engineering – DataCamp - Начинающий курс по основам промпт-инженерии
Есть полезный шаблон? Поделитесь им с сообществом — ваш промпт может сэкономить кому-то часы проб и ошибок.