ИИ-технологФлагман NP
ИИ-технолог

Промпты для разработчика. 30 готовых примеров для генерации

От NP_Article

ИИ-технолог

Обучение управлению ИИ с 0 до мастерского уровня

250+ уроков Начато наполнение Без инфоцыган и воды

Вы часами пытаетесь заставить нейросеть сгенерировать рабочий код, а в ответ получаете что-то невнятное? Знакомая ситуация. Многие разработчики сталкиваются с тем, что ИИ вместо помощи создает лишь дополнительную работу. Проблема часто кроется не в возможностях модели, а в том, как мы ставим ей задачу. Эта статья – ваше руководство по миру эффективных запросов. Здесь собраны рабочие промпты для разработчика, которые помогут превратить нейросеть в действительно полезного ассистента.

Искусственный интеллект – это не волшебная кнопка “сделать все хорошо”. Это инструмент, требующий точной настройки. Чтобы он заработал как надо, ему нужен правильный импульс. Без четкого запроса вы получите лишь обобщенный и часто бесполезный ответ. Здесь нет магии, только логика и правильная последовательность команд.

В этом материале вы найдете решения для самых частых задач:

  • Генерация чистого и рабочего кода с нуля.
  • Улучшение и переработка существующего кода.
  • Поиск и исправление ошибок.
  • Написание тестов и документации.
  • Проектирование архитектуры и баз данных.

Цель – не просто дать вам набор команд, а объяснить, почему именно такая формулировка работает. Поняв этот принцип, вы сможете самостоятельно создавать эффективные запросы для любых, даже самых сложных задач. Пора перестать бороться с нейросетью и начать использовать ее потенциал на сто процентов.

Типичные ошибки при составлении промптов

Прежде чем переходить к готовым решениям, важно понять, что обычно идет не так. Многие допускают одни и те же промахи, которые сводят на нет всю пользу от нейросети. Осознав эти ошибки, вы уже сделаете огромный шаг к качественным результатам. Вот самые распространенные грабли, на которые наступают разработчики.

  1. Использовать слишком общие запросы. Запрос вроде “напиши скрипт для парсинга сайта” обречен на провал. Нейросеть не знает, какой сайт, какие данные нужны, в каком формате их сохранить, и выдаст абстрактный пример, который придется переписывать с нуля.
  2. Забывать указывать версию языка и фреймворков. Код, написанный для Python 2, будет бесполезен в проекте на Python 3.11. То же касается версий библиотек – синтаксис и функции могут кардинально отличаться, что приведет к ошибкам совместимости.
  3. Не предоставлять контекст. Просить исправить ошибку в функции, не показывая связанный с ней код, – это как просить врача поставить диагноз по телефону, не описывая симптомов. ИИ не может догадаться о структуре вашего проекта или данных, с которыми работает функция.
  4. Пытаться сгенерировать все приложение одной командой. Запросы “создай интернет-магазин на Django” вызывают у нейросети лишь ступор или галлюцинации. Большие задачи нужно разбивать на мелкие, конкретные шаги: “создай модель товара”, “напиши представление для каталога”, “сделай шаблон для карточки товара”.
  5. Слепо доверять первому полученному ответу. Нейросети могут ошибаться, использовать устаревшие практики или просто “фантазировать”. Любой сгенерированный код необходимо тщательно проверять, тестировать и понимать, как он работает, прежде чем добавлять в проект. Ведь первая версия кода от ИИ всегда идеальна и не содержит ошибок, не так ли?
  6. Не просить объяснить сгенерированный код. Если вы не понимаете, как работает предложенное решение, вы не сможете его поддерживать или изменять в будущем. Всегда просите ИИ добавить комментарии или объяснить логику сложных участков – это отличный способ и проверить код, и научиться новому.
  7. Игнорировать требования к формату ответа. Если вам нужен ответ в формате JSON, а вы это не указали, вы можете получить текст, список или что-то еще. Четкое указание формата (“ответ дай в виде JSON”, “код оформи в одном блоке”) экономит время на последующей обработке результата.

Избегание этих простых, но критически важных ошибок – это 80% успеха. Теперь, когда мы знаем, как делать не надо, давайте перейдем к тому, как делать надо.

Улучшаем запросы: от слабого к сильному

