Элементы промпта
Анатомия промпта
Проблема: Ты просишь ИИ «Напиши что-нибудь хорошее» и получаешь размытый ответ. Но когда просишь точно — получаешь именно то, что нужно. В чём разница?
Решение: Думай как рецепт
Хороший промпт похож на рецепт блюда. Если просто сказать «приготовь что-то вкусное», повар не поймёт, что ты хочешь. Но в рецепте есть чёткая структура: ингредиенты, пропорции, шаги и ожидаемый результат.
Не все части обязательны
Не нужно использовать все элементы в каждом промпте. Простые вопросы требуют простых промптов. Но для сложных задач структура очень помогает:
- Быстрый вопрос: «Какая столица Франции?» — только задача
- Ревью кода: роль + контекст + задача + примеры
- Написание статьи: роль + контекст + задача + формат + ограничения
- Анализ данных: контекст + задача + формат + примеры
Элемент «Роль» часто задаётся через системный промпт, который определяет поведение модели ещё до сообщения пользователя.
Представьте это как рецепт с ключевыми ингредиентами:
- 1. Роль: кем должен быть ИИ? «Ты — опытный Python-разработчик»
- 2. Контекст: какая предыстория? «Я делаю REST API для интернет-магазина»
- 3. Задача: что конкретно нужно сделать? «Напиши функцию для валидации email-адресов»
- 4. Формат: как должен выглядеть результат? «Верни как Python-функцию с docstring и type hints»
- 5. Ограничения: какие есть лимиты? «Без внешних библиотек, Python 3.9+»
- 6. Примеры: покажи, что хочешь получить. «Для входа "test@email.com" верни True»
Совет профи: Порядок важен! Ставь самую важную информацию в начало и конец промпта — модели уделяют этим частям больше внимания. Это называется «эффект первичности и недавности» в когнитивной науке.
Где это применяется?
Интересный факт: Ключевые ингредиенты промпта как строительные блоки — Роль, Контекст, Задача, Формат, Ограничения и Примеры. Комбинируй их в зависимости от потребностей!
Попробуйте сами!
Кликай на элементы промпта, чтобы включать или выключать их. Заметь, как добавление каждого элемента делает выход точнее!
Включай и выключай элементы промпта — посмотри, как это влияет на качество ответа модели. Попробуй разные комбинации!
Что модель должна сделать. Чёткая задача или команда.
Дополнительная информация, которая помогает модели лучше понять задачу.
Данные, которые модель должна обработать.
Подсказка о формате ожидаемого ответа.
Ты — профессиональный переводчик. Сохраняй стиль и тон оригинала.
Переведи следующий текст на английский язык.
Текст: "Сегодня прекрасный день для прогулки в парке."
Перевод:
Собери промпт и нажми «Сгенерировать»
Контекст → Инструкция → Данные → Индикатор вывода. Такой порядок помогает модели лучше понять задачу.
Простые запросы могут содержать только инструкцию. Добавляй другие элементы по мере усложнения задачи.
Чёткое разделение элементов промпта помогает модели понять, что от неё ожидается. Инструкция отвечает на "что делать", контекст — на "как делать", входные данные — на "с чем работать", а индикатор вывода направляет формат ответа.
Попробуй сам
Интерактивное демо этой техники
Написать функцию для вычисления факториала числа
def factorial(n):
if n == 0:
return 1
return n * factorial(n-1)
def factorial(n: int) -> int:
"""Calculate factorial of n.
Args:
n: Non-negative integer
Returns:
Factorial of n
Raises:
ValueError: If n is negative
"""
if n < 0:
raise ValueError("n must be non-negative")
if n == 0 or n == 1:
return 1
return n * factorial(n - 1)
Низкая temperature (0.1) для кода обеспечивает более консистентный, документированный и безопасный результат.
Создайте бесплатный аккаунт для решения челленджей
4 челленджей с AI-проверкой для этого урока
Этот урок — часть структурированного курса по LLM.
Мой путь обучения