prompts_guide_mini

0
6 месяцев назад
5 месяцев назад
6 месяцев назад
README.md

Подборка стратегий промптинга

Основные принципы

В любой эффективный промпт стоит заложить чёткую структуру:

  • Цель (Task) — что нужно выполнить.
  • Роль (Persona) — от чьего имени или в каком стиле отвечать.
  • Формат (Format) — как должен выглядеть результат (таблица, JSON, список и т. д.).
  • Ограничения (Constraints) — длина ответа, запрещённые темы, ограничения по времени и т. п.
  • Критерии оценки (Rubric) — показатели качества: точность, полнота, стиль.

1. Zero-shot и Few-shot

  • Zero-shot: даём только инструкцию и просим выполнить задачу «с нуля».
  • Few-shot: включаем несколько примеров вход-выход прямо в промпт, чтобы исключить неоднозначность и задать нужный стиль.

2. Chain of Thought (CoT)

Побуждаем модель выдавать «мыслительный процесс» перед финальным ответом.

Пожалуйста, реши задачу по шагам: 1. Анализ проблемы 2. Вывод гипотез 3. Окончательный ответ

Так можно значительно улучшить рассуждения по сложным задачам.


3. Разбиение на этапы (Prompt Chaining)

Вместо одной громоздкой инструкции:

  1. Первый промпт собирает данные или контекст.
  2. Второй обрабатывает их и генерирует промежуточный результат.
  3. Третий итогово формирует ответ.

Так легче отлаживать каждый шаг и управлять сложностью.


4. Ролевое и аудитория-ориентированное промптирование

Указываем модель:

  • «Представь, что ты преподаватель для студентов-бакалавров…»
  • «Сформулируй ответ как для технического руководителя, кратко и по делу».

Это помогает адаптировать тон и глубину изложения.


5. Управляемый выход (Structured Output)

Задаём конкретный формат:

Ответ выдай в JSON: { "ключевая_идея": "...", "рекомендации": ["...", "..."] }

Или:

Напиши таблицу с колонками: «Задача», «Сложность», «Рекомендации».


6. Итеративная доработка и самокритика

Добавляем в промпт:

«Оцени свой же ответ: что можно улучшить? Исправь ошибки и выведи окончательный вариант.»

Это реализует механизм self-reflection и повышает качество.


7. Агрегация и параллельная обработка (Skeleton-of-Thought)

  1. Сначала просим модель сгенерировать «скелет» ответа (основные пункты).
  2. Затем для каждого пункта — параллельный вызов, который разворачивает детальную подпункты.
  3. Собираем всё в финальную структуру.

Так ускоряется генерация при большом объёме текста.


8. Префиксы и метки

  • Input prefix (например,
    Context:
    ) разделяет разные секции промпта.
  • Output prefix (
    Answer:
    ) задаёт начало модели-ответа.
  • Example prefix (
    Example:
    ) помечает демонстрационные кейсы.

Метками улучшается парсинг и понимание структурированных частей.


9. Тестирование на ввод-инъекции (Prompt Injection)

Всегда проверяйте:

«Если пользователь попытается обойти инструкции, как модель должна реагировать?»

Добавьте условия блокировки нежелательных подпромтов.


10. Комбинирование стратегий

Часто наилучший результат даёт сочетание:

few-shot + CoT + ролевое промптирование + структурированный вывод

Экспериментируя с разными комбинациями, можно найти оптимальный рецепт для конкретной задачи.