Разница между неработающим и эффективным промптом часто заключается в деталях. Посмотрим на конкретных примерах, как небольшие уточнения кардинально меняют качество результата. Это поможет вам на практике ощутить силу правильной формулировки.

Задача Слабый промпт (что обычно делают не так) Сильный промпт (как получить результат)
Написать функцию Напиши функцию для сортировки списка. Ты – опытный Python-разработчик. Напиши функцию на Python 3.9 `sort_users_by_age`, которая принимает список словарей. Каждый словарь представляет пользователя с ключами `name` (строка) и `age` (число). Функция должна возвращать новый список, отсортированный по возрасту пользователей по убыванию. Добавь аннотации типов и docstring в стиле Google.
Найти ошибку Мой код не работает, вот ошибка: `TypeError`. Ты – эксперт по отладке кода на JavaScript. Я получаю ошибку `TypeError: Cannot read properties of undefined (reading ‘map’)` в React-компоненте. Проанализируй код компонента и объясни, почему возникает эта ошибка и как ее исправить. Вот код: [вставить код компонента]. Предположительно, проблема в том, что `props.items` иногда приходит как `undefined`.
Написать SQL-запрос Нужен SQL-запрос, чтобы достать пользователей. Ты – аналитик баз данных, специалист по PostgreSQL. Напиши SQL-запрос, который выбирает имена (`first_name`) и email (`email`) пользователей из таблицы `users`, зарегистрированных после 1 января 2023 года и имеющих статус `active`. Также присоедини таблицу `orders` и посчитай количество заказов для каждого такого пользователя. Результат отсортируй по убыванию количества заказов.
Создать компонент Сделай React-компонент кнопки. Ты – frontend-разработчик со знанием React и TypeScript. Создай функциональный компонент `Button.tsx`. Он должен принимать следующие свойства (props): `label` (строка), `onClick` (функция), `disabled` (булево, опционально), `variant` (строка: ‘primary’ или ‘secondary’, по умолчанию ‘primary’). В зависимости от варианта должны применяться разные стили. Используй CSS Modules для стилизации. Предоставь код компонента и пример файла стилей `Button.module.css`.
Объяснить код Что делает этот код? [вставить фрагмент с reduce] Ты – наставник по программированию. Объясни простыми словами, что делает эта функция на JavaScript. Разбери ее работу по шагам на конкретном примере массива `[1, 2, 3, 4]`. Обрати внимание, зачем здесь используется метод `reduce` и каково начальное значение аккумулятора. Вот код: `const sum = arr => arr.reduce((acc, val) => acc + val, 0);`

30 промптов для разработчика на все случаи жизни

Переходим к самому главному – коллекции готовых запросов. Это не просто шаблоны, а продуманные инструкции для нейросети, которые помогут решать реальные задачи в разработке. Каждый промпт построен так, чтобы минимизировать неточности и получить предсказуемый, качественный результат.

1. Генерация функции с аннотациями типов и документацией

Проблема: Нужно быстро написать функцию, но не хочется тратить время на написание документации и расстановку типов вручную. Стандартный запрос часто выдает “голый” код.

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

Текст промпта:

*****

Ты – опытный Python-разработчик, придерживающийся стандартов PEP8. Твоя задача – написать функцию, которая решает конкретную задачу, и оформить ее по всем правилам.

Задача: Создай функцию с названием calculate_discount.
Контекст: Функция принимает на вход два аргумента: price (цена товара, число с плавающей точкой) и discount_percent (процент скидки, целое число). Она должна вычислять и возвращать итоговую цену товара после применения скидки. Необходимо учесть крайние случаи: процент скидки не может быть меньше 0 или больше 100. Если процент некорректен, функция должна вызывать исключение ValueError.

Формат ответа:

  1. Предоставь полный код функции на Python 3.9+.
  2. Используй аннотации типов для всех аргументов и возвращаемого значения.
  3. Напиши подробный docstring в стиле Google, описывающий назначение функции, ее аргументы (Args), возвращаемое значение (Returns) и возможные исключения (Raises).
  4. Не пиши ничего, кроме кода самой функции.

*****

