Перейти к основному содержимому

Prompt engineering — библиотека промптов


Для кого эта статья

Подборка готовых промптов с построчным разбором — как в галерее Turtle: скопировали блок → прочитали таблицу «что означает каждая строка» → подставили свои данные. Материал для тех, кто ищет «prompt engineering примеры», «chatgpt prompt for code», «промпт для python», «system prompt template» или устал получать «красивый», но бесполезный ответ.

АудиторияЗачем открыть
ШкольникиОбъяснение темы, план доклада, подсказки к задаче без готового списывания
СтудентыЛабораторная, курсовой черновик, traceback, README к проекту
СамоучкиПервая функция на Python, тесты, разбор чужого кода
После курса по ИИЗакрепить теорию LLM практикой формулировок

Каждый шаблон ниже можно вставить целиком в ChatGPT, Gemini, DeepSeek, Яндекс GPT или Copilot — сервис меняется, структура промпта остаётся той же.


Как пользоваться статьёй

  1. Найдите задачу в указателе для Google или в оглавлении слева на сайте.
  2. Скопируйте весь серый блок text (от «Роль:» до последней строки).
  3. Замените <вставка …> на свой код, условие задачи или текст лекции.
  4. Отправьте промпт одним сообщением (не дробите на десять реплик без нужды).
  5. Прочитайте Разбор под блоком — там смысл строк и типичные ошибки.
  6. Если ответ «почти тот» — используйте шаблон уточнения, не переписывайте промпт с нуля.

Краткий указатель — что ищут в Google

РазделТипичный запрос
Каркас промптаprompt template, system prompt example, структура промпта
Объяснение темыchatgpt explain simply, объясни простыми словами, промпт для конспекта
Ошибка Pythonchatgpt fix python error, traceback chatgpt, исправь код python
Функция Pythonchatgpt write python function, промпт для кода python, pytest chatgpt
Домашка / лабаchatgpt programming homework hint, не решай за меня chatgpt
Реферат / докладchatgpt essay outline, план реферата chatgpt, структура доклада
ЕГЭ / олимпиадаchatgpt informatics hint, подсказка к задаче егэ
Объясни кодexplain code line by line, разбери код построчно
Few-shotfew shot prompting example, примеры в промпте
RAGrag prompt template, ответ только по контексту
Уточнениеchatgpt refine answer, переделай ответ

Словарь промптов за 30 секунд

ТерминЗачемКак в этой статье
ПромптВсё, что вы отправляете моделиБлоки в text ниже
SystemПравила «кто ты и как отвечаешь»Строка Роль: или блок System: в RAG
UserКонкретная задача и данныеЗадача:, Вход:, вопрос пользователя
КонтекстФакты о проекте, стек, ограниченияКонтекст:, фрагмент кода
Zero-shotБез примеров «вход → выход»Стартовые промпты в начале
Few-shot2–3 образца ответа в промптераздел Few-shot
ТокенКусок текста для моделиДлинный лог обрезается — вставляйте фрагмент
ГаллюцинацияУверенный выдуманный фактЗапрет «не выдумывай лог/ссылки»
Temperature«Креативность» ответаДля кода низкая — параметры

Главная идея: модель не «знает ваш проект». Она догадывается по тексту промпта. Чем точнее спецификация, тем меньше переделок.


Как работает один запрос к ChatGPT

Вы нажали Enter → модель подобрала наиболее правдоподобное продолжение текста. Проверка запуском, тестом или учебником остаётся на вас — как с примерами Turtle, где код всё равно нужно запустить локально.

Сначала теория — потом копирование

Что такое LLM и как устроен запрос — Большие языковые модели. Вызовы API с кодом — OpenAI / API — готовые промпты и вызовы. Рабочий цикл с кодом и сравнение сервисов — Генерация кода. Temperature, top_p, лимиты — Параметры генерации. Риск «копировать без review» — Вайб-кодинг. Промпты в проде версионируют в git — AgentOps.

