Три приёма как исправить разросшийся контекст
В прошлый раз разобрали, как ломается контекст. Теперь про то, чем это исправляют.
В сентябре 2025 года Anthropic описала три приёма для долгих задач в статье про контекст инжиниринг (context engineering). Те же три вы увидите в обвязках, которыми пользуетесь: в Claude Agent SDK и в deep agents у LangChain.
1) Сжатие истории. Когда контекст подходит к пределу, старые сообщения заменяются на сводку: что была за задача, что уже сделано, что дальше. Разговор продолжается, но история в окне занимает столько, сколько занимает сводка, вся переписка туда больше не идёт.
2) Внешние заметки. Агент пишет выводы в файлы и читает их, когда нужно. Память находится вне контекстного окна и переживает и сжатие, и перезапуск сессии.
3) Изоляция через субагентов. Тяжёлая работа уходит отдельному агенту со своим чистым окном, а наверх возвращается только результат. Вызовы инструментов остаются в окне субагента, главный агент получает сжатый итог. Цену приёма Anthropic называет в другой своей статье, про мультиагентные схемы (январь 2026): такие схемы тратят в 3-10 раз больше токенов, чем один агент, из-за дублирования контекста и накладных расходов на координацию.
Это уточняет вывод первого поста, за лишнее в окне вы платите на каждом шаге и качеством, и деньгами. А изоляция возвращает качество, но поднимает счёт. Поэтому третий приём берут ради того, чтобы главный агент дожил до конца задачи.
Вот пороги из документации LangChain по deep agents.
1) Результат вызова инструмента больше 20 000 токенов (порог по умолчанию) в историю целиком не кладётся. Он уходит в файл, а в контексте остаётся путь и первые десять строк.
2) Сжатие включается по умолчанию на 85% от max_input_tokens модели, свежими остаются последние 10% токенов.
3) Если профиля модели нет, работает запасной порог 170 000 токенов и шесть последних сообщений.
Смотрите, где стоят пороги, они заметно раньше предела окна. Это тот же вывод, что в первом посте, только уже зашитый в код обвязки.
Пороги отвечают на вопрос, когда чистить. Второй вопрос, что происходит с вычищенным: оно либо переезжает туда, откуда его можно достать, либо снимается.
Снятие, это частный случай первого приёма: Anthropic называет вычистку старых результатов вызовов инструментов самой безопасной формой сжатия, потому что своё дело эти результаты уже сделали и пересказывать их незачем. Плохо не удаление само по себе. Плохо, когда из окна пропадает то, что понадобится дальше и достать это уже неоткуда.
Источники:
1) Anthropic, "Effective context engineering for AI agents"
2) Anthropic, "When to use multi-agent systems and when not to use"
3) Документация LangChain, пороги deep agents
Post #2012
934
- 🔥 5
- 👍 3
- 😁 1
- 🎉 1