Почему это работает: Промпт четко определяет роль (“опытный Python-разработчик”), задачу, контекст (входные данные, логика, обработка ошибок) и, что самое важное, строгий формат ответа. Это не оставляет нейросети пространства для “творчества” и заставляет ее следовать лучшим практикам оформления кода.

2. Улучшение и переработка существующего кода

Проблема: Есть работающий, но сложный для понимания или неэффективный фрагмент кода. Нужно его улучшить, но неясно, с чего начать.

Решение: Промпт просит нейросеть выступить в роли опытного ревьюера, который не просто переписывает код, а объясняет свои действия.

Текст промпта:

*****

Ты – эксперт по качеству кода и переработке (рефакторингу). Твоя задача – проанализировать предоставленный фрагмент кода, найти в нем узкие места и предложить улучшенную версию.

Контекст: Ниже приведен фрагмент кода на JavaScript, который фильтрует и преобразует массив пользователей. Он работает, но его трудно читать и поддерживать.

Код для анализа:
[вставьте ваш фрагмент кода, например, с несколькими вложенными циклами и условиями]

Задача:

  1. Перепиши этот код, сделав его более чистым, читаемым и эффективным. Используй современные возможности языка (ES6+), такие как методы массивов filter, map и стрелочные функции.
  2. После улучшенного кода предоставь список сделанных изменений и объясни, почему новая версия лучше старой (например, “заменил цикл for на map для лучшей читаемости”, “вынес логику в отдельную функцию для переиспользования”).

Ограничения: Функциональность кода должна остаться абсолютно идентичной.

*****

Почему это работает: Запрос не просто просит “сделать лучше”, а задает конкретные критерии улучшения (чистота, читаемость, эффективность) и просит обосновать каждое изменение. Это заставляет ИИ анализировать код глубже и давать не только решение, но и объяснение, что помогает вам учиться.

3. Объяснение сложного регулярного выражения

Проблема: В проекте есть или требуется создать сложное регулярное выражение, логика которого неочевидна. Разобраться в нем “с листа” почти невозможно.

Решение: Промпт заставляет ИИ разложить “регекс” на составные части и объяснить каждую из них человеческим языком.

Текст промпта:

*****

Ты – специалист по регулярным выражениям. Твоя задача – детально объяснить, как работает предоставленное регулярное выражение.

Регулярное выражение для анализа: [вставьте ваше регулярное выражение, например, ^(+7|8)?[s-]?(?(d{3}))?[s-]?(d{3})[s-]?(d{2})[s-]?(d{2})$]

Задача:

  1. Дай общее описание того, что делает это выражение (например, “проверяет соответствие строки формату российского номера телефона”).
  2. Создай таблицу, где в первом столбце будет часть выражения (например, ^, (+7|8)?, d{3}), а во втором – подробное объяснение, что эта часть означает.
  3. Приведи 3 примера строк, которые соответствуют этому выражению, и 3 примера строк, которые не соответствуют.

Стиль объяснения: Простой и понятный, как для начинающего разработчика.

*****

Почему это работает: Запрос требует структурированного ответа (таблица, примеры), что не позволяет нейросети ограничиться общими фразами. Разбивка на части и примеры “что подходит / не подходит” делают объяснение максимально наглядным и практичным.

4. Написание модульных тестов для функции

Проблема: Написание тестов – рутинная, но необходимая задача. Хочется автоматизировать создание базового набора тестов для функции.

Решение: Промпт просит ИИ выступить в роли инженера по качеству и покрыть функцию тестами, включая стандартные и крайние случаи.

Текст промпта:

*****

Ты – инженер по автоматизации тестирования (QA Engineer), специализирующийся на [укажите язык, например, “Python”] и фреймворке [укажите фреймворк, например, “pytest”].

Задача: Напиши набор модульных тестов для следующей функции:
[вставьте код вашей функции]

Контекст: Функция [кратко опишите, что делает функция, например, “проверяет, является ли строка палиндромом”].

Требования к тестам:

  1. Создай как минимум 5 тестовых случаев.
  2. Тесты должны покрывать:
    • Основной (“счастливый”) сценарий работы.
    • Крайние случаи (например, пустая строка, строка с одним символом).
    • Случаи с некорректными входными данными (например, передача числа вместо строки), если функция должна их обрабатывать.
    • Случаи с разным регистром символов и знаками препинания.
  3. Используй синтаксис и лучшие практики фреймворка pytest.
  4. Названия тестовых функций должны четко описывать, что именно они проверяют (например, test_is_palindrome_with_empty_string).