Prompt engineering — подбор формулировок, роли, контекста и формата ответа под задачу без переобучения весов модели. Хороший промпт работает как краткая спецификация: модель чаще попадает в ваш стек, стиль и критерии «готово».

Загрузка pipeline…

Ниже — шаблоны, которые можно вставить в чат или в system-инструкции агента. Замените текст в угловых скобках на свои данные.


Как читать промпт по частям

Запрос к LLM обычно собирают из «кирпичиков». В таблице — что означает каждый блок и типичная ошибка.

БлокСмыслПример формулировкиЧастая ошибка
РольСтиль и глубина ответа«Ты senior Python-разработчик»Роль без задачи — «красивый», но бесполезный текст
КонтекстСтек, версии, ограничения проекта«Python 3.12, только stdlib»«Сделай на Python» без версии и зависимостей
ЗадачаОдно действие«Напиши функцию validate_email»Три задачи в одном абзаце
ВходДанные, код, лог«Фрагмент файла: …»Весь репозиторий без отбора
ВыходФормат ответа«Только код + 3 теста»«Объясни и напиши эссе» — модель раздувает ответ
Граничные случаиEdge cases«Если s is None — ValueError»Их не перечисляют — код «ломается на null»
ЗапретыБезопасность и стиль«Без API-ключей в ответе»Секреты prod в промпте

Два режима — запомните в первую очередь:

РежимКогдаПодсказка в промпте
ЧерновикИдея, объяснение, учёбаДопустимы пояснения и примеры
Патч в репозиторийКод пойдёт в merge«Только diff», «без вступления», список файлов

Обязательный каркас промпта

Любой «серьёзный» запрос в этой статье опирается на один скелет — как import turtle и turtle.done() в 111. Запомните семь полей, и ответы станут стабильнее.

Задача: не забыть ни одного важного куска спецификации перед отправкой в чат.

Роль: <кто отвечает — язык, уровень, домен>
Контекст: <стек, версии, что уже есть в проекте>
Задача: <одно предложение — что сделать>
Вход: <код, лог, ТЗ — только нужный фрагмент>
Ограничения: <зависимости, стиль, запреты>
Формат ответа: <код / diff / JSON / таблица>
Граничные случаи: <null, пустая строка, ошибки сети>

Разбор построчно:

СтрокаСмыслЕсли пропустить
Роль:Задаёт тон и глубину («учитель», «senior Python»)Ответ как «энциклопедия для всех» — слишком длинно или слишком детски
Контекст:Версия Python, фреймворк, «учебный проект без pip»Модель предложит библиотеки, которых у вас нет
Задача:Одно действиеТри задачи в одном сообщении → выполнится первая, остальное забудут
Вход:Факты: код, traceback, условиеМодель придумает ваш код или ошибку
Ограничения:Запреты и стильПоявятся лишние зависимости, английские комментарии, «улучшения»
Формат ответа:Скелет выводаПроза на три экрана вместо кода в один блок
Граничные случаи:None, пустая строка, 0, делениеКод «работает на демо», падает на сдаче

Попробуйте: возьмите любой шаблон ниже и проверьте — есть ли все семь полей (или явная причина, почему поле пустое).


Стартовые промпты

Пять коротких шаблонов — с них удобно начинать, если вы впервые формулируете запрос к ИИ.


1. Объяснение темы простыми словами

Задача: понять концепцию для урока, доклада или подготовки к контрольной — без углубления в RFC и учебник на 400 страниц.

Роль: преподаватель информатики для старшеклассника.
Тема: TCP и UDP — в чём разница на примере браузера и онлайн-игры.
Ограничения: до 300 слов, без формул, одна аналогия из быта.
Формат: три абзаца + таблица «когда TCP / когда UDP» из двух колонок.

Разбор:

