Google 的 Agent Development Kit (ADK) 提供了两种主要的任务管理方式。

动态多智能体路由 (Dynamic Multi-Agent Routing)

在路由模型中,中央协调器接收用户的请求并将其分发给专业智能体。协调器决定由哪个专业智能体执行,专业智能体完成其相应的工作,然后将控制权交还给父级。

  • 工作原理 – 协调器选择一个专业智能体,转发任务,然后等待响应后再继续下一步。
  • 优点 – 灵活性极高。由于 LLM 在运行时选择路径,系统可以适应新的或意料之外的输入,而无需重写工作流。
  • 缺点 – 每次跳转都会增加网络和处理开销,因此与直线型流水线相比,延迟会增加。

顺序工作流循环 (Sequential Workflow Loops)

循环模型用单个 LoopAgent 取代了协调器,它会按照预定的步骤序列进行操作,并共享一个可变的会话状态。

  • 工作原理 – 智能体读取共享键,更新它,然后将控制权移交给下一步,直到序列结束。
  • 优点 – 可预测性。顺序永远不会改变,使得调试和性能调优变得简单直接。
  • 缺点 – 僵化。任何偏离固定顺序的需求都会迫使重新设计循环。

实战测试:数学表达式解析器

为了观察这些模式的实际应用,我们构建了一个简单的解析器,使用四个专业智能体来计算算术表达式:addersubtractermultiplierdivider

从工作流循环中获得的经验

  1. 防止死循环 – 我们指示每个智能体在更新共享状态后立即输出文本并结束其轮次。如果没有这个保护机制,循环可能会无限运行。
  2. 维持数学逻辑 – 我们为 adder 提供了明确的指导,要求其遵守运算顺序,防止其破坏减法规则。
  3. 避免静默退出 – 我们强制智能体在调用退出工具之前打印最终结果,以便用户看到结果,而不是突然终止。

错误处理

我们在 divider 专业智能体之前添加了一个除零保护机制。该保护机制会首先检查除数;如果除数为零,它会停止处理过程,从而避免整个系统出现运行时异常。

哪种模式适合您的项目?

  • 选择多智能体路由:当任务在运行过程中不断演变、输入差异很大,或者需要 LLM 在运行时决定最佳专业智能体时。权衡之处在于更高的延迟,但系统可以在无需更改代码的情况下处理无法预见的场景。
  • 选择工作流循环:当您拥有定义明确的流水线时(例如数据清洗、转换、聚合),且每个步骤必须按严格顺序执行。其优势是延迟较低且易于调试,但代价是无法进行动态分支。