langgraph-swarm-py

几行代码把多个 AI 智能体编成接力团队

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开发框架 🍴 复刻 228 🐛 待处理 22 👀 关注 14
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 1591
维护状态 较活跃
是否开源 开源
定价模式 🏷️完全免费 开源免费,基于LangGraph的Python库

项目预览

langgraph-swarm-py 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开发框架
开发团队langchain-ai
定价模式🏷️完全免费
价格说明开源免费,基于LangGraph的Python库
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言Python
技术栈/模型agents,langgraph,llms,multiagent,multiagent-systems,python
GitHub 星标★ 1591
上线时间2025-02-19 00:00:00
代码更新2026-10-28
仓库体积1002 KB
本站数据更新2026-11-09
维护状态较活跃
收录时间2026-09-25
浏览次数1

项目介绍

langgraph-swarm-py 是 LangChain 团队基于 LangGraph 构建的多智能体协作框架,核心思路是把多个 Agent 组织成「蜂群」结构:每个 Agent 拥有独立角色和工具,通过共享的 handoff 机制在彼此之间动态转交任务,而不是由单一调度器集中控制。它解决的是传统单 Agent 在复杂任务中上下文过载、职责混乱的问题,让多个专职 Agent 像团队一样接力完成研究、编码、审核等流程。框架提供 create_swarm 等高层 API,几行代码即可定义 Agent 列表、初始 Agent 和状态结构,底层复用 LangGraph 的图执行、状态持久化和流式输出能力,支持人工介入、断点续跑。适合需要多角色分工、任务可追踪、可插拔扩展的 LLM 应用开发。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-09-25 · 当前星标 ★ 1591

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 5 步

环境要求

  • Python 环境(能使用 pip 安装包)
  • 可用的 OpenAI API Key(示例使用 gpt-4o)
  • 安装 langgraph-swarm 及 langchain-openai