СтрокаСмысл
Роль: преподаватель…Модель упростит язык, добавит примеры из жизни
Тема: TCP и UDP…Привязка к знакомым сценариям — браузер, игра
до 300 словЖёсткий лимит — иначе ChatGPT пишет «простыню»
без формулОтсекает матан и формулы вероятности
одна аналогияОдин запоминающийся образ (почта, очередь в магазине)
таблица … двух колонокГотовый фрагмент для тетради или слайда

Что получите: короткий конспект, который можно пересказать своими словами на уроке.

Типичные ошибки:

  • Написали только «объясни TCP» — ответ слишком общий.
  • Не указали класс/уровень — слишком академично или слишком детско.
  • Попросили «как в Википедии» и «простыми словами» в одном промпте — стиль смешается.

Попробуйте: замените тему на «DNS — зачем нужен домен example.com» или «что такое ОЗУ и SSD».


2. Исправление ошибки по traceback

Задача: программа упала в IDLE, PyCharm или на сервере — нужна причина и минимальная правка, а не переписывание всего файла.

Роль: отладчик Python.
Контекст: учебный скрипт, без установки новых пакетов.
Traceback:
<вставка полного traceback>

Код вокруг строки ошибки:
<10–25 строк>

Задача: назови причину на русском, предложи минимальный патч.
Формат: 1) причина в одном предложении; 2) исправленный фрагмент; 3) как проверить запуском.

Разбор:

СтрокаСмысл
отладчик PythonФокус на синтаксисе и типичных ошибках новичка
без установки новых пакетовМодель не предложит pip install …
Traceback: + полный текстПоследняя строка traceback — где упало; без неё — угадывание
10–25 строк вокруг ошибкиДостаточно контекста, не весь файл на 500 строк
минимальный патчОдна-две строки, а не «перепиши проект»
как проверить запускомКоманда или входные данные для проверки

Пример вставки traceback (учебный):

Traceback (most recent call last):
File "main.py", line 4, in <module>
print(names[3])
IndexError: list index out of range

Что получите: объяснение «индекс 3 при длине списка 2» и правка names[2] или проверка длины.

Типичные ошибки:

  • Скриншот без текста — модель не видит мелкий шрифт; копируйте текст из консоли.
  • Вставили только IndexError без строки файла — неясно, какая переменная.
  • Попросили «исправь всё» — придёт другой алгоритм, не ваш стиль.

Попробуйте: после ответа запустите скрипт сами. Если снова ошибка — отправьте уточнение с новым traceback.


3. Краткое резюме длинного текста

Задача: сжать главу учебника, статью или лекцию перед экзаменом.

Роль: редактор технической статьи.
Вход: текст ниже (статья, глава, транскрипт лекции).
Задача: резюме на русском для занятого разработчика.
Формат:
- 5 буллетов «главное»;
- 3 термина с однострочным определением;
- 1 вопрос для самопроверки.
Объём резюме: не больше 15% от исходника.
<вставка текста>

Разбор:

СтрокаСмысл
5 буллетов «главное»Структура ответа — не сплошной абзац
3 терминаМини-словарь для повторения
вопрос для самопроверкиПроверка, поняли ли суть
15% от исходникаЗащита от сокращения «в три слова» или копирования всего текста

Типичные ошибки: вставили полкниги — обрежется лимит контекста чата; возьмите одну главу или раздел.


4. План действий перед кодом

Задача: спроектировать API или программу до написания кода — меньше хаоса в лабораторной.

Задача: спроектировать REST API для заметок (CRUD) без написания кода.
Контекст: FastAPI, SQLite, JWT позже — сейчас только заглушка auth.
Формат ответа:
1) список эндпоинтов (метод, путь, тело);
2) схема таблицы notes;
3) порядок из 5 шагов реализации;
4) риски (безопасность, миграции).
Не пиши код — только план.

Разбор:

СтрокаСмысл
без написания кодаЯвный запрет — иначе модель сразу выдаст 200 строк
CRUDCreate, Read, Update, Delete — полный набор операций
5 шаговОграниченный roadmap, удобно для отчёта
рискиНапоминание про SQL-инъекции, пароли — плюс на защите

