
6 种必须了解的代理工作流设计模式(及其主要权衡因素)
- Rifx.Online
- Generative AI , Chatbots , Natural Language Processing
- 05 Mar, 2025
来源 — 作者图片
基于人工智能的应用程序依赖于大型语言模型(LLMs)来处理曾经仅限于专业规则系统的任务。随着这些基于LLM的应用程序成为“代理”——独立选择它们的步骤或调用外部工具——它们可能迅速变得不可靠或效率低下。
想象一下当前的计算机系统就像规划良好的徒步旅行小径:每个转弯和指示牌都是固定的,因此你总是知道路径。现在想象把一张地图交给一个精明的徒步旅行者,他在每个岔路口决定去哪里。这就是基于LLM的“代理”所做的:它们可以规划自己的路线并使用不同的工具。
我们需要强大的模式,超越检索增强生成(RAG),并驯服代理的“自主”行为,以获得一致的结果。
在本文中,您将了解各种这样的模式及其优缺点,这将帮助您决定在何时使用哪种模式。
1. 基础知识:检索增强生成(RAG)
在我们深入探讨 RAG 之前,首先快速回顾一下 RAG 的真正含义。
来源 — 作者提供的图片
可以把 RAG 想象成一个拥有额外装备的超级英雄:
- 检索(就像打电话给朋友):模型从知识库或文档中获取细节。
- 工具使用(使用特殊设备):它运行代码片段或 API 请求以收集更多数据。
- 记忆(记录笔记):它跟踪对话以参考早期信息。
我喜欢这张来自 Google 的幻灯片,它解释了基于 LLM 的应用在有和没有 RAG 的情况下的样子。
来源 — https://cloud.google.com/use-cases/retrieval-augmented-generation?hl=en
RAG 通过检索(知识库)、工具使用(API 或代码片段)和短期记忆增强了 单个 LLM 调用。它仍然在很大程度上是 反应式 的——系统等待用户请求,然后调用 LLM(及其增强功能)一次以获取答案。
这一直是构建 AI 应用的强大且最常见的方法。
对于较简单的任务——例如快速问答——增强型 LLM 模式可能就足够了。
对于更复杂的工作,我们需要多步骤模式。现在,让我们深入探讨这些内容。
2. 代理工作流程模式
2.1 提示链
来源 — 作者提供的图片
想法 将用户请求分解为小的、顺序的步骤 — 类似于逐个组装玩具。每个步骤都为下一个步骤提供输入。
示例
- 生成大纲。
- 检查大纲是否符合特定规则。
- 写每个部分。
- 进行风格修改。
权衡
优点:
- 高准确性,因为每个阶段都专注。
- 更容易排除故障:如果步骤 2 失败,您知道确切的查找位置。
- 每个步骤对 LLM 的输入更小,因此无需担心上下文长度限制。
缺点:
- 等待时间更长:连续进行多次调用。
- 每增加一步,成本就会增加。
- 您必须跟踪步骤之间传递的数据。
2.2 路由
来源 — 作者图片
想法 开始时的快速分类决定了最佳代理或子工作流 — 就像图书管理员将您指引到正确的书籍区域。
示例
- 退款问题交给“退款代理”。
- 技术问题交给“支持代理”。
- 一般查询交给“信息代理”。
权衡
优点:
- 职责分明。
- 跳过未使用的路径可以更快。
缺点:
- 分类必须准确,否则结果会受到影响。
- 构建多个专业代理需要时间。
- 需要额外一步(分类器本身)。
2.3 并行化
来源 — 作者图片
想法 将一个大任务拆分成更小的任务。想象一下把一本800页的书分给三个朋友,每个人总结他们的部分,然后你将这些总结合并起来。
示例
- 通过拆分文档来总结庞大的文件。
- 尝试多种解决方案(投票)并选择最佳方案。
权衡
优点:
- 如果任务确实同时运行,则速度更快。
- 通过多样化的尝试实现更全面的覆盖。
缺点:
- 合并结果可能会很棘手。
- 如果每个分支调用一个LLM,则需要更多的计算能力。
- 结果可能会冲突,增加最终组装的复杂性。
2.4 协调器–工作者
Source — Image By Author
想法 一个“管理者” LLM 决定子任务,将其分配给不同的“工作者”,然后将答案整合在一起——就像项目经理监督其他团队成员一样。
示例
- 在一个 PR 中编辑多个代码文件,每个文件由一个单独的工作者处理。
- 从多个来源收集参考资料,然后进行合并。
权衡
优点:
- 高度灵活:协调器可以动态选择任务。
- 对于许多子任务扩展性良好。
缺点:
- 较高的开销:协调器必须跟踪状态。
- 如果工作者之间相互依赖,调试可能会变得复杂。
- 额外的步骤可能会增加延迟。
2.5 评估者–优化器
来源 — 作者提供的图片
想法 你有两个主要角色:一个建议解决方案(优化器),另一个检查这些方案(评估者)。这就像学生写草稿,老师进行批改,反复进行直到达到可接受的标准。
示例
- 撰写营销文案,然后让另一个 LLM 检查清晰度或语气。
- 多次核实答案以确保正确性。
权衡
优点:
- 每次修订都更加精致。
- 错误在最终输出之前被发现。
缺点:
- 耗时:你需要多次往返步骤。
- 成本至少翻倍,因为每次迭代都有两个 LLM 调用。
- 如果标准不明确,可能会陷入无休止的循环中。
2.6 自主代理
来源 — 作者图片
想法 这是最灵活的模式。代理自己决定每一步该做什么以及何时停止——就像一个自主的机器人,四处游荡,完成任务直到满意为止。
自主代理 是一个 完全自我导向的系统,可以做出重复的决策。代理决定下一个调用哪个工具,何时停止,以及循环多少次。这是一个持续的行动与检查的循环,而不是我们在 增强型 LLM 模式 中看到的单次调用响应。
示例
- 一个 AI 代码修复工具,持续编辑直到所有测试通过。
- 一个问题解决者,在过程中尝试不同的工具或策略。
权衡
优点:
- 可以灵活应对,处理意外情况。
- 可能非常有创意或彻底。
缺点:
- 如果不断循环,可能会产生巨额费用或永远无法完成。
- 更难调试:路径并不严格定义。
- 如果没有安全检查,错误可能会成倍增加。
3. 实施考虑
- 工具定义与文档 例如,当给团队成员提供明确的指示时,模型需要有良好解释的工具 API 以避免混淆。
- 保护措施与监控 借用“电路断路器”思维 [1]:如果事情频繁失败,则回退到更安全的路径或提醒人类。
- 延迟与成本 每增加一步或并行分支都可能增加响应时间和使用费用。
- 安全性 限制工具权限。这就像对环境进行儿童安全保护——通过限制代理的访问来防止事故发生。
4. 最佳实践
- 从简单开始:使用最少的步骤,然后在明显有帮助时增加复杂性。
- 测试与迭代:收集关于您的模式效果的真实数据,然后进行改进。
- 使用日志记录与可观察性:跟踪代理的思维过程(注意隐私数据),以便您可以调试问题。
- 平衡自主性与监督:在高风险情况下,人类或协调者的步骤可以阻止失控的成本或错误。
5. 结论与关键要点
Agentic workflows 是构建 AI 驱动应用的下一步。它们将较旧设计模式的逻辑结构——如微服务的整齐划一——与 LLM 的创造力和适应性结合在一起。无论您是在链接提示还是让完全自主的代理自由活动,请始终记住:
- 简单为王:只有在确实能改善结果的情况下才添加步骤。
- 保持透明:了解决策是如何做出的。
- 沙盒与安全:在没有保障的情况下不要让代理随意行动。
通过这些模式和指南,您可以构建利用 LLM 力量的系统,同时限制复杂性和风险。仔细应用这些原则,衡量结果,并不断优化以获得最佳结果。