你以为 Agent 只是会自己说话的 AI?不,它会拆任务、调工具、循环执行,直到把事情干完。
01. 普通对话 vs Agent:差的不只是"自动"
我们平时用的 AI 对话,本质上是一问一答。
你问,它答;你再问,它再答。
每一次对话都是独立的,任务在输出结果后就结束了。
比如:
"帮我写一封邮件。"
LLM 写完邮件,任务就终止了。
没有后续,没有执行,没有反馈循环。
而 Agent 不一样。
Agent 有一个持续运转的结构。你给它一个任务,它会:
- 拆解任务
- 决定下一步
- 调用工具
- 查看结果
- 再思考、再行动、再观察
这个循环会一直进行,直到任务完成,或者它自己判断终止(比如超出循环次数、token 上限、相同结果重复次数过多,或失败)。

02. Agent 的工作方式:ReAct 三板斧
Agent 的核心工作流程,可以总结为三个动作:
| 动作 | 说明 |
|---|---|
| Reason(思考) | 分析当前状态,决定下一步做什么 |
| Act(行动) | 调用工具、执行操作 |
| Observe(观察) | 查看行动结果,作为下一轮思考的输入 |
一轮结束后,Observe 的结果会回到 Reason,再 Act,再 Observe......
这个循环,就叫 ReAct。
ReAct = Reasoning + Acting + Observing
它不是 LangChain 那种大型开发库,而是 Agent 通用的循环工作标准。
03. 举个栗子:Agent 怎么写一份竞品分析报告?
假设任务:
"帮我分析竞品信息,然后手写一份报告。"
Agent 会怎么做?
第一轮:
- Reason:需要先搜集竞品的最新动态
- Act:调用搜索工具,查询三家竞品的最新信息
- Observe:信息量很大,整理成结构化数据
第一轮结束。
第二轮:
- Reason:发现缺少财务数据
- Act:去官网查财报,或调用股市 API 抓取数据
- Observe:拿到了营收、增长等关键指标
第三轮、第四轮......
不断补充信息、验证数据、调整结构。
最后一轮:
- Reason:信息齐全,开始撰写报告
- Act:生成完整报告文档
- Observe:交付给用户
04. Agent 的"手脚":Tool Use
Agent 最核心的动作,就是 Tool Use(工具调用) 。
工具是 Agent 的手和脚。
没有工具,它只能在脑子里转,转完之后,还是只有文字。
常见的工具类型:
| 工具 | 作用 |
|---|---|
| 搜索工具 | 上网查实时信息 |
| 代码执行器 | 运行代码,查看结果 |
| 文件读写 I/O | 读取、写入文件 |
| 浏览器操作 | 打开网页、点击、提交表单 |
| API 调用 | 对接外部服务 |
工具越多,Agent 能干的事情就越多。
很多 Agent 产品,本质上就是在拼工具的覆盖范围。
工具的边界,就是 Agent 能力的边界。
选择 Agent,本质上是在选择它的工具生态。
05. 额外学习:Promise ------ 控制异步任务的"工具"
在 Agent 调用工具、并发执行任务时,前端/后端开发者绕不开一个基础概念:Promise。
你可以把 Promise 理解为 Agent 的"任务状态管理器"。
Promise 的三种状态:
| 状态 | 含义 |
|---|---|
pending |
待处理,任务进行中 |
fulfilled |
已成功解决 |
rejected |
已失败 |
关键规则:
- 只要有一个 Promise 失败,整体失败,不再等待其他 Promise 执行
- 错误会直接走
catch,捕获第一个失败的原因
实际案例:并发请求
javascript
javascript
const getStory = async () =>
fetch('https://v1.hitokoto.cn/?c=i&encode=json');
const getRetp = async () =>
fetch('https://data.ratp.fr/api/datasets/1.0/search/?q=paris');
async function main() {
// 并发执行,按顺序收集结果
const res = await Promise.all([getStory(), getRetp()]);
// 解析所有 JSON
const result = await Promise.all(res.map(item => item.json()));
console.log(result);
}
main();
注意:
Promise.all会等待所有 Promise 都 resolved,但只要有一个 rejected,整体就会进入 catch。
06. 总结:Agent 的本质,是"有手脚的思考者"
| 对比维度 | 普通 AI 对话 | Agent |
|---|---|---|
| 工作方式 | 一问一答 | 循环执行 |
| 任务处理 | 输出即结束 | 拆解、执行、反馈、迭代 |
| 核心能力 | 生成文本 | 思考 + 行动 + 观察 |
| 依赖 | 模型本身 | 模型 + 工具生态 |
Agent 不是更聪明的对话机器人,
它是能自己干活、会调用工具、能持续迭代的智能体。
而 Promise,就是我们在开发这类智能体时,控制异步任务流的基础工具。