Python-бэкенд без команды: 12 промтов, которые заменяют тимлида, архитектора и DevOps
В 2026 году один разработчик на Python может собрать продакшн-сервис на FastAPI или Django с PostgreSQL, не нанимая команду. Но есть нюанс: AI-ассистенты вроде ChatGPT или Claude выдают отличный код, только если правильно сформулировать задачу. Абстрактное «напиши API» даст абстрактный ответ. Конкретный промт с контекстом — рабочий каркас, который останется только протестировать и задеплоить.
Я собрал 12 промтов, которые сам использую в ежедневной работе над бэкендом. Каждый проверен на реальных проектах: от стартапов до внутренних сервисов. Вы получите не просто список, а готовые формулировки с примерами контекста — схемой БД, стеком, ограничениями. Это ускоряет разработку в 2–3 раза без потери архитектурного качества.
1. Проектирование REST API для FastAPI
Зачем: Быстро получить структуру эндпоинтов, схемы Pydantic и роутеры.
Промт:
Ты — senior Python-разработчик. Спроектируй REST API для сервиса управления задачами на FastAPI. Стек: FastAPI, SQLAlchemy 2.0, PostgreSQL, Pydantic v2. Сущности: User (id, email, hashed_password, created_at), Task (id, title, description, status, user_id, created_at). Нужны эндпоинты: регистрация, логин (JWT), CRUD задач с фильтрацией по статусу. Выдай: 1) структуру роутеров, 2) схемы Pydantic, 3) примеры запросов/ответов. Учти валидацию email и минимальную длину пароля 8 символов.
Пример результата: AI сгенерирует routers/auth.py, routers/tasks.py, схемы UserCreate, TaskResponse и укажет, как подключить зависимости get_current_user. Вы сэкономите 2–3 часа на проектировании.
2. JWT-авторизация с refresh-токенами
Зачем: Не изобретать велосипед с безопасностью.
Промт:
Реализуй JWT-авторизацию в FastAPI с access и refresh токенами. Используй библиотеку python-jose, passlib[bcrypt]. Access живёт 15 минут, refresh — 7 дней. Напиши: 1) функцию создания токенов, 2) зависимость для проверки access-токена, 3) эндпоинт /refresh для обновления. Обработай исключения: истёкший токен, неверная подпись. Код должен быть готов к копированию.
Пример: Получите модуль security.py с функциями create_access_token, verify_token и готовый Depends(get_current_user). Не забудьте добавить SECRET_KEY в переменные окружения.
3. Миграции Alembic для PostgreSQL
Зачем: Автоматически генерировать миграции без ручного написания SQL.
Промт:
У меня есть модели SQLAlchemy: User и Task (описание ниже). Настрой Alembic для PostgreSQL. Выдай: 1) команды инициализации, 2) пример alembic.ini с подключением через переменную окружения, 3) шаблон env.py для автогенерации миграций. Учти, что нужно игнорировать таблицу alembic_version.
Пример: AI покажет команды alembic init, alembic revision --autogenerate -m "create tables", alembic upgrade head. После этого миграции будут создаваться автоматически при изменении моделей.
4. Оптимизация ORM-запросов и индексов
Зачем: Ускорить выборки и избежать N+1.
Промт:
Проанализируй SQLAlchemy-запрос: [код]. Предложи оптимизацию: 1) добавь eager loading для связанных сущностей, 2) укажи, какие индексы создать в PostgreSQL для полей фильтрации и сортировки. Выдай исправленный код и SQL для создания индексов.
Пример: Вместо select(Task).where(Task.user_id == user_id) AI предложит select(Task).options(joinedload(Task.user)).where(...) и индекс CREATE INDEX idx_task_user_status ON task (user_id, status);. Это сократит время ответа в разы.
5. Асинхронные задачи через Celery и Redis
Зачем: Вынести тяжёлые операции из HTTP-запроса.
Промт:
Настрой Celery для FastAPI с брокером Redis. Нужно: 1) конфигурация Celery, 2) пример задачи отправки email, 3) интеграция с FastAPI через Depends. Покажи, как запускать воркер и мониторить через Flower. Учти, что задачи должны быть идемпотентными.
Пример: Получите celery_app.py, задачу send_email_task.delay() и команду celery -A celery_app worker --loglevel=info. Теперь регистрация пользователя не будет ждать отправки письма.
6. Тесты Pytest с фикстурами и моками
Зачем: Покрыть критичные эндпоинты без ручного написания тестов.
Промт:
Напиши тесты Pytest для эндпоинта создания задачи. Используй TestClient из FastAPI, фикстуры для тестовой БД (SQLite in-memory) и мок текущего пользователя. Проверь: успешное создание, невалидные данные, отсутствие авторизации. Выдай файл test_tasks.py с фикстурами.
Пример: AI сгенерирует conftest.py с фикстурой client, db_session и тесты test_create_task_success, test_create_task_invalid. Запуск: pytest -v.
7. Docker и Docker Compose для локальной разработки
Зачем: Поднять весь стек одной командой.
Промт:
Создай Dockerfile для FastAPI-приложения и docker-compose.yml с сервисами: app, postgres, redis, celery-worker, flower. Используй python:3.12-slim, установи зависимости из requirements.txt. Пробрось порты 8000, 5432, 6379, 5555. Настрой healthcheck для postgres. Учти, что код монтируется в контейнер для hot-reload.
Пример: После docker-compose up приложение доступно на localhost:8000, документация — /docs. Всё готово к разработке.
8. Django: кастомная модель пользователя и аутентификация
Зачем: Начать проект с правильной архитектуры.
Промт:
Создай кастомную модель пользователя в Django 5.0 с полями: email (вместо username), first_name, last_name, is_active, is_staff. Настрой AUTH_USER_MODEL, менеджер пользователя и админку. Покажи, как сделать миграции и создать суперпользователя.
Пример: AI выдаст код User(AbstractBaseUser, PermissionsMixin), UserManager, настройки AUTH_USER_MODEL = 'accounts.User'. Это избавит от боли миграции позже.
9. Django ORM: оптимизация запросов через select_related и prefetch_related
Зачем: Уменьшить количество запросов к БД.
Промт:
У меня есть модели: Author, Book (FK на Author), Publisher (FK на Author). Запрос: получить всех авторов с их книгами и издателями. Напиши оптимизированный ORM-запрос с select_related и prefetch_related. Покажи, сколько запросов выполнится до и после оптимизации.
Пример: AI предложит Author.objects.prefetch_related('books__publisher').all() и объяснит, что вместо N+1 запросов будет 2–3.
10. Django: настройка DRF и JWT-аутентификации
Зачем: Быстро поднять API на Django.
Промт:
Настрой Django REST Framework с JWT-аутентификацией через djangorestframework-simplejwt. Создай ViewSet для модели Task, сериализаторы, permissions (IsAuthenticated). Подключи URL-маршруты. Покажи настройки в settings.py для JWT (время жизни токенов).
Пример: Получите views.py с TaskViewSet, urls.py с router.register, и настройки SIMPLE_JWT. API готово к использованию.
11. Django: Celery для периодических задач
Зачем: Автоматизировать рутину (отчёты, очистка).
Промт:
Настрой Celery и Celery Beat в Django для периодической задачи: каждый день в 3:00 удалять неактивных пользователей (last_login > 30 дней). Используй Redis как брокер. Покажи: 1) настройки в settings.py, 2) создание задачи, 3) расписание в celery.py. Учти, что задача должна логировать удаление.
Пример: AI сгенерирует tasks.py с @shared_task, настройку CELERY_BEAT_SCHEDULE и команду запуска celery -A proj beat -l info.
12. Деплой в Docker Swarm или на VPS
Зачем: Перевести проект из локальной среды в продакшн.
Промт:
Напиши инструкцию по деплою FastAPI-приложения на VPS с Docker Compose. Включи: 1) настройку Nginx как reverse proxy, 2) проброс статики, 3) переменные окружения для продакшна, 4) команды для обновления без простоя (blue-green). Учти, что сертификаты Let's Encrypt нужно обновлять автоматически.
Пример: Получите docker-compose.prod.yml, конфиг Nginx и скрипт deploy.sh. Развёртывание займёт 10 минут.
Эти промты — не догма. Адаптируйте их под свой стек и стиль. Главное — давать AI максимум контекста: схемы БД, версии библиотек, ограничения. Тогда он станет вашим тимлидом, архитектором и DevOps-инженером в одном лице. Начните с одного промта сегодня, и вы удивитесь, насколько быстрее пойдёт разработка.
А если хотите глубже прокачать навыки работы с AI в бэкенде — изучите наш курс по Python-разработке с AI. Там только практика и реальные проекты.
Комментарии