Chapter 06

Agent四大核心组件

核心问题 一个AI Agent的内部到底由哪些部分组成,它们各自承担什么职责? 阅读收获 掌握Agent = LLM + 记忆 + 工具 + 规划的核心架构,理解每个组件的作用及其协同方式

本章概览

本章包含5个知识点,围绕Agent的内部架构展开。LLM是Agent的大脑,记忆、工具、规划三个组件围绕它协同运作,最后一节展示四者如何配合完成完整任务。

Agent四大核心组件(本章核心) │ ├──→ 6.1 LLM(大脑)——所有智能的来源,Agent的指挥中心 │ ├──→ 6.2 记忆系统(Memory)——让Agent拥有经验和上下文 │ ├── 短期记忆(当前对话上下文) │ └── 长期记忆(跨会话持久存储,向量数据库) │ ├──→ 6.3 工具(Tools)——让Agent能与外部世界交互 │ └── Function Calling(工具调用的技术实现) │ ├──→ 6.4 规划(Planning)——让Agent能拆解和安排复杂任务 │ ├── 任务分解 │ ├── 思维链(Chain of Thought) │ └── 反思与调整 │ └──→ 6.5 四大组件的协同——缺一不可的完整系统
阅读建议:四个组件的小节可以按顺序阅读,也可以跳读你最感兴趣的组件。最后一节"四大组件的协同"是串联全章的关键,建议必读。

6.1 LLM——Agent的大脑

上一章我们认识了Agent的整体概念,知道它不同于单纯的LLM。这一章从Agent的第一个、也是最核心的组件开始:LLM本身在Agent系统中扮演的角色。
定义

LLM(大语言模型)在Agent系统中充当"大脑",负责理解用户指令、分析当前情况、做出决策并生成回复。Agent的所有"智能"都源自这个大脑——它决定做什么、用什么工具、怎么回答。

类比

把Agent想象成一家公司。LLM就是这家公司的CEO:

  • CEO负责听取汇报(理解输入)、分析形势(评估状态)、做出决策(选择行动)、发出指令(调用工具)
  • 但CEO不亲自去搬货、不亲自打电话——那些是员工(工具)的工作
  • CEO越聪明,公司运转越好;CEO水平不行,再多员工也白搭
关键职责

LLM在Agent中承担五项核心职责:

职责说明举例
理解指令明白用户想要什么"帮我订机票" → 识别为预订航班任务
分析情况评估当前可用信息和工具检查已有工具列表、已获取的信息
做出决策选择下一步行动决定先搜索航班信息
生成内容输出文字、代码等写邮件、生成报告、组织回答
调用工具决定什么时候用什么工具选择"搜索API"而非"计算器"
核心原理

LLM能充当Agent大脑,依赖于前面几章介绍的几项基础能力:理解自然语言、进行推理(尤其是大参数模型)、遵循复杂指令、生成结构化输出(如JSON格式的工具调用指令)。这些能力的组合,使它从一个"文字预测器"升级为一个能协调多个组件的"指挥中心"。

但LLM单独并不能成为Agent——它只会"想",不会"做"。就像CEO只能做决策,不能替代所有员工一样。

常见误区

"换一个更强的LLM,Agent就一定更好"

这句话只对了一半。LLM的能力确实决定了Agent的上限——大脑不够聪明,规划再好也执行不了。但Agent的表现还取决于记忆设计、工具配置和规划策略。一个用GPT-4但工具配置混乱的Agent,可能不如一个用GPT-3.5但工具精心设计的Agent表现好。

数据支撑

不同LLM作为Agent大脑的能力差异显著:

模型作为Agent大脑的表现特点
GPT-4o强,复杂任务也能处理支持并行工具调用
Claude 3强,尤其擅长长任务和安全性上下文窗口大
Gemini强,多模态支持好能处理图像、视频
开源小模型较弱,简单任务可用成本低但容易出错

一个关键认知:Agent的能力上限,很大程度上取决于LLM大脑的能力。选择合适的LLM时,需要权衡任务复杂度、成本和响应速度。

6.2 记忆系统——Agent的经验积累

有了大脑,Agent能思考和决策了。但如果每次对话都从零开始、不记得用户说过什么,这个Agent的实用性将大打折扣。记忆系统就是让Agent拥有"经验"的关键组件。
定义

