AI и машинное обучение

Учебник Промпт-инжиниринг для начинающих

25 уроков · 6 разделов · бесплатно, без регистрации

Большие языковые модели мощные, но капризные: один и тот же вопрос, заданный по-разному, даёт результат от мусора до готового решения. Этот курс — про то, как формулировать запросы так, чтобы модель стабильно выдавала нужное. Мы разберём, почему формулировка вообще решает всё (через предсказание токенов), пройдём базовые техники (few-shot, роли, делимитеры), научимся управлять рассуждением (chain-of-thought, декомпозиция, self-consistency), получать строгий структурированный вывод (JSON, таблицы), бороться с галлюцинациями, а в конце соберём промпты как часть приложения: шаблоны, версионирование, тесты, защита от инъекций и оптимизация по токенам. Курс для разработчиков и продвинутых пользователей LLM. Везде — конкретные примеры «плохой промпт → хороший» с разбором, почему лучше.

Курс «Промпт-инжиниринг» состоит из 6 разделов и 25 уроков: Основы промптинга, Базовые техники, Рассуждение и декомпозиция, Структурированный вывод и контроль, Продвинутые паттерны и Практика и продакшн. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.

Программа курса

  1. 1 Основы промптинга

    1. Что такое промпт и почему формулировка решает всё

      Промпт — это весь вход модели. Почему мелкая разница в формулировке меняет результат и как думать о промпте как об интерфейсе к LLM.

    2. Как LLM «понимает» инструкцию: предсказание токенов

      Модель не исполняет инструкции, а предсказывает следующий токен. Что это значит для промптинга и почему контекст направляет вывод.

    3. Анатомия хорошего промпта

      Пять кирпичей сильного промпта: роль, задача, контекст, формат вывода и ограничения. Разбор на примере плохой → хороший.

    4. Типичные ошибки и итеративная отладка промпта

      Расплывчатость, противоречия, перегруз — главные ошибки промптинга. Как отлаживать промпт итеративно, меняя по одному фактору.

  2. 2 Базовые техники

    1. Zero-shot и few-shot: почему примеры работают

      Разница между zero-shot и few-shot промптингом. Почему 2–3 примера в промпте резко повышают точность и формат ответа.

    2. Качество и подбор примеров

      Какие примеры класть в few-shot: разнообразие, граничные случаи, сбалансированность классов, единый формат. Частые ошибки подбора.

    3. Роль и персона: system prompt

      Что такое system prompt, чем он отличается от обычного сообщения и как роль/персона задаёт стиль, экспертизу и правила поведения модели.

    4. Формат вывода и делимитеры

      Как явно задавать формат ответа и зачем отделять инструкции от данных делимитерами — для надёжности и защиты от промпт-инъекций.

  3. 3 Рассуждение и декомпозиция

    1. Chain-of-thought: думай пошагово

      Почему просьба рассуждать пошагово повышает точность на задачах с логикой и арифметикой. Механика chain-of-thought на примерах.

    2. Zero-shot CoT и few-shot CoT

      Два способа включить пошаговое рассуждение: магическая фраза zero-shot CoT и примеры с рассуждениями few-shot CoT. Когда что выбирать.

    3. Декомпозиция сложных задач

      Как разбивать большую задачу на подзадачи и решать их последовательными промптами. Цепочка вместо одного перегруженного запроса.

    4. Self-consistency и границы CoT

      Self-consistency: несколько прогонов с голосованием за ответ. И обратная сторона — когда chain-of-thought не нужен или даже вреден.

  4. 4 Структурированный вывод и контроль

    1. Строгий JSON и табличный вывод

      Как заставить LLM возвращать валидный JSON по схеме: пример структуры, правила для пустых полей, «только JSON без пояснений».

    2. Контроль длины, стиля и отказов

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

    3. Снижение галлюцинаций

      Почему LLM выдумывают факты и как это снизить: заземление на контекст, разрешение говорить «не знаю», просьба ссылок и проверяемость.

    4. Краевые случаи и проверяемость

      Как заранее описать поведение модели на пустом, неоднозначном и некорректном вводе и как делать вывод самопроверяемым.

  5. 5 Продвинутые паттерны

    1. Промпт-цепочки: выход → вход

      Как строить пайплайны из промптов, где результат одного шага подаётся в следующий. Преимущества по сравнению с одним мегапромптом.

    2. ReAct: рассуждение и действия

      Паттерн ReAct — чередование рассуждения и вызова инструментов (поиск, калькулятор, API). Как идея позволяет модели действовать, а не только говорить.

    3. Длинный контекст и мета-промптинг

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

    4. Few-shot для классификации и извлечения

      Как применять few-shot для надёжной классификации и извлечения сущностей: фиксированные метки, единая разметка, краевые примеры.

  6. 6 Практика и продакшн

    1. Промпт как часть приложения: шаблоны и переменные

      Как собирать промпт из шаблона и переменных в коде. Запускаемый пример на Python: подстановка данных, разделение шаблона и контента.

    2. Версионирование и тестирование промптов

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

    3. Безопасность: инъекции и jailbreak

      Промпт-инъекции и jailbreak: как пользовательский ввод перехватывает инструкции и какие приёмы защиты реально снижают риск.

    4. Токены, стоимость и переносимость моделей

      Как промпт влияет на стоимость через токены, приёмы оптимизации и почему один промпт по-разному работает на разных моделях.

    5. Чек-лист хорошего промпта

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