专栏开篇:ChatBot只是"会说话的模型",Agent才是"能感知、会规划、可行动、懂反思"的自主系统。本文从ChatBot与Agent的本质区别出发,系统讲解Agent的自主性五级阶梯(L1-L5)、7个核心模块(四步闭环+三层支撑)、3种经典架构模式(ReAct/Reflexion/Plan-and-Execute),帮你建立完整的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循环可以用下图概括:

未完成

已完成

用户输入

感知 Perception
理解用户意图

规划 Planning
分解任务、制定策略

行动 Action
调用工具/生成回答

反思 Reflection
评估结果、修正策略

输出结果

这个循环的核心是**“自主性”**——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 循环
Thought → Action → Observation

反思阶段 任务结束后全局总结
1. 评估执行结果
2. 识别成功/失败原因
3. 生成可复用的改进建议

记忆更新
将反思结果存入长期记忆

下次执行时参考反思结果

反思的三种类型

类型 说明 归属框架
即时反思 每步动作后立即评估,快速调整下一步 ReAct 自带
阶段性反思 完成几个步骤后复盘,总结阶段性进展 Reflexion 增强
事后反思 任务结束后全面总结,沉淀经验教训 Reflexion 核心

关键点

  • Reflexion 不是"加入反思",而是让反思结果可沉淀、可复用
  • 失败时分析原因存入记忆,避免下次再犯
  • 成功时总结模式存入记忆,复用经验
  • 需要额外的 LLM 调用生成反思文本

Plan-and-Execute(规划与执行分离)

核心思想:先制定完整计划,再逐步执行,每步执行后检查是否按计划进行

循环流程

用户请求 → 生成完整计划 → 执行第1步 → 检查结果 → 执行第2步 → ... → 完成

适用场景:复杂多步任务(如"帮我订一张明天北京到上海的高铁票")
不适用场景:简单单步任务(用Plan会额外增加LLM调用,浪费Token)


七、总结

本文从"为什么别写ChatBot了"出发,梳理了:

  1. Agent的定义:感知→规划→行动→反思的闭环
  2. Agent vs ChatBot:本质区别在于自主性、工具调用、任务规划和记忆能力
  3. 5级自主性阶梯:从纯问答到多Agent协作
  4. 7个核心模块:四步闭环(感知、规划、行动、反思)+ 三层支撑(记忆、工具调用、评估)
  5. 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)
Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