Deep Agents — готовый каркас для LLM-агентов от LangChain

· 1 мин чтения
agent-harness langchain langgraph framework python
📂 Исходный код на GitHub

Опенсорсный агентный харнесс Deep Agents от LangChain: подагенты, файловая система, управление контекстом, память, скиллы и human-in-the-loop поверх LangGraph. Работает с любыми LLM с tool calling.

Deep Agents — готовый каркас для LLM-агентов от LangChain

Deep Agents — готовый каркас для LLM-агентов от LangChain

Deep Agents — опенсорсная Python-библиотека от команды LangChain. Авторы называют её «batteries-included agent harness»: агент с продуманными настройками по умолчанию, который работает сразу из коробки. Любую его часть можно расширить, заменить или переопределить без форка.

Под капотом лежит LangGraph. Оттуда Deep Agents берёт стриминг, сохранение состояния и чекпоинты. Для трассировки, оценки и деплоя предусмотрен LangSmith. Лицензия — MIT, на GitHub у проекта около 30 тысяч звёзд. Есть и JavaScript/TypeScript-версия — deepagents.js.

Идея выросла из Claude Code. Команда LangChain попыталась понять, что делает его универсальным инструментом, и развить эту мысль дальше.

Зачем ещё один слой в стеке LangChain

Стек LangChain состоит из трёх уровней. Внизу находится LangGraph — рантайм для графов состояний. Над ним — create_agent в LangChain, минимальный каркас агента. Deep Agents — это надстройка над create_agent с батарейками в комплекте: файловая система, подагенты, управление контекстом и скиллы уже включены.

Выбор уровня зависит от задачи:

Инструмент Когда выбирать
LangGraph Стандартный цикл агента не подходит, нужен свой граф
create_agent Нужен лёгкий каркас без встроенных middleware
Deep Agents Нужен полный набор сразу: планирование, контекст, делегирование

Уровни сочетаются между собой. Любой граф LangGraph можно передать в Deep Agent как подагента. Так своя оркестрация встанет рядом с настройками по умолчанию. Обзор всей экосистемы собран в отдельном гайде.

Что входит в комплект

  • Подагенты — делегирование задач агентам с изолированными окнами контекста. Главная задача агента не забивается мелкими подзадачами.
  • Файловая система — чтение, запись, редактирование и поиск. Хранилище подключаемое: локальная папка, песочница или удалённый бэкенд.
  • Управление контекстом — суммаризация длинных диалогов и выгрузка результатов инструментов на диск. Это ключ к работе над задачами, которые живут часами.
  • Доступ к shell — запуск команд в песочнице на выбор.
  • Постоянная память — подключаемые хранилища состояния. Агент помнит прошлые сессии.
  • Human-in-the-loop — перед запуском инструмента человек может одобрить, поправить или отклонить вызов.
  • Скиллы — переиспользуемые поведения, которые агент подгружает по требованию.
  • Инструменты — свои функции или любой MCP-сервер.

Почему это важно? Долгие многошаговые задачи ломают обычных агентов. Контекст переполняется результатами инструментов. План теряется в длинном диалоге. Deep Agents решает обе проблемы по умолчанию: результаты выгружаются на диск, а диалог сжимается в сводку.

Быстрый старт

Установка через uv (подойдёт и pip):

uv add deepagents

Минимальный агент в несколько строк:

from deepagents import create_deep_agent

agent = create_deep_agent(
    model="openai:gpt-6-astra",
    tools=[my_custom_tool],
    system_prompt="You are a research assistant.",
)
result = agent.invoke({"messages": "Research LangGraph and write a summary"})

Такой агент умеет планировать, читать и писать файлы, следить за своим контекстом. Дальше можно добавить свои инструменты, поменять модель, настроить подагентов и промпты. Полные детали — в документации, справочник по API — на reference.langchain.com.

Внутри Deep Agents работает через middleware. Каждая возможность — отдельный слой: скиллы, суммаризация, файловые операции. Не нужен какой-то слой? Его можно отключить. Нужен свой? Пишется свой middleware по тому же интерфейсу. Поэтому «расширить или заменить» здесь не маркетинг, а реальный API.

Подагенты: делегирование без потери фокуса

Отдельно стоит рассказать про подагентов. Главная проблема длинных задач — контекст. Агент читает большой файл, получает длинный вывод инструмента, и вот уже окно заполнено мусором. Deep Agents решает это делегированием.

Главный агент пишет задачу и передаёт её подагенту. Подагент получает чистое окно контекста. Он работает: читает файлы, запускает команды, ищет. Наверх возвращается только итог. Шум остаётся внутри подагента.

Как подагента можно использовать и свой граф LangGraph. Так нестандартная оркестрация встраивается в готовый харнесс.

Deep Agents Code: агент для терминала

На базе библиотеки собран готовый продукт — Deep Agents Code. Это агент для терминала в духе Claude Code или Cursor, но работает с любой LLM. Установка одной командой:

curl -LsSf https://langch.in/dcode | bash

Полный список возможностей — в документации Deep Agents Code.

Какие модели подходят

Deep Agents работает с любой моделью, которая умеет вызывать инструменты (tool calling). Сценариев три:

  • фронтовые API — OpenAI, Anthropic, Google;
  • open-weight модели на хостингах вроде Baseten или Fireworks;
  • локальные модели через Ollama, vLLM или llama.cpp.

Подключение идёт через любую чат-модель LangChain. Привязки к конкретному вендору нет.

Продакшн и безопасность

Deep Agents рассчитан на продакшн. Основой служит LangGraph со стримингом, чекпоинтами и персистентностью. Для трассировки, оценки и мониторинга проект рекомендует LangSmith. Пошаговый гайд по выводу в продакшн — в разделе Going to production.

С моделью безопасности авторы честны. Deep Agents следует принципу «доверяй LLM»: агент может сделать всё, что позволяют его инструменты. Границы нужно ставить на уровне инструментов и песочницы. Ждать, что модель ограничит себя сама, не стоит.

С чего начать

В репозитории есть папка examples с рабочими агентами. Там лежат deep research, генератор контента, свой вариант «Ralph-режима» и другие примеры. Вопросы можно задать на форуме сообщества.

Deep Agents — удачный выбор, если нужен агент «под ключ»: с файлами, подагентами, памятью и скиллами. Это типовой сценарий: исследовательские агенты, обработка больших документов, автоматизация задач на часы. А когда стандартный каркас начнёт мешать, каждый его слой заменяется своим кодом.

Источник: https://github.com/langchain-ai/deepagents