7 760 статей

Промпты для программистов

Промпты для разработчиков и для тех, кто пишет код с помощью ИИ без большого опыта: скрипты на Python, SQL-запросы, исправление багов, тесты, перевод кода на другой язык и технические задания.

Исследования о генерации кода сходятся в одном: модель пишет лучше, когда ей заранее заданы требования к результату — обработка ошибок, крайние случаи, читаемость, — и когда её просят сначала разобраться в задаче, а потом писать. Отдельный приём — просить модель проверить собственный код как ревьюер или тестировщик.

Как пользоваться: скопируйте промпт, замените данные в скобках — […] или {…} — на свои и отправьте в ChatGPT, Claude, DeepSeek, GigaChat или YandexGPT. Под каждым примером — ссылка на исследование, которое объясняет, почему приём работает.

18 примеров промптов

  1. Пример 1. Задача

    Владелец небольшого интернет-магазина просит Claude написать Python-скрипт для обработки файла с заказами (CSV), и хочет, чтобы через полгода в этом коде можно было легко разобраться и что-то поправить — сам он не программист, но код будет отдавать фрилансеру на доработку.

    ПРОМПТ
    Напиши функцию на Python, которая читает файл orders.csv (колонки: 
    дата, клиент, товар, сумма) и выводит сводку продаж по товарам за месяц.
    
    Дополнительно — требование к качеству кода:
    
    Качество: поддерживаемость
    Смысл: код должен легко читаться и редактироваться человеком, который 
    видит его первый раз — например, фрилансером, который будет его чинить.
    
    Правила:
    - Разбей логику на отдельные функции с одной задачей каждая
    - Не делай вложенность условий и циклов больше 2 уровней
    - Используй понятные имена переменных, а не x, tmp, data1
    
    Критерии приёмки:
    - Каждая функция помещается на экран без скролла
    - Нет повторяющихся блоков кода (copy-paste)
    - У каждой функции есть короткий докстринг, что она делает

    Из разбора исследования: ISO-обогащение требований к коду: детальные спецификации качества побеждают однострочные пожелания

  2. Пример 2. Задача

    У вас есть Python-скрипт, который выгружает данные из Google Sheets и собирает отчёт. Вы попросили Claude "почистить" код — вынести повторяющуюся логику в функцию. После этого скрипт стал падать с KeyError .

    ПРОМПТ
    Вот ошибка, которая появилась после того, как ты переписал код:
    
    {текст ошибки}
    
    Вот что именно изменилось (было → стало):
    
    {старый фрагмент кода}
    →
    {новый фрагмент кода}
    
    Не исправляй пока ничего. Сначала ответь:
    1. В чём точная причина ошибки?
    2. Что нужно поправить — назови конкретные переменные, ключи или функции.

    Из разбора исследования: RefactorAssist: диагноз причины ошибки перед исправлением кода — двухшаговый ремонт LLM-рефакторинга

  3. Пример 3. Задача

    Переводишь Python-скрипт для парсинга логов в Java для интеграции в корпоративную систему мониторинга. В коде куча вложенных условий и регулярок — прямой перевод через ChatGPT выдаёт код, который компилируется, но неправильно обрабатывает edge cases (пустые строки, спецсимволы).

    ПРОМПТ
    Мне нужно перевести Python-функцию в Java. Используем двухшаговый подход:
    
    ШАГ 1: Создай NL-Specification — построчное описание логики на естественном языке без синтаксиса Python.
    
    Формат:
    - Сохрани структуру (отступы показывают вложенность)
    - Опиши ЧТО делает каждая строка, не КАК написано в Python
    - Без упоминания Python-специфичных конструкций (list comprehension, lambda, etc)
    
    Вот код:
    [вставь свой Python-код]
    
    ШАГ 2: После того как создашь NL-Specification, переведи ЕГО (не исходный Python-код) в Java.
    
    ШАГ 3: Проверь: соответствует ли Java-код NL-Specification построчно? Если есть расхождения — исправь.

    Из разбора исследования: BabelCoder: перевод кода через естественно-языковое описание логики

  4. Пример 4. Задача

    Написать функцию на Python для парсинга объявлений с Авито — извлечь цену, название, ссылку из HTML.

    ПРОМПТ
    Напиши функцию на Python для парсинга объявлений с Авито.
    
    Требования:
    - Функция должна содержать ровно 25 строк кода
    - Используй библиотеку BeautifulSoup
    - Начни с docstring
    - Добавь обработку исключений
    - Стиль: подробные комментарии к каждому шагу
    - Верни результат как список словарей

    Из разбора исследования: Парадокс ограничений: почему избыток требований ломает LLM

  5. Пример 5. Задача

    Ты готовишься к собеседованию в IT-компанию. Прорешал тестовое задание — написал код на Python для обработки данных клиентов. Нужен фидбек: правильно ли решил, где косяки, что улучшить перед отправкой.

    ПРОМПТ
    Ты — опытный Python-разработчик и твоя задача — дать мне фидбек на моё решение тестового задания.
    
    Задача: написать скрипт для парсинга CSV-файла с данными клиентов, фильтрации по статусу "активный" и экспорта в JSON. Нужно обработать ошибки и оптимизировать по времени.
    
    Вот моё решение:
    
    [вставить код]
    
    Дай фидбек, явно выделив:
    - Правильное решение (как надо было)
    - Моё решение (сильные и слабые стороны)
    - Разрыв между ними (что упустил)
    - 3 конкретных совета, как улучшить подход к похожим задачам
    
    Уложись в 200 слов.

    Из разбора исследования: Структурированный фидбек от AI: как студенты-физики получали помощь с аргументами

  6. Пример 6. Задача

    Вы копируете в Claude тикет из трекера (Jira/GitHub Issues) с описанием бага, стектрейсом, версиями библиотек, шагами воспроизведения — и просите исправить код.

    ПРОМПТ
    Вот баг-репорт. Разбираю его по важности для тебя:
    
    [ГЛАВНОЕ — фокусируйся здесь]
    Описание проблемы: {текст описания}
    Трейс ошибки: {стектрейс}
    Тест, который падает: {тест-кейс}
    
    [СПРАВОЧНО — не главное для диагностики]
    Версия библиотеки: {версия}
    Окружение: {ОС, зависимости}
    
    Задача: найди причину ошибки, опираясь в первую очередь на описание, трейс и тест. 
    Версию и окружение используй только если без них решение невозможно.
    Код функции: {код}

    Из разбора исследования: Диффузное внимание: почему LLM проваливают дебаг, когда цепляются за версию библиотеки вместо сути ошибки

  7. Пример 7. Задача

    Ты проходишь курс по Python на Stepik или разбираешь код на новой работе (например, стажировка в Т-Банке или Яндексе) и хочешь по-настоящему понять чужой скрипт, а не просто прочитать комментарии к нему.

    ПРОМПТ
    Вот фрагмент кода и описание задачи, которую он решает.
    
    Описание задачи: {описание_программы}
    Код: {исходный_код}
    Строка №{номер_строки}: {содержание_строки}
    
    Вот как я объясняю, что делает эта строка своими словами:
    {моё_объяснение}
    
    Оцени моё объяснение:
    1. Correctness — верно ли я описал поведение строки (1 или 0)
    2. Completeness — насколько полно (число от 0 до 1) = (сколько понятий я назвал) / (сколько нужно было назвать)
    3. Expected Concepts — какие понятия должны быть в правильном объяснении этой строки
    4. Concepts Present — какие из них я назвал
    5. Concepts Missing — какие пропустил
    6. Объясни отдельно, почему correctness именно такой и почему completeness именно такая
    
    Верни ответ в формате JSON.

    Из разбора исследования: Self-Explanation Tutor: LLM оценивает не "правильно/неправильно", а какие понятия ты упустил

  8. Пример 8. Задача

    Фаундер хочет подготовить ТЗ для разработчика мобильного приложения для записи к барберу. Нет готовых образцов, нет опыта в написании ТЗ — нужен документ, который примет любой нормальный разработчик.

    ПРОМПТ
    Ты — опытный системный аналитик и менеджер продукта с 10-летним 
    опытом написания технических заданий для мобильных приложений.
    
    Создай сценарий: техническое задание для мобильного приложения в сфере 
    [барберские услуги]. Следуй точно этой структуре:
    
    1. ОБЗОР ПРОДУКТА
       1.1 Назначение и цели
       1.2 Целевая аудитория
       1.3 Ключевые ограничения
    
    2. ФУНКЦИОНАЛЬНЫЕ ТРЕБОВАНИЯ
       2.1 Основные функции (список с описанием каждой)
       2.2 Пользовательские роли и права доступа
       2.3 Интеграции с внешними сервисами
    
    3. НЕФУНКЦИОНАЛЬНЫЕ ТРЕБОВАНИЯ
       3.1 Производительность
       3.2 Безопасность
       3.3 Масштабируемость
    
    4. ОГРАНИЧЕНИЯ И ДОПУЩЕНИЯ
       4.1 Технологический стек
       4.2 Временны́е ограничения
       4.3 Бюджетные рамки
    
    Рассуждай пошагово: сначала определи пользовательский сценарий, 
    потом выпиши требования по каждому разделу. Делай требования 
    конкретными, измеримыми, без общих фраз. Объём — 600–800 слов.

    Из разбора исследования: Синтетическая генерация профдокументов: как создать ТЗ, бриф или спецификацию, которые сойдут за реальные

  9. Пример 9. Задача

    Менеджер интернет-магазина на Битрикс24 пишет в чат разработчикам: «Оплата через СБП иногда не проходит, клиенты жалуются». Разработчик хочет не гадать, а сразу получить от ассистента список того, чего не хватает, чтобы воспроизвести проблему.

    ПРОМПТ
    Ты — триаж-инженер. Твоя работа: решить, достаточно ли в баг-репорте
    информации для воспроизведения, и если нет — задать автору вопросы.
    Ты не дописываешь недостающее сам и ничего не додумываешь.
    
    Заголовок: Оплата через СБП иногда не проходит
    Текст: Клиенты жалуются, что оплата через СБП не проходит. Началось на этой неделе.
    Магазин на Битрикс24, эквайринг — Т-Банк.
    
    Круг 1:
    1. Перечисли пробелы: что отсутствует или двусмысленно и мешает воспроизвести.
       Для каждого пробела укажи серьёзность: высокая / средняя / низкая.
    2. Если пробелов нет — напиши «ДОСТАТОЧНО» и остановись.
    3. Сформулируй вопросы автору ТОЛЬКО по найденным пробелам.
       Один пробел — один конкретный вопрос. Не больше 5 вопросов.
    
    Круги 2–5 (когда я пришлю ответы):
    1. По каждой паре «вопрос–ответ» реши: достаточно / недостаточно.
    2. Найди новые пробелы, которые вскрыли ответы.
    3. Задай вопросы только по оставшимся пробелам.
    Остановись, если все критичные пробелы закрыты или я не ответил ни на один вопрос.
    
    Пробелы: [список с серьёзностью]
    Вопросы: [нумерованный список]

    Из разбора исследования: BRQGen: адаптивные уточняющие вопросы — модель сначала решает, хватает ли информации, и спрашивает только о недостающем

  10. Пример 10. Задача

    Ты попросил ChatGPT написать функцию calculate_discount(price, customer_type) для расчёта скидок в интернет-магазине. Хочешь тесты, которые реально поймают ошибку, если логика скидок случайно сломается, а не просто «пройдут для галочки».

    ПРОМПТ
    Ты — опытный тестировщик Python, специализация — тесты, которые находят реальные ошибки.
    
    Вот код функции:
    {вставить код функции}
    
    Перед тем как писать тесты, распиши в пунктах:
    1. Обычные случаи использования
    2. Граничные значения (нули, отрицательные числа, пустые строки, максимумы)
    3. Ошибочные входные данные — какие исключения должны возникать
    4. Что нужно подменить для проверки (внешние зависимости, если есть)
    5. Инварианты — что должно оставаться неизменным в любом случае
    
    Теперь напиши тесты на pytest, которые:
    - Проверяют конкретные числовые значения, а не просто "функция не упала"
    - Не используют "магические числа" без объяснения, откуда они взялись
    - Каждый тест проверяет одно поведение
    - Должны ПРОВАЛИТЬСЯ, если в коде поменять хотя бы одну константу, знак сравнения или условие
    
    Выведи только готовый код тестов, без markdown-обёртки.

    Из разбора исследования: Генерация тестов LLM: выбор модели решает больше, чем сложность промпта

  11. Пример 11. Задача

    Маркетолог просит у ChatGPT скрипт на Python для формы на сайте (Tilda, Taplink, самописный лендинг) — форма принимает файл от пользователя (резюме, фото, документ) и сохраняет его на сервер.

    ПРОМПТ
    Напиши функцию на Python, которая сохраняет файл, загруженный пользователем через веб-форму, 
    на диск в папку /uploads/. Функция должна проходить такие проверки:
    
    1. Обычный файл "photo.jpg" — сохраняется нормально.
    2. Если имя файла "../../etc/passwd" или "../../../config.py" — функция должна ОТКАЗАТЬ 
       и не сохранять файл (защита от выхода за пределы папки).
    3. Если в имени файла есть спецсимволы, нулевые байты или двойное кодирование пути — 
       функция должна отказать.
    4. Размер файла больше 10 МБ — отказ.
    
    Покажи код и объясни, как он проверяет каждый пункт.

    Из разбора исследования: Тесты как спецификация: почему код, прошедший все проверки, всё равно может быть дырявым

  12. Пример 12. Задача

    Нужен скрипт для аналитики продаж. Есть CSV на 100 000 строк (товар, выручка). Надо найти топ-10 товаров по выручке. Первая попытка с ChatGPT выдала код, который считает 2 минуты — клиент ждать не будет.

    ПРОМПТ
    Ты — Python-разработчик. Реши задачу.
    
    Описание:
    Дан список товаров с выручкой. Найди топ-10 по выручке.
    
    Пример:
    Вход: [("Ноутбук", 150000), ("Мышь", 500), ("Клавиатура", 2000)]
    Выход: [("Ноутбук", 150000), ("Клавиатура", 2000), ("Мышь", 500)]
    
    Ограничения:
    - до 100 000 товаров
    - выручка от 0 до 10 000 000 рублей
    
    Заготовка:
    def top_sales(products: list) -> list:
        # твой код
    
    Тесткейсы:
    products = [("Товар1", 1000), ("Товар2", 5000), ("Товар3", 3000)]
    Ожидается: [("Товар2", 5000), ("Товар3", 3000), ("Товар1", 1000)]
    
    Инструкции:
    Только исполняемый код, без объяснений.
    Оптимизируй сложность алгоритма по времени — данных может быть много.

    Из разбора исследования: Холистическая оценка LLM для генерации кода: какие модели пишут лучше и почему добавление слова "оптимизируй" снижает ошибки на 30%

  13. Пример 13. Задача

    Владелец небольшого бизнеса без опыта в программировании просит Claude или ChatGPT написать сайт с формой заявок и админкой, где менеджер видит все заявки и может их закрывать.

    ПРОМПТ
    Напиши веб-приложение на Python (Flask) для сбора заявок с сайта.
    Функции: 
    - форма на сайте, куда клиент вводит имя, телефон и текст заявки
    - страница входа для менеджера (логин и пароль)
    - админ-панель, где менеджер видит все заявки и может отмечать их "в работе" или "закрыто"
    - база данных для хранения заявок и пользователей
    
    Дополнительно, при разработке следуй этим требованиям безопасности:
    - Проверяй права доступа на каждый запрос: обычный пользователь не должен видеть админ-панель.
    - Защити формы и действия, меняющие данные, от подделки запроса (CSRF).
    - Храни пароли только в виде хешей с солью (bcrypt), никогда в открытом виде.
    - Все пароли, ключи и секреты храни в переменных окружения, не пиши их в коде.
    - Используй параметризованные запросы к базе данных, проверяй все данные от пользователя.
    - Ограничь загрузку файлов (если есть) по типу и размеру, не доверяй имени файла от клиента.
    - Отключи режим отладки и подробные сообщения об ошибках.
    - Настрой куки сессии с флагами HttpOnly, Secure, SameSite, ограничь срок жизни токена.
    - В целом следуй рекомендациям OWASP Top 10 по безопасности веб-приложений.

    Из разбора исследования: Промпт с требованиями безопасности убирает критические уязвимости при вайб-кодинге

  14. Пример 14. Задача

    Аналитик регулярно просит Claude или ChatGPT писать SQL-запросы для еженедельных отчётов по продажам. Часть запросов содержит скрытые ошибки (забытый фильтр по дате, неправильный JOIN), и хочется понимать, когда доверять ответу без проверки, а когда перепроверять руками.

    ПРОМПТ
    Вот моя история твоих ответов на похожие задачи (написание SQL-запросов для отчётов):
    
    1. Задача: подсчёт возвратов клиентов за квартал. Ты сказал уверенность 90%. 
       Итог: ошибка в JOIN, результат неверный.
    2. Задача: агрегация продаж по регионам. Ты сказал уверенность 85%. 
       Итог: верно.
    3. Задача: расчёт LTV клиента. Ты сказал уверенность 95%. 
       Итог: пропущен фильтр по дате, результат неверный.
    4. Задача: подсчёт среднего чека по категориям. Ты сказал уверенность 80%. 
       Итог: верно.
    [добавь ещё 5-10 похожих записей из своей практики]
    
    Новая задача: {текст новой SQL-задачи}
    
    Сделай так:
    1. Напиши решение
    2. Оцени свою уверенность в правильности (0-100%)
    3. Посмотри на историю выше — как часто ты был прав, когда называл похожую 
       уверенность на похожих задачах?
    4. Назови, какую ошибку ты повторяешь чаще всего в этой категории задач
    5. Дай финальную скорректированную оценку уверенности с учётом этой статистики

    Из разбора исследования: XConf: калибровка уверенности LLM через собственный опыт прошлых похожих задач

  15. Пример 15. Задача

    Настроить Python для парсинга данных с Wildberries и Ozon — собрать цены и остатки товаров для мониторинга конкурентов.

    ПРОМПТ
    Мне нужно настроить Python для парсинга Wildberries и Ozon — 
    собирать цены и остатки товаров.
    
    Предложи необходимые библиотеки для этой задачи.
    
    Для каждой библиотеки укажи:
    1. Прямую ссылку на PyPI или GitHub
    2. Последнюю стабильную версию
    3. Дату последнего обновления
    4. Подтверждение, что пакет активно поддерживается
    
    Если не уверен в существовании пакета — скажи прямо.

    Из разбора исследования: Package Hallucination: LLM выдумывают несуществующие библиотеки

  16. Пример 16. Задача

    ChatGPT написал функцию обработки данных, но она работает не так. Вместо проверки через assert , попроси показать промежуточные значения.

    ПРОМПТ
    Функция parse_price() возвращает странные результаты. 
    
    Не пиши assert-ы для проверки. 
    Вместо этого: добавь print() после каждого шага обработки — 
    покажи что получилось после .strip(), после .replace(), после int().
    
    Запусти на примерах: "1 200 руб", "1200р.", "1200.00"

    Из разбора исследования: Observation > Verification: почему LLM лучше показывают значения, чем проверяют правила

  17. Пример 17. Задача

    Ты пишешь вакансию для найма Middle-разработчика. Хочешь, чтобы Claude оценил три тестовых задания — какое из них реально требует самостоятельного мышления, какое — просто воспроизведение известных паттернов.

    ПРОМПТ
    Оцени три тестовых задания по уровню самостоятельности мышления.
    
    Используй 4 уровня:
    1. Воспроизведение — кандидат воспроизводит известный факт или команду
    2. Применение процедуры — знакомый алгоритм, нужно выполнить шаги
    3. Применение с пониманием — требует понять зачем, а не только как
    4. Самостоятельное мышление — нет готового пути, нужно конструировать решение
    
    Образцы для калибровки:
    Уровень 1 — "Что такое git rebase?"
    Уровень 2 — "Напиши SQL-запрос на группировку заказов по дате"
    Уровень 3 — "Выбери структуру БД для хранения иерархии категорий, объясни плюсы"
    Уровень 4 — "Придумай систему алертов для интернет-магазина, которая предсказывает
                   аномалии, не зная заранее что считать аномалией"
    
    ВАЖНО: не уходи к середине (уровню 2-3) если задание явно крайнее. 
    Если задание тривиальное — ставь 1, выдающееся — ставь 4.
    
    Для каждого задания:
    — Шаг 1: Какие процессы мышления реально нужны?
    — Шаг 2: Есть ли готовый алгоритм решения?
    — Шаг 3: Итоговый уровень и почему
    
    Задания:
    [Задание А]
    [Задание Б]
    [Задание В]

    Из разбора исследования: Bias оценщика: LLM систематически уходит в середину и смотрит на слова, не на суть

  18. Пример 18. Задача

    Готовишь данные для анализа клиентской базы онлайн-школы. Нужно: убрать дубликаты email, привести даты регистрации к единому формату (YYYY-MM-DD), заполнить пропуски в поле "город" на основе телефонного кода, классифицировать клиентов по активности (более 3 покупок = "активный").

    ПРОМПТ
    Задача: обработать таблицу клиентов по следующим шагам:
    1. Удалить дубликаты по email (оставить последнюю запись)
    2. Привести даты регистрации к формату YYYY-MM-DD
    3. Заполнить пропуски в "город" на основе телефонного кода
    4. Добавить колонку "статус": >3 покупок = "активный", иначе "неактивный"
    
    Данные: [прикрепить CSV или описать структуру]
    
    Используй подход Governance Contracts:
    1. Сначала в роли Планировщика: разбей задачу на операции, для каждой определи:
       - Pre: что требуется на входе (формат, обязательные поля)
       - Post: что гарантируется на выходе
       - Проверь что выход каждого шага соответствует входу следующего
    
    2. Выполни операции по порядку
    
    3. После каждого шага в роли Проверяющего: проверь выполнены ли post-условия. Если нет — опиши что пошло не так и исправь.
    
    Покажи контракты до выполнения и результаты проверок после каждого шага.

    Из разбора исследования: DataGovAgent: Governance Contracts и Assembly Line для сложных многошаговых задач

Не нашли свою задачу?

Генератор промптов
Опишите задачу своими словами — получите готовый промпт
Улучшить свой промпт
Бустер разберёт промпт и предложит сильную версию
Как писать промпты
Бесплатный курс по структуре и формату промпта

Другие примеры промптов

Все примеры Для учителей и учёбыДля текстовДля бизнесаДля резюме и наймаДля юристовДля маркетинга и SMMДля аналитики и отчётов