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

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

Средний

Когда промпт смешивает инструкции, документ, примеры и вопрос, модель может слить их воедино. Теги в стиле 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> — но они дают модели чёткие границы.

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

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

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

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

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

Советы

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

Дальше