Agent 学习路线:从 ReAct 到微型框架实现

很多人学 Agent 时,都会遇到同一个问题:

看了不少文章、论文和框架,但知识总是碎的,拼不成一套完整的方法论。

原因通常不是你学得少,而是学习路径不对

Agent 不是一个单点技术,而是一类系统:它同时涉及推理、规划、工具调用、记忆管理、状态控制和评估迭代。

如果只看论文,会偏理论;如果只看框架,会偏用法;如果只做 demo,会偏局部技巧。想真正理解 Agent,必须按系统工程的方式来学。

这篇文章给你一条更稳的路线:

概念框架 → 论文脉络 → 工程实现 → 评估迭代 → 产品落地


一、先建立 Agent 的总框架

先不要把 Agent 理解成"会聊天的 AI"。

更准确地说,Agent 是一个能感知、思考、行动、记忆、反思的闭环系统

你以后看任何论文、框架、项目,都可以先对照这 5 个核心模块:

  • 感知(Perception):输入任务、上下文、环境状态、工具结果
  • 思考(Reasoning / Planning):如何分解任务、决定下一步
  • 行动(Acting / Tool Use):调用工具、访问系统、执行操作
  • 记忆(Memory):短期上下文、长期知识、任务状态
  • 反思(Reflection / Evaluation):结果是否正确,是否需要修正

二、论文怎么读:按问题驱动,而不是按热度

Agent 论文很多,但不建议你按年份或热度乱读。

更有效的方法是:每篇论文都围绕同一组问题来读

  1. 它解决 Agent 的哪个核心问题?
  2. 它引入了什么机制?
  3. 这个机制比之前好在哪里?
  4. 它的失败模式是什么?
  5. 它适合什么任务,不适合什么任务?

这样读下来,你得到的不是零散结论,而是一张"Agent 机制地图"。


1)ReAct:理解"思考"和"行动"为什么要交错

ReAct 是理解 Agent 的第一篇关键论文之一。

它回答的不是"模型能不能推理",而是:

为什么推理和行动要交错进行?

它背后的核心思想是:

  • 只思考,不行动:容易空想、幻觉、脱离环境
  • 只行动,不思考:容易乱试、缺乏目标感
  • 思考---行动---观察---再思考:能让模型基于反馈不断修正
你要自己回答的问题
  • 如果模型先长篇推理再统一行动,会出现什么问题?
  • 如果模型连续调用工具而不反思,会缺少什么?
  • 交错式闭环如何帮助修正错误?
一个适合动手的练习

选一个简单任务,例如:

  • 查 3 个来源对比一个事实
  • 检索资料并总结
  • 输出结构化答案

分别实现三种方式:

  1. 一次性回答
  2. 先规划后执行
  3. ReAct 交错式

再比较它们在以下维度的差异:

  • 错误率
  • 可解释性
  • 工具利用效率

2)Plan-and-Execute:理解任务为什么要先拆解

这类方法主要解决一个现实问题:
复杂任务不能一步完成。

你要理解的是:

  • 为什么需要先把任务拆成子目标
  • 为什么规划和执行分离后,系统会更可控
  • 为什么有些任务必须先想清楚再做
一个适合动手的练习

拿一个稍复杂的任务,比如:

  • 调研某个行业并输出报告
  • 分析一份长文档并总结结论

做两种版本:

  1. 直接让模型一次输出
  2. 先生成计划,再逐步执行

对比它们在下面这些方面的表现:

  • 计划是否可执行
  • 结果是否稳定
  • 中途是否容易偏航
  • 任务是否更容易修正

3)Memory / Retrieval:理解上下文不等于记忆

很多人第一次做 Agent 时,都会把"上下文窗口"误认为"记忆"。

实际上,这两者不是一回事。

  • 上下文窗口:临时工作区
  • 记忆系统:显式保存和检索任务信息的能力

你要理解:

  • 为什么上下文窗口有限
  • 为什么 Agent 需要显式保存状态
  • 为什么"记住什么、忘掉什么"本身就是设计问题
一个适合动手的练习

给 Agent 加一个最基础的 memory 模块,保存:

  • 当前任务目标
  • 工具调用历史
  • 失败原因

然后比较:

  • 有记忆版本
  • 无记忆版本

看哪一个更稳定、可恢复。


4)Reflection / Critic:理解自我检查为什么重要

很多 Agent 第一次输出时并不可靠。

因此,在执行链路里加入检查步骤,往往很有价值。

这类方法的核心问题是:

模型做完一次后,怎么判断自己做得对不对?

你要理解:

  • 为什么很多 Agent 第一次输出不可靠
  • 为什么增加一步检查通常能提升质量
  • 反思不是"自我感动",而是校验机制
一个适合动手的练习

在 Agent 后面加一个 critic 步骤,让它检查:

  • 目标是否完成
  • 工具返回是否可信
  • 输出是否符合格式

观察它对最终结果的实际影响。


三、工程实现:手搓一个微型 Agent 框架

如果你想真正理解 Agent 框架底层在做什么,最有效的方式不是直接上大型框架,而是自己实现一个微型 Agent 框架

它不需要复杂,但要完整。

你要确保它真的跑通了一个闭环。


微型框架最少要有这些模块

  • LLM 调度器:负责向模型发请求
  • 工具注册器:注册可调用工具
  • 循环执行器:负责执行"思考 → 行动 → 观察 → 再思考"
  • 状态对象:保存目标、历史、工具结果
  • 终止条件:判断何时结束
  • 日志模块:记录每一步轨迹

