---
author: QinIndexCode
tags: AI, Agent, Anthropic, 精读
---

## 2026-03-23 精读 Anthropic《Building Effective Agents》2025 更新版

---

## 写在前面

2024 年 12 月，Anthropic 发布了《Building Effective Agents》。一年多过去，Agent 领域变化很快：2025 年 9 月，Claude Code SDK 升级为 **Claude Agent SDK**，文章本身也做了更新，而当初提出的核心原则在实践中基本站住了。

本文基于官方原文的最新版本，结合 2025-2026 年的行业实践，重新梳理构建高效智能体的几条主线。

> 核心观点没有变：效果好的智能体实现，往往不靠复杂框架，而是靠简单、可组合的模式搭起来。

---

## 核心概念辨析

### 智能体 vs 工作流

Anthropic 对"智能体"和"工作流"的区分，到 2025 年反而更值得强调：

| 概念 | 定义 | 特点 | 典型工具 |
|------|------|------|----------|
| **工作流** | 通过预定义代码路径协调 LLM 和工具 | 可预测、可控制 | LangChain, Vellum |
| **智能体** | LLM 动态指导自己的工作过程和工具使用 | 灵活、自主 | Claude Agent SDK |

**2025 年的趋势**：行业重心从"工作流编排"转向"自主智能体"。LangChain 创始人甚至判断，2026 年会是"Agent 工程"的分水岭。

### 增强型 LLM：构建基石

文章把"增强型 LLM"作为所有智能体系统的基本构建模块：

```
增强型 LLM = 基础模型 + 检索能力 + 工具调用 + 记忆系统
```

**关键更新**：2025 年 Anthropic 发布了 **Model Context Protocol（MCP）**，给工具集成定了一套标准。有个比喻很贴切：MCP 之于 AI 工具，有点像 USB 之于外设——插上就能用。

### Skills：2025 年的新范式

2025 年底，Anthropic 推出了 **Claude Skills** 开放标准，Vercel 随后推出了 skills.sh 这个技能分发平台。

```bash
# 一行命令为 AI 助手添加技能
npx skills add <skill-name>
```

**Skills vs MCP**：
- **Skills** 让 AI 学会"怎么做"（包含指令、脚本、资源的文件夹）
- **MCP** 让 AI 知道"用什么做"（工具连接协议）

两者配合，AI 才算有了"专业技能 + 顺手工具"的完整工作方式。

---

## 五种核心工作流模式

### 1. 提示词链（Prompt Chaining）

**核心思想**：将复杂任务分解为固定步骤，每步 LLM 调用处理前一步的输出。

```
输入 → 步骤 1 → 检查点 → 步骤 2 → 检查点 → ... → 输出
```

**适用场景**：
- 任务可清晰分解为固定子任务
- 牺牲速度换取更高准确性

**实践案例**：
```
营销文案生成 → 翻译成多语言 → 格式化输出
文档大纲生成 → 检查是否符合标准 → 撰写完整文档
```

**我的思考**：提示词链是最容易实现也最容易出问题的模式。关键在于**检查点的设计**——如何在中间步骤验证流程是否正确。

### 2. 路由（Routing）

**核心思想**：对输入分类，引导至专门的处理流程。

```
                    ┌─→ 流程 A（专门处理 A 类问题）
输入 → 分类器 → ────┼─→ 流程 B（专门处理 B 类问题）
                    └─→ 流程 C（专门处理 C 类问题）
```

**适用场景**：
- 存在明显不同的输入类别
- 不同类别需要不同的处理策略

**实践案例**：
- 客服系统：一般问题、退款请求、技术支持分别路由
- 成本优化：简单问题路由到 Haiku，复杂问题路由到 Sonnet

**2025 年更新**：随着模型成本下降，路由更多用于**质量优化**，而不是省钱。

**我的思考**：路由的本质是**关注点分离**。一个 Prompt 处理所有场景往往顾此失彼，不如让每个专家各司其职。

### 3. 并行化（Parallelization）

**核心思想**：同时处理多个任务，聚合输出结果。

两种关键形式：

```
分段（Sectioning）：
任务 → 分解为子任务 A、B、C → 并行执行 → 聚合结果

投票（Voting）：
任务 → 多个模型实例并行处理 → 投票/综合 → 最终结果
```

**适用场景**：
- 子任务相互独立，可并行执行
- 需要多视角验证，提高置信度

**实践案例**：
- 内容审核：一个模型处理用户请求，另一个并行筛选敏感内容
- 代码审查：多个提示从不同角度检查漏洞

**我的思考**：并行化是用**空间换时间**。在延迟敏感的场景中，这是提升用户体验的有效手段。