*****

Почему это работает: Промпт задает четкую структуру работы: роль, инструмент (pytest), объект тестирования и, главное, классификацию тестов (основной, крайние случаи, некорректные данные). Это гарантирует, что ИИ не просто напишет пару очевидных тестов, а создаст осмысленный тестовый набор.

5. Создание схемы базы данных по описанию

Проблема: Нужно спроектировать структуру таблиц для новой функциональности, но сложно сразу продумать все поля и связи.

Решение: Промпт предлагает описать сущности и их взаимосвязи на естественном языке, а нейросети – перевести это в конкретные SQL-команды.

Текст промпта:

*****

Ты – архитектор баз данных, эксперт по проектированию реляционных БД. Твоя задача – создать SQL-скрипт для создания таблиц на основе описания предметной области.

Предметная область: Простая система для учета заказов в блоге.
Сущности и их связи:

  1. Пользователь (User): имеет id, имя, email и дату регистрации.
  2. Пост (Post): имеет id, заголовок, текст, дату создания и автора. Каждый пост принадлежит одному пользователю.
  3. Комментарий (Comment): имеет id, текст, дату создания. Каждый комментарий принадлежит одному посту и одному пользователю.

Задача:

  1. Напиши SQL-скрипт для создания трех таблиц (users, posts, comments) для диалекта [укажите диалект, например, “PostgreSQL”].
  2. Используй первичные ключи (PRIMARY KEY) для id в каждой таблице.
  3. Правильно настрой внешние ключи (FOREIGN KEY) для отражения связей (пост-автор, комментарий-пост, комментарий-автор).
  4. Выбери подходящие типы данных для каждого поля (например, VARCHAR, TEXT, TIMESTAMP, INTEGER).
  5. Добавь ограничения NOT NULL для всех ключевых полей.

*****

Почему это работает: Промпт переводит задачу с языка “сделай мне таблицы” на язык архитектора БД. Описание сущностей и связей – это классический подход к проектированию. ИИ получает четкие вводные и требования к результату (первичные и внешние ключи, типы данных), что позволяет ему сгенерировать точный и рабочий SQL-скрипт.

6. Генерация конечной точки АПИ (API endpoint)

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

Решение: Промпт автоматизирует создание кода для новой конечной точки АПИ с обработкой запроса, данных и ответа.

Текст промпта:

*****

Ты – бэкенд-разработчик с опытом работы с фреймворком [укажите фреймворк, например, “FastAPI на Python”].

Задача: Создай код для конечной точки (endpoint) АПИ, которая обрабатывает POST-запрос для создания нового продукта.

Контекст:

  • Путь (URL): /products
  • HTTP-метод: POST
  • Тело запроса (Request Body): JSON-объект, содержащий name (строка), description (строка, опционально) и price (число, больше нуля).
  • Логика: Конечная точка должна валидировать входящие данные. Если данные корректны, она имитирует сохранение в базу данных (просто возвращает полученные данные с добавленным id) и отправляет ответ с HTTP-статусом 201 Created. Если данные некорректны (например, цена отрицательная), должен возвращаться статус 422 Unprocessable Entity.

Требования:

  1. Используй Pydantic-модели для валидации тела запроса.
  2. Примени аннотации типов FastAPI.
  3. Добавь краткие комментарии, объясняющие логику.

*****

Почему это работает: Этот промпт детализирует все аспекты конечной точки: URL, HTTP-метод, структуру данных, логику обработки и ожидаемые HTTP-статусы. Упоминание конкретных инструментов (Pydantic) направляет ИИ на использование идиоматичных для фреймворка решений.

7. Анализ и объяснение сообщения об ошибке

Проблема: Вы столкнулись с непонятным сообщением об ошибке и не можете быстро определить его причину.

Решение: Промпт просит ИИ выступить в роли опытного отладчика, который не просто “гуглит” ошибку, а анализирует ее в контексте вашего кода.

Текст промпта:

*****