最小执行流程

  1. 用户输入任务
  2. Agent 生成一个 action
  3. 如果 action 是工具调用,就执行工具
  4. 把工具结果作为 observation 加回上下文
  5. 再让模型判断下一步
  6. 直到满足终止条件

这就是一个最小的 ReAct 型执行骨架。


建议实现顺序

第 1 版:单工具调用
  • 一个搜索工具
  • 一个总结工具
  • 一个循环

目标:跑通最小闭环。

第 2 版:多工具路由
  • 让模型从多个工具里选择
  • 加参数校验
  • 加超时处理

目标:理解工具分发和 schema 设计。

第 3 版:状态持久化
  • 记录任务进度
  • 支持中断恢复

目标:理解任务状态管理。

第 4 版:反思模块
  • 加 critic
  • 做质量检查

目标:理解检查与回退机制。


四、评估迭代:Agent 怎么知道自己好不好

Agent 不是静态模型,而是动态系统。

所以不能只看"结果像不像",还要看它是否稳定、可控、可恢复


评估可以分成三类

1. 任务结果评估
  • 最终答案对不对
  • 是否完成任务
  • 是否满足格式要求
2. 过程评估
  • 规划是否合理
  • 工具调用是否正确
  • 是否有无效循环
  • 是否中途偏航
3. 系统评估
  • 延迟
  • 成本
  • 稳定性
  • 恢复能力
  • 失败率

为什么这一层很重要

如果没有评估,Agent 就只能靠感觉优化。

但 Agent 的问题往往不是"答案错了"这么简单,而是过程出了问题,比如:

  • 工具调用失败
  • 循环发散
  • 上下文丢失
  • 目标漂移

这些问题,只有通过评估和日志才能定位。


五、产品落地:Agent 最终要服务真实任务

如果没有产品视角,学到的内容很容易停留在 demo。

你至少要回答这些问题:

  • 这个 Agent 服务谁?
  • 它解决的真实任务是什么?
  • 用户为什么需要它?
  • 它的输入输出边界是什么?
  • 它失败的后果是什么?
  • 它是否需要人工兜底?

比较适合入门的场景

  • 代码审查 Agent
  • 数据分析 Agent
  • 文档调研 Agent
  • 工单处理 Agent

这些场景的好处是:

  • 任务边界清晰
  • 成功标准相对明确
  • 更容易做评估和迭代

六、最容易踩的坑

坑 1:只看论文,不写代码

Agent 的理解来自闭环实现,而不是摘要。

坑 2:一开始就学大框架

大框架会把复杂性藏起来,你会"会用但不懂"。

坑 3:只看成功案例

你一定要观察失败案例,尤其是:

  • 工具调用失败
  • 循环发散
  • 目标漂移
  • 上下文丢失

坑 4:没有评估

没有测试集和指标,就很难知道 Agent 是真的变好了,还是只是"看起来更聪明"。


七、建议的 6 周执行路线

第 1 周

  • 画 Agent 总架构图
  • 梳理 Reasoning / Acting / Memory / Reflection
  • 阅读 ReAct

第 2 周

  • 手搓微型框架第 1 版:单工具 + 循环
  • 写日志,记录轨迹

第 3 周

  • 补状态管理
  • 做工具调用参数校验
  • 跑 10 个简单任务测试

第 4 周

  • 阅读 Plan-and-Execute、Reflection 相关论文
  • 在框架里加入计划步骤和 critic

第 5 周

  • 加入记忆模块
  • 做中断恢复和任务持久化

第 6 周

  • 选一个垂直任务
  • 做评估集
  • 对比无 Agent、简单 Agent、ReAct Agent 的效果

八、总结

如果你想真正把 Agent 学成体系,最有效的方法是:

  1. 用概念框架把 Agent 拆成模块
  2. 用论文理解每个模块的设计动机
  3. 用微型框架把机制落成代码
  4. 用评估集验证效果
  5. 用真实任务做产品化落地

Agent 的深度理解,不来自"看了多少内容",而来自你是否真正打通过一次完整闭环。


相关推荐
易观Analysys7 分钟前
重构与崛起——OpenClaw时代的中国Agent产业生态报告
人工智能
kishu_iOS&AI8 分钟前
NLP —— 英译法实例
人工智能·ai·自然语言处理
Alter123021 分钟前
从“力大砖飞”到“拟态共生”,新华三定义AI基础设施的系统级进化
大数据·运维·人工智能
哔哩哔哩技术33 分钟前
bili-fe-workflow —商业化智能开发工作流实践
人工智能
王木风35 分钟前
终端里的编程副驾:DeepSeek-TUI-项目深度拆解,实测与原理分析
linux·运维·人工智能·rust·node.js
IT_陈寒36 分钟前
为什么你应该学习JavaScript?
前端·人工智能·后端
Java技术小馆44 分钟前
我用 30 分钟构建了 100% 数据主权的私有化健康库
人工智能
tq10861 小时前
认知连续性与组织墙的崩塌:AI原生时代的架构重构
人工智能·架构
Phodal1 小时前
AI 解决繁杂任务:从 /goal 到长时间异步 Agent 运行
人工智能
tedcloud1231 小时前
ppt-master部署教程:快速搭建智能演示文稿系统
服务器·人工智能·系统架构·游戏引擎·powerpoint