Анатомия промпта, токены, контекстное окно, температура, top_p — фундамент для всего курса
Промпт-инжиниринг — это не про «волшебные слова». Это инженерная дисциплина с воспроизводимыми паттернами, измеримыми метриками и систематическим процессом.
Промпт-инжиниринг — дисциплина проектирования входных запросов (промптов) к языковым моделям с целью получить предсказуемый, качественный результат.
Проблема, которую решает промпт-инжиниринг: один и тот же вопрос, сформулированный по-разному, даёт кардинально разные ответы.
Сравните два промпта для одной задачи:
Плохо:
Напиши про Python.
Хорошо:
Ты — технический писатель. Напиши статью для начинающих разработчиков
о трёх главных преимуществах Python перед другими языками программирования.
Объём: 200-250 слов. Стиль: доступный, без жаргона.
Второй промпт задаёт роль, аудиторию, конкретную задачу, объём и стиль — и даёт предсказуемый результат.
Языковые модели (GPT-4, Claude, Gemini) работают как предсказатели следующего токена. Они не «понимают» текст в человеческом смысле — они вычисляют вероятности.
Что такое токен
Токен — минимальная единица обработки. Это не всегда слово:
Правило большого пальца: 1 токен ≈ 0.75 слова на английском, для русского — меньше (1 слово = 2-4 токена).
Вероятностная генерация
Модель не выбирает «правильный» ответ — она семплирует из распределения вероятностей. Это значит:
Два главных параметра управления генерацией:
Temperature (0 — 2)
Управляет «случайностью» вывода. Технически: делит логиты перед softmax.
temperature = 0 — всегда выбирается токен с максимальной вероятностью. Детерминированный вывод.temperature = 0.7 — сбалансированный вывод (умеренное разнообразие)temperature = 1.0 — «нативное» распределение моделиtemperature > 1.0 — высокая случайность, рискует стать бессвязнымКогда использовать:
0.0 – 0.30.3 – 0.50.5 – 0.80.8 – 1.0top_p (nucleus sampling)
Альтернатива температуре. Вместо сглаживания всего распределения — обрезает его: рассматривает только токены, чья суммарная вероятность ≥ p.
top_p = 0.1 — только самые вероятные токены (похоже на low temperature)top_p = 0.9 — 90% вероятностной массы (умеренно)top_p = 1.0 — все токены (полное распределение)Важно: обычно меняют либо temperature, либо top_p, но не оба сразу. Комбинирование даёт непредсказуемые эффекты.
Контекстное окно — максимальное количество токенов, которое модель может «видеть» за один раз. Это сумма токенов prompt + completion.
Примеры (2025-2026):
Практические последствия
Стратегии управления контекстом:
Эффективный промпт состоит из компонентов. Не все нужны всегда — набор зависит от задачи.
Основные компоненты
[Роль/Persona]
Ты — опытный Python разработчик с 10 летним опытом backend-разработки.
[Инструкция/Задача]
Проведи code review следующего фрагмента кода.
[Контекст]
Код — часть FastAPI приложения, обрабатывающего финансовые транзакции.
[Входные данные]
'''python
def process_payment(amount, user_id):
db.execute(f"INSERT INTO payments VALUES ({amount}, {user_id})")
'''
[Индикатор вывода]
Найди все проблемы безопасности и производительности. Для каждой проблемы
укажи: что не так, почему это проблема, и как исправить.
Когда какой компонент нужен
| Компонент | Когда добавлять |
|---|---|
| Роль | Всегда — даже простая роль улучшает качество |
| Инструкция | Обязательно — что именно сделать |
| Контекст | Когда задача неочевидна без фона |
| Входные данные | Когда обрабатываем конкретный текст/код/данные |
| Формат вывода | Когда нужен структурированный ответ |
| Ограничения | Когда нужно ограничить поведение модели |
1. Ясность и конкретность
Неплохо: Напиши письмо клиенту
Лучше: Напиши вежливое email-письмо клиенту Ивану Петрову с извинением за задержку доставки на 3 дня. Предложи скидку 10% на следующий заказ. Тон: официальный, но тёплый.
2. Один промпт — одна задача
Сложные multi-step задачи лучше разбить на цепочку промптов, чем пытаться сделать всё в одном.
3. Указывайте формат
Если нужен список — скажите «в виде списка». JSON? Укажите схему. Таблица? Попросите markdown таблицу.
4. Примеры дороже объяснений
Вместо «пиши кратко» — покажите пример краткого ответа. Вместо «используй деловой тон» — приведите образец.
5. Негативные инструкции работают хуже позитивных
Неплохо: Не используй технический жаргон
Лучше: Используй только слова понятные неспециалисту. Вместо 'алгоритм' говори 'последовательность шагов'.
Промпт-инжиниринг — итерационный процесс:
1. Первая версия
Напишите простейший промпт для задачи
2. Тест на нескольких примерах
Проверьте на 5-10 различных входных данных
3. Диагностика провалов
Где модель ошибается? Почему?
4. Гипотеза об улучшении
Что изменить в промпте?
5. Изменение и повторный тест
Сравните с baseline
6. Регрессионный тест
Новое изменение не сломало то что работало?
Хороший промпт редко получается с первого раза. Промпт-инжиниринг — это инженерная работа, и она требует итераций.
Вопросы ещё не добавлены
Вопросы для этой подтемы ещё не добавлены.