Большинство агентов LLM хорошо работают для коротких циклов вызова инструментов, но начинают сбоить, когда задача становится многошаговой, с сохранением состояния и большим количеством артефактов. Для этого и создан проект LangChain’s Deep Agents. В LangChain его описывают как «агент-упряжь»: автономную библиотеку, построенную на основе строительных блоков агентов LangChain и работающую на базе LangGraph для надёжного выполнения, потоковой передачи и рабочих процессов с участием человека.
Важно отметить, что Deep Agents не вводит новую модель рассуждений или новую среду выполнения, отдельную от LangGraph. Вместо этого он объединяет набор стандартных инструментов для вызова инструментов.
Что включает в себя Deep Agents по умолчанию
В репозитории Deep Agents на GitHub перечислены основные компоненты:
* инструмент планирования write_todos;
* файловые инструменты, такие как readfile, writefile, edit_file, ls, glob и grep;
* доступ к оболочке через execute с песочницей;
* инструмент task для создания субагентов;
* встроенные функции управления контекстом, такие как автоматическое суммирование и сохранение больших выходных данных в файлы.
Планирование и декомпозиция задач
Deep Agents включает встроенный инструмент write_todos для планирования и декомпозиции задач. Его цель — явное разбиение сложной задачи на отдельные шаги, отслеживание прогресса и обновление плана по мере появления новой информации.
Без слоя планирования модель склонна импровизировать каждый шаг из текущего запроса. С помощью write_todos рабочий процесс становится более структурированным, что более полезно для исследовательских задач, сеансов кодирования или аналитических заданий, которые выполняются в несколько шагов.
Управление контекстом на основе файловой системы
Второй ключевой особенностью является использование файловых инструментов для управления контекстом. Эти инструменты позволяют агенту выгружать большой контекст в хранилище, а не хранить всё внутри активного окна запроса.
Это более конкретный конструктивный выбор, чем расплывчатые утверждения о «памяти». Агент может записывать заметки, сгенерированный код, промежуточные отчёты или результаты поиска в файлы и извлекать их позже. Это делает систему более подходящей для длительных задач, где выходные данные становятся частью рабочего состояния.
Deep Agents также поддерживает несколько типов бэкенда для этой виртуальной файловой системы. В документации по настройке перечислены StateBackend, FilesystemBackend, LocalShellBackend, StoreBackend и CompositeBackend. По умолчанию система использует StateBackend, который хранит эфемерную файловую систему в состоянии LangGraph для одного потока.
Субагенты и изоляция контекста
Deep Agents также включает встроенный инструмент task для создания субагентов. Этот инструмент позволяет основному агенту создавать специализированных субагентов для изоляции контекста, сохраняя основной поток более чистым, одновременно позволяя системе глубже работать над конкретными подзадачами.
Это один из наиболее чистых ответов на распространённый режим сбоя в агентских системах. Как только один поток накапливает слишком много целей, результатов работы инструментов и временных решений, качество модели часто падает. Разделение работы на субагентов снижает эту нагрузку и упрощает отладку оркестрации.
Долгосрочная память и интеграция с LangGraph
В репозитории Deep Agents на GitHub также описывается встроенная возможность долгосрочной памяти. Deep Agents можно расширить с помощью постоянной памяти между потоками с помощью LangGraph’s Memory Store, что позволяет агенту сохранять и извлекать информацию из предыдущих разговоров.
С точки зрения реализации Deep Agents полностью работает в рамках модели выполнения LangGraph. В документации по настройке указано, что createdeepagent(…) возвращает CompiledStateGraph. Результирующий граф можно использовать со стандартными функциями LangGraph, такими как потоковая передача, Studio и контрольные точки.
Deep Agents — это не параллельный уровень абстракции, который блокирует доступ к функциям среды выполнения; это предварительно построенный граф со стандартными настройками.
Детали развёртывания
Для развёртывания официальный быстрый старт показывает минимальную настройку Python: установите deepagents плюс поставщик поиска, например tavily-python, экспортируйте свой API-ключ модели и API-ключ поиска, определите инструмент поиска и затем создайте агента с помощью createdeepagent(…), используя модель вызова инструментов.
В документации указано, что Deep Agents требует поддержки вызова инструментов, а пример рабочего процесса — это инициализация агента с вашими инструментами и system_prompt, затем запуск его с помощью agent.invoke(…).
Команда LangChain также предлагает разработчикам варианты развёртывания LangGraph для производства, что подходит, поскольку Deep Agents работает на базе LangGraph и поддерживает встроенную потоковую передачу для наблюдения за выполнением.
Ключевые выводы
* Deep Agents — это агент-упряжь, построенный на LangChain и среде выполнения LangGraph.
* Включает встроенное планирование через инструмент write_todos для многошаговой декомпозиции задач.
* Использует файловые инструменты для управления большим контекстом и снижения нагрузки на окно запросов.
* Может создавать субагентов с изолированным контекстом с помощью встроенного инструмента task.
* Поддерживает постоянную память между потоками через LangGraph’s Memory Store.
1. Какие проблемы решает LangChain’s Deep Agents при работе с многошаговыми AI-задачами?
Deep Agents решает проблемы, связанные с сохранением состояния и управлением большим количеством артефактов в многошаговых AI-задачах. Он объединяет стандартные инструменты для вызова инструментов и позволяет структурировать рабочий процесс, разбивая сложные задачи на отдельные шаги.
2. Какие основные компоненты включает в себя Deep Agents по умолчанию?
Основные компоненты Deep Agents по умолчанию включают:
* инструмент планирования write_todos;
* файловые инструменты, такие как readfile, writefile, edit_file, ls, glob и grep;
* доступ к оболочке через execute с песочницей;
* инструмент task для создания субагентов;
* встроенные функции управления контекстом, такие как автоматическое суммирование и сохранение больших выходных данных в файлы.
3. Как Deep Agents помогает управлять контекстом в многошаговых задачах?
Deep Agents помогает управлять контекстом в многошаговых задачах с помощью файловых инструментов. Они позволяют агенту выгружать большой контекст в хранилище, а не хранить всё внутри активного окна запроса. Это делает систему более подходящей для длительных задач, где выходные данные становятся частью рабочего состояния.
4. Какие инструменты Deep Agents использует для планирования и декомпозиции задач?
Для планирования и декомпозиции задач Deep Agents использует встроенный инструмент write_todos. Его цель — явное разбиение сложной задачи на отдельные шаги, отслеживание прогресса и обновление плана по мере появления новой информации.
5. Как Deep Agents поддерживает изоляцию контекста в многошаговых AI-задачах?
Deep Agents поддерживает изоляцию контекста в многошаговых AI-задачах с помощью встроенного инструмента task для создания субагентов. Этот инструмент позволяет основному агенту создавать специализированных субагентов для изоляции контекста, сохраняя основной поток более чистым, одновременно позволяя системе глубже работать над конкретными подзадачами.