Few-shot-промптинг (промптинг с примерами)

Few-shot-промптинг — это техника, при которой промпт включает небольшое количество (обычно 2-10) готовых примеров — демонстраций точного формата ввода и желаемого формата вывода — прежде чем представить модели реальную задачу. Это даёт модели конкретный паттерн для подражания, а не полагается исключительно на её интерпретацию инструкции на естественном языке, и это один из самых эффективных и надёжных способов повысить согласованность вывода в промышленных LLM-приложениях. Few-shot-промптинг работает благодаря обучению в контексте (in-context learning): модели на основе трансформеров могут вывести правила задачи из примеров, приведённых во время инференса, без каких-либо обновлений весов или дообучения — по сути, «изучая» паттерн заново в рамках одного этого промпта. Для разработчиков SaaS few-shot-промптинг — стандартное решение, когда zero-shot-промптинг выдаёт технически разумные, но непоследовательные по формату, тону или обработке крайних случаев результаты — распространённый симптом: модель иногда возвращает абзац, иногда маркированный список, а иногда включает вступление вроде «Конечно, вот резюме:», которое ломает парсер на следующем этапе. Добавление 3-5 примеров с точно нужным форматом обычно устраняет этот разброс. Компромисс — стоимость в токенах: каждый пример занимает место в контекстном окне и увеличивает счёт за API при каждом вызове, поэтому команды взвешивают прирост точности против добавленной задержки и стоимости, часто сжимая примеры только до существенных полей. Выбор примеров тоже важен — примеры должны охватывать крайние случаи и диапазон ожидаемых входных данных, а не только простые случаи, и должны быть согласованы по формату с реальным входом задачи. Конкретный пример: промпт для извлечения структурированных данных из писем клиентов: «Извлеки номер заказа и тип проблемы из каждого письма. Следуй показанному точному формату.\n\nПисьмо: \"Здравствуйте, заказ №4471 пришёл повреждённым, помогите пожалуйста.\"\nВывод: {\"order_id\": \"4471\", \"issue\": \"damaged\"}\n\nПисьмо: \"Где мой заказ 8823? Прошло уже 2 недели.\"\nВывод: {\"order_id\": \"8823\", \"issue\": \"delayed\"}\n\nПисьмо: \"Могу я получить заказ №1290 другого цвета?\"\nВывод:» — модель, увидев паттерн дважды, надёжно возвращает {\"order_id\": \"1290\", \"issue\": \"change_request\"} в той же строгой форме JSON, хотя «change_request» ни разу не встречалось в примерах — это демонстрирует, что модель обобщает паттерн, а не запоминает его. Смежное усовершенствование, которое принимают промышленные команды, — динамический выбор few-shot-примеров: вместо жёсткого кодирования одних и тех же статичных примеров в каждый промпт, приложение находит 3-5 наиболее похожих исторических примеров для текущего ввода (через поиск по сходству эмбеддингов) и вставляет их вместо статичных — этот гибрид few-shot-промптинга и retrieval обычно превосходит фиксированный, общий набор примеров, особенно на задачах с широким разнообразием типов входных данных.

Похожие термины

Ещё термины: Промпт-инжиниринг