普通 AI 是一问一答的“复读机”,Agent 是能自我迭代的“永动机”。这其中的差别,就在于 Agent 拥有一个持续运转的“认知循环”——ReAct。
一、从“你问我答”到“自我迭代”
上一讲我们说到,Agent 是有了手脚和记忆的 LLM。但光有零部件还不行,这些零部件该怎么协同工作呢?
- 普通对话:你说“帮我写封邮件”,AI“刷刷刷”写完了,任务结束。这是一个线性的过程。
- Agent 工作:你说“帮我分析竞品并写份报告”。Agent 不会直接扔给你一篇报告,它会先自言自语:“嗯,我要写报告,首先得有数据。第一步,我得去搜索竞品信息。”
笔记中有一段话点明了本质:
普通对话,你问他答,一问一答就结束了。Agent 不一样,它有一个持续运转的结构。
二、核心机制:ReAct(Reasoning + Acting + Observing)
Agent 最核心的工作方式就是 ReAct。这不是一种新模型,而是一套标准化的 Agent 执行流程框架。
它由三个核心动作组成,不断循环:
| 动作 | 英文 | 说明 |
|---|---|---|
| 思考 | Reason | 我要做什么?下一步该干什么? |
| 行动 | Act | 调用工具去执行具体操作 |
| 观察 | Observe | 看看工具返回了什么结果 |
原文定义:
ReAct(Reasoning+Act+Observe)是一套标准Agent执行流程/Agent工作框架,不是Langchain那种大型开发库,是Agent通用的循环工作标准
每一轮结束后,带着观察到的结果,再次回到 Reason,如此往复,直到任务完成,或者 Agent 自己判断终止(超出循环次数、token 上限、相同结果次数过多或任务失败)。
三、实战拆解:Agent 写竞品报告的全过程
我们用笔记中“竞品分析报告”的例子,把 ReAct 模式拆开了看:
-
第 1 轮循环:
- Reason(思考) :用户要竞品报告,但我手里没数据。我需要先搜索三家竞品的最新动态。
- Act(行动) :调用“搜索工具(Search Tool)”,输入关键词“竞品 A 最新战略”。
- Observe(观察) :工具返回了 100 页的搜索结果,信息量巨大。
- 第一轮结束。
-
第 2 轮循环:
- Reason(思考) :虽然有信息了,但都是新闻稿,缺少具体的财务数据支撑论点。我需要找财报。
- Act(行动) :调用“网页抓取工具”或“股市 API 工具”,去指定网址拉取数据。
- Observe(观察) :拿到了三家公司的去年年报数据。
- 第二轮结束。
-
第 3 轮循环(可能还有第 4、5 轮) :
- Reason:数据齐了,我可以开始撰写报告了。
- Act(行动) :调用“文件写入工具(write_file)”,把内容写入
竞品分析.md。 - Observe:文件保存成功。
-
最终输出:
- 当所有工具调用完毕,数据收集充分后,Agent 在最后一轮不再调用工具,而是直接生成最终答案,把报告交还给我们。
四、决定 Agent 能力边界的关键:Tool Use
在整个 ReAct 循环中,最关键的动作就是 Act(行动) ,也就是 Tool Use(工具调用) 。
笔记里有一句话非常精辟:
工具是 Agent 的手和脚,没有工具,它只能在大脑里转,转完之后,还是只有文字。
工具决定了 Agent 能干什么:
| 工具类型 | 能力 |
|---|---|
| 搜索工具 | 上网查实时信息 |
| 代码执行器 | 运行代码、看结果 |
| 文件读写(I/O) | 读写本地文件 |
| 浏览器操作工具 | 模拟人点击网页(如 Manus) |
| API 调用工具 | 对接各种外部服务 |
笔记原文:
工具越多,Agent能干的事情越多。很多Agent产品,调用了很多工具,工具的覆盖范围直接决定Agent的能力边界,选择Agent的核心。
五、江湖地位:为什么说“文无第一,武无第二(Claude)”?
在 AI 编程助手领域,一直有“文无第一,武无第二”的说法。
意思是写诗作画各有千秋(文),但写代码、跑测试是有客观标准的(武)。目前业内公认编程能力最强的模型是 Claude(Anthropic) 系列,其配套的 Claude Code 更是把工程化验收机制(AI 自我测试) 做到了极致。
笔记原文:
Anthopice最牛逼的Agent企业,代码是最标准,又完善工程化验收机制的,ai测试agent
我们后续手写的 mini-cursor,正是向这些顶级 Coding Agent 致敬和学习的第一步。
六、总结
| 概念 | 含义 |
|---|---|
| ReAct | Agent 的标准执行框架:Reason → Act → Observe 循环 |
| Reason | LLM 根据当前上下文进行规划和推理 |
| Act | 调用 Tool 执行具体动作 |
| Observe | 接收工具执行结果,作为下一轮推理的输入 |
| Tool Use | 决定 Agent 能力边界的核心因素 |
下一篇,我们将迈入实战——用 LangChain 框架定义我们的第一个 Tool,并把 ReAct 循环用代码跑起来。