本文章《Building effective agents》旨在总结构建高效大型语言模型(LLM)Agent系统的核心策略。研究表明,最成功的实现并非依赖复杂的框架,而是采用简单、可组合的设计模式。核心观点包括:
- 优先选择简单性:在增加系统复杂性之前,应首先尝试优化单个提示词或简单的检索增强生成(RAG)。
- 区分工作流与智能体:工作流通过预定义路径编排 LLM(可预测性高),而智能体则由 LLM 动态指导自身流程(灵活性高)。
- 架构模式:通过提示词链、路由、并行化、编排者-工作者以及评估者-优化者等模式,可以逐步构建起复杂的代理能力。
- 智能体-计算机接口 (ACI) 的重要性:工具的设计和文档说明(ACI)与提示词工程同样关键,直接影响智能体的执行效率和准确性。

1. 核心定义与架构分类

总体建议:开发者应寻找最简单的解决方案,仅在必要时增加复杂性。代理系统通常是以延迟和成本为代价来换取更高的任务性能。
2. 构建基块:增强型 LLM
所有代理系统的基础是增强型 LLM。目前的模型已具备主动使用以下辅助能力的水平:
- 检索 (Retrieval):生成搜索查询。
- 工具 (Tools):选择并调用适当的外部 API 或服务。
- 记忆 (Memory):确定需要保留的信息。
实现这些增强功能的一种推荐方式是使用 Model Context Protocol (MCP),它允许开发者通过简单的客户端实现与第三方工具生态系统集成。
3. 五大核心工作流模式
通过将任务分解并按特定逻辑组合,可以显著提升模型表现:
- 3.1 提示词链 (Prompt Chaining)
将任务分解为一系列步骤,每个 LLM 调用的输出作为下一个调用的输入。
适用场景:任务可以清晰分解为固定子任务(如:生成文案 -> 翻译文案)。
优势:通过降低单个调用的任务难度来提高准确性,虽然增加了延迟。
- 3.2 路由 (Routing)
对输入进行分类,并将其定向到专门的后续任务。
适用场景:存在明显分类的复杂任务(如:将客户请求分类为退款、技术支持或一般咨询)。
优势:允许针对特定输入使用专门的提示词或模型(如使用 Claude Haiku 处理简单问题,用 Claude Sonnet 处理复杂问题)。
- 3.3 并行化 (Parallelization)
LLM 同时处理任务,并由程序聚合输出。
分段 (Sectioning):将任务拆分为独立子任务并行运行(如:内容审核与回复生成同步进行)。
投票 (Voting):多次运行相同任务以获得多样化输出,增加结果置信度(如:代码漏洞扫描)。
- 3.4 编排者-工作者 (Orchestrator-Workers)
中央 LLM(编排者)动态分解任务,委派给多个工作者 LLM,最后汇总结果。
适用场景:无法预测子任务数量或性质的任务(如:涉及多个文件更改的代码重构)。
- 3.5 评估者-优化者 (Evaluator-Optimizer)
一个 LLM 生成响应,另一个 LLM 在循环中提供评估和反馈。
适用场景:有明确评估标准且迭代能带来显著价值的任务(如:文学翻译或多轮深度搜索)。
4. 自主智能体 (Autonomous Agents)
当 LLM 具备理解复杂输入、推理规划、可靠使用工具并从错误中恢复的能力时,即可构建智能体。
- 运作机制:智能体从环境(工具结果或代码执行)中获取“事实真相”,在执行过程中可能暂停以寻求人类反馈,或在达到终止条件(如最大迭代次数)时停止。
- 风险管理:由于具有自主性,存在错误累积和高成本风险。建议在沙盒环境中进行大规模测试,并设置适当的护栏。
- 实例:解决 SWE-bench 任务的编程智能体,以及通过“计算机使用”功能操作电脑的实现。
5. 框架使用建议
虽然存在多种框架(如 Claude Agent SDK、AWS 的 Strands Agents SDK、Rivet、Vellum),但开发者应保持谨慎:
- 过度抽象风险:框架可能掩盖底层提示词和响应,导致调试困难。
- 建议方案:初学者建议直接使用 LLM API。如果使用框架,必须确保理解其底层代码,避免因错误假设导致生产事故。
6. 智能体-计算机接口 (ACI) 设计最佳实践
工具定义(即 ACI)的质量直接决定了智能体的成败。
- 6.1 工具定义的原则
模拟 HCI 精神:像设计人机交互界面一样设计 ACI。为模型提供易于理解的文档说明和使用示例。
消除歧义:通过重命名参数或修改说明来使工具用途显而易见。
防错设计 (Poka-yoke):通过更改参数结构降低模型出错概率(例如,强制要求使用绝对路径而非相对路径)。
- 6.2 格式选择
给予思考空间:在模型输出最终结果前提供足够的 Token 让其进行逻辑推理。
符合自然分布:选择模型在互联网文本中常见的格式。
低开销:避免要求模型执行计算行数或复杂的 JSON 转义等繁琐任务。
附录:行业应用案例
A. 客户服务
智能体通过集成工具获取客户数据、订单历史和知识库,能够独立执行退款或更新工单等操作。其成功率可通过用户定义的决议明确衡量。
B. 编程智能体
软件开发是智能体的理想领域。代码方案可以通过自动化测试进行验证,智能体利用测试结果作为反馈不断迭代。目前,智能体已能够仅根据拉取请求说明解决 GitHub 上的真实 issue。
📺相关链接与资源
[资料来源]《Building effective agents》
本播客采用虚拟主持人进行播客翻译的音频制作,因此有可能会有一些地方听起来怪怪的。如想了解更多信息,请关注微信公众号"西经东译"获取AI最新资讯。如有后续想要听的其他外文播客,也欢迎联系微信:mayday2303。

