Перейти к основному содержимому

Структурирование промптов с помощью XML-тегов

Средний
What you'll learn
  • Почему теги в стиле XML дают Claude чёткие границы между частями промпта
  • Как оборачивать инструкции, документы, примеры и правила форматирования в именованные теги
  • Как просить Claude о выводе с тегами, который можно надёжно разобрать
  • Когда стоит размечать тегами — и когда не стоит перебарщивать

Когда промпт смешивает инструкции, документ, примеры и вопрос, модель может слить их воедино. Теги в стиле XML — это чистый способ пометить каждую часть, и Claude реагирует на них особенно хорошо.

Идея

Оберните каждый раздел в именованный тег, чтобы было однозначно, что есть что:

Структура промпта с тегами

<instructions>
Summarize the document for a busy executive. Use only the document; if a fact
isn't there, say so.
</instructions>

<document>
{paste the long document here}
</document>

<format>
3 bullet points, then a one-line "decision needed".
</format>

Теги — это просто текст, который вы придумываете — <document>, <example>, <context>, <rules> — но они дают модели чёткие границы.

Почему это помогает

Pro tip
  • Отделяет данные от инструкций — модель с меньшей вероятностью подчинится постороннему тексту внутри вставленного документа (мягкая защита от инъекций в промпт — см. /docs/security/prompt-injection).
  • Снижает «оно проигнорировало часть моего промпта». Каждая часть чётко разграничена.
  • Упрощает разбор вывода — вы можете попросить Claude поместить ответ в теги <answer> и надёжно его извлечь.
  • Сочетается с few-shot (/docs/prompting/few-shot) — оборачивайте каждый пример в <example>.

Четыре выгоды подробнее:

  • Отделяет данные от инструкций — модель с меньшей вероятностью подчинится постороннему тексту внутри вставленного документа (мягкая защита от инъекций в промпт).
  • Снижает «оно проигнорировало часть моего промпта». Каждая часть чётко разграничена.
  • Упрощает разбор вывода — вы можете попросить Claude поместить ответ в теги <answer> и надёжно его извлечь.
  • Сочетается с few-shot — оборачивайте каждый пример в <example>.

Запрос вывода с тегами

Guided walkthrough1 of 3
  1. Скажите модели, какие именно теги использовать для рассуждений и для итогового ответа.

Запрос вывода с тегами

Put your reasoning in <thinking> tags and your final answer in <answer> tags.

Тогда ваш код может взять только содержимое <answer>. Хорошо сочетается со структурированным выводом, когда вам нужны машиночитаемые результаты.

Советы

Key takeaways
  • Будьте последовательны — открывайте и закрывайте каждый тег; используйте одни и те же имена.
  • Называйте теги осмысленно (<contract>, а не <x>).
  • Не перебарщивайте с тегами в тривиальных промптах — используйте это, когда действительно есть несколько разных частей.
  • Будьте последовательны — открывайте и закрывайте каждый тег; используйте одни и те же имена.
  • Называйте теги осмысленно (<contract>, а не <x>).
  • Не перебарщивайте с тегами в тривиальных промптах — используйте это, когда действительно есть несколько разных частей.

Проверьте себя

Проверьте себя

0/5
  1. Какова главная причина, по которой теги в стиле XML помогают, когда промпт смешивает инструкции, документ и вопрос?
  2. Почему теги служат мягкой защитой от инъекций в промпт?
  3. Как надёжно извлечь только итоговый ответ Claude из ответа с тегами?
  4. Какая практика наименования тегов лучшая?
  5. Когда НЕ стоит браться за XML-теги?

Дальше