10 промптов для программиста: от code review до миграции БД
Десять шаблонов промптов для частых задач разработчика. Подставьте свой код и отправьте через API: код на Python, расчёт стоимости и советы по формулировкам.
3 мин · · разработка · автоматизация
Промпты для программиста экономят время на задачах, которые повторяются каждый день: проверить код, переписать запутанную функцию, написать тесты, разобраться с трейсбеком. Ниже десять шаблонов: подставьте свой код вместо плейсхолдеров в фигурных скобках и отправьте через чат или API. В конце — код на Python, расчёт стоимости и советы, как улучшать ответы.
Как отправлять промпты через API
Все примеры работают через OpenAI-совместимый API Zukko и официальный Python SDK openai:
from openai import OpenAI
client = OpenAI(
base_url="https://api.zukko.pro/v1",
api_key="fetch_ваш_ключ",
)
response = client.chat.completions.create(
model="claude-sonnet-5",
messages=[{"role": "user", "content": "ваш промпт"}],
)
print(response.choices[0].message.content)Подойдёт любая модель из списка Zukko: claude-sonnet-5, claude-opus-5-5, gpt-5.6-sol, а для простых задач — более дешёвые glm-5.3 или glm-5.3-flash. Актуальный список — GET https://api.zukko.pro/v1/models или страница «Модели» в кабинете. Какая модель лучше справляется с вашими задачами, проверьте сами: отправьте один и тот же шаблон нескольким моделям и сравните ответы. Подробнее о SDK — в справке по Python. Без кода шаблоны можно вставлять в чат в браузере.
1. Code review
Код для ревью:
{КОД}
Проверь код на:
1. Ошибки логики и граничные случаи
2. Уязвимости
3. Нарушения стиля проекта ({СТИЛЬ}, например PEP 8)
4. Пропущенную обработку ошибок
Для каждой проблемы: строка, суть, исправленный фрагмент.
Если проблем нет, так и напиши.
Когда использовать: перед коммитом и перед открытием PR.
2. Рефакторинг
Перепиши этот код, чтобы его было проще читать и поддерживать.
Поведение и публичный интерфейс должны остаться прежними.
Язык и версия: {ЯЗЫК_И_ВЕРСИЯ}.
{КОД}
После кода коротко перечисли изменения и зачем каждое нужно.
Когда использовать: длинные функции, дублирование, вложенные условия.
3. Unit-тесты
Напиши unit-тесты на pytest для этой функции.
Покрой обычные случаи, граничные значения и ошибки.
Тесты должны быть независимыми, общие данные вынеси в fixtures.
{КОД}
Когда использовать: новая функция, подготовка к рефакторингу, повышение покрытия.
4. Разбор ошибки
Ошибка (полный traceback):
{ОШИБКА}
Код, где она возникла:
{КОД}
Окружение: {ВЕРСИИ_ЯЗЫКА_И_БИБЛИОТЕК}
Объясни причину, укажи место в коде и предложи исправление.
Если данных не хватает, скажи, что ещё нужно показать.
Когда использовать: непонятный traceback, поведение, которое не воспроизводится локально.
5. SQL-запрос
Напиши запрос для PostgreSQL, который:
- {ТРЕБОВАНИЕ_1}
- {ТРЕБОВАНИЕ_2}
Схема:
- users (id, name, email, created_at)
- orders (id, user_id, total, created_at)
- items (id, order_id, product_name, price)
Объём: в orders примерно {ЧИСЛО} строк.
После запроса предложи индексы, которые ему помогут.
Когда использовать: сложные выборки, отчёты, оптимизация медленных запросов.
6. Регулярное выражение
Напиши регулярное выражение на Python для задачи: {ЗАДАЧА}.
Должно совпадать:
{ПРИМЕРЫ}
Не должно совпадать:
{КОНТРПРИМЕРЫ}
Ответ: pattern = r"..." и короткое объяснение каждой части.
Когда использовать: разбор логов, валидация форматов, извлечение данных из текста.
7. Документация
Напиши docstring в формате Google для этой функции:
параметры, возвращаемое значение, исключения (Raises) и короткий пример вызова.
{КОД}
Когда использовать: публичные функции, API, код перед релизом.
8. Сообщение коммита
Вот diff изменений:
{DIFF}
Напиши сообщение коммита в формате Conventional Commits:
<type>: <заголовок до 50 символов>
<описание, если нужно: что и зачем изменено>
Типы: feat, fix, refactor, docs, test, chore.
Когда использовать: перед коммитом, особенно после большого рефакторинга. Удобно передавать вывод git diff --staged.
9. План миграции БД
Текущая схема:
{ТЕКУЩАЯ_СХЕМА}
Что нужно изменить:
{ТРЕБОВАНИЯ}
Таблица содержит примерно {ЧИСЛО} строк и работает под нагрузкой.
Составь план миграции для Alembic:
1. Шаги по порядку, без долгих блокировок таблицы
2. Как откатить каждый шаг
3. Как проверить результат
Когда использовать: новые колонки, переименования, смена типов на больших таблицах.
10. Проверка безопасности
Код:
{КОД}
Проверь код на:
1. SQL-инъекции
2. XSS (если формируется HTML)
3. Отсутствие валидации входных данных
4. Секреты, записанные прямо в коде
5. Ошибки в проверке прав доступа
Для каждой находки: риск, пример атаки, исправление.
Когда использовать: код, который принимает пользовательский ввод, перед выкладкой в production.
Пример: ревью из скрипта с учётом токенов
from openai import OpenAI
client = OpenAI(
base_url="https://api.zukko.pro/v1",
api_key="fetch_ваш_ключ",
)
REVIEW_TEMPLATE = """Код для ревью:
{code}
Проверь код на ошибки логики, уязвимости и пропущенную обработку ошибок.
Для каждой проблемы: строка, суть, исправленный фрагмент."""
Для длинных ответов удобен стриминг. Сервер присылает последний чанк с usage и пустым choices, поэтому перед обращением к chunk.choices[0] нужна проверка:
stream = client.chat.completions.create(
model="claude-sonnet-5",
messages=[{"role": "user", "content": prompt}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)Как улучшить ответы
- Конкретика вместо «проверь код». «Проверь на SQL-инъекции и гонки при параллельных запросах» даёт более полезный ответ.
- Примеры. Для regex и парсеров покажите два-три примера, что должно и что не должно совпадать.
- Контекст. Одна строка вроде «это API на FastAPI под нагрузкой 1000 RPS» меняет советы.
- Формат ответа. Попросите таблицу, список или только код — так ответ удобнее разбирать и сравнивать.
Подробнее про параметры запроса — в справке по chat completions.
Частые вопросы
Можно ли объединить несколько шаблонов в одном запросе?
Да: например, «сначала найди ошибки, затем напиши тесты для исправленной версии». Но длинная многошаговая задача в одном запросе обычно даёт менее аккуратный результат, чем два последовательных запроса.
Сколько стоит один запрос?
Стоимость считается по токенам. В Zukko claude-sonnet-5 и gpt-5.6-sol стоят $0.3 за 1M входных и $0.3 за 1M выходных токенов. Допустим, шаблон с функцией на 50 строк занял 750 токенов, а ответ — 800. Тогда (750 + 800) × $0.3 / 1 000 000 ≈ $0.00047. Точные цифры по каждому запросу есть в response.usage и в разделе «Использование» в кабинете. Ключ для API создаётся в кабинете.
Как сохранять историю промптов?
Записывайте каждый запрос в JSONL вместе с реальным расходом из usage:
import json
from datetime import datetime
def log_call(prompt: str, answer: str, usage) -> None:
entry = {
"time": datetime.now().isoformat(),
"prompt": prompt[:200],
"answer": answer[:500],
"prompt_tokens": usage.prompt_tokens,
"completion_tokens": usage.completion_tokens,
}
with open("prompt_log.jsonl", "a", encoding="utf-8") as f:
f.write(json.dumps(entry, ensure_ascii=False) + "\n")Что делать, если модель выключена?
Шлюз вернёт HTTP 503 с кодом model_disabled. Возьмите другую модель из GET https://api.zukko.pro/v1/models и повторите запрос.
zukko
Платите в 25×
меньше
за Claude Code & ChatGPT
Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.
Похожие статьи
- Перевод субтитров нейросетью: SRT без сбитых таймкодовГлавный риск при переводе SRT нейросетью — сломанная структура файла. Показываем схему, где таймкоды не попадают к модели, и скрипт на Python с проверкой.
- Редактирование текстов нейросетью: корректура, стиль и сокращениеРазные виды редактуры требуют разных промптов. Показываем формулировки для корректуры, стиля и сокращения, как получать правки с объяснением и не терять авторский голос.
- Нейросеть для написания скриптов: Bash, PowerShell и PythonМодель быстро пишет скрипты для рутины, но запускать их вслепую нельзя. Показываем, как ставить задачу, требовать безопасный режим dry-run и проверять результат до запуска.
- Dify в Docker: установка, первичная настройка и подключение моделейСтавим Dify через Docker Compose, создаём администратора и подключаем модели Claude, GPT и DeepSeek по одному ключу. Отдельно — что делать, если контейнеры не стартуют.