### 4. 协调器 - 工作者（Orchestrator-Workers）

**核心思想**：中央 LLM 动态分解任务，分配给工作者 LLM，综合结果。

```
                    ┌─→ Worker 1
输入 → Orchestrator ─┼─→ Worker 2  → 综合结果
                    └─→ Worker 3
```

**与并行化的关键区别**：子任务不是预定义的，而是由协调器根据具体输入动态确定。

**适用场景**：
- 无法预先预测子任务的情况
- 编程任务（文件数量、修改内容取决于具体问题）

**实践案例**：
- 代码重构：根据需求动态决定修改哪些文件
- 信息检索：从多个来源收集和分析信息

**2025 年案例**：Anthropic 在 SWE-bench 上的智能体就用了这个模式，可以根据 PR 描述自动处理 GitHub issue。

**我的思考**：这是最接近人类团队协作的模式。项目经理拆解任务，团队成员各司其职，最后汇总成果。

### 5. 评估器 - 优化器（Evaluator-Optimizer）

**核心思想**：一个 LLM 生成响应，另一个 LLM 提供评估和反馈，形成迭代循环。

```
        ┌──────────────────────────────┐
        ↓                              │
输入 → 生成器 → 输出 → 评估器 → 反馈 ──┘
                    ↓
              满足标准 → 最终输出
```

**适用场景**：
- 有明确的评估标准
- 迭代改进能带来可衡量的价值
- LLM 能提供有价值的反馈

**实践案例**：
- 文学翻译：评估器捕捉细微差别，指导优化
- 复杂搜索：评估器判断是否需要继续搜索

**我的思考**：这类似于人类的"草稿 - 审阅 - 修改"循环。关键在于评估器的能力——它必须比生成器更"懂"什么是对的。

---

## 自主智能体（Agents）

当 LLM 具备以下能力时，真正的智能体成为可能：

1. **理解复杂输入**：解析模糊、多义的指令
2. **推理和规划**：分解目标，制定步骤
3. **可靠使用工具**：正确调用 API、执行操作
4. **从错误中恢复**：遇到问题能调整策略

**智能体的核心循环**：

```python
while not task_complete:
    observation = get_environment_feedback()
    plan = llm.plan(current_state, observation)
    action = execute(plan)
    evaluate(action)
```

**关键设计要点**：
- 清晰的工具集设计和文档
- 适当的检查点和人工干预机制
- 停止条件（如最大迭代次数）

**2025 年重大进展**：

### Claude Code：终端中的 AI 软件工程师

2025 年 Anthropic 推出 **Claude Code**，定位是"AI 软件工程师"。和 Cursor 这类 IDE 插件不同，它直接跑在命令行里：

```bash
# 配置并启动 Claude Code
export ANTHROPIC_BASE_URL=http://localhost:8000/v1
export ANTHROPIC_API_KEY=your_key
claude
```

**核心能力**：
- 直接操作文件系统和终端
- 执行代码并查看结果
- 自主调试和修复错误
- 多步骤任务规划

### Agentic Coding：智能体编程时代

2026 年，苹果与 Anthropic 联合宣布，Xcode 26.3 首次原生集成 **Claude Agent**，支持以 Agentic Coding 方式开发。这标志着智能体正式进入主流开发工具。

---

## 三个核心原则

Anthropic 总结了构建智能体的三个核心原则，在 2025 年显得更加重要：

### 1. 保持简单

> "成功的实现通常只是 LLM 在循环中基于环境反馈使用工具。"

不要过度设计。简单的架构更容易调试、更容易理解、更容易维护。

**2025 年的教训**：多智能体系统烧 Token 烧得厉害。不少团队发现，单个强智能体往往比一堆弱智能体协作更有效。

### 2. 优先透明度

让智能体的规划步骤清晰可见：
- 显示当前正在执行什么
- 解释为什么选择这个行动
- 展示中间结果

透明度建立信任，也便于调试。

### 3. 精心设计 ACI

**Agent-Computer Interface（ACI）** 与 HCI 同等重要：

- 工具定义要清晰，包含使用示例和边界情况
- 参数命名要直观，像给初级开发者写文档
- 防错设计（Poka-yoke），让错误难以发生

**实战案例**：Anthropic 发现模型在使用相对路径时会出错，改为强制要求绝对路径后，表现显著提升。

**2025 年新洞察**：
- Skills 的设计应遵循"渐进式披露"原则
- MCP Server 的文档质量直接影响智能体表现
- 工具命名应使用动词 + 名词结构（如 `read_file` 而非 `file_reader`）

---

## 两个高价值应用场景

