# Что такое K-shot Prompting?

> **K-shot Prompting (K-shot промптинг)** — это метод взаимодействия с большими языковыми моделями (LLM), при котором в запросе (промпте) предоставляется ровно K примеров желаемого результата. Это помогает нейросети лучше понять задачу, контекст и требуемый формат ответа без необходимости ее дополнительного переобучения.

В сфере искусственного интеллекта и промпт-инжиниринга буква «K» традиционно обозначает переменную величину. Вместо «K» подставляется конкретное число примеров, которые вы встраиваете в свой текстовый запрос. Если вы даете нейросети один пример, это называется 1-shot (One-shot) prompting. Если три примера — 3-shot, пять — 5-shot и так далее. Если же точное число не так важно, в профессиональной среде часто применяют синонимичный термин — **Few-shot Prompting** (генерация на основе нескольких примеров).

## Как работает K-shot обучение?

Современные большие языковые модели, такие как ChatGPT, Claude, Llama или GigaChat, обладают колоссальным объемом базовых знаний. Однако при решении специфических задач они могут не понять, в каком именно формате, стиле или тоне вы ожидаете получить ответ. Метод K-shot Prompting использует механизм, известный как *in-context learning* (контекстное обучение). Это означает, что нейросеть улавливает закономерности прямо из текста вашего промпта, не изменяя при этом свои базовые алгоритмы и внутренние веса.

Вы как бы говорите искусственному интеллекту: «Смотри, вот задача, а вот так я хочу, чтобы ты ее решал. Я покажу тебе несколько примеров, а следующий реши сам по аналогии».

## Разница между Zero-shot, One-shot и K-shot

- **Zero-shot (0 примеров):** Вы даете голую инструкцию без образцов. Пример: «Переведи слово apple на французский». Подходит для простых и однозначных задач.
- **One-shot (1 пример):** Вы даете ровно один образец. Помогает задать базовый формат вывода, но может быть недостаточно для сложных логических цепочек.
- **K-shot (от 2 и более примеров):** Вы предоставляете несколько паттернов. Это критически важно для задач, где есть нюансы, исключения или требуется строгий вывод данных (например, генерация программного кода или разметка текста).

## Примеры использования K-shot Prompting

Представьте, что вам необходимо классифицировать отзывы клиентов магазина. Если вы просто попросите: «Определи тональность отзыва», модель может ответить длинным предложением: «Этот отзыв имеет негативную окраску, так как покупатель недоволен доставкой». Но для автоматизации вам нужно только одно слово. Здесь идеально сработает 2-shot prompting.

Пример структуры промпта:

- **Пример 1:** Отзыв: «Доставка опоздала на час.» -\> Классификация: Негативный
- **Пример 2:** Отзыв: «Отличный товар, рекомендую!» -\> Классификация: Позитивный
- **Ваш целевой запрос:** Отзыв: «Служба поддержки не отвечает уже сутки.» -\> Классификация:

Благодаря этим двум примерам, нейросеть выдаст четкий ответ: «Негативный», полностью скопировав заданный вами шаблон. Чем сложнее задача, тем большее значение «K» (количество примеров) вам потребуется.

## Как правильно выбрать значение K?

Выбор количества примеров зависит от сложности вашей задачи и возможностей самой языковой модели:

- **K = 1 (One-shot):** Идеально для простых задач, где нужно лишь задать форму ответа.
- **K = 3 до 5:** Золотой стандарт для большинства задач промпт-инжиниринга. Такого количества достаточно, чтобы продемонстрировать модели нюансы, исключения из правил или специфический тон голоса.
- **K \> 5:** Используется для сложных аналитических задач или специфической разметки данных. Однако стоит помнить, что у каждой модели есть ограничение на размер контекстного окна (context window). Слишком большое количество примеров может перегрузить память нейросети.

### Интересный факт: Революция GPT-3 и контекстного обучения

Концепция K-shot Prompting стала настоящей сенсацией в 2020 году, когда компания OpenAI выпустила модель GPT-3. Их научная статья, перевернувшая мир искусственного интеллекта, так и называлась: *«Language Models are Few-Shot Learners»* (Языковые модели обучаются на нескольких примерах). До этого момента в машинном обучении считалось непреложной истиной, что для выполнения узкоспециализированных задач нейросеть обязательно нужно дообучать (fine-tuning) на тысячах примеров, тратя огромные вычислительные ресурсы.

Исследователи из OpenAI доказали, что масштабные модели способны к мета-обучению. Оказалось, что достаточно просто показать модели несколько примеров (K-shot) прямо в текстовом запросе, и она мгновенно адаптируется к новой задаче. Именно это открытие сделало нейросети доступными для массового пользователя и породило целую новую индустрию — промпт-инжиниринг.
