Примеры задают границу лучше абзацев
Абзац объясняет правило, пример показывает границу. Few-shot особенно силён там, где слова буксуют: формат, тон, классификация, неоднозначные случаи. И сила примеров не в количестве, а в покрытии разных классов поведения.
Хороший набор - это не десяток похожих удач, а по одному представителю на каждый класс: обычный ответ, уточнение, отказ, конфликт. Пример показывает не только правильный вход, но и правильную реакцию на неудобный.
<examples>
<example kind="answer">
<input>Можно вернуть товар через 20 дней?</input>
<evidence>kb-returns: срок 30 дней</evidence>
<output answerability="answer" source_id="kb-returns" />
</example>
<example kind="clarify">
<input>Можно его вернуть?</input>
<evidence>правила зависят от категории</evidence>
<output answerability="clarify" question="Какой это товар?" />
</example>
<example kind="escalate">
<input>В политике две разные даты.</input>
<evidence>источники противоречат</evidence>
<output answerability="escalate" reason="policy_conflict" />
</example>
</examples>Чтобы увидеть, все ли классы у вас закрыты, отметьте их - счётчик покажет покрытие.
Интерактивная лаборатория 3
Покрытие few-shot набора
0% покрытия классов Набор показывает только happy path.
Но с примерами легко переусердствовать.
Не кодируйте весь мир примерами. Большая коллекция поглощает context и может переобучить поведение на случайные детали. Добавляйте пример тогда, когда он закрывает наблюдаемый failure mode, а не для полноты.