### 客户支持

为什么客户支持是智能体的理想场景？

- 自然对话流程 + 需要外部信息和操作
- 可集成多种工具（查订单、退款、更新工单）
- 成功标准清晰（问题是否解决）
- 有公司已实现"按成功付费"的商业模式

**2025 年进展**：多家公司已经商业化落地，按解决效果付费逐渐成了通行模式。

### 编程智能体

为什么编程特别适合智能体？

- 代码可通过自动化测试验证
- 测试结果可作为反馈指导迭代
- 问题空间定义明确
- 输出质量可客观衡量

**2025 年里程碑**：
- Anthropic 的智能体可以独立解决 SWE-bench Verified 里的真实 GitHub issue
- 四名工程师 10 天搭出一个完整应用，大部分代码由 Claude Code 自己编写
- AI 编程从"代码补全"走到了"自主解决问题"

---

## 框架选择指南

### 主流框架对比

| 框架 | 类型 | 适用场景 |
|------|------|----------|
| **Claude Agent SDK** | 官方 SDK | 生产级智能体，MCP 原生支持 |
| **Strands Agents SDK** | AWS 官方 | AWS 生态集成 |
| **Rivet** | GUI 拖拽 | 快速原型，非技术人员 |
| **Vellum** | GUI 工具 | 工作流构建和测试 |

### Anthropic 的建议

文章对框架的态度很明确：

> "框架简化了入门，但可能创建额外的抽象层，掩盖底层细节，使调试更困难。"

**2025 年的行业共识**：
1. 先直接调 LLM API
2. 理解底层原理之后再上框架
3. 生产环境考虑降低抽象层级

**值得注意的声音**：LangChain 创始人判断，2026 年应该"放弃 workflow 编排工具"，转向面向自主智能体的框架。

---

## 我的思考与总结

### 关于复杂性

文章反复强调一个观点：**只有在简单方案不足时，才增加复杂性**。

这条原则反直觉但很重要。做 AI 很容易陷入"技术炫技"——架构越复杂越好、框架越新越好。但工程上真正值钱的判断是：**用最简单的方式把问题解决掉**。

**2025 年的验证**：最早把简单智能体跑起来的公司，比等着"完美架构"的公司拿到了更多实际收益。

### 关于框架

2025 年的教训：

> "框架是拐杖，不是双腿。"

这不是说不用框架，而是要搞清楚框架底层在做什么。很多问题的根源，恰恰是对底层机制的错误假设。

**建议学习路径**：
1. 先用原生 API 实现一个简单智能体
2. 理解工具调用、状态管理等核心概念
3. 再选择适合的框架提升效率

### 关于未来

2026 年被视为"长任务 Agent 元年"。Anthropic 在文末提到：

> "在 LLM 领域取得成功，不是要构建最复杂的系统，而是要构建适合您需求的系统。"

这句话说透了工程实践的本质：技术是手段不是目的，最好的架构是能解决当下问题、又能适应后续变化的架构。

**2026 年趋势判断**：
- 智能体从"玩具"变成"工具"
- 企业级部署成为主流
- 人机协作的模式逐渐成熟

---

## 实践建议

基于文章内容和 2025 年实践，我总结了以下建议：

1. **从简单开始**：先用单一 Prompt，评估后再考虑增加复杂性
2. **理解底层**：如果使用框架，务必理解其实现原理
3. **投资 ACI**：工具定义和文档是智能体成功的关键
4. **设置检查点**：在关键节点加入人工审核或自动验证
5. **持续迭代**：基于评估结果不断优化，而非一次性设计完美
6. **拥抱 MCP**：使用标准化协议连接工具
7. **善用 Skills**：积累可复用的能力模块

---

## 代码示例：Claude Agent SDK 快速开始

```typescript
import { Agent } from '@anthropic/agent-sdk';

const agent = new Agent({
  model: 'claude-sonnet-4-5-20250929',
  tools: [
    // 使用 MCP 连接的工具
    new FileSystemTool(),
    new BrowserTool(),
    new ShellTool()
  ]
});

// 运行智能体
const result = await agent.run(
  '帮我重构这个项目的认证模块，使用 JWT 替代 session'
);

console.log(result.output);
```

---

## 参考资料

- [Building Effective Agents - Anthropic (Updated 2025)](https://www.anthropic.com/engineering/building-effective-agents)
- [Model Context Protocol](https://modelcontextprotocol.io/)
- [Claude Agent SDK Documentation](https://docs.anthropic.com/claude-code/)
- [Claude Skills](https://www.anthropic.com/news/skills)
- [skills.sh - Vercel](https://skills.sh)