记忆系统(Memory)是Agent用于存储和召回信息的组件,包括当前对话的上下文(短期记忆)和跨会话持久保存的信息(长期记忆)。它让Agent能延续对话、记住偏好、从过去的经验中学习。

没有它会怎样

想象一个没有记忆的助手:

  • 你刚告诉它"我要去上海",下一句它就忘了你要去哪
  • 每次对话都要重新说一遍你的偏好(靠窗座位、不吃辣)
  • 一个复杂任务做到一半,它不记得前面做了什么

这就像一条金鱼——每几秒钟世界都是全新的。这样的助手显然没法用。

分类:短期记忆与长期记忆

Agent的记忆分为两种,各自解决不同的问题。

短期记忆(工作记忆)
定义

短期记忆是当前对话中的上下文信息,存储在LLM的上下文窗口中,会话结束即消失。

特点
  • 存储位置:LLM的上下文窗口内
  • 容量:受Token限制(参见第一章"上下文窗口")
  • 保留时间:仅限当前会话
  • 作用:保持对话连贯性
构造案例
用户:我想去上海
Agent:好的,请问您希望什么时候出发?
用户:明天
Agent:(短期记忆中保存了"去上海"和"明天")
       好的,我来帮您查明天去上海的航班...
长期记忆
定义

长期记忆是跨会话持久保存的信息,存储在外部数据库中,需要时检索出来使用。

特点
  • 存储位置:外部数据库(向量数据库、知识图谱等)
  • 容量:理论上无限
  • 保留时间:永久
  • 存储内容:用户偏好、历史交互记录、重要事实和决策、以前任务的经验
类比

把Agent的记忆想象成图书馆里的工作场景:

  • 短期记忆 = 你书桌上正在看的几本书。容量有限,但随手就能翻到。工作结束后书会放回去。
  • 长期记忆 = 图书馆的所有藏书。数量庞大,但你需要去书架上找,或者请图书管理员帮你检索。
  • 检索过程 = 图书管理员根据你的需求,从海量藏书中找出最相关的几本,放到你的书桌上。
核心原理:向量数据库

长期记忆的技术实现依赖一项关键技术——向量数据库。

传统数据库按关键词搜索:搜"苹果"只能找到包含"苹果"两个字的内容,搜不到"iPhone"(虽然语义相关)。

向量数据库按语义搜索:搜"苹果手机"能找到"iPhone"、"iOS设备"等相关内容——因为它们在"意思"上是接近的。

工作原理(简化版):

  1. 把每段文字转换成一串数字(向量)——可以理解为给文字在"意义空间"中标注一个坐标
  2. 意思相近的文字,坐标也接近
  3. 搜索时,把你的查询也转换成坐标,找距离最近的内容

这就像一个智能图书馆:不是按书名首字母排列,而是按内容主题排列。关于烹饪的书不管书名是什么,都会被放在一起。

工作流程:短期与长期记忆的协作

两种记忆在实际使用中协同配合:

【新对话开始】

用户:帮我订去上海的机票

Agent内部流程:
1. 检查长期记忆:"这个用户之前说过喜欢东航、靠窗座位"
2. 将这些信息加载到短期记忆(书桌上)
3. 结合当前请求,搜索航班
4. 优先推荐东航、靠窗座位的选项

Agent回复:根据您之前的偏好,我为您找到了以下东航航班,
         均有靠窗座位可选...

关键流转:长期记忆存储偏好 → 新对话时检索相关信息到短期记忆 → 短期记忆用于当前任务决策。

对比
无记忆的Agent有记忆的Agent
每次都要问你的喜好记住你的偏好
不知道之前做了什么能继续上次未完成的任务
重复犯同样的错误从过去的错误中学习
像一个陌生人像一个熟悉你的助手
待补充 可以找一个具体的AI产品(如ChatGPT的Memory功能、Microsoft Copilot的个性化记忆)展示记忆系统如何提升用户体验的案例。

6.3 工具——Agent的行动之手

大脑能思考,记忆能积累经验,但如果Agent只能输出文字,它依然无法真正帮你做事。工具就是给Agent装上的"手脚",让它能够触达外部世界。
定义

工具(Tools)是Agent连接外部世界的通道,使其能够获取实时信息、执行实际操作、与外部系统交互。LLM本身只能处理和生成文字,工具让它拥有了"行动力"。

没有它会怎样

