协调 vs 编排¶
English | 中文
这两个词常被混用。在分布式 Agent 系统中,它们描述不同问题——混在一起会产生难以推理的 架构。
三个层次¶
| 层次 | 问题 | 典型机制 |
|---|---|---|
| 能力调用 | “你现在能做这个吗?” | MCP、HTTP API、工具调用 |
| 协调 | “跨 Agent 和时间正在发生什么?” | 事件、任务、状态、租约、委托 |
| 编排 | “这个持久流程应按什么顺序运行?” | 工作流引擎、状态机 |
能力调用¶
MCP 适合同步能力调用:发现工具、调用、得到结果。它刻意保持窄。它不定义任务如何跨重启 存活、状态如何共享、Agent 如何委托给另一个 Agent。
协调¶
协调关注随时间的共享状态:谁在做什么、什么变了、什么过期、什么被阻塞、什么需要恢复。 Harmovela 用七个维度定义协议:事件、任务、状态、上下文/记忆、委托、恢复、治理。
协调不规定工作流。它给独立参与者共享词汇。
项目:Harmovela。开发工作本身的协调见 COORDIVELA。
编排¶
编排关注持久执行:带步骤、重试、补偿、恢复与记录历史的流程。当工作有明确生命周期且必须 跨故障存活时适用。
项目:RHEOVELA。
如何选择¶
- 问题是“调用这个工具”,用能力接口。
- 问题是“多个 Agent 需要对正在发生什么达成一致”,用协调协议。
- 问题是“这个流程要运行数天并恢复”,用持久工作流引擎。
真实系统常三者都需要。错误是用工作流引擎当消息总线,或用工具协议当协调层。