Anthropic — Effective context engineering for AI agents
Вид: article
Главный вопрос: какой набор токенов в контексте с наибольшей вероятностью даст нужное поведение агента.
Ответ одной фразой: поскольку у модели ограниченный бюджет внимания, авторы советуют давать ей наименьший набор информативных токенов и дополнять его приёмами для долгих задач.
Тезисы
Т1. Контекстная инженерия — отбор и поддержание набора токенов при выводе модели, включая всё, что не подсказка
- Аргумент: подсказка — только часть контекста. Для агентов, работающих в цикле на нескольких ходах и долгом горизонте, надо управлять всем состоянием: системные инструкции, инструменты, MCP, внешние данные, история сообщений. Авторы называют контекстную инженерию естественным продолжением подсказочной инженерии и итеративным выбором при каждой передаче модели.
- Цитата: «refers to the set of strategies for curating and maintaining the optimal set of tokens (information) during LLM inference, including all the other information that may land there outside of the prompts.» (раздел «Context engineering vs. prompt engineering»)
- Понятия: Контекстная инженерия
Т2. С ростом числа токенов в контексте точность вспоминания информации моделью падает («context rot»)
- Аргумент: авторы ссылаются на исследования с тестами «иголка в стоге сена»; говорят, что у одних моделей деградация мягче, чем у других, но свойство проявляется у всех. Объясняют это ограниченным «бюджетом внимания» и архитектурой трансформера (n² попарных связей) и тем, что в обучающих данных обычно больше коротких последовательностей. Результат — градиент качества, а не обрыв: модели остаются способными на длинном контексте, но могут хуже извлекать информацию и рассуждать на большом расстоянии.
- Цитата: «as the number of tokens in the context window increases, the model’s ability to accurately recall information from that context decreases.» (раздел «Why context engineering is important to building capable agents»)
- Понятия: Context rot, Бюджет внимания
Т3. Хороший контекст — наименьший возможный набор информативных токенов, максимизирующий вероятность нужного результата
- Аргумент: контекст — конечный ресурс с убывающей отдачей, у модели «бюджет внимания», который каждый токен немного расходует. Авторы советуют держать контекст «informative, yet tight» во всех компонентах: системные подсказки, инструменты, примеры, история.
- Цитата: «the guiding principle remains the same: find the smallest set of high-signal tokens that maximize the likelihood of your desired outcome.» (раздел «Conclusion»)
- Понятия: Контекстная инженерия, Бюджет внимания
Т4. Системную подсказку надо писать на «правильной высоте» между хрупкой жёсткой логикой и расплывчатым руководством
- Против: инженеры, зашивающие в подсказки сложную хрупкую логику ради точного поведения агента (создаёт хрупкость и усложняет поддержку); инженеры, дающие расплывчатое высокоуровневое руководство, не дающее модели конкретных сигналов или ложно предполагающее общий контекст.
- Аргумент: «минимальный» набор не обязательно короткий. Авторы советуют сначала проверить минимальную подсказку на лучшей из доступных моделей и добавлять инструкции и примеры по найденным сбоям. Примеры — «разнообразные канонические», а не длинный список краевых случаев.
- Цитата: «The optimal altitude strikes a balance: specific enough to guide behavior effectively, yet flexible enough to provide the model with strong heuristics to guide behavior.» (раздел «The anatomy of effective context»)
- Понятия: Правильная высота подсказки
Т5. Раздутые наборы инструментов — одна из самых частых ошибок; инструмент должен быть однозначным
- Против: раздутые наборы инструментов, покрывающие слишком много функций или создающие неоднозначный выбор, какой инструмент использовать.
- Аргумент: инструменты задают контракт между агентом и пространством информации и действий, поэтому они должны экономить токены и поощрять экономное поведение. Авторы советуют самодостаточные, устойчивые к ошибкам инструменты с минимальным перекрытием и однозначными параметрами. Минимальный набор инструментов, по их словам, может облегчить и поддержку и очистку контекста при долгой работе.
- Цитата: «If a human engineer can’t definitively say which tool should be used in a given situation, an AI agent can’t be expected to do better.» (раздел «The anatomy of effective context»)
- Понятия: Минимальный набор инструментов
Т6. Предварительный поиск всё чаще дополняют подгрузкой «точно вовремя»: агент хранит лёгкие ссылки и загружает данные инструментами по ходу работы
- Аргумент: агент хранит идентификаторы (пути файлов, сохранённые запросы, ссылки) и загружает данные инструментами во время работы; метаданные (папки, имена, время) сами служат сигналами. Это даёт прогрессивное раскрытие: агент собирает понимание слой за слоем. Издержки: исследование во время работы медленнее предвычисленного поиска и требует продуманных инструментов и эвристик, иначе агент может тратить контекст впустую. Для некоторых задач авторы допускают гибрид: часть данных заранее для скорости, остальное агент ищет сам; Claude Code так и делает (файлы CLAUDE.md кладутся в контекст заранее, а glob и grep позволяют искать файлы по ходу).
- Цитата: «As the field transitions to more agentic approaches, we increasingly see teams augmenting these retrieval systems with “just in time” context strategies…» (раздел «The anatomy of effective context»)
- Понятия: Подгрузка контекста точно вовремя, Прогрессивное раскрытие
Т7. Умные модели требуют менее предписывающей инженерии, и авторы ожидают, что человеческой подготовки контекста будет меньше
- Аргумент: авторы пишут, что с ростом возможностей моделей агентам можно давать больше автономии, и прогнозируют, что агентный дизайн будет идти к тому, чтобы позволить умным моделям действовать умно с постепенно меньшей человеческой подготовкой контекста. Совет «делай самое простое, что работает», по их мнению, вероятно, останется лучшим. Вместе с тем они считают, что отношение к контексту как к ограниченному ресурсу останется центральным.
- Цитата: «We’re already seeing that smarter models require less prescriptive engineering, allowing agents to operate with more autonomy.» (раздел «Conclusion»)
- Понятия: Контекстная инженерия
Т8. Сжатие (compaction): диалог у предела окна суммируют и начинают новое окно с резюме
- Аргумент: в Claude Code историю сообщений передают модели для сжатия; она сохраняет архитектурные решения, нерешённые баги и детали реализации и отбрасывает лишние выводы инструментов; агент продолжает со сжатым контекстом и пятью последними файлами. Авторы советуют настраивать подсказку на сложных трассах: сначала добиваться полноты, потом точности. Одна из самых безопасных и лёгких форм — очистка результатов инструментов.
- Цитата: «The art of compaction lies in the selection of what to keep versus what to discard, as overly aggressive compaction can result in the loss of subtle but critical context whose importance only becomes apparent later.» (раздел «Compaction»)
- Понятия: Сжатие контекста
Т9. Структурные заметки (агентная память): агент пишет заметки вне окна и позже возвращает их в контекст
- Аргумент: простой приём с малыми накладными расходами, который позволяет отслеживать прогресс и зависимости на десятках вызовов инструментов; авторы называют примеры вроде списка дел в Claude Code или файла NOTES.md. Anthropic выпустила инструмент памяти в публичной бете для хранения информации вне окна через файловую систему.
- Цитата: «Structured note-taking, or agentic memory, is a technique where the agent regularly writes notes persisted to memory outside of the context window.» (раздел «Structured note-taking»)
- Данные: в примере Claude, играющего в Pokémon, по словам авторов, без подсказок о структуре памяти агент ведёт карты, записи о достижениях и стратегические заметки о боях и после сброса контекста продолжает по своим заметкам многочасовые последовательности.
- Понятия: Структурные заметки
Т10. Субагенты с чистыми окнами возвращают главному агенту сжатое резюме работы
- Аргумент: главный агент координирует по общему плану, субагенты берут узкие задачи или ищут информацию. Подробный контекст поиска остаётся изолированным в субагенте, а главный синтезирует результаты. Авторы ссылаются на свою систему исследований, показавшую существенное улучшение против одного агента на сложных исследовательских задачах, и советуют выбирать между сжатием (долгие диалоги), заметками (итеративная разработка с вехами) и мультиагентностью (параллельное исследование) по характеру задачи.
- Цитата: «Each subagent might explore extensively, using tens of thousands of tokens or more, but returns only a condensed, distilled summary of its work (often 1,000-2,000 tokens).» (раздел «Sub-agent architectures»)
- Понятия: Субагенты
Кейсы
К1. Claude играет в Pokémon
Агент ведёт точные счётчики на тысячах шагов вроде «последние 1 234 шага тренирую покемонов на Route 1, Pikachu поднялся на 8 уровней к цели 10», составляет карты исследованных регионов, записывает полученные достижения и стратегии боёв. После сброса контекста читает свои заметки и продолжает многочасовые тренировки или исследование подземелий. Подкрепляет Т9.
Понятия
- Контекстная инженерия → Anthropic: отбор и поддержание набора токенов при выводе модели, шире подсказочной инженерии (Т1, Т3, Т7)
- Context rot → Anthropic: с ростом числа токенов точность вспоминания информации падает (Т2)
- Бюджет внимания → Anthropic: ограниченный ресурс внимания модели, каждый токен его расходует (Т2, Т3)
- Правильная высота подсказки → Anthropic: между хрупкой жёсткой логикой и расплывчатым руководством (Т4)
- Подгрузка контекста точно вовремя → Anthropic: агент хранит ссылки и загружает данные инструментами по ходу (Т6)
- Сжатие контекста → Anthropic: резюме диалога и новое окно с ним (Т8)
- Структурные заметки → Anthropic: заметки агента во внешней памяти, возвращаемые в контекст (Т9)
- Субагенты → Anthropic: отдельные агенты с чистыми окнами возвращают сжатое резюме (Т10)