AI 简明手册
Agent 与 Harness 基础 · Agent 工程多工具编排:并发 vs 串行

多工具编排:并发 vs 串行

定义

多个工具调用可以串行、并发,或按依赖关系分批执行。判断依据不是工具名称,而是调用之间是否有顺序依赖、是否修改同一资源,以及失败后怎样恢复。

说明

互相独立的只读查询通常可以并发,降低总等待时间;有先后依赖、共享可变状态或修改同一资源的调用应串行。写操作若目标完全独立也可能并发,但需要明确资源边界和冲突策略。

一些框架会用 isConcurrencySafe 之类的元数据声明并发安全性,也有框架根据资源键、依赖图或工具类型生成执行计划。标记应由工具实现方提供,不能让模型凭名称猜测。

调度器还要定义部分失败、取消、超时和重试行为。并发只优化独立工作的等待时间,不能以牺牲一致性和可恢复性为代价。

边界与误区

  • 哪些工具不应该并发执行: 有先后依赖、修改同一资源、争用锁或副作用可能冲突的调用。

  • 并发安全由谁判断: 工具提供方根据实现与资源访问方式声明,编排层再结合本次调用的依赖关系决定。

  • 只读操作一定可以并发吗: 不一定;限流、外部服务容量和读取一致性也可能要求节流或串行。