Building Effective AI Agents \ Anthropic 下面是我把 Anthropic 的 “Building Effective Agents”(2024 年 12 月)一文的要点提炼/总结,分结构给你看,方便快速理解和运用:


核心观点

  • 最成功的 LLM agent/agentic 系统往往 不是用非常复杂的框架或库,而是用简单、可组合(composable)的模式。(Anthropic)

  • 在构建 agent 之前/在很多场景里,先用最简单的方案(单一 LLM 调用 + 检索 + few-shot / in-context 示例)就足够了。只有当这些不够时,再升级复杂度。(Anthropic)


Agent vs Workflow 的区别

  • Workflow:预定义流程/路径(code path),LLM + 工具按预设路由或步骤运行。决策/工具使用路径事先被编码好。(Anthropic)

  • Agent:LLM 在运行时自己决定流程/工具调用顺序等,更动态,有规划、可以根据环境/中间反馈调整执行方式。(Anthropic)


什么时候用哪种结构

场景推荐用 Workflow推荐用 Agent
任务定义明确、步骤固定❌(overkill)
输入–输出很常规,变化不大
任务需要灵活决策与方向调整、不能预先把全部流程写死
成本/延迟敏感,不需要太复杂
需要在操作中依据环境反馈做判断/自主规划

工作流(Workflows)常用模式

Anthropic 罗列了几种常见的 workflow 模式,每种模式适合不同情况/权衡:

  1. Prompt Chaining

    • 把任务拆成多个可控的小子任务,按顺序调用 LLM,每一步处理上一步的输出。

    • 优点:可以提升准确度、控制中间结果质量。

    • 用于任务可被分解成清晰子任务的场景。(Anthropic)

  2. Routing

    • 对输入分类/判别,然后路由到不同 specialized 模块 / prompts /模型。

    • 优点:不同类型任务可以用不同策略处理,提高整体性能与效率。(Anthropic)

  3. Parallelization

    • Sectioning(并行分区):把任务拆成多个子任务并行处理。

    • Voting(投票/多次尝试):同一个任务多个尝试,然后综合(投票、聚合)。

    • 用于需要速度或多个视角/高置信度的任务。(Anthropic)

  4. Orchestrator-Workers

    • 一个 “orchestrator” LLM 负责整体规划/拆任务/分派到各 “worker” LLMs,然后收集/整合结果。

    • 适合任务结构不固定,不能完全预先定义子任务的场景。(Anthropic)

  5. Evaluator-Optimizer

    • 用一个 LLM 产生结果,用另一个 LLM 或过程为其提供评估/反馈,再迭代优化。

    • 当能够清楚定义评估标准,而且迭代可带来明显改进时特别有用。(Anthropic)


Agents 的特点与注意事项

  • Agents 能处理更开放/更动态/不可完全预见的任务:规划、工具调用、从环境获取反馈、在必要时向人类反馈/请求决策。(Anthropic)

  • 引入 agents 时的风险/代价包括:更高延迟、成本,错误级联(compounding errors)可能性上升。需要在可信环境中部署,有监控/阻止条件(如最大迭代次数/里程碑反馈点)等 guardrails。(Anthropic)


工具设计(Tool design / Tool-接口工程)的原则

  • 工具定义要像 prompt 一样被仔细设计:清晰的参数/输入输出格式/边界条件/例子等。(Anthropic)

  • 尽量让工具与模型在训练/自然语料中“见过类似格式”的输出,减少格式 overhead(例如避免复杂的 escape、路径问题、不必要的格式限制等)。(Anthropic)

  • 文档与测试很重要:对模型使用工具的情况多做测试,观察模型怎样出错,再调整。(Anthropic)

  • Agent-Computer Interface(ACI)要好:就像工具对人的接口要清晰一样,对模型也要清晰且易用。(Anthropic)


实践案例(Applications)

Anthropic 提到了两个具体领域在实践 agent/agentic 系统里的可行性和价值:

  1. 客户支持(Customer Support)

    • 聊天+访问外部系统(客户历史、知识库等)+执行动作(发退款、更新工单等)+成功标准明确。(Anthropic)
  2. 编码任务(Coding Agents)

    • 代码任务有自动化测试结果可验证,有结构,相对容易定义标准;agent 能通过多次迭代优化/反馈;Anthropic 在 SWE-bench 等 benchmark 上已有 agent 实现用 pull request 描述完成多文件更改。(Anthropic)

最佳实践原则

Anthropic 提出三条构建 agents 遵循的核心原则:

  1. 保持设计简单 —— 不要过度设计、不要引入不必要的复杂性。优先最简单方案。(Anthropic)

  2. 透明性 (Transparency) —— 明显展示 agent 的规划/中间步骤,让人能看出 agent 在做什么/为什么这么做。(Anthropic)

  3. 认真做好 Agent-Computer Interface(ACI) —— 工具文档、测试、格式设计等,使 agent 使用工具清晰、稳健。(Anthropic)


如果你愿意,我可以帮你把这些总结整理成一个实践清单(checklist),你在做 agent 产品/项目的时候可以一步步对照用。要吗?

标签

AI Agent 最佳实践 技术 核心 参考