2.1 拆解 Agent——四大核心组件
小李打开 Claude Code,输入了一条指令:
"帮我找到项目中所有缺少错误处理的 API 端点,并修复它们。"
AI 开始工作了——搜索文件、读取代码、分析问题、修改代码、运行测试。一气呵成。
小李好奇:它是怎么做到的?Agent 内部到底发生了什么?
Agent 的架构
所有 Agent,不管用什么工具、什么框架,都由四个核心组件构成:
还记得 1.1 节 的核心公式吗?它们是一一对应的:
| 公式中的能力 | 对应的组件 |
|---|---|
| 自主决策 | 决策循环 + 记忆(提供判断依据) |
| 工具使用 | 工具 |
| 循环执行 | 决策循环 |
| 目标追踪 | 系统提示词(定义目标)+ 记忆(追踪进度) |
组件一:系统提示词——Agent 的「岗位职责」
系统提示词定义了 Agent 的角色、能力和行为边界。它就像一份岗位职责说明书:
你是一个代码审查 Agent。
## 角色
你负责审查 Python 代码的质量和安全性。
## 能力
- 阅读项目代码
- 分析潜在的 Bug 和安全漏洞
- 提出改进建议
## 边界
- 你只能审查,不能直接修改代码
- 涉及安全问题的发现必须标记为高优先级
- 不确定的问题要明确说明,不能猜测好的系统提示词有三个特征:
| 特征 | 说明 | 反面案例 |
|---|---|---|
| 角色清晰 | 明确「你是谁」 | "你是一个 AI 助手"(太泛) |
| 边界明确 | 明确「你能做什么、不能做什么」 | 没有约束,让 Agent 自行判断 |
| 输出规范 | 明确「结果应该是什么样」 | "看着办"、"尽量好" |
多工具视角
- Claude Code:系统提示词由 Skills 和 CLAUDE.md 共同构建
- Cursor:通过 Rules 文件和
.cursorrules定义 - Windsurf:通过
.windsurfrules和 Workflow 文件定义
组件二:工具——Agent 的「手和脚」
没有工具的 Agent 只是一个 Chat。工具让 Agent 能与外部世界交互:
| 工具类别 | 功能 | 示例 |
|---|---|---|
| 搜索 | 查找信息 | grep、文件搜索、Web 搜索 |
| 计算 | 执行逻辑 | 代码分析、数据计算 |
| 文件 | 读写文件 | 读取代码、修改配置 |
| API | 调用服务 | 数据库查询、GitHub API |
| 执行 | 运行命令 | 跑测试、启动服务 |
小李的「修复 API 错误处理」任务中,Agent 就用了 5 种工具:
- 搜索:找到所有 API 路由文件
- 文件:读取每个文件的代码
- 计算:分析哪些端点缺少错误处理
- 文件:编写修改后的代码
- 执行:运行测试验证修改
工具越多越好?
不是。工具越多,Agent 面临的选择越多,决策越困难。给 Agent 合适的工具集,而不是所有工具。 这就像给实习生一把瑞士军刀——功能多,但不代表他每次都能选对工具。
组件三:记忆——Agent 的「大脑」
Agent 需要记住四件事(更详细的四层架构在 2.3 记忆的层次 展开):
| 记忆类型 | 记什么 | 持续多久 | 例子 |
|---|---|---|---|
| L1 工作记忆 | 当前任务的中间结果 | 任务期间 | "已修复 3/12 个端点" |
| L2 短期记忆 | 与用户的交互历史 | 会话期间 | "小李要求加 try-catch" |
| L3 长期记忆 | 跨会话的知识和经验 | 长期 | "这个项目用 Express 风格" |
| L4 用户记忆 | 用户偏好和习惯 | 永久 | "小李偏好 TypeScript" |
没有记忆的 Agent 就像失忆症患者——每一秒都是全新的,不知道上一秒做了什么。
组件四:决策循环——Agent 的「思维模式」
这是 Agent 最核心的组件,也是它和 Chat 的根本区别。
Chat 的模式是:输入 → 输出,一步完成。
Agent 的模式是:思考 → 行动 → 观察 → 反思 → 再思考,循环往复直到任务完成。
以小李的任务为例:
第 1 轮:
思考:需要找到所有 API 路由文件
行动:搜索项目中包含 "router" 的文件
观察:找到 12 个文件
第 2 轮:
思考:需要逐一检查每个文件的错误处理
行动:读取第一个文件 userRoutes.ts
观察:发现 3 个端点都没有 try-catch
第 3 轮:
思考:需要为这 3 个端点添加错误处理
行动:修改代码,添加 try-catch
观察:修改完成
第 4 轮:
思考:继续检查下一个文件
行动:读取第二个文件 orderRoutes.ts
观察:发现 2 个端点有错误处理,1 个没有
……每一轮循环都是一次「小决策」。Agent 的质量,取决于它每次决策的质量。
关键洞察
Agent 的失败,几乎都发生在决策循环中的某一步——思考方向错了、选了错误的工具、误判了观察结果、反思不够深入。这就是为什么设计模式如此重要——它们是经过验证的「决策指南」。
四组件如何协同
四个组件不是孤立的,它们构成一个完整系统:
- 系统提示词告诉 Agent 「你是谁、该做什么」
- 记忆告诉 Agent 「之前发生了什么、什么重要」
- 工具让 Agent 「能做什么」
- 决策循环决定 Agent 「怎么做」
四个组件齐备,Agent 才能正常运转。缺了任何一块,就会出现问题:
| 缺失的组件 | 后果 | 症状 |
|---|---|---|
| 系统提示词 | Agent 没有方向 | 行为不一致,偏离目标 |
| 工具 | Agent 无法行动 | 只能生成文本,不能执行 |
| 记忆 | Agent 忘记上下文 | 重复操作,遗漏信息 |
| 决策循环 | Agent 不会迭代 | 单次输出,无法自我修正 |
本节核心要点
- Agent 由四大核心组件构成:系统提示词、工具、记忆、决策循环
- 1.1 的核心公式与四组件一一对应:自主决策→循环+记忆,工具使用→工具,循环执行→循环,目标追踪→提示词+记忆
- 系统提示词定义角色和边界,工具提供行动能力,记忆保持上下文,决策循环驱动迭代
- 四组件协同工作,缺一不可
- Agent 的失败几乎都发生在决策循环的某一步
思考题:回想你使用 AI 编程工具的一次经历,你能识别出这四个组件各自的作用吗?哪个组件是当前工具的短板?
下一节预告:决策循环是 Agent 的心脏。让我们深入看看 Agent 是怎么「思考」的——ReAct、Plan-Execute、Reflexion 三大经典设计模式。