Малослучайное подсказывание

Тема дорожной карты · Большие языковые модели (LLM)

Малослучайное подсказывание (few-shot prompting) представляет собой технику, при которой несколько пар входных и выходных данных включаются прямо в промпт, чтобы указать модели желаемый формат и стиль вывода без необходимости в обучении или перетренировке модели. Эта методика использует способность моделей к обучению в контексте (in-context learning), которая была продемонстрирована в статье о GPT-3. Обычно 2–5 хорошо подобранных примеров обеспечивают максимальный эффект, при этом использование большего количества примеров может привести к переполнению контекстного окна и ухудшению результатов. Методика chain-of-thought few-shot (показ пошаговых рассуждений в примерах) особенно эффективна для решения математических, логических и многошаговых задач.

Как это работает

Малослучайное подсказывание — это искусство написания промптов, которые стабильно дают желаемый output. Основные техники включают чёткое определение роли и задачи, пошаговую декомпозицию, явное указание формата вывода (например, JSON или XML), использование few-shot примеров, chain-of-thought подход и ограничения (например, длина, тон и формат). System-промпт задаёт постоянный контекст, в то время как user/assistant-ходы определяют структуру разговора. Разные семейства моделей могут по-разному реагировать на промпты — то, что работает для модели Claude, может требовать тюнинга для GPT или локальных моделей.

Когда применять

Малослучайное подсказывание следует применять до fine-tuning модели, так как хорошо инженерный промпт часто даёт лучший результат, чем fine-tuned модель, и не требует затрат на перетренировку. Важно явно указывать формат вывода. Для сложных задач рекомендуется использовать few-shot примеры (3-5), которые демонстрируют желаемый паттерн. Для задач, требующих многошагового рассуждения, следует использовать подход "думай шаг за шагом". Тестирование на крайних случаях (edge cases) помогает выявить потенциальные проблемы и улучшить качество вывода. Необходимо поддерживать библиотеку промптов и версионировать промпты как код.

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

Типичные ошибки при использовании малослучайного подсказывания включают расплывчатые промпты, которые не дают ясного представления о том, что означает "хороший output". Также часто промпты не тестируются на разнообразных входных данных, что может привести к ситуации, когда промпт работает на любимом примере, но падает при использовании реальных данных. Проблема prompt injection (недоверенный input перебивает инструкции) может быть решена с помощью санитайзации и чётких разделителей. Наконец, излишнее усложнение промптов (например, 5000-словный промпт с конфликтующими правилами) может привести к нежелательным результатам; в таких случаях проще обычно лучше.

Связанные понятия

Полезные ресурсы