回顾前面章节讨论的LLM局限:知识有截止日期、不能上网、不能执行代码、不能操作外部系统。没有工具的Agent就像一个被关在房间里的聪明人——想法很多,但什么也做不了。

分类

Agent的工具按功能分为三大类:

信息获取类——让Agent能"看到"外部信息:

工具功能举例
网页搜索搜索互联网查最新新闻、产品价格
知识库检索搜索内部文档查公司规章制度
API调用获取结构化数据查天气、股票、汇率
文件读取读取本地文件读取Excel、PDF

操作执行类——让Agent能"动手"做事:

工具功能举例
代码执行运行代码计算、数据处理
文件写入创建或修改文件生成报告、保存结果
发送消息通过各种渠道发送发邮件、发短信
浏览器控制操作网页自动填表、抓取数据

专业领域类——面向特定场景的能力:

工具功能举例
图像生成根据描述生成图片DALL-E、Midjourney
数据库操作查询或修改数据库SQL查询
日历管理管理日程创建会议、查看安排
工作流程:Function Calling

工具调用的背后是一项叫做Function Calling的技术。它的核心思想是:LLM不直接执行操作,而是输出一条结构化指令,由外部系统真正执行。

以"今天北京天气怎么样?"为例:

Step 1: LLM理解请求
  → 用户想知道北京今天的天气

Step 2: LLM决定调用工具,输出结构化指令
  → {
      "tool": "get_weather",
      "parameters": {
        "location": "北京",
        "date": "2025-01-15"
      }
    }

Step 3: 外部系统执行
  → 调用真正的天气API,获得结果:晴,3-12℃

Step 4: 结果返回给LLM
  → LLM看到天气数据

Step 5: LLM生成最终回复
  → "今天北京天气晴朗,气温3到12摄氏度,建议穿外套。"

关键点:LLM只"说"要调用什么工具(输出JSON指令),真正的执行由外部系统完成,结果再返回给LLM处理。

类比

工具就像各种遥控器:

  • Agent是使用遥控器的人——它决定什么时候按哪个遥控器上的哪个按钮
  • 按下按钮(发出Function Call)= 向外部系统发出指令
  • 遥控器控制的设备(API、数据库、邮件系统)才是真正做事的

Agent不需要知道空调内部怎么制冷,它只需要知道"按这个按钮就能制冷"。

核心原理:为什么不让LLM直接执行?

让LLM通过中间层调用工具,而不是直接执行操作,是出于安全和可控性的考虑:

  • 可以检查LLM的请求是否合理(比如:它是否有权限执行这个操作?)
  • 可以限制危险操作(比如:禁止删除重要文件)
  • 可以记录所有操作日志(方便追溯和审计)
  • 出问题时可以追溯原因

这就像公司的审批流程:员工(LLM)提出请求,审批系统(中间层)检查是否合规,合规则执行,不合规则拒绝。

常见误区

"工具越多,Agent越强"

不一定。工具太多会带来问题:LLM可能选错工具、决策时间变长、系统复杂度增加。更好的做法是根据任务需要配置合适的工具集,并为每个工具写清晰的描述,让LLM知道什么情况下该用哪个工具。

构造案例

假设你让Agent"帮我查一下明天北京有没有雨,如果有就提醒我带伞"。Agent需要用到两个工具:

  1. 天气查询工具:调用天气API,获取明天北京的天气预报
  2. 提醒工具:设置一条明早的提醒消息

没有这两个工具,Agent即使理解了你的意图、制定了完美的计划,也只能回答"我建议你查一下天气预报"——它无法替你做任何事。

待补充 可以展示ChatGPT插件(如Expedia、Zapier)或Claude工具调用的真实使用场景,说明工具如何让Agent从"只能聊天"变成"能帮你办事"。

6.4 规划——Agent的策略大脑

有了大脑、记忆和工具,Agent已经能理解、记住和行动了。但面对一个复杂任务——比如"帮我组织一场生日派对"——它该从哪一步开始?按什么顺序执行?这就需要规划能力。
定义

规划(Planning)是Agent将一个复杂任务拆分为多个可执行的子步骤,并确定执行顺序、监控执行结果的能力。它是Agent处理复杂任务的核心策略组件。

没有它会怎样

