← 返回博客

AI Agent 工作流是什么?

⭐ 精选

AI Agent 工作流是什么?

没有工作流的 AI Agent 只是一个模型调用。工作流把有能力的模型变成能可靠完成目标的系统。

Agent 工作流定义了 Agent 遵循的步骤序列:如何接收目标、分解任务、调用工具、处理结果、处理错误、产生输出。工作流是让 Agent 行为变得可预测、可调试和可改进的结构。没有精心设计的工作流,Agent 的行为是不可预测的,结果也不可靠。

Agent 工作流循环

每个 Agent 工作流,无论复杂度如何,都遵循一个基本循环:

  1. 接收。 Agent 从用户、其他系统或定时触发器获取目标或任务。
  2. 规划。 Agent 确定所需步骤和执行顺序。
  3. 执行。 Agent 执行每个步骤,按需调用语言模型和工具。
  4. 检查。 Agent 评估步骤是否成功以及结果是否符合预期。
  5. 调整。 如果步骤失败或产生意外结果,Agent 调整并重试或走替代路径。
  6. 交付。 所有步骤完成后,Agent 产生最终输出并触发任何后续行动。

这个循环可能为简单任务执行一次,或为复杂多步骤目标迭代多次。工作流设计决定了 Agent 如何穿过这个循环。

核心工作流模式

1. 顺序工作流

最简单和最常用的模式。Agent 按顺序执行步骤,每一步依赖前一步的结果。

接收目标 → 步骤 1 → 步骤 2 → 步骤 3 → ... → 交付结果

特征:

  • 步骤按固定顺序执行。
  • 每一步接收前一步的输入。
  • 工作流可预测且易于调试。

何时使用: 步骤已知且很少变化的明确定义的任务。例如,报告生成 Agent 从 API 获取数据、用语言模型处理、格式化结果、存储。

局限性: 没有分支。如果一步失败或产生意外结果,整个工作流停止,除非显式添加错误处理。

示例: 每日摘要 Agent:1. 获取自上次运行以来的新数据。2. 用语言模型处理原始数据进行摘要。3. 将摘要格式化为报告模板。4. 存储报告并发送通知。

2. 条件工作流

Agent 在决策点评估条件,根据结果走不同路径。

接收目标 → 评估条件
          → 如果条件 A:路径 A 步骤
          → 如果条件 B:路径 B 步骤
          → 否则:默认路径
          → 继续到下一个决策点(如有)→ 交付结果

特征:

  • 决策点将工作流分支到不同路径。
  • Agent 评估中间结果以确定走哪条路径。
  • 不同路径可能使用不同工具、模型或序列。

何时使用: 每一步的结果决定下一步应该做什么的任务。例如,内容审核 Agent 评估内容,对安全内容、可疑内容和违规内容走不同路径。

示例: 客服分类 Agent:1. 接收支持工单。2. 分析问题复杂度。3. 如果是简单问题→从知识库生成自动回复。4. 如果是复杂问题→附上上下文摘要转人工客服。5. 如果是紧急问题→立即转高级客服并发送警报。6. 记录决策和结果。

3. 并行工作流

Agent 同时执行多个独立步骤,然后聚合结果。

接收目标 → 分解为独立任务
          → 任务 A(并行)→ 聚合结果 → 交付
          → 任务 B(并行)
          → 任务 C(并行)

特征:

  • 独立子任务并发运行。
  • 所有并行任务完成后收集并合并结果。
  • 对具有独立组件的任务提高吞吐量。

何时使用: 有多个不相互依赖的独立子任务的任务。例如,同时搜索多个来源的研究 Agent,或同时检查多个系统的监控 Agent。

注意事项: 并行工作流需要协调来处理部分失败——当一些并行任务成功而另一些失败时怎么办?工作流必须定义处理不完整结果的聚合逻辑。

示例: 竞争研究 Agent:1. 收到研究竞品的请求。2. 并行:搜索其网站获取产品信息。3. 并行:搜索最近新闻文章。4. 并行:检查社交媒体渠道。5. 并行:查看分析师报告。6. 将所有发现聚合为综合报告。7. 交付报告。

4. 循环/迭代工作流

Agent 重复一组步骤直到满足条件,然后继续。

接收目标 → 执行步骤 → 检查完成条件
                     → 如果未满足:优化并重复
                     → 如果满足:继续 → 交付结果

特征:

  • 步骤以循环方式执行直到达到终止条件。
  • 每次迭代在前一次结果基础上构建或优化。
  • 最大迭代次数防止无限循环。

何时使用: 需要优化、质量改进或逐步探索的任务。例如,写作 Agent 起草、评审、修改直到达到质量标准。

注意事项: 定义明确的终止条件和最大迭代限制。没有它们,迭代 Agent 可能在缺乏明确完成标准的任务上无限循环。

