← [ BACK_TO_NOTES ]

Orchestration

多 agent 系统里的调度与控制层,负责路由、执行顺序、状态传递、安全边界和错误恢复。

#ai #orchestration #concept #growing

[!info] related notes

Orchestration

一句话定义

Orchestration 可以理解成 agent 系统里的调度与控制层,负责决定谁先做、谁后做、谁调用谁、什么时候交棒、什么时候停,以及上下文和安全边界怎么传。

它到底在解决什么问题

单个 agent 也能工作,但任务一复杂,就会冒出一整层“流程控制”问题:

  • 这个任务要不要拆给多个 specialist
  • 是让一个 manager 持续掌控,还是直接把会话交给 specialist
  • 哪些步骤交给模型判断,哪些必须由代码硬控
  • 上下文是完整传递还是裁剪后再传
  • guardrails 挂在入口、出口还是工具调用上
  • 失败、超时、人工审批、恢复执行怎么做

这些都属于 orchestration,不属于单个 prompt 或单个 tool 本身。

它在系统里的位置

用户
  -> harness / runtime
     -> orchestration
        -> agent A
        -> agent B
        -> tools / MCP / built-in tools
        -> sessions / guardrails / tracing

可以粗暴记成:

  • 模型负责思考
  • 工具负责执行
  • orchestration 负责把整条工作流组织起来

两种核心思路

1. LLM-driven orchestration

把更多决策权交给模型。

适合:

  • 任务开放
  • 路由规则难以写死
  • specialist 边界比较模糊

典型模式:

2. Code-driven orchestration

把更多决策权收回到代码里。

适合:

  • 路由规则明确
  • 成本、时延、SLA 更重要
  • 需要可预测性和确定性

常见做法:

  • 先让模型输出结构化分类结果,再由代码决定下一步路由
  • 串行 pipeline:研究 -> 大纲 -> 初稿 -> 批改 -> 改写
  • evaluator loop:一个 agent 产出,另一个 agent 评审
  • 并行 fan-out:多个 agent 并行运行,再汇总结果

这些模式如果单独拆开看,可以对应到:

它不只是路由,还包括 4 层控制

1. Routing

谁来处理当前任务,是 manager 自己做,还是切给 specialist。

2. Execution

当前步骤由模型判断,还是由代码硬控;是串行、并行,还是 loop。

3. State

历史、上下文、本地状态和依赖怎么传、怎么裁。

4. Control

max turns、guardrails、审批、错误恢复、tracing 怎么挂。

运行时视角怎么理解

Orchestration 最后会落到一个 run loop 上:

  1. 调当前 active agent 的 model
  2. 检查返回结果
  3. 如果是 final output 就结束
  4. 如果是 tool calls 就执行工具并把结果回填
  5. 如果是 handoff 就切换 active agent 再继续
  6. 超过限制时中止或报错

所以 orchestration 不只是“架构图”,它最终一定会落到执行循环。这个执行循环通常运行在 runtime 里,而 agent 自己在这个循环中体现出的局部行为,经常就是一个 planning loop。

很多生产系统还会在这条链路上插入 审批点,把高风险动作从“自动继续”切成“等待授权”。

和其他概念怎么区分

和工作流编排的区别

  • 工作流编排 关注一条多步骤流程如何以串行、并行、条件、循环和恢复策略被执行,通常更偏 code/graph-defined control flow。
  • Agent orchestration 关注多个 agent、tools、handoffs、context 与 policy 如何被整体调度,允许更多运行时动态决策。
  • 两者可以重叠:生产系统经常用确定性的 workflow skeleton 承载动态 agent 节点。

和 Function Calling 的区别

  • Function Calling 是单个工具调用接口
  • Orchestration 是整条工作流怎么安排

和 MCP 的区别

  • MCP 解决怎么接工具和资源
  • Orchestration 解决什么时候用哪个工具、什么时候交给哪个 agent

和 Skills 的区别

  • Skills 更像流程知识包和操作手册
  • Orchestration 是运行时调度层

和 A2A 的区别

  • A2A 是 agent 之间的标准化通信协议
  • Orchestration 是你的系统怎么组织这些 agent 的工作流

最短记忆方式

Tool、MCP、Skills、A2A 都是在给 agent 增加能力;orchestration 决定这些能力在一个任务里如何被组织、调度和约束。

学习检查

不看正文回答:

  1. Orchestration 为什么不是单纯“把请求路由给某个 Agent”?
  2. Routing、Execution、State、Control 四层分别解决什么?
  3. Code-driven 与 LLM-driven orchestration 的可预测性和灵活性如何取舍?
  4. Function Calling、MCP、Skills、A2A 与 Orchestration 分别位于什么层?
  5. Runtime 与 Orchestration 为什么高度相关但不是同一个概念?
  6. Approval、max turns、guardrails、retry / recovery 为什么属于控制层而不是工具本身?
  7. 给一个“规划模型 + 多个实现 Agent + Reviewer”的任务,画出路由、状态传递、并行/串行与停止条件。

参考

创建于 2026/4/16 更新于 2026/10/1
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本