Размещение данных в промпте
Размещение данных в промпте
В предыдущем уроке мы узнали, что модель неравномерно распределяет внимание по тексту. Теперь — конкретные правила размещения данных в промпте. Порядок секций может повлиять на точность ответа сильнее, чем формулировка инструкции.
Золотое правило порядка
1. Инструкция (что делать)
2. Правила и ограничения (как делать)
3. Примеры (если есть)
4. Данные (над чем работать)
5. Запрос / вопрос
Инструкция в начале — модель «знает», что от неё хотят, до того, как прочитает данные. Запрос в конце — модель только что «прочитала» данные и сразу переходит к ответу.
Почему нельзя наоборот
Плохой порядок:
Вот документ [30 страниц]. Проанализируй его и найди все даты.
Модель читает 30 страниц, не зная, что искать. Потом видит инструкцию «найди даты» и должна «перечитать» документ мысленно — но контекст уже в середине, внимание рассеяно.
Хороший порядок:
Найди в документе все даты. Для каждой даты укажи, к какому событию
она относится. Ответь таблицей: Дата | Событие.
Документ:
[30 страниц]
Модель читает документ, УЖЕ зная, что искать. Внимание сфокусировано на датах с первой строки.
Данные в начало vs в конец
Есть одно исключение: если инструкция короткая, а данные ОЧЕНЬ важны — размести данные в самом конце, прямо перед запросом:
Ты — юрист. Проверь договор на соответствие законодательству.
Критерии: ...
Договор:
[текст договора]
Проверь договор по критериям выше.
Здесь данные в конце работают хорошо, потому что модель отвечает сразу после прочтения договора.
Но в целом: инструкции до данных, запрос после данных.
Несколько блоков данных
Если в промпте несколько независимых документов — группируй их с XML-тегами и размещай по убыванию важности:
Проанализируй три документа и найди расхождения.
<documents>
<document id="contract_v1" priority="high">
[основной договор]
</document>
<document id="contract_v2" priority="high">
[дополнительное соглашение]
</document>
<document id="email_thread" priority="medium">
[переписка по договору]
</document>
</documents>
Сначала проверь расхождения между договором и доп. соглашением.
Затем проверь, соответствуют ли договорённости в переписке тексту
договора.
Явное указание приоритетов + порядок (важные документы первыми) помогает модели фокусироваться на главном.
Повторение инструкций
Если данные занимают больше 70% промпта, инструкции могут «потеряться». Повтори их после данных:
<instruction>
Извлеки из документа: сроки, суммы, ответственных.
Формат: JSON.
</instruction>
<document>
[очень длинный документ]
</document>
<reminder>
Помни: извлеки сроки, суммы, ответственных. Формат: JSON.
Игнорируй всё, что не относится к этим трём категориям.
</reminder>
Повторение инструкций — страховка от «забывания».
Пример: размещение до и после
Неправильное размещение:
[3 страницы текста статьи]
Напиши краткое содержание. Включи: главную тему, 3 ключевых вывода.
Ответь в формате Markdown.
Модель уже прочитала статью до инструкции — и могла не заметить детали, важные для краткого содержания.
Правильное размещение:
Напиши краткое содержание статьи ниже. Включи:
- Главную тему (одно предложение).
- 3 ключевых вывода.
Формат: Markdown.
<article>
[3 страницы текста]
</article>
Модель читает статью с фокусом на: главная тема, выводы. Ответ точнее.
Проверь себя
Дан промпт: «[10 страниц данных опроса клиентов]. Найди основные жалобы и предложения. Сгруппируй по темам.» Перестрой его в правильном порядке.
Ответ: «Найди в результатах опроса основные жалобы и предложения. Сгруппируй их по темам. Для каждой темы укажи количество упоминаний. Ответ оформи как таблицу: Тема | Тип (жалоба/предложение) | Количество | Пример цитаты. Данные опроса: [10 страниц].»
Итог
- Золотой порядок: инструкция → правила → примеры → данные → запрос.
- Инструкции ДО данных — модель читает данные, уже зная, что искать.
- Если данные очень длинные — повтори инструкции после них (reminder).
- Группируй несколько документов по убыванию важности.
- Не заставляй модель «перечитывать» мысленно — правильный порядок снимает эту нагрузку.
Что дальше
Ты знаешь, в каком порядке размещать данные. Теперь — как их структурировать внутри промпта, чтобы модель не путала один документ с другим и не принимала данные за инструкции.