Supervisor 模式是多 Agent 协作中最成熟的生产方案:一个 Supervisor 节点作为调度中枢,接收用户请求后分析任务并路由给专业的 Worker 节点执行。每个 Worker 拥有独立的系统提示词、工具和模型配置,执行完成后将结果写回共享状态,Supervisor 评估结果后决定继续路由给其他 Worker 或终止。所有通信通过 LangGraph 的共享 State 传递,无需 Agent 之间直接 API 调用。
复杂的 Worker 本身可以是独立的子图,包含多步处理逻辑。例如研究员 Worker 可以是一个包含"网络搜索 → 事实提取 → 摘要生成"三步的子图。子图作为单个节点嵌入父图中,父图不需要了解子图的内部结构,只需关注输入输出 schema。这种组合式设计使得大型多 Agent 系统可以分层构建、独立测试和复用。
通过 Send 对象,Supervisor 可以在一个超级步中同时向多个 Worker 派发任务,实现真正的并行执行。返回 [Send("researcher", state), Send("coder", state)] 这样的列表会让 LangGraph 为每个 Send 创建独立的执行分支,各分支的结果通过 reducer 自动合并回主状态。这种 fan-out/fan-in 模式可以将串行执行的时间复杂度从 O(n) 降低到 O(1)。
对于超大规模的系统,可以采用多层 Supervisor 架构:顶层 Supervisor 负责任务分解,中层 Supervisor 管理特定领域的 Worker 团队,底层 Worker 执行具体操作。每个层级的交互模式都是显式的图结构,确保了整个系统的可审计性。实践中,单个 Supervisor 管理的 Worker 数量建议不超过 8-10 个,超过此规模应引入层级拆分。