План снижает число итераций «переделай всё» после первого черновика кода.


5. Сравнение двух подходов

Задача: курсовой раздел «сравнение технологий» или выбор для pet-проекта.

Роль: архитектор бэкенда.
Сравни: хранить сессии в Redis и JWT в cookie для SPA.
Критерии: масштаб до 10k пользователей, отзыв сессии, ops-нагрузка.
Формат: таблица критерий × вариант (плюс/минус одной фразой) + рекомендация для MVP.
Объём: до 400 слов.

Разбор: Критерии: заставляет сравнивать по делу, а не писать рекламу Redis. MVP — ответ приземлённый, для первой версии сайта.


Библиотека по задачам

Готовые промпты для частых запросов — каждый с блоком Разбор, Что получите и Типичные ошибки.


1. Новая функция на Python

Задача: лабораторная «написать функцию», проверка email/пароля, разбор строки — с type hints и pytest, как требует преподаватель.

Роль: senior Python-разработчик.
Контекст: Python 3.12, только stdlib, pytest уже в проекте.
Задача: функция validate_email(s: str) -> bool — упрощённая проверка по RFC 5322.
Ограничения:
- type hints обязательны;
- docstring на русском (один абзац);
- если s is None — ValueError с текстом "email must be str".
Формат ответа:
1) код функции в одном блоке;
2) три pytest-теста (валидный, невалидный, None).
Без пояснений вне кода.

Разбор построчно:

Строка / блокСмысл
senior Python-разработчикСтиль «как в индустрии» — hints, docstring, явные исключения
Python 3.12Версия влияет на синтаксис (str | None vs Optional)
только stdlibБез pip install email-validator
pytest уже в проектеТесты в формате def test_...
упрощённая проверка по RFC 5322Честное ожидание — не идеальная валидация всех edge cases почты
ValueError при NoneЯвное требование — иначе модель вернёт False или упадёт иначе
три pytest-тестаГотовый каркас для сдачи
Без пояснений вне кодаОдин блок для копирования в solution.py

Что получите: файл validate_email.py и test_validate_email.py, которые можно запустить:

pytest -q

Типичные ошибки:

  • Не запустили тесты — на защите падает тест преподавателя.
  • Скопировали код с «умными» импортами — from email_validator import … при запрете stdlib.
  • Попросили «самый лучший email regex» — получите нечитаемую простыню; для учёбы достаточно упрощённой проверки.

Попробуйте: замените задачу на is_palindrome(s: str) -> bool или count_words(text: str) -> int.


1б. Домашка по программированию — подсказки, без готового решения

Задача: вы застряли на задаче, но нужно понять, а не сдать чужой код (важно для школы и вуза).

Роль: репетитор по программированию на Python.
Контекст: ученик 10–11 класс, сдаёт домашку сам.
Условие задачи:
<вставка условия с сайта олимпиады / учебника>

Мой код (если есть):
<вставка — можно пусто>

Задача:
1) пересказ условия своими словами;
2) с чего начать (первый шаг, без полного кода);
3) одна подсказка — наводящий вопрос;
4) пример входа/выхода для самопроверки.
Запрет: не писать полное решение и не давать готовую программу целиком.

Разбор:

СтрокаСмысл
репетиторМягкий тон, обучение
сдаёт домашку самЭтическая рамка для модели
Запрет: не писать полное решениеГлавная строка — без неё ChatGPT часто выдаёт весь код
наводящий вопросТолчок к мысли («что хранить в переменной?»)

Типичные ошибки: написали «решите задачу 5» без условия — модель выдумает другую задачу 5.

См. также ЕГЭ / олимпиада и алгоритмы на Python.


1в. План реферата или доклада

Задача: структура на 5–15 минут выступления или текст на 2–3 страницы — план, а не готовый списанный реферат.

