智能体工作流的 4 个设计维度

人们经常混淆 AI 智能体(AI agents)和 AI 工作流(AI workflows)。有人认为任何带有工具的 LLM 都是智能体;也有人认为智能体必须能够长时间独立运行。这些争论对构建更好的系统毫无帮助。

不要再问一个系统是否具有“智能体特性”了。相反,请关注以下四个设计维度:

  1. 由谁决定下一步?
  • 代码驱动 (Code-driven):由代码控制执行序列。适用于规则明确的高风险任务。
  • 模型驱动 (Model-driven):由 LLM 规划步骤。适用于开放式任务。
  • 混合模式 (Hybrid):代码设定框架,LLM 进行微小决策。这是最务实的选择。
  1. 路径是否固定?
  • 固定路径 (Fixed):步骤遵循既定顺序。
  • 条件路径 (Conditional):系统根据结果使用分支或重试机制。
  • 自适应路径 (Adaptive):路径在运行时发生变化。适用于研究或调试场景。
  1. 智能体如何协作?
  • 单智能体 (Single Agent):一个智能体使用多个工具。这种方式简单,但上下文可能会变得混乱。
  • 管理者-执行者 (Manager-Worker):一个智能体负责分解任务并将其分配给其他智能体。
  • 交接模式 (Handoff):一个智能体将控制权移交给专家智能体。
  • 对等模式 (Peer):多个智能体在没有中心领导的情况下协作。这是最难调试的一种。
  1. 人类在何处介入?
  • 人类触发 (Human-triggered):你批准每一个重大操作。
  • 检查点模式 (Checkpointed):系统独立运行,但在高风险步骤会停止以等待审批。
  • 带护栏的目标驱动 (Goal-driven with guardrails):你设定目标,系统在预算和权限等限制范围内运行。

不要为了追求时髦而添加智能体。增加智能体会增加延迟、成本和调试难度。只有在可以并行执行任务,或者单个智能体的上下文过于庞大时,才使用多个智能体。

让你的架构与任务相匹配。如果任务具有风险,请使用检查点;如果任务很简单,请使用代码。

在构建之前,请问自己这六个问题:

  • 常规代码能解决这个问题吗?
  • 输入的变动程度有多大?
  • 任务可以拆分吗?
  • 失败的代价有多大?
  • 你能看出哪里出错了(可观测性)吗?
  • 额外的复杂性是否值得?

一个好的工作流在必须的地方保持灵活,在需要的地方保持可预测。

Source: https://dev.to/whchi/4-design-dimensions-of-agentic-workflows-1i0m

Optional learning community: https://t.me/GyaanSetuAi