别再写ChatBot了!一张图看懂Agent的自主性分级与架构演进
专栏开篇:ChatBot只是"会说话的模型",Agent才是"能感知、会规划、可行动、懂反思"的自主系统。本文从ChatBot与Agent的本质区别出发,系统讲解Agent的自主性五级阶梯(L1-L5)、7个核心模块(四步闭环+三层支撑)、3种经典架构模式(ReAct/Reflexion/Plan-and-Execute),帮你建立完整的Agent知识体系。
目录
- 一、为什么我说"别再写ChatBot了"?
- 二、Agent的定义:感知→规划→行动→反思
- 三、Agent vs ChatBot:本质区别在哪?
- 四、Agent自主性五级阶梯
- 五、一个完整Agent系统的7个核心模块
- 六、经典Agent架构模式
- 七、总结
一、为什么我说"别再写ChatBot了"?
2023年ChatGPT爆火后,很多人涌入LLM赛道,写了一个又一个问答机器人。但很快发现:
- 用户问"今天北京天气怎么样",ChatBot只能回答训练数据里的固定内容,无法获取实时信息
- 用户问"帮我查一下这个快递到哪了",ChatBot无法调用外部API
- 用户说"用Python写个爬虫",ChatBot生成代码后无法执行和验证
这些问题的根源在于:ChatBot只是一个"会说话的模型",而Agent是一个"能感知、会规划、可行动、懂反思"的自主系统。
2024-2025年,大模型技术栈的重心已经从"模型本身"转向了"Agent工程化"——谁能把LLM的能力有效编排起来,解决真实业务问题,谁就能拿到入场券。
二、Agent的定义:感知→规划→行动→反思
Agent不是新概念,早在20世纪80年代,AI领域就有"智能体"(Intelligent Agent)的定义。但LLM时代的Agent有了质变:
Agent = 感知(理解环境)→ 规划(制定策略)→ 行动(调用工具)→ 反思(评估结果)
记忆(Memory)贯穿全程,支撑循环持续进行。可以记成 “感知规划,行动反思” 这8个字。
一个完整的Agent循环可以用下图概括:
这个循环的核心是**“自主性”**——Agent能够根据环境反馈自主决定下一步行动,而不是被动等待指令。
三、Agent vs ChatBot:本质区别在哪?
| 维度 | ChatBot | Agent |
|---|---|---|
| 信息获取 | 仅依赖训练数据和预设知识 | 能调用搜索引擎、数据库、API获取实时信息 |
| 任务执行 | 只能生成文本回答 | 能调用工具执行代码、发送邮件、操作数据库 |
| 规划能力 | 单轮问答,无任务分解 | 能将复杂任务拆分为多步,逐步执行 |
| 记忆能力 | 上下文窗口有限,无长期记忆 | 有多层记忆系统(短期/中期/长期) |
| 错误处理 | 生成错误答案后无法纠正 | 能检测到错误,自主重试或调整策略 |
| 自主性 | 被动响应,无自主决策 | 主动感知环境,自主决定行动 |
一句话总结:ChatBot是"问什么答什么",Agent是"理解了你的需求后,自己想办法解决"。
四、Agent自主性五级阶梯
业界对Agent的自主性有一个广为接受的五级划分(参考Anthropic的定义),这个分级有助于理解Agent技术演进的脉络:
L1:纯问答(Prompt + LLM)—— 还不算 Agent
严格来说,这一级不算Agent,只是普通的大模型调用,放在这里作为对比基线。
特征:直接调用LLM API,无外部工具,无记忆,无自主性
示例:一个简单的大模型聊天界面
局限:只能回答训练数据内的问题,无法获取实时信息
代码形态:
response = llm.chat("今天天气怎么样?")
# 只能回答训练数据截止前的知识
# 没有工具、没有记忆、没有规划,不算Agent
L2:有工具,被动调用(规则触发 / RAG)
特征:工具调用由人类硬编码的规则触发,LLM本身不决定是否调用
示例:带有知识库检索的问答系统、规则触发的外部API调用
关键技术:RAG(检索增强生成)、规则路由(if-else 硬编码)
代码形态:
# 人类写好的规则,不是LLM自己决定的
if "天气" in query:
result = weather_api.query("北京")
response = llm.chat(f"天气查询结果:{result}")
L3:有工具,主动调用(Agent初阶)
特征:LLM自主判断是否需要调用工具、调用哪个工具、传入什么参数
示例:ReAct Agent,能根据推理结果自主调用搜索、计算器等工具
关键技术:ReAct框架、Function Calling(LLM自主决定调用哪个函数)
代码形态:
# LLM自己判断需要什么工具
thought = llm.think("用户问北京天气,我需要调用天气API")
action = llm.decide_action(tool="weather_api", params={"city": "北京"})
observation = execute(action)
response = llm.synthesize(observation)
L4:有工具,自主规划(Agent中阶)
特征:Agent能分解复杂任务为多个子任务,制定执行计划,并在执行过程中动态调整
示例:研究助理Agent(自动搜索→整理→撰写→修改)、代码解释器Agent
关键技术:Plan-and-Execute、任务分解、动态规划
关键能力:
- 任务分解:将"写一篇关于AI的报告"拆分为"搜索资料→整理大纲→撰写各章节→润色"
- 计划调整:执行中发现某步骤失败,自动重试或更换策略
- 依赖管理:识别子任务间的先后依赖关系
L5:多Agent协作(Agent高阶)
特征:多个Agent分工协作,共同完成复杂任务
示例:软件开发Agent团队(产品经理→架构师→程序员→测试)、辩论Agent
关键技术:多Agent通信协议、任务分配、冲突解决
常见模式:
- Supervisor模式:中心Agent调度多个专业Agent
- Pipeline模式:Agent按顺序接力处理
- Debate模式:多个Agent争论并收敛结论
自主性五级对比表
| 等级 | 名称 | 自主程度 | 关键技术 |
|---|---|---|---|
| L1 | 纯问答(不算Agent) | ★☆☆☆☆ | Prompt Engineering |
| L2 | 被动调用(规则触发) | ★★☆☆☆ | RAG、规则路由 |
| L3 | 主动调用 | ★★★☆☆ | ReAct、Function Calling |
| L4 | 自主规划 | ★★★★☆ | Plan-and-Execute |
| L5 | 多Agent协作 | ★★★★★ | Multi-Agent System |
五、一个完整Agent系统的7个核心模块
如果把Agent比作一个人,那么它的"身体"可以拆解为 “四步闭环 + 三层支撑”:
🔁 四步闭环(Agent的核心循环)
对应前面提到的 “感知→规划→行动→反思”,这是Agent运转的主干:
1. 感知(Perception)
作用:理解用户输入,提取关键信息
技术点:意图识别、实体提取、指代消解
示例:用户问"这个怎么操作" → 系统需要从上下文中理解"这个"指代什么
2. 规划(Planning)
作用:将复杂任务分解为可执行的子任务
技术点:
- 任务分解(Task Decomposition)
- 计划验证与动态调整
- 子任务依赖管理
3. 行动(Action)
作用:执行规划确定的行动
关键点:行动结果需要以Observation形式反馈给LLM,形成闭环
4. 反思(Reflection)
作用:评估行动结果,发现错误并修正
技术点:
- 成功/失败案例记忆
- 自我改进闭环
- 错误归因分析
🏗️ 三层支撑(Agent的基础设施)
这些模块不直接参与循环,但为四步闭环提供底层能力:
5. 记忆(Memory)
作用:存储和检索信息,支撑Agent的持续运转
三层记忆:
- 短期记忆:当前对话上下文(滑动窗口,最近N轮)
- 中期记忆:会话摘要(超出窗口后的关键信息压缩)
- 长期记忆:向量数据库中的持久化知识
6. 工具调用(Tool Calling)
作用:为"行动"环节提供对外交互能力
常见工具:搜索引擎、数据库查询、代码执行、API调用
技术点:工具注册、参数校验、失败重试、权限控制
7. 评估(Evaluation)
作用:衡量Agent系统的性能,为"反思"环节提供数据依据
指标:任务完成率、准确率、响应时间、Token消耗、用户满意度
六、经典Agent架构模式
ReAct(Reasoning + Acting)
核心思想:将推理和行动交织进行,推理指导行动,行动提供新信息供推理
循环流程:
Thought(思考) → Action(行动) → Observation(执行结果)
↑___________________________________________↓
💡 术语说明:Observation 字面是"观察",但在 ReAct 框架中它特指工具执行后返回的结果(如搜索API的返回数据、数据库查询结果),不是"观察"这个动作本身。因此译为"执行结果"更贴合实际含义。
示例:
Question: 2024年诺贝尔文学奖得主是谁?
Thought: 这是一个需要查询最新信息的问题,我应该调用搜索工具。
Action: search("2024年诺贝尔文学奖得主")
Observation: 2024年诺贝尔文学奖授予韩国作家韩江。
Thought: 我已经获取到了答案,可以直接回答。
Final Answer: 2024年诺贝尔文学奖得主是韩国作家韩江。
Reflexion(反思增强)
核心思想:ReAct 本身已有即时反思(每步动作后评估调整),Reflexion 在此基础上增加了反思结果持久化机制——把反思沉淀下来,下次复用,让 Agent 越用越聪明。
🔍 ReAct vs Reflexion 的区别:
- ReAct:每一步都有即时反思,但"教训"用完就忘
- Reflexion:把反思结果存入长期记忆,换个问法也能复用经验
架构流程:
反思的三种类型:
| 类型 | 说明 | 归属框架 |
|---|---|---|
| 即时反思 | 每步动作后立即评估,快速调整下一步 | ReAct 自带 |
| 阶段性反思 | 完成几个步骤后复盘,总结阶段性进展 | Reflexion 增强 |
| 事后反思 | 任务结束后全面总结,沉淀经验教训 | Reflexion 核心 |
关键点:
- Reflexion 不是"加入反思",而是让反思结果可沉淀、可复用
- 失败时分析原因存入记忆,避免下次再犯
- 成功时总结模式存入记忆,复用经验
- 需要额外的 LLM 调用生成反思文本
Plan-and-Execute(规划与执行分离)
核心思想:先制定完整计划,再逐步执行,每步执行后检查是否按计划进行
循环流程:
用户请求 → 生成完整计划 → 执行第1步 → 检查结果 → 执行第2步 → ... → 完成
适用场景:复杂多步任务(如"帮我订一张明天北京到上海的高铁票")
不适用场景:简单单步任务(用Plan会额外增加LLM调用,浪费Token)
七、总结
本文从"为什么别写ChatBot了"出发,梳理了:
- Agent的定义:感知→规划→行动→反思的闭环
- Agent vs ChatBot:本质区别在于自主性、工具调用、任务规划和记忆能力
- 5级自主性阶梯:从纯问答到多Agent协作
- 7个核心模块:四步闭环(感知、规划、行动、反思)+ 三层支撑(记忆、工具调用、评估)
- 3种经典架构:ReAct、Reflexion、Plan-and-Execute
参考资源:
- 《LLM Powered Autonomous Agents》(Lilian Weng,OpenAI)
- 《ReAct: Synergizing Reasoning and Acting in Language Models》(Yao et al., 2023)
- Anthropic: “Building effective agents”(2024)
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)