Вы когда-нибудь получали от ИИ код, который не работает с первого раза? Проблема не в нейросети — в ваших промптах.
Я протестировал сотни запросов к ChatGPT, Claude и Copilot, и выявил закономерности: правильная структура промпта экономит до 70% времени на отладку. Вместо бесконечных итераций «попробуй ещё раз» вы получаете рабочий код с первого раза.
В этом чек-листе — 20 конкретных приёмов с примерами, которые превратят ваши запросы из «напиши функцию» в точные технические задания. Сохраняйте, чтобы не потерять.
Фундамент: контекст и структура
1. Указывайте роль ИИ
Не заставляйте нейросеть гадать, кто она. Чёткая роль = правильный стиль кода.
❌ Как не надо:
Напиши функцию для работы с базой данных
✅ Как правильно:
Ты — senior Python-разработчик с опытом работы с PostgreSQL.
Напиши функцию для подключения к БД с обработкой ошибок.
2. Описывайте контекст проекта
ИИ не знает ваш стек технологий, если вы ему не скажете.
Пример:
Проект: Django 4.2, PostgreSQL, Redis для кэширования.
Задача: Напиши middleware для.rate limiting с использованием Redis.
3. Добавляйте примеры входных и выходных данных
Конкретика экономит время на уточнения.
Пример:
Напиши функцию, которая:
- Принимает: ["apple", "banana", "cherry"]
- Возвращает: {"apple": 5, "banana": 6, "cherry": 6}
(словарь со словами и их длиной)
4. Указывайте ограничения
Память, скорость, совместимость — всё имеет значение.
Пример:
Напиши алгоритм сортировки с ограничениями:
- Время выполнения: O(n log n)
- Память: не более O(1) дополнительной
- Язык: JavaScript ES6+
Техники формулировок
5. Используйте «цепочку рассуждений» (Chain of Thought)
Попросите ИИ думать шаг за шагом — это снижает количество ошибок.
Пример:
Реши задачу пошагово:
1. Проанализируй требования
2. Предложи архитектуру решения
3. Напиши код с комментариями
4. Объясни возможные edge cases
Задача: реализовать валидацию email
6. Применяйте few-shot learning
Покажите примеры того, что вы хотите получить.
Пример:
Примеры форматирования:
Вход: "hello world" → Выход: "Hello World"
Вход: "python code" → Выход: "Python Code"
Теперь сделай то же для: "artificial intelligence"
7. Разбивайте сложные задачи на подзадачи
Один промпт — одна логическая единица.
❌ Как не надо:
Сделай мне полноценный интернет-магазин с корзиной,
оплатой, авторизацией и админкой
✅ Как правильно:
Шаг 1: Создай модель Product с полями: id, name, price, stock
Шаг 2: Напиши API endpoint для получения списка товаров
Шаг 3: Добавь фильтрацию по цене
8. Задавайте формат вывода
Не позволяйте ИИ импровизировать с оформлением.
Пример:
Ответ предоставь в формате:
1. Краткое объяснение (2-3 предложения)
2. Блок кода с аннотациями типов
3. Пример использования
4. Тестовые кейсы (3 штуки)
Работа с кодом
9. Требуйте обработку ошибок
Код без try/catch — это бомба замедленного действия.
Пример:
Напиши функцию загрузки файла с:
- Валидацией размера (не более 10MB)
- Проверкой расширения (.jpg, .png)
- Обработкой всех возможных исключений
- Логированием ошибок
10. Просите комментарии и документацию
Особенно если код сложный или вы новичок.
Пример:
Напиши функцию с:
- Docstring в формате Google Style
- Комментариями к каждому неочевидному блоку
- Type hints для всех параметров и возвращаемого значения
11. Указывайте стиль кодирования
PEP 8, Airbnb, Google — стандарты важны.
Пример:
Напиши код следуя:
- PEP 8 для Python
- Именам переменных: snake_case
- Максимальная длина строки: 88 символов (Black)
12. Требуйте unit-тесты
Код без тестов — это просто текст.
Пример:
Напиши функцию и покрытие тестами:
- pytest для Python
- Минимум 5 тестовых случаев
- Включая edge cases и негативные сценарии
- Mock внешних зависимостей
13. Просите оптимизацию существующего кода
Покажите что есть — получите улучшение.
Пример:
Вот мой код. Оптимизируй его:
1. Укажи узкие места по производительности
2. Предложи улучшения с объяснением
3. Покажи код до и после
4. Укажи сложность алгоритма
[вставляете свой код]
Специализированные приёмы
14. Используйте негативные примеры
Иногда проще объяснить, чего НЕ нужно.
Пример:
Напиши SQL-запрос, который:
- НЕ использует SELECT *
- НЕ делает N+1 запросов
- НЕ уязвим для SQL-инъекций
- Использует индексы
15. Запрашивайте альтернативные решения
Один подход — хорошо, три — лучше.
Пример:
Предложи 3 способа решения задачи:
1. Самый простой (для новичка)
2. Оптимальный по производительности
3. Самый pythonic/идиоматичный
Для каждого укажи плюсы и минусы.
16. Просите объяснение для разных уровней
Адаптируйте сложность под себя.
Пример:
Объясни принцип работы async/await:
1. Как для 10-летнего (простыми словами)
2. Для junior-разработчика (с примерами)
3. Для senior (с деталями реализации)
17. Указывайте целевую аудиторию кода
Код для продакшена и для прототипа — разный.
Пример:
Напиши код для:
- Целевая аудитория: production
- Требования: безопасность, масштабируемость, логирование
- НЕ для: быстрого прототипа или обучения
Продвинутые техники
18. Создавайте шаблоны промптов
Автоматизируйте рутину.
Пример шаблона:
[РОЛЬ]: Ты — [специализация]
[КОНТЕКСТ]: Проект на [стек], [дополнительно]
[ЗАДАЧА]: [что нужно сделать]
[ОГРАНИЧЕНИЯ]: [требования]
[ФОРМАТ]: [как должен выглядеть ответ]
[ПРИМЕРЫ]: [если есть]
19. Используйте итеративный подход
Не пытайтесь получить идеальный код с первого раза.
Стратегия:
Итерация 1: "Набросай базовую структуру"
Итерация 2: "Добавь обработку ошибок"
Итерация 3: "Оптимизируй производительность"
Итерация 4: "Напиши тесты"
20. Сохраняйте и анализируйте успешные промпты
Создайте свою библиотеку.
Что записывать:
- Точный текст промпта
- Какую задачу решал
- Что получилось хорошо
- Что можно улучшить
Чек-лист для самопроверки
Перед отправкой промпта проверьте:
- Указана роль ИИ
- Описан контекст проекта
- Есть конкретные примеры
- Указаны ограничения
- Определён формат вывода
- Запрошена обработка ошибок
- Нужны ли тесты?
- Ясен ли стиль кодирования?
Бонус: мой топ-3 ошибки в промптах
- «Сделай мне красиво» — ИИ не читает мысли. Конкретика решает.
- Слишком много задач в одном запросе — разбивайте на части.
- Игнорирование контекста — всегда указывайте стек и требования.
А какой AI-инструмент используете вы для генерации кода? ChatGPT, Claude, Copilot или что-то другое? Делитесь в комментариях своими любимыми промптами — соберём библиотеку лучших практик!
Статья получилась полезной? Подписывайтесь на канал — каждый день публикую практические материалы по разработке и AI-инструментам!
Читайте также:
Автоматическая миграция кода: Python 2→3 и JS→TS без боли
Sourcegraph Cody: поиск по коду с ИИ, который понимает контекст
AI-оптимизация кода: ускоряем приложение в 2 раза (реальный кейс)