构建高效AI智能体的实用指南
本文基于Anthropic与众多团队的合作经验,总结了构建大型语言模型(LLM)智能体的最佳实践。文章指出,最成功的实现往往采用简单、可组合的模式,而非复杂框架。核心内容包括:区分工作流(workflows)与智能体(agents)的架构差异,强调在简单方案足够时避免过度设计;介绍了增强型LLM作为基础构建块,以及提示链、路由、并行化等常见工作流模式;最后提供了何时使用框架、如何选择工具的建议,并推荐从直接调用LLM API开始,确保对底层机制有清晰理解。

在过去一年中,我们与数十个跨行业的团队合作,共同构建基于大型语言模型(LLM)的智能体。一个显著的发现是:最成功的实现并非依赖复杂的框架或专用库,而是采用简单、可组合的模式。本文旨在分享我们从客户合作及自身构建中获得的经验,为开发者提供构建高效智能体的实用建议。
什么是智能体?
“智能体”一词有多种定义。一些客户将其视为完全自主的系统,能在较长时间内独立运行,利用多种工具完成复杂任务;另一些则用它描述遵循预定义工作流的更受控实现。在Anthropic,我们将所有这些变体统称为“智能体系统”,但区分了工作流(workflows)与智能体(agents)的架构差异:
- 工作流:LLM和工具通过预定义的代码路径进行编排。
- 智能体:LLM动态地指导自身流程和工具使用,自主控制任务完成方式。
下文将详细探讨这两类系统,并在附录中介绍客户发现其特别价值的两个领域。
何时使用(以及何时不使用)智能体
构建LLM应用时,我们建议寻找最简单的解决方案,仅在必要时增加复杂度。这可能意味着根本不构建智能体系统。智能体系统通常以延迟和成本换取更好的任务性能,你需要权衡这种取舍是否合理。
当复杂度确有必要时,工作流为定义明确的任务提供可预测性和一致性;而智能体则更适合需要灵活性和模型驱动决策的大规模场景。然而,对于许多应用,优化单个LLM调用(结合检索和上下文示例)通常已足够。
何时以及如何使用框架
许多框架简化了智能体系统的实现,例如:
- Claude Agent SDK
- AWS的Strands Agents SDK
- Rivet(拖拽式GUI LLM工作流构建器)
- Vellum(另一个用于构建和测试复杂工作流的GUI工具)
这些框架通过简化标准低级任务(如调用LLM、定义和解析工具、链接调用)使入门变得容易。然而,它们常常引入额外的抽象层,可能掩盖底层提示和响应,使调试更困难。它们也可能诱使你增加不必要的复杂度。
我们建议开发者直接使用LLM API开始:许多模式只需几行代码即可实现。如果确实使用框架,请确保理解底层代码——对内部机制的错误假设是客户常见错误来源。
构建块、工作流和智能体
本节将探讨生产环境中常见的智能体系统模式。我们从基础构建块——增强型LLM开始,逐步增加复杂度,从简单的组合工作流到自主智能体。
构建块:增强型LLM
智能体系统的基本构建块是经过增强的LLM,如检索、工具和记忆。当前模型能主动使用这些能力——生成自己的搜索查询、选择合适工具、决定保留哪些信息。
我们建议关注实现的两个关键方面:针对特定用例定制这些能力,并确保为LLM提供简单、文档完善的接口。实现方式多样,一种是通过我们最近发布的模型上下文协议(MCP),开发者可通过简单的客户端实现集成不断增长的第三方工具生态系统。
工作流:提示链
提示链将任务分解为一系列步骤,每个LLM调用处理前一个调用的输出。可在任何中间步骤添加程序化检查(见下图中的“门”),确保流程按预期进行。
适用场景:任务可清晰分解为固定子任务时。主要目标是通过使每个LLM调用更简单,以延迟换取更高准确性。
示例:
- 生成营销文案,然后翻译成另一种语言。
- 撰写文档大纲,检查大纲符合标准,再基于大纲撰写文档。
工作流:路由
路由对输入进行分类,并将其导向专门的后续任务。此工作流实现关注点分离,并构建更专门的提示。没有它,优化一种输入可能损害其他输入的性能。
适用场景:存在不同类别且需分别处理,且分类可由LLM或传统分类模型准确完成时。
示例:
- 将不同类型的客户服务查询(一般问题、退款请求、技术支持)导向不同的下游流程、提示和工具。
- 将简单/常见问题路由到较小、成本效益高的模型(如Claude Haiku 4.5),将困难/罕见问题路由到更强大的模型(如Claude Sonnet 4.5)以优化性能。
工作流:并行化
LLM有时可同时处理任务,并通过程序化方式聚合输出。并行化有两种主要变体:
- 分段:将任务分解为独立子任务并行运行。
- 投票:多次运行同一任务以获取多样输出。
适用场景:当子任务可并行化以提速,或需要多种视角或多次尝试以获得更高置信度时。对于涉及多方面考虑的复杂任务,LLM通常在每个考虑由单独调用处理时表现更好,因为能专注于每个具体方面。
示例:
- 分段:实现护栏,一个模型实例处理用户查询,另一个筛选不当内容或请求。这通常优于同一LLM调用同时处理护栏和核心响应。
- 投票:审查代码漏洞,多个不同提示审查并标记问题;评估内容是否不当,多个提示评估不同方面或要求不同投票阈值以平衡误报和漏报。
结论
构建有效的智能体系统并非依赖复杂框架,而是理解基础模式并合理应用。从简单开始,仅在必要时增加复杂度,并始终确保对底层机制有清晰认识。通过遵循这些原则,开发者可以构建出既高效又可靠的AI智能体。