10 промтов для генерации Python-кода: от скриптов до FastAPI

Введение

Генерация кода с помощью AI — уже не эксперимент, а рабочий инструмент. Согласно опросу Stack Overflow 2025, 82% разработчиков используют AI-ассистентов хотя бы иногда, а 35% — ежедневно. Но чтобы получить качественный код, нужно уметь формулировать промты. Одна и та же задача, заданная по-разному, приводит к разным результатам: от «Hello World» до полноценного микросервиса.

В этой подборке — 10 проверенных промтов для генерации Python-кода разного уровня сложности. Каждый промт сопровождается пояснением и примером. Все промты готовы к копированию — просто замените плейсхолдеры на свои данные.

Промты для скриптов и автоматизации

1. Базовый шаблон скрипта

Промт:

Создай Python-скрипт для [задача]. Скрипт должен: принимать аргументы командной строки, логировать ход выполнения, корректно обрабатывать ошибки. Используй argparse и logging.

Пояснение: Подходит для простых задач: переименование файлов, скачивание данных, генерация отчётов. Указывая argparse и logging, вы получаете код, готовый к продакшену.

Пример:

Создай Python-скрипт для переименования файлов в папке по шаблону. Скрипт должен: принимать аргументы командной строки (путь к папке, префикс), логировать каждое переименование, обрабатывать ошибки с дублирующимися именами. Используй argparse и logging.

Результат — скрипт с main(), setup_logging(), а также функциями rename_files() и parse_args(). Код покрыт обработкой исключений и понятными логами.

2. Функция с одной ответственностью

Промт:

Напиши функцию Python для [операция]. Входные данные: [тип]. Выходные: [тип]. Добавь docstring, аннотации типов и обработку ошибок (try/except) с понятным сообщением.

Пояснение: Идеален для переиспользуемых функций. Помогает получить код, который соответствует принципу единственной ответственности.

Пример:

Напиши функцию Python для чтения CSV-файла и возврата списка словарей. Входные данные: путь к файлу. Выходные: list[dict]. Добавь docstring, аннотации типов и обработку ошибок (FileNotFoundError, csv.Error).

3. Парсинг сайта

Промт:

Создай Python-скрипт для парсинга [сайт/раздел]. Извлекай следующие данные: [список данных]. Используй requests, BeautifulSoup, time.sleep для пауз. Сохрани результат в JSON. Добавь user-agent и обработку HTTP-ошибок.

Пояснение: Полезен для сбора данных с публичных страниц. Указывая time.sleep, вы снижаете нагрузку на сервер и избегаете бана.

Пример:

Создай Python-скрипт для парсинга раздела «Новости» на сайте example.com. Извлекай заголовки, даты и ссылки. Используй requests, BeautifulSoup, time.sleep. Сохрани в JSON. Добавь user-agent.

Промты для работы с данными

4. Генерация Excel-отчёта

Промт:

Напиши Python-скрипт, который создаёт Excel-файл с таблицей [описание таблицы]. Используй openpyxl. Добавь форматирование: жирные заголовки, автоширина колонок, условное форматирование для [условие].

Пояснение: Автоматизация отчётов — одна из самых частых задач. Этот промт заставляет AI использовать продвинутые возможности openpyxl.

Пример:

Напиши скрипт, создающий Excel-файл с продажами по месяцам. Столбцы: месяц, сумма, количество. Используй openpyxl. Добавь жирные заголовки, автоширину, условное форматирование для столбца «сумма» (зелёный фон если > 1000).

5. Анализ данных с SQL и Pandas

Промт:

Напиши SQL-запрос и Python-код для анализа данных из таблицы [таблица] в PostgreSQL. Используй psycopg2 для подключения и pandas для обработки. Выполни: [список метрик]. Выведи результат в консоль.

Пояснение: Идеален для задач бизнес-аналитики. AI создаст не только SQL, но и связку с Python.

Пример:

Напиши SQL-запрос и Python-код для анализа данных из таблицы orders в PostgreSQL. Используй psycopg2 и pandas. Выполни: общая выручка, средний чек, количество заказов по месяцам. Выведи в консоль.

Промты для FastAPI

6. CRUD-приложение

Промт:

