Почему порядок частей промпта имеет значение

При работе с большими документами или насыщенными данными - от примерно 20 тысяч токенов - структура промпта заметно влияет на качество ответа. Дело не в том, что модель не видит текст в другом порядке, а в том, что определённый порядок помогает ей точнее сфокусироваться на вопросе после того, как весь материал уже прочитан.

Приём 1: документ - в начало, вопрос - в конец

Длинные документы и исходные данные стоит размещать ближе к началу промпта - выше самого вопроса, инструкций и примеров. Это улучшает результат на всех моделях. В тестах Anthropic вопрос, заданный в конце промпта, а не перед документом, повышал качество ответа на сложных многодокументных задачах до 30 процентов - разница не косметическая.

Приём 2: оборачивайте документы в XML-теги

При работе с несколькими документами каждый стоит обернуть в тег <document> с вложенными тегами вроде <document_content> и <source> для метаданных - это снимает двусмысленность о том, где заканчивается один документ и начинается другой.

пример структуры для нескольких документов
<documents>
  <document index="1">
    <source>godovoy-otchet-2026.pdf</source>
    <document_content>
      {{ГОДОВОЙ_ОТЧЁТ}}
    </document_content>
  </document>
  <document index="2">
    <source>analiz-konkurentov-q2.xlsx</source>
    <document_content>
      {{АНАЛИЗ_КОНКУРЕНТОВ}}
    </document_content>
  </document>
</documents>

Проанализируй годовой отчёт и анализ конкурентов. Определи стратегические
преимущества и предложи направления фокуса на следующий квартал.

Два общих правила для XML-разметки в промптах: используйте одни и те же понятные имена тегов во всех своих промптах, и вкладывайте теги друг в друга там, где у контента естественная иерархия - документы внутри общего тега <documents>, каждый со своим индексом.

Приём 3: просите сначала процитировать релевантное

Для сложных задач по документу стоит попросить Claude сначала выписать релевантные цитаты из текста, и только потом выполнять саму задачу на их основе. Это помогает модели сосредоточиться на нужной части документа и не распыляться на остальной текст.

пример: цитаты перед выводом
<documents>
  <document index="1">
    <source>dogovor-postavki.txt</source>
    <document_content>
      {{ДОГОВОР}}
    </document_content>
  </document>
  <document index="2">
    <source>perepiska-s-postavshchikom.txt</source>
    <document_content>
      {{ПЕРЕПИСКА}}
    </document_content>
  </document>
</documents>

Найди в договоре и переписке цитаты, относящиеся к срокам поставки
и условиям штрафа за просрочку. Помести их в теги <quotes>. Затем на
основе этих цитат перечисли все риски, которые стоит обсудить с юристом,
и помести их в теги <risks>.

Такой промпт работает и в обычном чате Claude - не только через API: структура с явными цитатами перед выводом снижает риск, что модель ответит по общему впечатлению от документа, а не по конкретному месту в тексте.

Когда это особенно важно

Эффект от структуры заметнее всего на многодокументных задачах - сравнении нескольких файлов, сведении данных из разных источников, поиске противоречий между документами. На коротком одиночном тексте разница в структуре промпта обычно менее заметна - но привычка держать документ вверху, а вопрос внизу, не вредит и на коротких задачах, так что стоит выработать её как стандарт, а не применять точечно.

Чек-лист

Промпт для длинного документа
  1. Текст документа размещён в начале промпта, вопрос - в конце
  2. Несколько документов обёрнуты в согласованные XML-теги с указанием источника
  3. Для сложной задачи по документу добавлена просьба сначала процитировать релевантные места
  4. Имена тегов одинаковые и понятные во всех похожих промптах
  5. Проверено, что ответ ссылается на конкретные части документа, а не на общее впечатление
С какого объёма текста стоит применять эти приёмы?
Официальная граница - примерно от 20 тысяч токенов, это соответствует довольно объёмному документу или нескольким файлам вместе. На коротких текстах разница менее заметна, но сама привычка к структуре не вредит и там.
Работает ли это в обычном чате Claude, а не только через API?
Да, все три приёма - порядок частей промпта, XML-разметка и просьба процитировать перед ответом - обычные текстовые инструкции, которые работают и в claude.ai, и в Claude Code, без специальных параметров API.
Обязательно ли использовать именно теги document и document_content?
Нет, конкретные имена не зафиксированы жёстко - важнее последовательность: использовать одни и те же понятные названия тегов во всех своих промптах, а не менять их от запроса к запросу.
Почему вопрос лучше ставить в конце, а не в начале промпта?
В тестах Anthropic такой порядок повышал качество ответа на сложных многодокументных задачах до 30 процентов - вероятно, потому что вопрос, заданный после всего материала, точнее фокусирует модель на том, что именно нужно сделать с уже прочитанным текстом.
Что делать, если документов много и промпт становится очень длинным?
Структура через XML-теги как раз и рассчитана на такие случаи - она не сокращает объём текста, но помогает модели не путать, где заканчивается один документ и начинается следующий, даже когда их несколько десятков тысяч токенов суммарно.
Можно ли комбинировать приём с цитатами и обычную структуру документов?
Да, они не исключают друг друга: документы оборачиваются в XML-теги как обычно, а инструкция по цитированию добавляется отдельным абзацем после них, перед самим вопросом.
← Все статьи блога