示例: 代码审查 Agent:1. 编写初始实现。2. 运行测试。3. 如果测试通过→交付。4. 如果测试失败→分析测试输出,修复问题,回到步骤 2。5. 如果迭代次数超过 5→标记为需人工审查。

模式对比

模式复杂度灵活性可靠性最适合
顺序已知的稳定流程
条件决策密集型任务
并行独立子任务
循环/迭代优化和质量改进

从最简单的能解决问题的模式开始。只在任务需要时增加复杂度。一个常见的错误是设计复杂的条件或迭代工作流,而简单的顺序工作流就足够了。

组合模式

现实中的 Agent 通常在单个工作流中组合多种模式。例如:

  1. 顺序外层结构:规划、执行、交付。
  2. 执行阶段内的并行执行:同时搜索多个来源。
  3. 并行结果后的条件分支:基于聚合发现的不同处理。
  4. 如果结果不完整的迭代优化:循环回去收集更多数据。

关键是有意组合模式,而不是默认选择最复杂的选项。每个增加的模式都提高了工作流的复杂度,但也增加了测试和调试的要求。

工作流状态管理

每个工作流需要管理状态——跨步骤持续的信息。状态包括:

  • 输入上下文。 原始目标和提供的任何参数。
  • 中间结果。 已完成步骤的输出。
  • 执行元数据。 哪些步骤完成、失败、重试次数。
  • 外部上下文。 执行期间从工具和 API 检索的数据。

状态存储方法

内存中。 状态仅在当前执行期间存在。最简单的方法,但如果进程失败或重启则丢失。

外部数据库。 状态持久化到数据库或键值存储。在故障后存活并支持恢复。长时间运行或关键的工作流需要。

事件载荷。 状态通过事件消息在步骤之间传递。适用于事件驱动工作流,每个步骤由包含累积上下文的消息触发。

状态设计原则

  • 无状态步骤。 尽可能设计单个步骤为无状态。每一步在启动时加载其所需上下文,在完成时持久化结果。
  • 显式状态。 记录每个步骤需要和产生什么状态。隐式状态依赖会导致难以发现的错误。
  • 长工作流的检查点。 对于可能超过执行限制的工作流,定期保存进度,以便从最后一个检查点恢复。

工作流中的错误处理

工作流中的每一步都可能失败。为失败而设计是必要的。

重试策略

  • 立即重试。 对瞬时故障(网络超时、临时服务不可用)立即重试。
  • 退避重试。 在重试之间等待递增的间隔(1秒、2秒、4秒、8秒),避免压垮正在恢复的服务。
  • 最大重试次数。 设置限制。耗尽重试后,工作流转入失败路径。

失败路径

  • 跳过。 记录错误并继续。最适合非关键步骤,下一步骤可以带着部分结果继续。
  • 降级。 使用替代工具或方法。如果一个搜索 API 失败,尝试另一个。
  • 升级。 标记为人工干预。最适合需要判断的高影响故障。
  • 停止。 停止工作流。最适合后续步骤依赖此步骤且无法在没有它的情况下继续的情况。

工作流可观测性

运行而没有执行可见性的工作流是一个维护风险。必要的可观测性包括:

  • 步骤级日志。 记录每一步收到什么、决定什么、产生什么。
  • 执行追踪。 跟踪单次工作流执行跨越所有步骤,即使步骤由不同服务处理。
  • 持续时间跟踪。 每一步花了多长时间?瓶颈在哪里?
  • 错误聚合。 哪些类型的错误最频繁?是瞬时的还是系统性的?
  • 结果跟踪。 工作流执行的成功率是多少?什么导致失败?

OpenClaw 与工作流设计

OpenClaw 技能架构支持多种工作流模式。技能是独立的单元,可以通过事件驱动的协调按顺序、按条件或并行组合。工作流逻辑——哪些技能运行、按什么顺序、在什么条件下——由技能如何连接和配置决定。

这种组合方法意味着你可以从使用少数技能的简单顺序工作流开始,然后随着 Agent 需求的增长添加条件分支、并行执行或迭代优化。技能边界使安全地更改工作流的一部分而不影响其他部分成为可能。

了解更多:OpenClaw Skills 是什么 以及基于技能的方法如何实现灵活的工作流组合。更具体的触发模式,见 事件驱动 AI Agent定时运行的 AI Agent

下一步

先映射一个你想自动化的任务。识别步骤、它们的依赖关系以及它们之间的决策。选择适合的最简单工作流模式。构建它、测试它,只在任务需要时增加复杂度。

查看教程页获取工作流实践示例和逐步指南。

相关:事件驱动 AI Agent | 定时运行的 AI Agent | 什么是 AI Agent