Deep Agents от LangChain: что умеет официальный harness для сложных агентных задач
LangChain выпустил Deep Agents — open-source harness для сложных агентных задач. Планирование, файловая система, сабагенты и управление контекстом из коробки. Разбираю архитектуру и что это меняет.
Зачем нужен ещё один агентный фреймворк
LangChain выпустил Deep Agents — и это не очередная обёртка над API. Это agent harness: opinionated фреймворк, который из коробки даёт агенту планирование, файловую систему, сабагенты и управление контекстом. Установил, запустил — работает. Кастомизируешь, когда нужно.
Что такое agent harness и чем он отличается от фреймворка
Обычный фреймворк — это набор деталей. Ты сам собираешь промпты, инструменты, логику оркестрации. Agent harness — это собранный агент с продуманными дефолтами. Ты получаешь рабочую систему и меняешь только то, что нужно.
Deep Agents занимает нишу между низкоуровневым LangGraph (где контролируешь каждый шаг) и высокоуровневым LangChain (где быстро стартуешь с паттернами). Harness — для случаев, когда задача сложная, долгоживущая и недетерминированная.
Четыре ключевых компонента
1. Планирование: write_todos
Агент не бросается выполнять запрос сразу. Вместо этого он создаёт структурированный план — список задач с приоритетами и зависимостями. По мере выполнения план обновляется.
Почему это важно: хаотичный вызов инструментов — главная причина, по которой агенты сходят с рельс на сложных задачах. Принцип planning first вынуждает модель проанализировать проблему до начала действий.
2. Файловая система: read_file, write_file, edit_file, ls, glob, grep
Агент умеет читать, писать, редактировать файлы, искать по шаблонам и содержимому. Это не игрушечный sandbox — полноценный доступ к файловой системе с абсолютными путями.
Ключевой сценарий: когда результат инструмента слишком большой для контекстного окна, агент автоматически сохраняет его в файл, а не засоряет рабочую память. Это решает одну из самых болезненных проблем долгоживущих агентов — переполнение контекста.
3. Сабагенты: task
Сложная задача разбивается на подзадачи, каждая делегируется отдельному сабагенту с изолированным контекстным окном. Главный агент занимается оркестрацией, не тратя свой контекст на детали выполнения.
Изоляция контекста — принципиальный момент. Без неё сабагенты загрязняют общий контекст, и система деградирует с каждым шагом. Здесь каждый сабагент работает в своём пространстве.
4. Контекст-менеджмент
Автоматическая суммаризация длинных разговоров, вынос больших результатов в файлы, изоляция через сабагентов, prompt caching для снижения латентности и стоимости. Это middleware, встроенный в архитектуру.
Архитектурные решения
Построен на LangGraph. create_deep_agent() возвращает скомпилированный граф LangGraph. Это значит: стриминг, чекпоинты, персистентность, интеграция с LangSmith Studio — бесплатно.
Провайдер-агностичность. Работает с любой LLM, поддерживающей tool calling: GPT-4o, Claude, Gemini, открытые модели. Смена модели — одна строка.
MIT-лицензия. Полностью открытый код, без ограничений на коммерческое использование.
Human-in-the-loop. Можно определить, какие инструменты и действия требуют явного подтверждения перед выполнением. Важно для production-сценариев.
Что вдохновляло
Команда LangChain прямо говорит: проект вдохновлён Claude Code. Идея — понять, что делает Claude Code универсальным агентом, и сделать это ещё более гибким и открытым. Deep Agents — попытка дать каждому разработчику возможность собрать агента уровня Claude Code на своей инфраструктуре.
Быстрый старт
Установка: pip install deepagents. Инициализация и запуск: from deepagents import create_deep_agent; agent = create_deep_agent(); result = agent.invoke(messages с запросом).
Кастомизация модели и инструментов: create_deep_agent(model=init_chat_model(openai:gpt-4o), tools=[custom_tool], system_prompt=...).
Где Deep Agents встаёт в экосистему
LangChain — быстрый старт, стандартные паттерны. LangGraph — полный контроль, кастомные workflow. Deep Agents — сложные, долгоживущие, автономные задачи.
Также доступна CLI-версия для работы из терминала — с веб-поиском, удалёнными sandbox-ами и персистентной памятью.
Что это значит на практике
Agent harness — это следующий уровень абстракции после фреймворков. Не вот детали собирай, а вот работающий агент настрой под себя. Deep Agents — первая серьёзная попытка LangChain сделать такой продукт полностью открытым.
Ключевые вопросы:
- Насколько стабильно планирование? write_todos выглядит элегантно, но качество планов зависит от модели. На слабых моделях это может быть бесполезно.
- Как работает изоляция контекста на практике? Сабагенты с изолированными окнами — правильная идея, но overhead на спавн и коммуникацию может быть значительным.
- Как с безопасностью? Deep Agents следует модели trust the LLM — агент может делать всё, что позволяют его инструменты. Безопасность на уровне sandbox и tool permissions.
Итог
Deep Agents — не революция, но логичный и важный шаг. LangChain перешёл от фреймворк для сборки к готовый агент для работы. Open source, MIT, провайдер-агностичный, с продуманной архитектурой контекст-менеджмента.
Если вы строите агентов для production — стоит попробовать. Если пока экспериментируете — стоит изучить архитектуру: planning first, изоляция контекста, файловый бэкенд. Эти паттерны будут работать в любом фреймворке.