用途:实现 LangGraph 的 supervisor-worker 模式,由中央协调器负责把任务分派给多个专用 worker 智能体,适用于需要统一调度、按顺序或按优先级推进的多智能体工作流。
主要能力:设计 supervisor 路由逻辑;创建专用 worker 节点并定义委派关系;跟踪 agent 完成情况与工作流进度;支持轮询路由、优先级路由以及基于 LLM 的结构化输出路由;使用 Command API 在更新状态的同时进行路由;用 agent_node_factory 记录各 worker 的完成状态。
使用方式:用 StateGraph 定义工作流状态(如 input、results、agents_completed),添加 supervisor 与各 worker 节点,用 add_edge(START, "supervisor") 指定入口,并让每个 worker 通过边返回 supervisor;supervisor 负责选择下一个节点或进入 END。需要同时更新状态与路由时使用 Command(update=..., goto=...),仅需路由时可用条件边。LLM 路由可结合 Pydantic 结构化输出(如 with_structured_output 或 OpenAI 的 chat.completions.parse)得到经过校验的决策。
适用场景:多专家协作的分析或内容处理流程、需要集中调试的多智能体编排,以及 OrchesKit 的分析工作流示例。
限制与注意:需避免缺少完成跟踪、遗漏 worker→supervisor 边、缺少 END 条件、supervisor 逻辑过重等问题;应使用 add_edge(START, node) 而非已弃用的 set_entry_point()。专家数量建议控制在 3-8 个,失败时可跳过并继续。评估用例见 references/evaluations.md,相关技能包括 langgraph-routing、langgraph-parallel、langgraph-state、langgraph-checkpoints、langgraph-streaming、langgraph-human-in-loop。