安装与启动步骤

  1. 1安装核心库

    用 pip 安装 langgraph-swarm,它会自动带上 LangGraph 等底层依赖。

    pip install langgraph-swarm
  2. 2安装示例依赖

    Quickstart 示例使用 OpenAI 模型,需一并安装 langchain-openai。

    pip install langgraph-swarm langchain-openai
  3. 3配置 API Key

    把 <your_api_key> 换成自己的真实密钥,在运行脚本的同一个终端里执行。

    export OPENAI_API_KEY=<your_api_key>
  4. 4编写蜂群脚本

    按 README 创建 Alice、Bob 两个 Agent,用 create_handoff_tool 互相转交,再用 create_swarm 组装并编译。

    from langchain_openai import ChatOpenAI
    
    from langgraph.checkpoint.memory import InMemorySaver
    from langchain.agents import create_agent
    from langgraph_swarm import create_handoff_tool, create_swarm
    
    model = ChatOpenAI(model="gpt-4o")
    
    def add(a: int, b: int) -> int:
        """Add two numbers"""
        return a + b
    
    alice = create_agent(
        model,
        tools=[
            add,
            create_handoff_tool(
                agent_name="Bob",
                description="Transfer to Bob",
            ),
        ],
        system_prompt="You are Alice, an addition expert.",
        name="Alice",
    )
    
    bob = create_agent(
        model,
        tools=[
            create_handoff_tool(
                agent_name="Alice",
                description="Transfer to Alice, she can help with math",
            ),
        ],
        system_prompt="You are Bob, you speak like a pirate.",
        name="Bob",
    )
    
    checkpointer = InMemorySaver()
    workflow = create_swarm(
        [alice, bob],
        default_active_agent="Alice"
    )
    app = workflow.compile(checkpointer=checkpointer)
    
    config = {"configurable": {"thread_id": "1"}}
    turn_1 = app.invoke(
        {"messages": [{"role": "user", "content": "i'd like to speak to Bob"}]},
        config,
    )
    print(turn_1)
    turn_2 = app.invoke(
        {"messa
  5. 5运行脚本

    把上面代码保存为 Python 文件后运行,观察两轮对话输出。

    python swarm_demo.py

关键配置

配置项必填说明示例
OPENAI_API_KEY是ChatOpenAI 调用 OpenAI 模型所需的密钥sk-xxxxxxxx
thread_id是会话线程标识,相同 id 会延续同一段对话状态1
default_active_agent是create_swarm 的初始活跃 Agent 名称Alice
model是ChatOpenAI 使用的模型名gpt-4o

如何确认成功

脚本运行后终端依次打印两轮 invoke 结果,第二轮回应用 Bob 接管并算出 5 + 7 = 12。

常见问题

Q:只装 langgraph-swarm 够用吗?

A:不够。README 的 Quickstart 还用到 langchain-openai,需按示例执行 pip install langgraph-swarm langchain-openai。

Q:没有 OpenAI API Key 怎么办?

A:示例依赖 OPENAI_API_KEY 与 ChatOpenAI;如需换其他模型,要自行替换 ChatOpenAI 部分,README 未提供其他模型示例。

Q:为什么第二次提问能接上第一个 Agent?

A:工作流编译时传入 InMemorySaver 检查点,并通过 thread_id 记录最后活跃的 Agent,所以后续对话由该 Agent 继续。

Q:Agent 之间怎么转交任务?

A:给 Agent 的 tools 里加入 create_handoff_tool(agent_name=..., description=...),再用 create_swarm 传入 Agent 列表即可。

注意事项

  • InMemorySaver 只保存在内存中,进程结束或重启后对话历史会丢失。
  • 示例密钥需替换为真实值,不要把 <your_api_key> 原样执行。
  • 同一个 thread_id 代表同一段会话,换 id 会开启新的上下文。
  • 该库基于 LangGraph,因此可复用其流式输出、记忆与 human-in-the-loop 能力。

核心亮点

  • 基于 LangGraph 图引擎,天然支持状态持久化、流式输出和人工介入断点
  • create_swarm 高层 API 极简,定义 Agent 列表即可跑通多角色转交
  • 与 LangChain 生态无缝衔接,工具、模型、回调可直接复用

不足之处

  • 项目较新,API 仍可能变动,生产环境需锁定版本
  • 文档和示例相对精简,复杂 handoff 场景需自行摸索

适用场景

  • 客服工单在售前、技术支持、退款专员 Agent 间自动转交
  • 研究流程中检索、分析、写作 Agent 接力产出报告
  • 代码任务里规划、编码、审查 Agent 分工协作

替代项目

AutoGen、CrewAI

上一篇:langchain-postgres

下一篇:langgraph-bigtool

同类项目推荐

oasf 开源

给 AI Agent 定统一数据契约,跨框架对接不再靠猜

Open Agentic Schema Framework

★ 345 2026-10-13
dialop 开源

让语言代理在目标导向的对话环境中学会协作决策

DialOp: Decision-oriented dialogue environments for collaborative language agents

★ 114 2026-08-09
genblaze 开源

统一编排多模态AI媒体生成,每个输出都带来源证明。

Genblaze is an open source Python SDK for orchestrating generative AI media pipeline···

★ 548 2026-08-09
ai-sdk-ollama 开源

用 AI SDK 统一接口直接调用本地 Ollama 模型

A Vercel AI SDK provider for Ollama built on the official ollama package. Type safe,···

★ 132 2026-10-29
aikit 开源

一套工具跑通大模型推理、微调与多卡扩展

Razer AIKit is an AI development toolkit with fast LLM inferencing, fine-tuning, and···

★ 217 2026-09-16
rigging 开源

用 pydantic 强类型约束 LLM 输出,少写胶水代码

Lightweight LLM Interaction Framework

★ 425 2026-10-07
ZombieBuddy 开源

不改源码,运行时直接改游戏逻辑

Java agent framework for Project Zomboid that enables runtime bytecode patching usin···

★ 329 2026-10-13
reverse-check 开源

浏览器里直接测 LLM 接口,免装后端秒出结果

Pure Front-End LLM API Testing Tool

★ 86 2026-08-09
hashformers 开源

用Transformer精准拆分乱标签,轻量高效,还能接入智能代理工作流。

Transformer-powered hashtag segmentation with beam search, RRF ensembles, and agent-···

★ 78 2026-08-09