Ты – эксперт по отладке кода на [укажите язык или технологию, например, “Node.js”]. Твоя задача – проанализировать сообщение об ошибке и фрагмент кода, чтобы найти причину проблемы.

Сообщение об ошибке:
[вставьте полный текст ошибки, включая трассировку стека (stack trace)]

Фрагмент кода, где возникает ошибка:
[вставьте соответствующий фрагмент кода]

Задача:

  1. Определи наиболее вероятную причину этой ошибки, исходя из сообщения и кода.
  2. Объясни простыми словами, что именно пошло не так.
  3. Предложи один или несколько вариантов исправления кода.
  4. Если возможно, объясни, как можно было бы предотвратить такую ошибку в будущем (например, “добавить проверку на null перед использованием объекта”).

*****

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

8. Документирование класса с описанием методов и полей

Проблема: Класс написан, но на создание подробной документации для него не хватает времени.

Решение: Промпт поручает ИИ изучить код класса и сгенерировать для него документацию в стандартном формате.

Текст промпта:

*****

Ты – технический писатель, который создает документацию для кода на [укажите язык, например, “Java”].

Задача: Напиши документацию в формате Javadoc для предоставленного класса.

Код класса:
[вставьте полный код вашего класса]

Требования к документации:

  1. Напиши общее описание для класса, объясняющее его предназначение.
  2. Добавь Javadoc-комментарии для каждого публичного метода, описывая:
    • Что метод делает.
    • Каждый параметр (с помощью @param).
    • Возвращаемое значение (с помощью @return).
  3. Добавь комментарии для всех публичных полей класса.
  4. Ответ должен содержать только комментарии, которые нужно вставить в код, или уже откомментированный код.

*****

Почему это работает: Запрос четко определяет стандарт документирования (Javadoc) и структуру комментария для каждого элемента класса (общее описание, методы, параметры, возвращаемые значения). Это позволяет получить единообразную и полезную документацию.

9. Преобразование фрагмента кода на другой язык

Проблема: Нужно перенести логику с одного языка программирования на другой, но вы не знаете синтаксис нового языка в деталях.

Решение: Промпт для “переводчика кода”, который учитывает идиомы и стандартные библиотеки целевого языка.

Текст промпта:

*****

Ты – полиглот-программист, свободно владеющий несколькими языками программирования.

Задача: Преобразуй (конвертируй) следующий фрагмент кода с [укажите исходный язык, например, “Python”] на [укажите целевой язык, например, “Go”].

Исходный код на Python:
[вставьте исходный код]

Требования:

  1. Создай идиоматичный код на Go, который будет максимально соответствовать стилю и практикам этого языка. Не делай дословный перевод.
  2. Если в Python использовалась стандартная библиотека, найди и используй ее аналог в Go.
  3. Добавь краткие комментарии в итоговом коде, если какая-то часть логики реализуется принципиально иначе.
  4. Функциональность должна остаться неизменной.

*****

Почему это работает: Акцент на “идиоматичности” – ключевой. Промпт запрещает дословный перевод, заставляя ИИ думать как носитель целевого языка и использовать его сильные стороны, а не просто копировать синтаксические конструкции.

10. Оптимизация функции для повышения производительности

Проблема: Функция работает слишком медленно, и нужно найти способ ее ускорить.

Решение: Промпт просит ИИ проанализировать код с точки зрения производительности и предложить конкретные оптимизации.

Текст промпта:

*****

Ты – эксперт по оптимизации производительности алгоритмов.

Задача: Проанализируй следующую функцию на [укажите язык] и предложи способы ее оптимизации.

Функция для анализа:
[вставьте медленно работающую функцию, например, с неэффективными циклами или структурами данных]

Контекст: Эта функция [опишите, что она делает и на каких данных работает, например, “ищет дубликаты в большом массиве чисел”].

Требования:

  1. Определи узкие места в производительности текущей реализации.
  2. Предложи одну или несколько версий оптимизированного кода.
  3. Для каждой предложенной оптимизации объясни, почему она должна работать быстрее (например, “замена перебора в списке на поиск в множестве (set) снижает сложность с O(N^2) до O(N)”).
  4. Сравни алгоритмическую сложность (Big O) исходной и оптимизированной версий.

*****