Роль: методист, помогает структурировать доклад.
Тема: Кибербезопасность в школе — основные угрозы и привычки.
Аудитория: 9 класс, 10 минут устно.
Задача: план доклада без готового сплошного текста.
Формат:
- цель доклада (1 предложение);
- план из 5 разделов с подпунктами (2–3 буллета на раздел);
- 3 термина с простыми определениями;
- 2 вопроса для класса в конце;
- список из 3 типов источников (книга, сайт, видео) — без выдуманных URL.
Объём плана: до 400 слов.

Разбор: без готового сплошного текста и без выдуманных URL снижают списывание и ложные ссылки. вопросы для класса — готовый блок для презентации.


2. Отладка по логу

Задача: сервер или учебный backend пишет лог — найти причину 500 или ERROR.

Роль: SRE, разбор инцидента.
Контекст: микросервис на Node 20, PostgreSQL 16.
Симптом: HTTP 500 на POST /api/orders при amount=0.
Фрагмент лога (20 строк вокруг ошибки):
<вставка>

Задача:
1) гипотеза причины (1–2 предложения);
2) что проверить в коде (список из 3 пунктов);
3) временный workaround для прода (если есть) — с пометкой «временно».
Не выдумывай строки лога — опирайся только на вставку.

Разбор:

СтрокаСмысл
Симптом: HTTP 500 … amount=0Конкретный запрос и параметр — модель ищет деление на ноль, CHECK в БД
20 строк вокругДостаточно stack trace, без мегабайта лога
Не выдумывай строки логаБез этой строки модель «дорисует» несуществующий NullPointer
workaround … временноОтделяет костыль от нормального фикса

Фильтрация логов в файле — Python — работа с файлами и текстом.


2б. Объясни код построчно

Задача: учитель дал чужой код, лекция с примером на GitHub — нужно понять каждую строку.

Роль: преподаватель Python для новичка.
Контекст: ученик видит код впервые, знает только переменные и if/for.
Код:
<вставка 15–40 строк>

Задача: разбор построчно.
Формат для каждой значимой строки:
- номер строки;
- что делает (одно предложение простыми словами);
- зачем в общей логике программы.
В конце: что выведет программа при запуске (если можно вывести без input).
Не переписывай код — только объяснение.

Разбор:

СтрокаСмысл
знает только переменные и if/forОграничивает объяснение — без декораторов и метаклассов
номер строкиУдобно сопоставлять с редактором
что выведет программаПроверка понимания — запустите сами и сверьте

Попробуйте: вставьте свой код после Turtle и спросите, зачем t.left(120) в цикле.


3. Рефакторинг с сохранением поведения

Задача: курсовой на React — вынести логику в хук, не сломав тесты.

Контекст: React 18 + TypeScript, Vite.
Файл (фрагмент):
<вставка кода>

Задача: вынести логику фильтрации заказов в хук useOrderFilter.
Сохранить поведение: тесты ниже должны проходить без изменений.
<вставка тестов>

Формат ответа: только unified diff, без пояснений.

Разбор:

СтрокаСмысл
React 18 + TypeScriptТипы в хуке, не JavaScript
тесты ниже должны проходитьКонтракт — модель не меняет поведение
только unified diffПатч для git apply, без лишней прозы

Тот же шаблон в Генерации кода. UI-рецепты — React.


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

Задача: преподаватель требует JUnit / pytest — написать тесты к уже готовому классу.

Роль: инженер по качеству.
Контекст: Java 21, JUnit 5, Mockito не подключать.
Модуль под тест:
<вставка класса>

Задача: unit-тесты на публичные методы.
Покрыть: happy path, пустой ввод, граничное значение, одна ожидаемая ошибка.
Формат: один класс *Test.java, имена методов на английском, комментарии Given/When/Then на русском — одна строка на блок.

Разбор:

СтрокаСмысл
happy pathОбычный успешный сценарий
пустой ввод"", пустой список — частый баг
граничное значение0, max, граница массива
ожидаемая ошибкаassertThrows — исключение там, где нужно
Mockito не подключатьВ учебном проекте без лишних jar

5. Code review диффа

