← Claude на русском
Открыть оригинал
Перевод с разбором · для Вани
Адаптировал Claude Opus 4.7 (ИИ) на основе документации Anthropic. Полная версия — в docs/use-examples.html.

Примеры в промпте (few-shot)

Адаптация для Вани · 2026-04-27

Идея в одном абзаце

Когда вы что-то просите у Claude, самый надёжный способ задать стиль, тон и структуру ответа — показать примеры того, что вам нужно. Не «опиши формат словами», а «вот два-три готовых образца — сделай так же». Этот приём в документации называется few-shot («несколько примеров в промпте») или multishot prompting. Слово shot здесь означает один пример, не «выстрел» в смысле попытки.

Что говорит Anthropic

Цитата из Claude prompting best practices:

Примеры — один из самых надёжных способов управлять форматом, тоном и структурой ответа Claude. Несколько хорошо продуманных примеров (известных как few-shot или multishot prompting) могут кардинально повысить точность и консистентность.

Добавляя примеры, делайте их:

Почему это работает

Claude — большая языковая модель. Она хорошо подхватывает паттерн, если вы его явно показали. Словесное описание («сделай в таком-то стиле, с такими-то полями, без markdown») всегда оставляет зазор интерпретации. Пример этот зазор закрывает: модель видит конкретный эталон и копирует его форму.

Три качества из цитаты выше — релевантность, разнообразие, структура — это не три абстрактных пункта, а три способа промахнуться:

Как это выглядит на практике

Типовая структура few-shot-промпта выглядит так. Внутри блока — английский, потому что это формат, который модель понимает напрямую; ваши собственные данные подставляются внутрь тех же тегов:

<examples>
  <example>
    <input>...</input>
    <output>...</output>
  </example>
  <example>
    <input>...</input>
    <output>...</output>
  </example>
</examples>

Now process this input:
<input>...</input>

Здесь внешний контейнер — <examples>, каждый пример — пара <input> / <output> внутри <example>. Дальше идёт реальное задание (тоже в <input>), и модель достраивает <output> в том же стиле, что и в примерах.

Пример в твоём стеке: попросить Claude Code написать тест

Самая практичная ситуация для few-shot в вашей работе — когда вы просите Claude Code сгенерировать новый класс или тест в стиле того, что у вас уже написано. Словами объяснить «пиши в моём стиле» почти бесполезно: у проекта десятки незаписанных конвенций. Гораздо проще показать живой образец.

Скажем, у вас в проекте есть интеграционный тест для OrderService, и вы хотите, чтобы Claude Code написал аналогичный для MaterialService. Промпт в чате с Claude Code может выглядеть примерно так (русский — это инструкция, английский внутри тегов — структура, которую модель видит как разметку):

Напиши интеграционный тест для MaterialService по образцу.
Структура и стиль должны точно совпадать с примером.

<example>
  <file_path>src/test/kotlin/.../OrderServiceIT.kt</file_path>
  <content>
    // ... содержимое существующего теста, который наследует
    // IntegrationTestBase, использует JdbiExtension и т.д.
  </content>
</example>

<task>
  Создай аналогичный файл MaterialServiceIT.kt.
  Покрой методы: создание материала, обновление цены,
  применение markupMaterialsPct при расчёте.
  Тот же стиль ассертов и наименований, что в примере.
</task>

Здесь работают все три критерия Anthropic: пример релевантен (тот же фреймворк, тот же базовый класс IntegrationTestBase), структурирован (теги <example> и <task> отделяют образец от задания), и если вы захотите большей надёжности — добавьте второй пример с другим сервисом (например, OrderCalculationService), чтобы Claude увидел разнообразие и не зацепился за случайные детали одного-единственного образца.

Когда few-shot особенно полезен

Чего не делать

Короткое резюме

Few-shot — это «покажи, а не расскажи» в применении к промптам. 3–5 примеров, релевантные, разнообразные, обёрнутые в <example>-теги. В вашей работе с Claude Code Desktop этот приём чаще всего приходит в форме «вот существующий файл — сделай аналогично», и это абсолютно валидный способ его применять.