Почему это работает: Запрос смещает фокус с простого “переписывания” на анализ. Требование определить узкие места, объяснить причину ускорения и сравнить алгоритмическую сложность заставляет ИИ провести глубокий анализ, а не поверхностные изменения.

11. Предложение альтернативных подходов к решению задачи

Проблема: Вы придумали одно решение, но не уверены, что оно лучшее. Хочется рассмотреть другие варианты.

Решение: Промпт просит ИИ выступить в роли архитектора и предложить несколько разных способов решения одной и той же задачи с их плюсами и минусами.

Текст промпта:

*****

Ты – системный архитектор с большим опытом проектирования.

Задача: Для описанной ниже проблемы предложи три разных подхода к ее решению.

Проблема: [подробно опишите задачу, например, “Нужно реализовать систему кэширования данных, получаемых из внешнего АПИ, чтобы снизить количество запросов. Данные меняются нечасто.”]

Требования к ответу:
Для каждого из трех подходов предоставь:

  1. Краткое название и суть подхода (например, “Кэш в памяти приложения”, “Использование Redis”, “HTTP-кэширование”).
  2. Описание того, как он работает в контексте задачи.
  3. Список основных преимуществ (Плюсы).
  4. Список основных недостатков (Минусы).
  5. Сценарий, когда этот подход является наиболее предпочтительным.

Формат ответа: Структурированный текст с четким разделением на три подхода.

*****

Почему это работает: Промпт заставляет ИИ не просто дать ответ, а провести сравнительный анализ. Структура “суть – плюсы – минусы – когда использовать” помогает объективно оценить каждый вариант и сделать осознанный выбор.

12. Создание Dockerfile для приложения

Проблема: Нужно контейнеризировать приложение, но написание оптимального Dockerfile требует знаний о многоэтапных сборках и кэшировании слоев.

Решение: Промпт просит ИИ сгенерировать Dockerfile, следуя лучшим практикам для уменьшения размера итогового образа и ускорения сборки.

Текст промпта:

*****

Ты – DevOps-инженер, специализирующийся на контейнеризации приложений.

Задача: Напиши Dockerfile для [опишите тип приложения, например, “веб-приложения на Node.js с использованием Express.js”].

Контекст:

  • Язык/Платформа: [например, Node.js 18]
  • Фреймворк: [например, Express.js]
  • Файлы проекта: package.json, server.js, папка src.
  • Команда для запуска: npm start
  • Порт, который слушает приложение: 3000

Требования к Dockerfile:

  1. Используй официальный базовый образ [например, node:18-alpine] для минимизации размера.
  2. Примени многоэтапную сборку (multi-stage build): один этап для установки зависимостей и сборки (если требуется), второй – для запуска приложения с минимальным набором файлов.
  3. Оптимизируй кэширование слоев: сначала копируй package.json, устанавливай зависимости, и только потом копируй остальной код.
  4. Добавь комментарии к каждой инструкции в Dockerfile, объясняющие ее назначение.

*****

Почему это работает: Промпт содержит все необходимые вводные (стек, структура проекта) и, что важнее, конкретные технические требования (многоэтапная сборка, оптимизация кэша, базовый образ). Это направляет ИИ на создание не просто рабочего, а профессионального и оптимизированного Dockerfile.

13. Формулировка сообщения для коммита в Git

Проблема: Сложно придумать информативное и краткое сообщение для коммита, особенно после множества мелких правок.

Решение: Промпт просит ИИ проанализировать изменения в коде (diff) и составить сообщение по принятому стандарту.

Текст промпта:

*****

Ты – опытный разработчик, который пишет идеальные сообщения для коммитов в Git.

Задача: На основе предоставленного вывода команды git diff напиши сообщение для коммита, следуя стандарту Conventional Commits.

Вывод git diff:
[вставьте сюда вывод команды git diff --staged]

Требования к сообщению:

  1. Формат должен быть: <тип>(<область>): <описание>.
    • тип: feat (новая функциональность), fix (исправление ошибки), refactor (переработка кода), docs (документация) и т.д.
    • область (опционально): часть проекта, которую затронули изменения (например, auth, api).
    • описание: краткое и ясное описание изменений в настоящем времени.
  2. Если необходимо, добавь тело коммита с более подробным описанием “что” и “почему” было сделано.
  3. Не пиши ничего, кроме текста самого сообщения для коммита.

