Dev48
ЯЗЫК
  • О нас
  • Услуги
  • Индустрии
  • Технологии
  • Статьи
  • Контакты
Забронировать звонок
    Главная/Статьи/Agenty perehodyat na asinhronnost
Dev48
info@dev48.org+375 29 320-40-96WhatsApp@isky_by

© 2026 · All rights reserved.

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

Источник: LangChain•5 ноября 2026 г. в 20:07

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

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

Представьте себе руководителя аппарата, который исчезает каждый раз, когда вы даете ему крупный проект, и возвращается только после его завершения. Вы бы, вероятно, уволили его немедленно. Хороший руководитель аппарата продвигает проекты в фоновом режиме, оставаясь при этом на связи и информируя вас о ходе работы. Поскольку мы ставим перед агентами всё более масштабные цели, им требуются те же два свойства. Агент должен быть отзывчивым, немедленно реагируя на новую инструкцию с учетом всего предыдущего контекста, и продуктивным, выполняя множество крупных задач одновременно.

Архитектура, которую мы использовали для создания агентов в течение некоторого времени, не может удовлетворить оба требования. В стандартном цикле ReAct каждый вызов длительного инструмента блокирует цикл, и все остальные задачи выстраиваются в очередь. Вместо этого мы наблюдаем, как экосистема переходит к разделению на одного агента, который остается с пользователем, и фоновые процессы, выполняющие длительную работу. Claude Code по умолчанию запускает субагентов в фоновом режиме, OpenAI dots передает работу фоновым процессам, чтобы продвигаться по нескольким направлениям одновременно, а DeepSeek Harness построил своего суперагента вокруг маршрутизатора, который общается с людьми, и фоновых процессов, выполняющих задачи параллельно.

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

Как работают асинхронные субагенты

Агент работает в цикле. Модель вызывает инструмент, ждет результата и решает, что делать дальше. Исторически инструменты и субагенты блокировали этот цикл до тех пор, пока не возвращали ответ, подобно коду, который по очереди ожидает каждый медленный вызов. Асинхронный субагент работает как задача, запущенная с помощью asyncio.create_task или Promise, который вы еще не ожидаете. Вызов возвращается немедленно, работа выполняется независимо в фоновом режиме, а результат приходит позже.

Асинхронная работа зависит от двух свойств системы:

  • Пользователь может связаться с оркестратором. Оркестратор — это агент, с которым пользователь взаимодействует напрямую. Субагенты больше не удерживают его цикл, поэтому пользователь может связаться с ним, когда его собственный цикл не занят, вместо того чтобы ждать завершения каждого субагента.
  • Задачи выполняются параллельно без блокировки. Оркестратор запускает субагентов по мере поступления работы, вместо того чтобы ждать завершения всей партии.

Оркестратор управляет асинхронными субагентами с помощью пяти инструментов:

  • start_async_task запускает субагента в собственном потоке и немедленно возвращает управление.
  • check_async_task получает статус задачи и, после ее завершения, результат.
  • update_async_task отправляет запущенной задаче новые инструкции.
  • cancel_async_task останавливает запущенную задачу.
  • list_async_tasks выводит список всех задач и их статусов.

Управление запущенным субагентом отличается от взаимодействия с оркестратором. Когда оркестратор отправляет последующее обновление с помощью update_async_task, поле update_strategy в определении субагента определяет, что произойдет:

  • "interrupt" (по умолчанию) останавливает текущее выполнение и перезапускает субагента с новой инструкцией. Используйте это для исправления, например: "используй Postgres вместо этого".
  • "enqueue" удерживает последующее обновление до завершения текущего выполнения. Используйте это для дополнения, например: "запусти тесты, когда закончишь".

Как работают уведомления

Каждая незавершенная задача указана в системном промпте оркестратора, поэтому он всегда знает, что находится в процессе выполнения. Он может опрашивать состояние с помощью check_async_task, или задачи могут отчитываться самостоятельно:

  • Если оркестратор занят, он проверяет свои незавершенные задачи перед каждым вызовом модели и получает результат в процессе работы.
  • Если он простаивает, субагент «будит» его новым запуском.
  • Если он приостановлен в ожидании подтверждения, подтверждение остается без изменений, и результат поступает, как только пользователь ответит.

Субагент, которому требуется подтверждение, отображается как ожидающий, и пользователь отвечает в собственном потоке субагента, не прерывая оркестратор. В Managed Deep Agents в Slack запрос отправляется обратно в исходный поток.

Мы ожидаем, что этот шаблон распространится за пределы субагентов на все инструменты в целом. OpenAI недавно добавила поддержку асинхронного вызова инструментов, где модель продолжает работать после вызова инструмента, а ваше приложение отправляет результат обратно в последующем запросе.

Использование асинхронных субагентов

Асинхронные субагенты доступны в Deep Agents для Python и JavaScript, а также в Managed Deep Agents, где для перевода субагента в асинхронный режим требуется всего одно поле:

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

Уведомления о задачах находятся в бета-версии, поэтому API может измениться. В репозитории async-deep-agents есть работающий супервизор с субагентами-исследователями и программистами на Python и TypeScript.

Попробуйте асинхронные субагенты и дайте нам знать, что вы думаете, в GitHub issues или на форуме.

← Все статьи

О чём эта статья

Ещё в разделе «AI и машинное обучение»

Все →
GPT‑6 Cyber: расширение границ возможностей согласованных агентов кибербезопасности
OpenAI

GPT‑6 Cyber: расширение границ возможностей согласованных агентов кибербезопасности

Новые открытые модели NVIDIA Cosmos 3 для интерактивного моделирования миров
Hugging Face

Новые открытые модели NVIDIA Cosmos 3 для интерактивного моделирования миров

Звезда шоу «Ферма Кларксона» Калеб Купер возглавит новый сериал «Калеб вне фермы», который выйдет на Prime Video 8 января
Amazon

Звезда шоу «Ферма Кларксона» Калеб Купер возглавит новый сериал «Калеб вне фермы», который выйдет на Prime Video 8 января

Gemini Omni 1.2 Flash: быстро, экономично и с более длинными роликами
DeepMind

Gemini Omni 1.2 Flash: быстро, экономично и с более длинными роликами

У Lambda новый адрес: lambda.com
Lambda

У Lambda новый адрес: lambda.com

Amazon в жизни общества: что происходит в Сиэтле, Белвью и регионе Пьюджет-Саунд
Amazon

Amazon в жизни общества: что происходит в Сиэтле, Белвью и регионе Пьюджет-Саунд

Ещё от LangChain

Почему человеческий опыт — это стратегическое преимущество при создании лучших агентов
LangChain

Почему человеческий опыт — это стратегическое преимущество при создании лучших агентов

LangSmith BYOC теперь доступен на AWS, Azure и Google Cloud
LangChain

LangSmith BYOC теперь доступен на AWS, Azure и Google Cloud

Как мы оптимизировали работу с браузером для Deep Agents
LangChain

Как мы оптимизировали работу с браузером для Deep Agents

Новые задачи контекстной инженерии в конце 2026 года
LangChain

Новые задачи контекстной инженерии в конце 2026 года

Использование браузера в Managed Deep Agents
LangChain

Использование браузера в Managed Deep Agents

Как создать агентскую память на основе фактов с помощью OpenWiki и Графов
LangChain

Как создать агентскую память на основе фактов с помощью OpenWiki и Графов