Задача: перед сдачей лабораторной в Git — быстрый просмотр своего diff.

Роль: ревьюер с фокусом на безопасность и сопровождаемость.
Diff:
<вставка unified diff>

Задача: ревью для автора PR.
Формат:
- BLOCKER — что нельзя мержить;
- WARNING — что исправить до релиза;
- NIT — стиль, по желанию;
- вопросы автору (не больше 3).
Не переписывай весь патч — только замечания.

Разбор: BLOCKER / WARNING / NIT — приоритеты как в GitHub/GitLab. не больше 3 вопросов — фокус, без простыни.


6. Документация и README

Роль: технический писатель.
Контекст: open-source CLI на Go 1.22, команда `mytool sync`.
Аудитория: разработчик, первый запуск за 5 минут.
Задача: черновик README.md.
Обязательные секции: Установка, Быстрый старт, Примеры команд, Переменные окружения, Лицензия MIT.
Тон: нейтральный, без маркетинговых штампов.
Формат: готовый markdown, без вступления «вот README».

Шаблоны для .gitignore и структуры репозитория — Шаблоны.


7. Regexp по описанию на русском

Роль: автор учебника по регулярным выражениям.
Задача: шаблон для проверки российского мобильного +7XXXXXXXXXX в форме (вся строка).
Дай: шаблон, разбор по частям (таблица), примеры Python re.fullmatch — 3 строки «строка → да/нет».
Ссылка на углубление: готовые паттерны в /lab/Примеры/615.

Готовая галерея — Regex — готовые паттерны.


8. RAG — ответ только по контексту

Задача: бот по учебнику, регламенту компании или вашей энциклопедии — отвечать только по вставленным фрагментам.

System:
Ты помощник по внутренней базе знаний компании.
Отвечай ТОЛЬКО на основе блоков «Контекст» ниже.
Если ответа нет в контексте — напиши: «В предоставленных документах этого нет» и предложи, что уточнить у человека.
Не придумывай ссылки и номера статей.

User:
Вопрос: <вопрос пользователя>

Контекст:
---
<чанк 1>
---
<чанк 2>
---

Формат ответа: краткий ответ (до 120 слов) + список цитат (название документа, абзац).

Разбор построчно:

БлокСмысл
System:Правила на всю сессию — «не фантазируй»
ТОЛЬКО на основе блоковЗапрет дополнять из «памяти» модели
Фраза «в документах этого нет»Готовая формулировка отказа — меньше выдуманных фактов
--- между чанкамиВизуально разные источники — проще ссылаться
список цитатПроверка: откуда взята каждая мысль
до 120 словКороткий ответ для виджета на сайте

Учебный мини-пример чанка: вставьте два абзаца из своего конспекта и спросите то, чего нет во втором абзаце — модель должна ответить отказом.

Версионирование промптов в git — AgentOps.


9. Структурированный JSON

Задача: из письма или отзыва сделать JSON для таблицы Excel / базы — без ручного разбора.

Роль: парсер заявок в службу поддержки.
Вход: письмо пользователя (plain text):
<вставка>

Задача: извлечь поля в JSON.
Схема (строго эти ключи, без лишних):
{
"topic": "billing|tech|other",
"urgency": "low|medium|high",
"summary": "string до 200 символов",
"needs_human": boolean
}

Формат ответа: один JSON-объект, без markdown-ограждений, без комментариев.
Если поле неизвестно — null для строк, false для needs_human только если явно не требуется человек.

Разбор:

СтрокаСмысл
billing|tech|otherЗакрытый список — модель не придумает spam
до 200 символовОграничение summary для UI
без markdown-огражденийЧистый JSON для json.loads() в Python
null / falseПравила для неполных данных — меньше выдуманных полей

Код вызова API с response_formatOpenAI / API, параметры — 118.


10. Учёба — задача ЕГЭ / олимпиада

Задача: задача 5–27 ЕГЭ по информатике или олимпиадный блок — ступени подсказок, как на разборе у репетитора.