*****

Почему это работает: Промпт предоставляет ИИ сырые данные (diff) и строгий формат для вывода (Conventional Commits). Это превращает творческую задачу в аналитическую: ИИ анализирует изменения и классифицирует их, что приводит к стандартизированным и полезным сообщениям.

14. Генерация фиктивных (mock) данных для тестирования

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

Решение: Промпт просит ИИ сгенерировать массив объектов с данными по заданной структуре и в нужном формате.

Текст промпта:

*****

Ты – генератор тестовых данных.

Задача: Создай массив из [укажите количество, например, 10] объектов JavaScript, представляющих пользователей.

Структура каждого объекта:

  • id: уникальный идентификатор (UUID).
  • fullName: случайное русское имя и фамилия.
  • email: уникальный email на основе имени.
  • registrationDate: случайная дата в формате ISO 8601 за последний год.
  • isActive: булево значение (true или false).
  • ordersCount: случайное целое число от 0 до 50.

Формат ответа: Предоставь готовый массив в виде кода на JavaScript, который можно скопировать и вставить. Не добавляй никаких объяснений, только сам массив.

*****

Почему это работает: Четкое описание структуры объекта, типов данных и их диапазонов (случайная дата за год, число от 0 до 50) не оставляет места для двусмысленности. Указание формата “только массив” упрощает использование результата.

15. Создание простого сценария для CI/CD

Проблема: Нужно настроить базовую автоматическую сборку и тестирование проекта, но синтаксис CI/CD систем (например, GitHub Actions) не всегда очевиден.

Решение: Промпт для генерации готового файла конфигурации для CI/CD с основными шагами.

Текст промпта:

*****

Ты – DevOps-инженер, настраивающий процессы непрерывной интеграции.

Задача: Напиши файл конфигурации для [укажите систему, например, “GitHub Actions”], который будет выполнять сборку и тестирование проекта.

Контекст:

  • Платформа: [например, “проект на Python”]
  • Триггер для запуска: push в ветки main и develop, а также pull request в main.
  • Необходимые шаги (jobs):
    1. build-and-test:

      • Запускается на [например, “Ubuntu последней версии”].
      • Использует [например, “Python 3.9”].
      • Шаги:
        • Клонирование репозитория.
        • Установка зависимостей из файла requirements.txt.
        • Запуск линтера (например, flake8).
        • Запуск тестов (например, pytest).

Формат ответа: Предоставь полный код YAML-файла для .github/workflows/ci.yml с комментариями для каждого шага.

*****

Почему это работает: Промпт описывает задачу в терминах CI/CD: триггеры, шаги, окружение. Это позволяет ИИ сгенерировать синтаксически корректный и логичный файл конфигурации, который можно сразу использовать.

16. Проверка кода на наличие базовых уязвимостей безопасности

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

Решение: Промпт просит ИИ выступить в роли специалиста по безопасности и провести аудит кода.

Текст промпта:

*****

Ты – эксперт по безопасности приложений (Application Security).

Задача: Проанализируй следующий фрагмент кода на [укажите язык, например, “PHP”] на предмет распространенных уязвимостей.

Фрагмент кода для анализа:
[вставьте код, например, обработчик формы или SQL-запрос]

Контекст: Этот код [опишите, что он делает, например, “принимает данные из формы и выполняет запрос к базе данных”].

Требования к анализу:

  1. Проверь код на наличие следующих уязвимостей:
    • SQL-инъекции.
    • Межсайтовый скриптинг (XSS).
    • Отсутствие валидации и очистки пользовательского ввода.
  2. Если уязвимости найдены, для каждой из них:
    • Укажи, в какой строке кода она находится.
    • Объясни, в чем заключается риск.
    • Предложи исправленную, безопасную версию кода.
  3. Если уязвимостей нет, напиши: “В данном фрагменте очевидных уязвимостей не обнаружено”.

*****

Почему это работает: Промпт фокусирует внимание ИИ на конкретных типах уязвимостей (SQLi, XSS), что делает анализ более целенаправленным. Требование указать строку, объяснить риск и предложить исправление превращает ответ в практическое руководство к действию.

17. Объяснение сложного алгоритма с примером

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

