一、什么是AI Agent
来自 Lilian Weng(翁荔)经典定义:
Agent = LLM大模型 + memory记忆 + planning规划能力 + tool use工具调用
普通大模型:只做问答,用户给问题,模型直接输出答案,没有自主思考、自主执行任务的能力
AI Agent(智能体):以大模型作为大脑,具备记忆,任务拆解规划,调用外部工具的能力,可以自主完成一套复杂任务,不需要人每一步都下达命令
二、AI Agent 四大核心组件
| 组件 | 作用说明 |
|---|---|
| LLM(大模型大脑) | Agent的核心控制器 ,负责思考、推理、决策,决定什么时候调用工具 、怎么拆解任务 |
| Memory 记忆 | 分为短期记忆(会话上下文)、长期记忆(向量库持久化存储历史信息);支持读写、反思记忆,记住历史对话、历史任务结果 |
| Planning 规划 | 复杂任务拆解成多个字目标;包含思维链CoT、自我反思、多路径推理;遇到失败可以复盘调整方案 |
| Tool use 工具调用 | 调用外部能力:搜索、计算器、代码解释器、数据库查询、API 接口,弥补大模型本身能力局限 |
扩展框架补充:完整 Agent 架构还包含
Profile角色人设,定义 Agent 身份、性格、任务目标。
组件流转流程
1.用户输入任务到Agent
2.读取记忆,结合当前任务做任务规划拆解
3.判断是否需要调用工具,执行任务
4.获取工具返回结果,写入记忆,反思复盘
5.循环迭代,直到全部子任务完成,最终输出结果
多个 Agent 之间还可以互相交互协作(Multi‑agent 多智能体)
三、Agent + RAG 的结合应用
传统RAG:用户提问——>直接检索向量库——>把文档丢给大模型生成回答
Agent‑RAG:把 RAG 检索变成 Agent 可调用的其中一个工具,由 Agent 自主决策怎么做检索。
① Single‑Agent RAG(单智能体 RAG)
整体只有一个 Agent 控制器。
- 用户输入 Query 交给 Retrieval Agent
- Agent 自主判断:调用哪个向量库集合、是否要联网搜索、是否使用计算器
- 工具执行完毕,收集全部结果交给 LLM 生成最终回复
优点:架构简单,开发成本低,适合中小型业务场景 缺点:复杂任务下,单一个 Agent 负载高,任务多容易混乱
② Multi‑Agent RAG(多智能体 RAG)
把能力拆分,多个专门 Agent 分工协作:
- 总调度 Agent 接收用户问题
- 分发给不同职能子 Agent:检索 AgentA 查文档集合 、检索 AgentB 做联网搜索、AgentC 处理邮件 / 办公工具
- 各个子 Agent 独立完成任务,结果汇总交给主模型输出答案
优点:职责拆分,每个 Agent 只专注自己的任务,复杂场景效果更好;可以扩展对接大量异构工具 缺点:架构复杂,多轮调用 token 消耗高,需要处理 Agent 之间通信、任务调度逻辑
四、普通 RAG vs Agent‑RAG 对比
| 对比项 | 传统 RAG | Agent‑RAG |
|---|---|---|
| 任务处理 | 单次检索,一次性生成答案 | 自主规划,可以多轮检索、多工具组合调用 |
| 工具使用 | 固定流程,检索逻辑写死代码 | Agent 自主判断何时用什么工具 |
| 复杂问题 | 复杂多步骤问题处理弱 | 擅长复杂、多步骤的业务问题 |
| 开发难度 | 简单 | 较高,需要维护 Agent、记忆、规划逻辑 |
| 资源消耗 | token 消耗低 | 多轮思考 + 工具调用,token 开销更大 |
可能的面试题:
1.Agent 和普通RAG的区别?
答:传统 RAG 是固定流水线,流程写死;Agent 把检索当成工具,由大模型自主做决策、任务拆解、多轮循环执行,适合复杂多步骤任
2.Memory记忆在Agent里面是干什么的?
答:短期记忆存储当前会话山下文了;长期记忆把历史任务、经验存入向量数据库。Agent可以读取过往经验,做自我反思优化后续任务。
3.单Agent和多Agent怎么选型?
答:业务简单,直接用 Single‑Agent;任务很复杂,不同能力模块差异大,需要大量不同工具,选择 Multi‑Agent。
4.Agent项目会遇到哪些工程问题?
答:
- 工具调用失败:模型输出格式错误,解析失败;
- 循环死循环:Agent 不停重复调用同一个工具;
- Token 消耗暴涨,成本高;
- 记忆管理混乱,长期记忆过多产生噪声。
小结
AI Agent 本质是以大模型为大脑,给模型加上记忆、规划、工具调用能力,让大模型从 “被动问答” 进化成 “主动完成任务”。 RAG 解决大模型知识过时问题;Agent 解决大模型不会自主执行复杂任务的问题;工程中经常把两者结合,构建 Agent‑RAG 系统。