Создай FastAPI-приложение для управления сущностью [имя]. Реализуй CRUD-эндпоинты: GET /items, POST /items, GET /items/{id}, PUT /items/{id}, DELETE /items/{id}. Используй Pydantic-модель для валидации и SQLAlchemy для хранения в SQLite. Добавь CORS-настройки.

Пояснение: Быстрый старт для API. Промт задаёт структуру, которая повторяет официальный туториал FastAPI.

Пример:

Создай FastAPI-приложение для управления задачами. Реализуй CRUD: GET /tasks, POST /tasks, GET /tasks/{id}, PUT /tasks/{id}, DELETE /tasks/{id}. Используй Pydantic-модель Task (id, title, completed) и SQLAlchemy для SQLite. Добавь CORS.

7. Добавление валидации Pydantic

Промт:

Улучши следующий FastAPI-код: добавь валидацию Pydantic для входных данных. Ограничь [поле] диапазоном [min]-[max], обязательные поля, паттерн для email. Верни понятное сообщение об ошибке.

Пояснение: Pydantic — стандарт валидации в FastAPI. Промт учит AI использовать Field, EmailStr, и валидаторы.

Пример:

Улучши следующий FastAPI-код: добавь валидацию Pydantic для модели User. Ограничь age от 0 до 120, сделай email обязательным и проверь формат email. Верни понятное сообщение об ошибке.

8. Middleware для логирования

Промт:

Создай middleware для FastAPI, который логирует каждый запрос: метод, URL, статус-код, время выполнения. Используй logging. Промис: добавь в приложение.

Пояснение: Полезно для отладки и мониторинга. Middleware — это класс, который обрабатывает каждый request.

Пример:

Создай middleware для FastAPI, который логирует метод, URL, статус-код и время выполнения каждого запроса. Используй logging. Покажи пример добавления в приложение.

Промты для оптимизации и отладки

9. Рефакторинг кода

Промт:

Проведи рефакторинг следующего Python-кода. Обрати внимание на: читаемость, дублирование, соблюдение PEP 8, оптимизацию циклов. Предложи улучшения и объясни их.

Пояснение: Лучше всего работает с реальным кодом. AI проанализирует и выдаст улучшенную версию с комментариями.

Пример:

Вставьте ваш «спагетти-код» и получите чистую версию с пояснением каждого изменения.

10. Поиск багов

Промт:

Проверь этот Python-код на ошибки. Запусти его мысленно и найди баги, которые приведут к исключениям или неправильным результатам. Исправь код и объясни каждое исправление.

Пояснение: Подходит для отладки. AI может заметить логические ошибки, которые сложно увидеть глазами.

Пример:

def calculate_average(numbers):
    return sum(numbers)/len(numbers)

AI укажет, что возникнет ZeroDivisionError на пустом списке, и предложит обработку.

Промт для тестов

11. Генерация unit-тестов

Промт:

Напиши unit-тесты для функции [имя] на Python, используя pytest. Покрой сценарии: обычный случай, граничные условия, ошибки. Используй parametrize для тестовых данных.

Пояснение: Качественные тесты — признак зрелого кода. Этот промт заставляет AI генерировать тесты с учётом краевых случаев.

Пример:

Напиши unit-тесты для функции calculate_discount(price, percent) на pytest. Покрой: обычный случай, percent=0, percent=100, отрицательные значения, неверные типы. Используй parametrize.

Как получить лучший результат

Промты работают лучше, если:
- Указываете точные названия библиотек (например, requests вместо «библиотека для запросов»).
- Даёте пример входа и ожидаемого выхода.
- Просите объяснить код — повышает точность.
- Используете итеративный подход: сначала генерируете скелет, затем уточняете детали.

Заключение

Эти 10 промтов — минимум, который закроет 80% повседневных задач: от скриптов до FastAPI. Копируйте, адаптируйте под свои проекты и вы увидите, как ускорится разработка. А чтобы закрепить навык, попробуйте сгенерировать что-то среднее: например, Telegram-бота на aiohttp или парсер с многопоточностью.

Помните: AI — коллега, а не замена. Проверяйте сгенерированный код в тестовой среде, особенно если он работает с деньгами или персональными данными.

← Все статьи

Комментарии