Решение: Промпт просит ИИ объяснить алгоритм как хороший преподаватель – с пошаговым разбором и наглядным примером.

Текст промпта:

*****

Ты – преподаватель информатики, который умеет объяснять сложные вещи простым языком.

Задача: Объясни, как работает алгоритм [укажите название, например, “сортировки пузырьком (Bubble Sort)”].

Требования к объяснению:

  1. Начни с краткого описания основной идеи алгоритма.
  2. Пошагово разбери его работу на конкретном примере: неотсортированный массив [5, 1, 4, 2, 8]. Описывай состояние массива после каждого прохода.
  3. Предоставь простую реализацию этого алгоритма на языке [укажите язык, например, “JavaScript”].
  4. Укажи временную и пространственную сложность алгоритма (Big O) и кратко объясни, почему она именно такая.
  5. Назови один плюс и один минус этого алгоритма.

*****

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

18. Написание сложного SQL-запроса с объединением таблиц

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

Решение: Промпт формулирует задачу на языке бизнес-логики, а ИИ переводит ее в SQL.

Текст промпта:

*****

Ты – аналитик данных, мастер SQL.

Задача: Напиши SQL-запрос для диалекта [укажите диалект, например, “MySQL”], который решает следующую задачу.

Контекст: Есть три таблицы: employees (сотрудники: id, name, department_id), departments (отделы: id, name) и salaries (зарплаты: employee_id, amount, date).

Что нужно получить: Для каждого отдела (departments.name) необходимо посчитать:

  1. Количество сотрудников в этом отделе.
  2. Среднюю зарплату по отделу.
  3. Имя сотрудника с самой высокой зарплатой в этом отделе.

Требования к результату:

  • Итоговая таблица должна содержать столбцы: department_name, employee_count, average_salary, top_employee_name.
  • Рассматривать только последние записи о зарплатах для каждого сотрудника.
  • Отделы, в которых нет сотрудников, не должны попадать в результат.

*****

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

19. Проектирование структуры REST API для сервиса

Проблема: Перед началом разработки нужно спроектировать логичную и последовательную структуру конечных точек АПИ.

Решение: Промпт просит ИИ выступить в роли архитектора и предложить структуру ресурсов и конечных точек, следуя REST-принципам.

Текст промпта:

*****

Ты – архитектор программного обеспечения, проектирующий RESTful API.

Задача: Спроектируй структуру REST API для простого сервиса “Библиотека книг”.

Ресурсы и их атрибуты:

  • Книга (Book): id, title, author_id, publication_year.
  • Автор (Author): id, name.

Требования к проекту API:

  1. Опиши основные ресурсы (/books, /authors).
  2. Для каждого ресурса предложи набор конечных точек (endpoints), следуя принципам REST.
  3. Для каждой конечной точки укажи:
    • HTTP-метод (GET, POST, PUT, DELETE).
    • URL-путь (например, /books/{id}).
    • Краткое описание действия (например, “Получить информацию о конкретной книге”).

Пример:

  • GET /books – Получить список всех книг.
  • POST /books – Добавить новую книгу.

Задача – спроектировать все основные CRUD-операции для обоих ресурсов, а также способ получения всех книг конкретного автора.

*****

Почему это работает: Промпт задает рамки: ресурсы и их атрибуты. Требование следовать принципам REST и описать каждую конечную точку по схеме “метод + путь + описание” заставляет ИИ создать структурированный и логичный дизайн АПИ, который можно использовать как основу для технического задания.

20. Генерация компонента для фронтенд-фреймворка

Проблема: Создание компонентов интерфейса (кнопки, карточки, модальные окна) – частая задача, которую можно автоматизировать.

Решение: Промпт для генерации кода компонента с учетом свойств (props), состояния и стилей.

Текст промпта:

*****

Ты – фронтенд-разработчик, эксперт по [укажите фреймворк, например, “Vue 3 Composition API”].

Задача: Создай компонент UserProfileCard.vue.

Контекст: Этот компонент должен отображать карточку с информацией о пользователе.

Требования к компоненту:

  1. Свойства (props): компонент должен принимать объект user со следующими полями: name (строка), avatarUrl (строка, URL аватара), status (‘online’ или ‘offline’).
  2. Разметка (