没有规划的Agent面对复杂任务会陷入混乱:

  • 用户说"帮我组织生日派对",Agent不知从何下手
  • 可能先去订蛋糕,但还没确定日期和人数
  • 可能重复做某些事,遗漏另一些事
  • 步骤之间缺乏逻辑顺序

有规划的Agent则会先把大任务拆解:确定基本信息 → 场地安排 → 餐饮准备 → 邀请宾客 → 活动策划,然后按依赖关系有序执行。

类比

规划模块就是Agent的"内部项目经理":

  • 接到一个大项目(用户的复杂请求)
  • 拆分成若干里程碑和具体任务
  • 安排执行顺序(哪些可以并行,哪些有先后依赖)
  • 跟踪进度,遇到问题及时调整
分类:三种主要的规划方法
任务分解(最常用)
核心思路

把大蛋糕切成小块,逐块解决。

任务:写一篇研究报告
  → 分解为:
    1. 选题(确定研究方向)
    2. 搜集资料(用搜索工具查找相关文献)
    3. 整理大纲(组织文章结构)
    4. 撰写初稿
    5. 修改完善

代表技术包括HuggingGPT(让GPT-4调度多个专业模型)和Plan-and-Solve(先生成计划再执行)。

思维链(Chain of Thought, CoT)
核心思路

逐步推理,把思考过程展示出来,让每一步都有依据。

问题:计算 25 × 4 + 30 ÷ 5

Agent思考过程:
1. 先算乘法:25 × 4 = 100
2. 再算除法:30 ÷ 5 = 6
3. 最后相加:100 + 6 = 106
答案:106

