<НА ГЛАВНУЮ

LangGraph Multi-Agent Swarm: Революция в сотрудничестве ИИ с помощью Python

LangGraph Multi-Agent Swarm — это Python-библиотека, позволяющая создавать динамичные системы из специализированных AI-агентов с плавной передачей управления и сохранением контекста.

Представляем LangGraph Multi-Agent Swarm

LangGraph Multi-Agent Swarm — это библиотека на Python, созданная для координации нескольких AI-агентов в системе, напоминающей рой. Базируясь на фреймворке LangGraph, она позволяет разработчикам создавать многокомпонентные архитектуры, где специализированные агенты динамически передают управление друг другу в зависимости от задачи. Такой подход избегает использования одного агента для всех задач и обеспечивает непрерывность, отслеживая последнего активного агента, чтобы разговор продолжался без прерываний.

Архитектура и возможности

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

LangGraph Swarm поддерживает потоковые ответы, интеграцию краткосрочной и долгосрочной памяти, а также вмешательство человека в процесс. Это обеспечивает связные многошаговые взаимодействия, даже когда управление переходит между агентами.

Координация агентов и инструменты передачи управления

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

Управление состоянием и память

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

Разработчики могут создавать собственные схемы состояния для приватной истории сообщений каждого агента, обеспечивая гибкость в обмене контекстом — от полного сотрудничества до изолированного рассуждения.

Настройка и расширяемость

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

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

Интеграция и доступность

Библиотека тесно интегрируется с экосистемой LangChain, используя компоненты LangSmith для оценки и langchain_openai для доступа к моделям. Она не зависит от конкретной модели и поддерживает любые LLM-бэкенды, например OpenAI или Hugging Face.

LangGraph Swarm доступен на Python и JavaScript/TypeScript, подходит для веб- и серверлесс-сред. Распространяется под лицензией MIT и активно развивается с участием сообщества.

Пример использования

from langchain_openai import ChatOpenAI
from langgraph.checkpoint.memory import InMemorySaver
from langgraph.prebuilt import create_react_agent
from langgraph_swarm import create_handoff_tool, create_swarm
 
model = ChatOpenAI(model="gpt-4o")
 
# Агент "Алиса": эксперт по сложению
alice = create_react_agent(
    model,
    [lambda a,b: a+b, create_handoff_tool(agent_name="Bob")],
    prompt="Вы Алиса, специалист по сложению.",
    name="Alice",
)
 
# Агент "Боб": пират с игривой манерой, перенаправляет математику Алисе
bob = create_react_agent(
    model,
    [create_handoff_tool(agent_name="Alice", description="Перенаправить математику Алисе")],
    prompt="Вы Боб, игривый пират.",
    name="Bob",
)
 
workflow = create_swarm([alice, bob], default_active_agent="Alice")
app = workflow.compile(checkpointer=InMemorySaver())

Алиса решает задачи по сложению и может передать управление Бобу, который отвечает игриво, но перенаправляет математические вопросы обратно Алисе. Состояние разговора сохраняется между взаимодействиями благодаря InMemorySaver.

Сценарии использования

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

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

Для подробностей посетите репозиторий GitHub и следите за сообществом.

🇬🇧

Switch Language

Read this article in English

Switch to English