Анатомия эффективного промпта
Эффективный промпт для Python-разработчика — это техническое задание для ИИ. Он должен содержать роль, контекст, задачу, формат и ограничения. Без этого модель выдаёт обобщённый код, который приходится переписывать.
Компоненты промпта
| Компонент | Пример |
|---|---|
| Роль | Ты — Python-разработчик уровня Senior |
| Контекст | Проект на Django, Python 3.12 |
| Задача | Напиши функцию для обработки платежей |
| Формат | Код + докстринг + пример вызова |
| Ограничения | Без сторонних библиотек |
Конструктор промптов за 5 шагов
- Определите роль ИИ — эксперта в нужной области.
- Укажите контекст проекта — стек, версии, архитектуру.
- Сформулируйте конкретную задачу с глаголом: «напиши», «исправь», «объясни».
- Задайте формат ответа — код, таблица, список, статья.
- Добавьте критерии качества — стиль, производительность, обработка ошибок.
Готовые шаблоны запросов
Генерация функции
Ты — Python-разработчик. Напиши функцию async def fetch_data(url) с таймаутом и обработкой HTTP-ошибок. Используй httpx, добавь аннотации типов и docstring. Верни только код.
Роль, сигнатура, библиотека и формат заданы — результат предсказуем.
Рефакторинг
Проведи рефакторинг кода ниже: разбей на функции, добавь type hints и логирование. Не меняй бизнес-логику.
Указанные ограничения защищают существующее поведение.
Написание тестов
Напиши pytest-тесты для функции calculate_discount. Покрой: положительные значения, нуль, отрицательные, граничные случаи.
Перечисленные кейсы расширяют покрытие и выявляют скрытые ошибки.
Настройка параметров генерации
Качество ответа зависит не только от текста промпта, но и от параметров модели. Для Python-кода используйте:
- temperature = 0.2 — низкая случайность, стабильный код;
- max_tokens — достаточно для полного ответа;
- stop — последовательности для остановки (например,
); - top_p = 0.9 — баланс точности и разнообразия.
В API OpenAI параметры передаются как temperature, max_tokens, top_p, presence_penalty. Для кода лучше отключать presence_penalty, чтобы модель не вводила лишних сущностей.
Как адаптировать шаблон под свой проект
Замените в любом шаблоне роль, имя функции и библиотеки на свои. Добавьте примеры входных и выходных данных — это резко повышает точность. Для сложных задач разбейте их на подзадачи и запросите промежуточный план.