Swarm 与 Handoff
Swarm 没有永久中心调度者。当前 active agent 可以通过 handoff 把控制权交给另一个 Agent,接收方直接继续用户会话,并可在以后再次交接。
适用边界
适合:客服从分流员交给退款专家、任务责任人在多个专家间跨轮切换、专家需要保留接管关系。不适合:严格中心审批、强审计链、需要同时比较多个专家候选、责任必须始终由唯一中心承担的高风险流程。
LangGraph Swarm 示例
下面使用 create_handoff_tool、create_swarm 和 checkpointer 保存跨轮 active agent。
示例需要 OPENAI_API_KEY 与 OPENAI_MODEL。生产中应使用持久化 checkpointer,并结构化记录交接目标、原因、摘要和权限。
Handoff 契约
只传“请你接着处理”会使下一个 Agent 重复搜索、遗漏约束或继承错误权限。交接前还要验证目标 Agent 是否存在、调用者是否有权转交、接收方工具权限是否满足最小授权。
常见失败
- A 与 B 相互 handoff,任务没有进展;
- active agent 没有持久化,下一轮又回到默认角色;
- 完整上下文无差别转交,泄露无关用户数据;
- 交接被误当成任务完成;
- 接收方获得原 Agent 的全部写权限;
- 多个 Agent 同时认为自己拥有最终响应权。