- Дата публикации
LangChain научил агентов сами сжимать контекст, когда это действительно нужно
Что появилось / что изменилось
LangChain обновил Deep Agents SDK на Python и CLI: теперь LLM-агенты могут сами решать, когда пора сжать контекст диалога.
Главные изменения:
- В SDK появился отдельный middleware-инструмент
create_summarization_tool_middleware, который агент может вызывать как обычный тул. - В Deep Agents CLI этот же механизм уже включён: пользователь по‑прежнему может вызвать
/compactвручную, но теперь агент умеет запускать сжатие сам. - При сжатии Deep Agents сохраняет примерно 10% доступного контекста как «свежие» сообщения, а всё, что старше, сворачивает в краткое резюме.
- Система по‑прежнему ориентируется на лимит контекста конкретной модели и начинает обычную автоматическую компрессию примерно на 85% этого лимита. Новая функция добавляет к этому ещё и «осознанные» вызовы от самого агента.
Разработчики протестировали функцию на:
- собственной оценочной выборке с LangSmith-трейсами, где подмешивали дополнительные запросы после диалогов;
- бенчмарке terminal-bench-2, где не зафиксировали ни одного случая самовольной компрессии;
- реальных задачах программирования через Deep Agents CLI.
По их опыту агенты вызывают сжатие редко и в основном в удачные моменты — когда это помогает не упираться в лимит контекста позже.
Как это работает
Идея простая: вместо жёсткого триггера «на 85% токенов всё ужимаем» агент получает ещё один инструмент, который может вызвать по своему решению.
Под капотом это выглядит так:
- В
create_deep_agentвы добавляете middleware:from deepagents import create_deep_agent from deepagents.backends import StateBackend from deepagents.middleware.summarization import ( create_summarization_tool_middleware, ) backend = StateBackend # стандартное хранилище состояния model = "openai:gpt-5.4" agent = create_deep_agent( model=model, middleware=[ create_summarization_tool_middleware(model, backend), ], ) - В системном промпте агент получает инструкцию, в каких ситуациях стоит запускать этот тул.
- Когда агент решает сжать контекст, он делает «вызов инструмента».
- Middleware берёт историю диалога, оставляет последние 10% доступного контекста как есть, а остальное сворачивает в суммаризацию прогресса по задаче.
- Виртуальная файловая система Deep Agents хранит полную историю, так что при необходимости можно восстановить детали, потерянные при сжатии.
В CLI всё ещё проще: вы можете вручную вызвать /compact, а агент — использовать тот же механизм сам.
Что это значит для вас
Если вы используете Deep Agents для кода, ресёрча или длинных сессий, эта функция решает две типичные проблемы:
-
Контекст забивается мусором. Длинные обсуждения, неудачные подходы и старые требования висят в истории и мешают модели. Автономная компрессия превращает это в аккуратное резюме.
-
Сжатие «не вовремя». Жёсткий порог по токенам часто срабатывает в худший момент — например, посреди сложного рефакторинга. Теперь агент может дождаться логической точки: завершение плана, конец большой выборки документов, переход к новой задаче.
Когда инструмент особенно полезен:
- вы заканчиваете одну задачу и переходите к следующей в том же чате;
- агент прогнал через себя большой объём контента (документация, логи, ресёрч) и получил итоговый вывод;
- вы собираетесь запускать длинную операцию: рефакторинг, миграцию, многофайловое редактирование;
- появились новые требования, которые делают старый контекст менее важным.
Когда лучше не полагаться только на него:
- если вы решаете юридические, финансовые или другие чувствительные задачи, где важна каждая деталь истории — лучше контролировать компрессию руками и хранить оригинальные данные отдельно;
- если вы только тестируете Deep Agents и не уверены в поведении агента, можно сначала поработать только с ручным
/compact.
Deep Agents и LangChain официально доступны через открытый интернет. Для пользователей в России может понадобиться VPN, как и для работы с большинством API OpenAI.
Место на рынке
Подход LangChain отличается от привычной схемы «фиксированный порог + агрессивное сжатие истории» в большинстве IDE-плагинов и чат‑ботов для кода.
Здесь важно другое:
- Deep Agents уже умел автоматически сжимать контекст на уровне middleware при достижении ~85% лимита модели.
- Новая функция добавляет поверх этого управляемое самим агентом сжатие на логических границах задач.
Разработчики прямо показывают, что в terminal-bench-2 агенты вообще не вызывали автономную компрессию. Это значит, что система настроена осторожно и не стремится «экономить токены любой ценой».
Напрямую сравнивать скорость или стоимость с GPT-4o, Claude 3.5 или другими агентными фреймворками здесь некорректно: речь идёт не о новой модели, а о способе работы с её контекстом. Функция интересна тем, кто уже строит агентные системы на базе LangChain и хочет меньше ручной настройки порогов и хаков вокруг контекстного окна.