研究表明,仅仅在提示中加入"让我们一步步思考"(Let's think step by step),就能显著提升LLM的推理准确率。这项技术有多种变体:Zero-shot CoT(不需要示例)、Few-shot CoT(提供推理示例)、Auto-CoT(自动生成推理链)。

反思与调整
核心思路

执行过程中检查结果,发现问题及时修正——让Agent具备自我纠错能力。

任务:发送邮件给张三

执行:调用邮件API发送
结果:发送失败,邮箱地址不存在

反思:邮箱地址可能有误

调整:
1. 搜索张三的正确邮箱
2. 使用新地址重新发送

代表技术包括Reflexion(执行后反思并改进策略)和CRITIC(让模型批评自己的输出并修正)。

核心原理

规划能力的本质来源于LLM的推理能力。当LLM足够强大时,它能够:

  • 预测任务的步骤:基于训练中见过的大量任务处理模式
  • 识别步骤间的依赖:知道哪些事情必须先做
  • 评估执行结果:判断当前步骤是否成功
  • 动态调整计划:根据新信息修改后续步骤

但规划能力直接受限于LLM的推理能力——大脑不够聪明,规划也不会好。

常见误区

"Agent的规划总是完美的"

现实中,Agent的规划能力有明显的局限:

局限说明
可能规划不合理步骤顺序有问题,遗漏关键环节
复杂任务挑战大步骤太多时容易混乱
受LLM能力限制大脑推理能力不足,规划质量就不行
不擅长处理意外遇到未预料的情况可能卡住

因此,对于重要任务,人类监督仍然必要。当前阶段,Agent的规划更适合辅助人类,而非完全替代人类的判断。

构造案例

用户请求:"帮我安排一次搬家"

大任务:搬家

分解:
  1. 盘点物品 → 列出需要搬的东西
  2. 准备打包 → 购买纸箱和胶带
  3. 分类打包 → 按房间/类别打包
  4. 联系搬家公司 → 比较报价,预约时间
  5. 搬运执行 → 当天协调搬运
  6. 新家整理 → 拆箱归位

依赖关系:1必须最先完成 → 2和4可以并行
→ 3在2之后 → 5在3和4之后 → 6最后

6.5 四大组件的协同

前面四节分别介绍了每个组件,但Agent的真正力量不在于单个组件,而在于四者的配合。缺少任何一个,Agent都不完整。
定义

四大组件的协同是指LLM(大脑)、记忆、工具和规划在处理任务时的协作流程:大脑理解任务并调度其他组件,规划制定步骤,记忆提供上下文和历史信息,工具执行具体操作,结果反馈回大脑形成闭环。

类比

把四大组件想象成一家运转良好的公司:

组件角色职责
LLM大脑CEO理解客户需求,做出决策
记忆系统秘书 + 档案室记录信息,调出历史资料
工具员工团队执行具体任务(发邮件、查数据)
规划项目经理安排工作计划,分配任务顺序

CEO不会事必躬亲,而是听取秘书的汇报、让项目经理排计划、派员工去执行。四个角色缺一不可。

工作流程

四大组件的协同遵循一个循环流程:

感知(接收输入)
  → 规划(拆解任务)
    → 记忆(检索相关信息)
      → 工具(执行操作)
        → 反馈(评估结果)
          → 回到规划(继续下一步或调整)
            → ...直到任务完成
              → 生成最终回复
可视化
                    ┌─────────────────┐
                    │    用户输入请求   │
                    └────────┬────────┘
                             ↓
┌────────────────────────────────────────────────┐
│                  大脑(LLM)                     │
│  ┌──────────────────────────────────────────┐  │
│  │ 1. 理解请求                               │  │
│  │ 2. 检索记忆 ←──── 记忆系统                │  │
│  │ 3. 制定规划 ←──── 规划能力                │  │
│  │ 4. 选择工具 ←──── 工具库                  │  │
│  │ 5. 生成回复                               │  │
│  └──────────────────────────────────────────┘  │
└───────────────────────┬────────────────────────┘
                        ↓
          ┌─────────────┴─────────────┐
          ↓                           ↓
    ┌─────────────┐            ┌─────────────┐
    │  执行工具    │            │  更新记忆    │
    └──────┬──────┘            └─────────────┘
           ↓
    ┌─────────────┐
    │  返回结果    │
    └─────────────┘
构造案例

用户请求:"帮我查一下明天北京的天气,如果下雨就提醒我带伞"

【规划阶段】
大脑(LLM)思考:
  1. 查明天北京的天气
  2. 判断是否下雨
  3. 如果下雨,设置提醒

【执行阶段 - 步骤1】
大脑 → 调用天气工具 → 查询API → 返回结果:明天北京,小雨,12-18℃

【记忆更新】
短期记忆:记录天气查询结果

【执行阶段 - 步骤2】
大脑分析:"小雨" → 确认需要提醒

【执行阶段 - 步骤3】
大脑 → 调用提醒工具 → 设置明早提醒"记得带伞"

【长期记忆更新】
存储:用户关心北京天气(可能是常住城市)

【生成回复】
大脑综合信息:
"明天北京有小雨,气温12-18℃。我已为您设置了明早的提醒,
 会提醒您带伞。"

在这个过程中,四个组件各司其职:大脑理解意图并做决策,规划拆分出三个步骤,工具查天气和设提醒,记忆保存中间结果和用户偏好。

与其他概念的关系

四大组件架构不是Agent的唯一设计方式,但它是目前最主流的理解框架。在后续章节中会看到具体的实现模式——比如ReAct框架(思考-行动-观察的循环),就是四大组件协同的一种具体表现形式。

本章小结

知识点一句话总结
LLM(大脑)Agent的指挥中心,负责理解、思考、决策、生成,其能力决定Agent的上限
记忆系统短期记忆保存当前对话上下文,长期记忆跨会话持久存储,两者协同让Agent拥有"经验"
工具通过Function Calling连接外部世界,让Agent从"只能说"变成"能做事"
规划通过任务分解、思维链、反思调整,让Agent能处理复杂的多步骤任务
四大组件协同大脑调度一切,规划拆解任务,记忆提供上下文,工具执行操作——缺一不可

本章的核心认知:Agent不是一个单一的模型,而是一个由LLM大脑驱动的协作系统。理解这四个组件及其协同方式,你就掌握了分析任何Agent产品的基本框架——看它用了什么大脑、记忆设计如何、接入了哪些工具、规划策略是什么。

练习

思考题1

如果你要设计一个"个人理财Agent",它需要哪些工具?请列出至少5个,并说明每个工具的用途。

思考题2

为什么说"LLM的能力决定了Agent的上限"?试举一个具体例子:一个能力较弱的LLM作为Agent大脑时,在什么场景下会暴露不足?

分析练习

分析以下任务中四大组件各自的作用:"帮我写一封邮件给老板请假"。请分别说明LLM大脑、记忆系统、工具和规划各承担什么职责。

观察练习

观察你日常使用的AI工具(如ChatGPT的联网搜索、代码解释器功能),思考:它用了哪些"工具"?这些工具属于信息获取类、操作执行类还是专业领域类?

参考资料