Few-shot примеры как надо
Few-shot-промптинг означает показ модели нескольких разобранных примеров задачи, прежде чем попросить выполнить новую. Сделанный хорошо, это самый быстрый способ зафиксировать формат, стиль или поведение в пограничных случаях — зачастую лучше, чем описывать желаемое словами.
Почему примеры лучше описаний
«Будь кратким и дружелюбным» расплывчато. Показ двух кратких, дружелюбных выводов однозначен. Модель сопоставляет паттерн примеров и продолжает его.
Чистый few-shot-промпт
Classify each support message as: billing, bug, or feature.
Message: "I was charged twice this month."
Label: billing
Message: "The app crashes when I upload a photo."
Label: bug
Message: "Can you add dark mode?"
Label: feature
Message: "My subscription renewed at the wrong price."
Label:
У модели есть паттерн; она завершает последнюю строку.
Как подбирать и форматировать примеры
- Охватывайте разнообразие, особенно пограничные случаи, которые вам важны. Если категория редкая или каверзная, включите её.
- Держите примеры согласованными по формату — одна структура, одни метки, одни разделители. Несогласованность учит несогласованности.
- 2–5 часто достаточно. Больше помогает для сложных/разнородных задач, но стоит токенов и может привести к переобучению на особенностях примеров.
- Порядок может иметь значение — ставьте самые понятные примеры первыми; для классификации не группируйте все примеры одной метки вместе.
- Используйте разделители (или XML-теги), чтобы отделить примеры от живого ввода.
Zero-shot против few-shot
Сначала попробуйте zero-shot (просто спросите) — современные модели сильны. Добавляйте примеры, когда вам нужен конкретный формат/стиль или задача неоднозначна. Если zero-shot уже справляется на отлично, не платите за примеры.
:::tip Примеры — это данные, держите их чистыми Неверный или небрежный пример активно учит неправильному. Курируйте их, как обучающие данные. :::