4.1 KiB
当前系统多 Agent 协作能力
一、四种协作模式(后端已实现,前端暂无 UI)
核心在 backend/app/agent_runtime/orchestrator.py,AgentOrchestrator 支持:
┌────────────┬────────────────┬─────────────────────────────────────────────────────────────────────────────┐ │ 模式 │ 机制 │ 说明 │ ├────────────┼────────────────┼─────────────────────────────────────────────────────────────────────────────┤ │ route │ 路由分发 │ Router Agent 分析问题 → 挑选最合适的 Specialist Agent → 委托执行 → 返回结果 │ ├────────────┼────────────────┼─────────────────────────────────────────────────────────────────────────────┤ │ sequential │ 顺序流水线 │ Agent A → B → C 依次执行,上一轮的输出作为下一轮的输入 │ ├────────────┼────────────────┼─────────────────────────────────────────────────────────────────────────────┤ │ debate │ 并行辩论 │ 多个 Agent 同时回答同一问题,Aggregator Agent 综合各方观点输出最终答案 │ ├────────────┼────────────────┼─────────────────────────────────────────────────────────────────────────────┤ │ pipeline │ 规划-执行-审核 │ Planner 拆解任务 → Executor 逐步执行 → Reviewer 审核结果 │ └────────────┴────────────────┴─────────────────────────────────────────────────────────────────────────────┘
API 端点:POST /api/v1/agent-chat/orchestrate
二、工作流 DAG 中的 Agent 协作
在 backend/app/services/workflow_engine.py 中,工作流支持两种方式引入 Agent:
- agent 节点:在工作流画布上拖入一个 Agent 节点,内部运行完整的 ReAct 循环(思考→调工具→再思考),输出传给下游节点
- subworkflow / invoke_agent 节点:一个工作流/Agent 调用另一个工作流或 Agent 作为子执行,支持父子执行记录追踪和深度限制(防止无限递归)
三、多用户协同编辑(Workflow 画布)
backend/app/api/collaboration.py 支持多人在同一工作流画布上实时协作(类似 Figma),通过 WebSocket 广播节点/连线的增删改操作。
四、本质限制
- Agent 之间没有共享记忆,各自独立
- Agent 之间没有直接消息传递,全靠 Orchestrator 或工作流 DAG 数据流中转
- 没有"团队/swarm"概念,Agent 不能自组织
- 没有 call_agent 工具,Agent 不能像调工具一样调用另一个 Agent
你现在要用哪种协作模式? 比如:
- 用 route 模式做"路由 + 专业分工"(橙子助手路由到不同专业 Agent)
- 用 debate 模式做"多视角讨论"
- 在工作流画布上用 agent/subworkflow 节点串联多个 Agent