读书笔记——智能体Agent与工作流构建实战指南:从选型决策到高效实施

绫波波 发布于 2025-06-19 165 次阅读


原文链接

https://zhuanlan.zhihu.com/p/1899127131549733019

概述

什么是Agent

“Agent”的定义方式并不统一,有的人将其视为完全自主系统,能在较长时间内独立运行,使用各种工具完成复杂任务。也有人认为Agent是更加固定、预定义的工作流。Anthropic将这些都归为类Agent系统,并对智能体和工作流的概念做了重要区分。

Workflow v.s Agent

Workflow Agent
定义 通过预定义流程编排LLM和工具的系统 LLM动态决定自己的处理过程和工具使用的系统
适用范围 可预测和定义解决步骤的问题 无法预先定义解决步骤的问题
优势 稳定、准确、可预测 解决没有固定流程的开放性问题
劣势 为准确性牺牲了解决问题的延迟 成本高、问题解决成功率有提升空间

类Agent系统设计模式

增强型LLM模式

类Agent系统最基础的模块是对LLM的能力进行增强,即通过检索、工具调用记忆等模块装备LLM。Anthropic当前模型能够主动调用这些功能——生成搜索查询、选择合适工具以及确定需要记忆的信息。

工作流模式

提示链

提示链模式将任务分解为一系列有序的步骤,每个LLM可以调用和处理前一个调用的输出。在该模式中,可以通过在中间任何步骤中添加程序检查(门控单元)来保证相关流程一直处在正确的轨道上。

该模式通常适用于:

  • 任务可以被清晰的分解为固定子任务时
  • 任务允许通过牺牲时延来提高准确度,使得每个LLM调用处理更简单的子任务

该模式的常见应用包括:

  • 生成营销文案,并将其翻译为不同种类的语言。
  • 编写文档大纲,检查大纲是否符合特定标准,然后基于大纲撰写文档。
路由

路由类工作流对输入条件进行分类,之后将其引导至后续任务中。这种工作流实现关注点分类,并且能够构件更加专门化的提示。不使用路由时,为某一类输入优化可能降低其他类型输入的处理效果。

适用场景

  • 复杂任务可以拆解为不同类别,且需要针对每一类别进行单独处理
  • 分类路由可以由LLM或者传统分类模型/算法准确完成

应用案例:

  • 引导不同类型的客户服务查询(咨询类问题、退款类问题、技术支持类问题等)进入不同的下游处理流程、提示和工具。
  • 将简单/常见问题路由到较小模型解决,将困难/不常见的问题路由到能力更强大的模型解决,从而优化成本及响应速度。
并行化

顾名思义,并行化工作流让LLM同时处理多个任务,并通过程序化的方式聚合任务输出。并行化工作流分为两种关键形式:

  • 任务拆分(Sectioning):将任务拆分为独立的子任务并行运行
  • 投票(Voting):多次运行相同任务,从而获得不同的运行结果

适用场景:

  • 当拆分成子任务后,子任务可以并行处理来提高速度时
  • 需要多次尝试或从不同的视角进行分析,从而获得置信度更高的结果时
  • 执行复杂任务需要考虑多种因素时,由独立LLM调用分别处理各因素效果更佳。
编排者-工作者

在编排者-工作者的工作流模式中,编排者(LLM)进行动态的任务分解,将其委派给工作者LLM,并综合其结果。

适用场景:

  • 适合无法预测所需子任务的复杂任务。
  • 与并行化的关键区别在于其具备更高的灵活性。在编排-工作模式中,子任务不是预定义的,而是由编排者根据任务输入动态确定的。

应用案例:

  • 需要对多个代码文件进行编辑的编码项目
  • 涉及从多个来源收集和分析信息的搜索类任务
评估-优化

在评估-优化模式中,一个LL调用生成响应,而另一个在循环中提供评估和反馈。

适用场景:

  • 有明确的评估标准,且迭代优化能够提供可量化价值的场景,例如:人类反馈能明显改进LLM的响应质量;LLM本身能够提供类似人类的有效反馈。

应用案例:

  • 文学翻译:初译(生成)->评估细微差别->根据反馈优化->循环直至达标
  • 复杂信息搜索:初步搜索(生成)->评估完整性->指出信息缺口->补充搜索->循环至完整

完整Agent模式

Agent设计要点

随着大模型在理解复杂输入、规划推理、工具使用以及错误恢复等核心能力的成熟,智能体开始逐渐被应用于生产环境。典型的智能体工作流程为:

  • 启动阶段:接收用户命令或通过交互确定任务
  • 规划阶段:任务明确后独立规划操作,必要时向人类进行反问,获取更多信息
  • 环境感知:每步骤从环境中获取“基础事实”,例如工具调用结果或代码执行结果。从而评估任务进展
  • 反馈循环:在检查点或任务执行遇到障碍时,暂停执行流程,等待人类反馈
  • 任务终止:通常在完成时终止,包含停止条件(如最大迭代次数)以保持控制

智能体可以处理复杂任务,但其实现通常很直接,本质上是在循环中基于环境反馈使用工具的LLMS。因此,为了充分发挥智能体的效果,需要构建清晰且合理的工具集以及对工具集的说明文档。工具集和说明文档的质量将直接影响智能体的成功率和速度,体现在:

  • Agent选择合适工具及调用顺序的能力
  • Agent正确填写工具参数的能力
  • Agent有效利用工具结果的能力

Agent适用于解决开放性问题,例如:1)难以或者不可能预测所需步骤数量;2)无法硬编码固定解决路径。在这类场景中,llm需要进行多轮循环,选择对应的操作。人类需要对其决策过程保持一定信任度。
需要注意的是,Agent自主决策意味着:1)可能产生更高成本;2)存在错误累积的潜在风险。
建议用户在实际部署前于沙盒环境中进行严格测试,并设置适当的防护措施以应对可能出现的幻觉问题。