构建有效的 AI Agent:来自 Anthropic 的实践经验

在过去的一年里,Anthropic 与数十个团队合作,帮助他们在各个行业中构建基于 LLM 的 Agent 系统。令人惊讶的是,最成功的实现并非使用复杂的框架或专用库,而是采用简单、可组合的模式。本文总结了 Anthropic 在 2024 年 12 月发布的《Building Effective Agents》中分享的核心经验和最佳实践。

核心理念:简单优先

Anthropic 的首要建议是:找到最简单的解决方案,只在必要时增加复杂性。这可能意味着根本不需要构建 Agent 系统。许多问题通过简单的提示工程或传统的软件工程就能很好地解决。

Workflow vs Agent:关键区别

Anthropic 对 Agentic 系统做了重要的架构区分:

  • Workflow(工作流):通过预定义的代码路径来编排 LLM 和工具
  • Agent(智能体):LLM 动态地指导自己的流程和工具使用

理解这个区别对于选择合适的架构至关重要。

基础构建块:增强型 LLM

所有 Agentic 系统的核心是 Augmented LLM(增强型 LLM),它具备以下能力:

  • 生成自己的搜索查询
  • 选择相关工具
  • 决定在记忆中存储什么信息

五种 Workflow 模式

1. Prompt Chaining(提示链)

将任务分解为一系列步骤,每个 LLM 调用处理前一个的输出。

适用场景

  • 需要将复杂任务拆分为清晰、连续的步骤
  • 每个步骤的输出是下一步的输入

优势

  • 易于实现和调试
  • 每个步骤可以优化特定任务
  • 成本效益高(可以为简单步骤使用较小的模型)

2. Routing(路由)

根据输入分类,将其导向专门的后续任务。

典型应用

  • 将简单/常见问题路由到小模型(如 Claude 3.5 Haiku)
  • 将复杂/罕见问题路由到更强大的模型(如 Claude 3.5 Sonnet)

优势

  • 优化成本和延迟
  • 根据任务复杂度分配计算资源

3. Parallelization(并行化)

将任务分解为独立的子任务并行运行,或多次运行同一任务获得多样化输出。

两种形式

  • Sectioning:将任务分成独立部分并行处理
  • Voting:多次运行相同任务,通过投票选择最佳输出

优势

  • 显著减少总执行时间
  • 提高输出质量和可靠性

4. Orchestrator-Workers(编排者-工作者)

中央 LLM 动态分解任务,委托给工作 LLM,并综合结果。

适用场景

  • 任务无法提前分解的复杂问题
  • 需要动态规划和协调的场景

特点

  • 更灵活但也更复杂
  • 需要精心设计编排逻辑

5. Evaluator-Optimizer(评估者-优化器)

通过 LLM 评估和优化输出,进行迭代改进。

最有效的场景

  • 有明确的评估标准
  • 迭代改进能带来可衡量的价值
  • LLM 能够提供有用的反馈

应用

  • 代码生成和优化
  • 内容创作和编辑
  • 复杂问题求解

实践建议

1. 从简单开始

直接使用 LLM API 开始,许多模式只需几行代码就能实现。框架往往会创建额外的抽象层,使底层提示和响应难以调试。

2. 避免过早优化

不要因为框架提供了复杂功能就使用它们。先用简单的设置验证想法,再根据需要增加复杂性。

3. 可观测性优先

确保能够:

  • 查看每一步的提示和响应
  • 追踪决策过程
  • 快速定位问题

4. 选择合适的模式

根据任务特点选择:

  • 步骤明确 → Prompt Chaining
  • 需要分类 → Routing
  • 可并行化 → Parallelization
  • 动态复杂 → Orchestrator-Workers
  • 需要迭代 → Evaluator-Optimizer

Agent 模式:何时使用真正的 Agent

当 Workflow 无法满足需求时,才考虑构建真正的 Agent 系统。Agent 的核心特征是 LLM 能够:

  • 自主决定下一步行动
  • 动态选择和使用工具
  • 根据反馈调整策略

适用场景

  • 任务路径高度不确定
  • 需要在复杂环境中做出实时决策
  • 必须处理意外情况和异常

结语

Anthropic 的实践经验告诉我们,构建有效的 AI Agent 不是关于使用最新、最复杂的技术,而是:

  1. 理解问题的本质
  2. 选择合适的抽象层级
  3. 从简单开始,按需增加复杂性
  4. 保持系统的可观测性和可调试性

这些原则不仅适用于 Agent 系统,也是所有软件工程的最佳实践。


参考资料:

Page Views: