从一问一答到自主干活:Agent 的核心设计模式 ReAct 是如何工作的

你以为 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,就是我们在开发这类智能体时,控制异步任务流的基础工具。

相关推荐
桃西西呀1 小时前
我把网关限流配置成每秒 100 请求,大促一来照样被打挂,还把别人也拖垮了
人工智能·llm·ai编程
程序员天天困1 小时前
DeepSeek-V4.1-Flash-1017 上手实测:3D 直出,效果到底如何
aigc·ai编程·deepseek
OpsEye2 小时前
大模型账单对账难:不同厂商 Token 统计口径差异怎么处理
javascript·ai编程
桃西西呀2 小时前
我把整本接口文档塞进 system prompt,前 3 轮答得准,第 8 轮开始胡说,账单还翻了 4 倍
人工智能·llm·ai编程
小虎AI生活3 小时前
OpenAI 披露 19 起 AI 失控记录,用 AI 提效的第一步为什么不是学提示词
aigc·ai编程
费曼学习法4 小时前
把「发送成功」当「送达」?我排查 IM 长消息被静默吞掉的完整过程
python·ai编程·自动化运维
season_zhu4 小时前
Skills For Real Engineers 系列之一:先配好项目,再让 ask-matt 帮我选技能
ios·openai·ai编程
Rain的Java大神实战圈5 小时前
别再死磕 MySQL 了:向量数据库与 RAG 生产落地实录(Java 工程师专场)
ai编程
ZzT5 小时前
拆解 Anthropic 开源的电商 Agent:哪些规则写进代码,哪些留给模型
ai编程·claude