AI / CYY
Agent 工作模式
ReAct、Plan-and-Execute 与 Workflow 分别适合什么任务,以及复杂系统为什么通常要混合使用它们。
三种模式,三种场景
不是所有任务都该用同一种方式。就像不是所有出行都该开车——去楼下便利店走路就行,去另一个城市坐高铁。
模式一:ReAct(边想边做)
流程:思考 → 行动 → 观察结果 → 再思考 → 再行动,直到完成。
适合:你不知道具体要几步才能完成的任务。
例如,你让 Agent 调查“为什么上个月销售额下降了”。它不知道答案,只能先查数据,发现华南区下降;再查华南区的渠道,发现某个渠道断流;最后继续追查原因。每一步都依赖上一步的结果。
优点:灵活,能处理意外。缺点:可能绕弯路,也可能控制不住步数。
模式二:Plan-and-Execute(先想好再做)
流程:先做完整计划,再一步步执行。
适合:流程复杂,但大致步骤可以提前明确的任务。
例如,把数据从 A 系统迁移到 B 系统:读取 A 数据 → 格式转换 → 校验 → 写入 B → 验证。先规划每一步,再按计划执行。
优点:稳定、可控。缺点:计划一旦做错,后面的执行也会被带偏。
模式三:Workflow(固定流水线)
流程:步骤完全确定,每一步的输入和输出都有清楚定义。
适合:重复性高、规则明确的任务。
例如报销审批:提交 → 主管审批 → 财务审核 → 打款。每一步规则清楚,不需要 Agent 临场“动脑筋”。
优点:稳定、可预测。缺点:遇到意外情况时缺少弹性。
实际中怎么用:混着来
真正的系统通常不会只使用一种模式。常见做法是:大框架用 Workflow 固定,保证稳定;具体步骤给 Agent 一定自主权,保留灵活。
例如,报销系统的主体是固定流水线,但“审核发票内容”这一步可以让 Agent 自己判断发票是否合规。这就是 Workflow 与局部 Agent 的组合。
编排者—执行者模式
复杂任务让一个 Agent 全部完成,很容易混乱。更合适的方式是让一个 Agent 充当“编排者”,负责拆解和分派任务;其他 Agent 分别负责 UI、后端、测试等专项。
关键问题是任务应该拆多细:拆得太细,沟通成本太大;拆得太粗,执行者容易产生理解偏差。比较实用的尺度是:每个子任务都有清晰的输入、输出和验收标准。
模型也要分层
| 工作类型 | 模型选择 | 原因 |
|---|---|---|
| 分类、格式转换、摘要 | 小模型 | 任务明确,不需要过度推理 |
| 推理、规划 | 中等模型 | 需要一定分析与决策能力 |
| 关键决策 | 最强模型 | 为高风险判断兜底 |
| 执行工具调用 | 便宜模型 | 重点是稳定完成操作 |
工具与模型的选择,本质上都应该服务于任务,而不是为了“用 Agent”而用 Agent。