Роль: репетитор по информатике, не решай задачу целиком за ученика.
Условие:
<вставка>

Задача:
1) пересказ условия своими словами;
2) подсказка 1 (наводящий вопрос, без кода);
3) подсказка 2 (идея алгоритма, без полной программы);
4) самопроверка — 2 тестовых примера вход/выход.
Формат: без готового кода решения.

Разбор:

ПунктСмысл
пересказ условияПроверка, что вы поняли, что дано и что найти
подсказка 1Вопрос («что если отсортировать?»)
идея алгоритмаЖадность, два указателя, DP — без реализации
2 тестовых примераРучная прогонка на бумаге
без готового кодаЭтика и реальная подготовка к экзамену

Типичные ошибки: вставили только номер задачи с сайта без текста — модель угадает другое условие. Скопируйте полное условие.

Готовые алгоритмы на Python — ЕГЭ и олимпиадка.


Второй запрос — когда первый ответ «почти тот»

Не переписывайте весь промпт. Добавьте одно уточнение с фактом — traceback, текст теста, «слишком длинно».

Уточнение к предыдущему ответу.
Проблема: <одно предложение — что не так>
Факт: <traceback / вывод pytest / фрагмент ответа модели>
Задача: исправь только <функцию X / абзац 2 / тест Y>, остальное не меняй.
Формат: <тот же, что в первом промпте>.

Разбор:

СтрокаСмысл
к предыдущему ответуМодель использует контекст чата
исправь только …Меньше «переписали весь проект»
Факт:Конкретика вместо «не работает»

Пример для pytest:

Уточнение к предыдущему ответу.
Проблема: тест test_none падает.
Факт: AssertionError: did not raise ValueError
Задача: исправь только validate_email и test_none, остальное не меняй.
Формат: два блока кода без пояснений.

Техники prompt engineering

Краткий справочник приёмов — добавляйте к шаблонам выше, как t.speed(0) добавляют к черепашке в 111.

ТехникаЧто добавить в промптКогда помогает
Zero-shotТолько задача и форматПростые запросы, экономия токенов
Few-shot2–3 примера «вход → выход»Единый стиль, классификация, парсинг
Chain-of-thought«Сначала шаги рассуждения, потом ответ»Математика, сложная логика
Роль«Ты …»Тон, глубина, домен
Ограничение формата«Только таблица / только diff»Меньше лишнего текста
Негативные примеры«Не делай X»Запрет секретов, лишних зависимостей

Few-shot — пример с разбором

Задача: классифицировать обращения в поддержку или тип вопроса в чате куратора.

Классифицируй тикет в одну метку: bug, feature, question.

Примеры:
Вход: "приложение падает после входа" → bug
Вход: "добавьте тёмную тему" → feature
Вход: "где скачать счёт?" → question

Вход: "не приходит SMS код второй день"
Ответ (одно слово):

Разбор построчно:

СтрокаСмысл
одну метку: bug, feature, questionЗакрытый список — модель не придумает urgent
Примеры: + три строкиОбразец формата «вход → метка»
→ bugСтрелка фиксирует шаблон ответа
Последний Вход: без ответаМодель продолжает паттерн на ваших данных
одно словоОтвет bug, а не абзац объяснения

Что получите: одно слово для автоматической маршрутизации или тега в таблице.

Chain-of-thought — фрагмент

Реши задачу. Сначала выпиши шаги рассуждения нумерованным списком, затем финальный ответ в отдельной строке «Ответ: …».

Разбор: разделение «ход мысли» и «итог» помогает проверить логику на контрольной. Для сдачи кода в проде часто достаточно тестов без публикации рассуждений.

Параметры temperature и reasoning-модели — 118.


Промпт для IDE-агента (Cursor и аналоги)

Чат и агент решают разные задачи. В репозитории правила в .cursor/rules или AGENTS.md — это долгоживущий system-промпт.

