Дата публикации
ai_products

Deep Agents 0.5: асинхронные подагенты и удалённые серверы для долгих задач

Что появилось / что изменилось

LangChain обновил Deep Agents и deepagentsjs до версии 0.5. Главное — работа с асинхронными подагентами и расширенная мультимодальная файловая система.

Ключевые изменения:

  • Появились асинхронные подагенты (AsyncSubAgent), которые запускаются на удалённых серверах и не блокируют основной агент.
  • Поддержка смешанной конфигурации: в одном графе можно использовать AsyncSubAgent, SubAgent и CompiledSubAgent.
  • Основной агент получает пять новых "инструментов" для управления фоновыми задачами:
    • start_async_task — запускает задачу на удалённом агенте и сразу возвращает ID задачи;
    • check_async_task — проверяет статус и забирает результат, когда задача завершена;
    • update_async_task — отправляет дополнительные инструкции в уже запущенную задачу;
    • cancel_async_task — останавливает выполняющуюся задачу;
    • list_async_tasks — показывает все отслеживаемые задачи и их статусы.
  • Асинхронные подагенты работают через Agent Protocol: можно подключать любые совместимые серверы, в том числе развернутые через LangSmith или собственный FastAPI-сервис.
  • Если не указывать url, Deep Agents используют ASGI-транспорт и общаются с подагентом в рамках одного процесса.

Цифр по скорости, стоимости или лимитам контекста LangChain не приводит. Фокус релиза — архитектура и сценарии использования.

Как это работает

Раньше Deep Agents опирались на "inline"-подагентов. Они выполняли короткие задачи прямо в цикле супервизора и блокировали его, пока не вернут ответ. Для операций на секунды это приемлемо, для минутных расчётов — уже нет.

Асинхронный подагент описывается через AsyncSubAgent и указывает на удалённый агент по URL и graph_id:

from deepagents import AsyncSubAgent, create_deep_agent

agent = create_deep_agent(
    model="anthropic:claude-sonnet-4-6",
    subagents=[
        AsyncSubAgent(
            name="researcher",
            description="Performs deep research on a topic.",
            url="https://my-agent-server.dev",
            graph_id="research_agent",
        ),
    ],
)

create_deep_agent по типу спецификации решает, через какое middleware общаться с подагентом: локально, скомпилированно или по сети.

Асинхронные подагенты:

  • выполняются на удалённом сервере, который реализует Agent Protocol;
  • держат собственное состояние между запросами — по сути, отдельный поток выполнения;
  • принимают обновления инструкции в процессе работы (update_async_task).

Agent Protocol — открытая спецификация LangChain для серверов с агентами. Deep Agents 0.5 используют её как базовый протокол. В качестве транспорта можно выбрать HTTP (удалённый сервер) или ASGI (всё в одном процессе без сети).

LangChain отдельно рассмотрел альтернативы:

  • ACP (Agent Client Protocol): хорошо подходит для редакторов кода, но построен вокруг синхронной сессии и сейчас завязан на stdio, без готового HTTP. Для удалённых асинхронных задач это неудобно.
  • A2A (Agent-to-Agent Protocol): поддерживает HTTP и асинхронные задачи, плюс дополнительные функции вроде подписок и обнаружения агентов. LangChain оставляет возможность добавить поддержку A2A позже, но сейчас делает ставку на более простой для итераций Agent Protocol.

Что это значит для вас

Если вы строите сложные пайплайны на LangGraph или Deep Agents, версия 0.5 решает ключевую боль — долгие задачи больше не замораживают основной агент.

Где это полезно:

  • Глубокие исследования: поиск и анализ десятков источников, когда один агент общается с пользователем, а другой часами копается в документах.
  • Крупный анализ кода: разбор большого репозитория, статический анализ, построение отчётов, когда каждая задача может выполняться минуты.
  • Многошаговые дата-пайплайны: очистка данных, агрегации, генерация отчётов, где удобно запускать несколько независимых веток обработки параллельно.
  • Гетерогенные деплойменты: лёгкий оркестратор общается с тяжёлыми агентами на других машинах, с другими моделями и своим набором инструментов.

Плюсы для разработчика:

  • основной агент остаётся отзывчивым — может продолжать диалог с пользователем, пока фоновые задачи считают результат;
  • можно динамически управлять фоном: переслать уточнения, скорректировать курс, отменить неактуальную задачу;
  • легко комбинировать локальные и удалённые подагенты в одном графе.

Минусы и ограничения:

  • придётся управлять инфраструктурой: поднимать HTTP/ASGI-серверы, следить за очередями задач и логированием;
  • нет готовых метрик ускорения или снижения стоимости — нужно измерять эффект в своём стеке;
  • для полноценной работы с удалёнными агентами может понадобиться доступ к зарубежным сервисам. Если ваша инфраструктура или хостинг заблокированы в России, без VPN и прокси не обойтись.

Если вы делаете простого чат-бота без тяжёлых задач на минуты, асинхронные подагенты вам вряд ли нужны. Для сложных систем с несколькими агентами это уже почти обязательный инструмент.

Место на рынке

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

LangChain делает ставку на собственный Agent Protocol и тесную интеграцию с LangGraph и LangSmith. Это удобно, если вы уже живёте в экосистеме LangChain и строите графы состояний вокруг агентов.

Прямых численных сравнений с другими решениями LangChain не приводит. Нет данных по тому, насколько Deep Agents быстрее или дешевле, чем, например, самописный оркестратор на HTTP или другие протоколы вроде A2A.

Фактически Deep Agents 0.5 — это шаг в сторону более распределённых агентных систем, где один лёгкий "мозг" раздаёт работу специализированным исполнителям. Если вы уже используете LangChain и хотите масштабировать агентную архитектуру, обновление до 0.5 выглядит логичным следующим шагом.


Читайте также

Deep Agents 0.5: асинхронные подагенты и удалённые серверы для долгих задач — VogueTech | VogueTech