项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-09-25 · 当前星标 ★ 1591
使用教程
环境要求
- Python 环境(能使用 pip 安装包)
- 可用的 OpenAI API Key(示例使用 gpt-4o)
- 安装 langgraph-swarm 及 langchain-openai
安装与启动步骤
-
1安装核心库
用 pip 安装 langgraph-swarm,它会自动带上 LangGraph 等底层依赖。
pip install langgraph-swarm -
2安装示例依赖
Quickstart 示例使用 OpenAI 模型,需一并安装 langchain-openai。
pip install langgraph-swarm langchain-openai -
3配置 API Key
把 <your_api_key> 换成自己的真实密钥,在运行脚本的同一个终端里执行。
export OPENAI_API_KEY=<your_api_key> -
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运行脚本
把上面代码保存为 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
同类项目推荐
oasf
开源
给 AI Agent 定统一数据契约,跨框架对接不再靠猜
Open Agentic Schema Framework
dialop
开源
让语言代理在目标导向的对话环境中学会协作决策
DialOp: Decision-oriented dialogue environments for collaborative language agents
genblaze
开源
统一编排多模态AI媒体生成,每个输出都带来源证明。
Genblaze is an open source Python SDK for orchestrating generative AI media pipeline···
ai-sdk-ollama
开源
用 AI SDK 统一接口直接调用本地 Ollama 模型
A Vercel AI SDK provider for Ollama built on the official ollama package. Type safe,···
aikit
开源
一套工具跑通大模型推理、微调与多卡扩展
Razer AIKit is an AI development toolkit with fast LLM inferencing, fine-tuning, and···
rigging
开源
用 pydantic 强类型约束 LLM 输出,少写胶水代码
Lightweight LLM Interaction Framework
ZombieBuddy
开源
不改源码,运行时直接改游戏逻辑
Java agent framework for Project Zomboid that enables runtime bytecode patching usin···
reverse-check
开源
浏览器里直接测 LLM 接口,免装后端秒出结果
Pure Front-End LLM API Testing Tool
hashformers
开源
用Transformer精准拆分乱标签,轻量高效,还能接入智能代理工作流。
Transformer-powered hashtag segmentation with beam search, RRF ensembles, and agent-···