Проект: учебный сайт на Docusaurus 3, React 18.
Стиль кода: функциональные компоненты, без default export в новых файлах.
Запреты: не добавлять зависимости без согласования; не трогать package-lock вручную.
При правке docs/*.md: пустая строка после frontmatter ---; callout только HTML (см. правила репозитория).
Перед коммитом: npm run build должен проходить.
ДействиеЧатАгент
Объяснить ошибкуизбыточно
Правка 12 файлов + тестычастично✓ с лимитами
npm install без reviewтолько с подтверждением

Подробнее — Генерация кода, связка с IDE.


Типичные ошибки

ОшибкаЧто происходитКак исправить
Размытая задача«Сделай сайт» → общий шаблонВход, выход, стек, критерии готовности
«Реши домашку» без запретаГотовый код на 80 строкСтрока «без полного решения» как в
Секреты в промптеУтечка в логи провайдераEnv, секрет-хранилище, локальная модель
Весь репозиторий в чатОбрезка контекста, путаница30–80 строк эталона + путь к файлу
Нет формата ответаПроза вместо кода«Только блок кода» / «только diff»
Нет проверки«Зелёный» чат, красный на защитеЗапуск, pytest, вопросы преподавателю
Один промпт на всёРазный стиль ответовОтдельные шаблоны из этой статьи
Слепое копированиеПлагиат, бан на экзаменеПересказ своими словами, ссылка на источник
Секреты и персональные данные

API-ключи, пароли prod, ФИО и медданные клиентов в публичный чат не отправляйте. Для корпоративного кода — одобренный тенант (Copilot Enterprise, Vertex с DPA, Ollama on-prem). Подробнее — ответственное использование ИИ.


Практика — пять мини-заданий

Подходит для самостоятельной работы или занятия в кружке — как отработка Turtle после теории.

  1. Объяснение. Промпт «Объяснение темы», тема «DNS и IP-адрес». Сравните ответ с лимитом 300 слов и без лимита.
  2. Код. Шаблон «Новая функция» для is_prime(n). Запустите pytest, при падении — уточнение.
  3. Ошибка. Специально сломайте индекс в списке, вставьте traceback в промпт 2.
  4. RAG. Два абзаца конспекта, вопрос вне второго абзаца — ждите отказ по шаблону 8.
  5. ЕГЭ. Условие с kompege.ru или учебника — только подсказки раздела 10.

Чек-лист перед отправкой промпта

  • Одна главная задача в одном сообщении (или явно пронумерованные подзадачи).
  • Указаны стек и версии, если речь о коде.
  • Вставлен только нужный фрагмент кода/лога, без секретов.
  • Задан формат ответа (код, diff, JSON, таблица).
  • Перечислены граничные случаи или тесты «должны пройти».
  • Для merge — план проверки (pytest, eslint, npm run build).

Осознанный цикл «промпт → проверка → merge» разобран в вайб-кодинге — там же, чем помогает prompt engineering при размытых запросах.


Связанные материалы

МатериалЗачем открыть
Большие языковые моделитеория LLM, токены, обучение
Генерация кодаChatGPT, Gemini, DeepSeek, цикл review
Параметры генерацииtemperature, top_p, JSON mode
OpenAI / API — вызовыPython, curl, streaming, JSON mode
Вайб-кодингантипаттерны без контроля
AgentOpsпромпты в git, eval перед prod
Regex — готовые паттернышаблоны для полей форм
ШаблоныREADME, .gitignore, SQL
Turtle — примерытот же формат «код + разбор» для Python
ЕГЭ Pythonалгоритмы после подсказок из промпта

Для преподавателя и автора курса

Статью можно давать как шпаргалку промптов на занятии по ИИ или информатике: ученики выбирают шаблон под задачу, меняют <вставка>, сдают свой пересказ или код с прогоном. В задании укажите: «приложить скрин промпта и свой итог после проверки» — так видно работу с ИИ, а не списывание.


См. также

Другие статьи этого же раздела в боковом меню (как на странице "О разделе").

Освоение главы0%