从一问一答到自主干活: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 小时前
AI 辅助学习的正确姿势和方法
人工智能·程序员·ai编程
GISer_Jing1 小时前
一套H5跑通三端:App+小程序内嵌H5跨端适配全栈解决方案
前端·前端框架·ai编程
web_Leon2 小时前
Codex一键复刻任何网站:从安装到实战,30秒搞定原来两天的活
人工智能·ai编程
谢文峰2 小时前
Claude Code 的诞生史:一个 AI 编程工具如何从内部 CLI 长成 Agent
ai编程
禅思院3 小时前
AI对话前端从入门到崩溃:一个长对话引发的五层优化战争【二】
前端·前端框架·ai编程
怕浪猫3 小时前
第11章 实战项目三:个性化教育辅导Agent
aigc·openai·ai编程
LL3436383 小时前
2026最新5款AI编程工具平替实测|终端与IDE vibe coding迭代优缺点深度对比
ide·ai编程
2601_961196664 小时前
2026最新8款企业AI编程部署工具 金融风控合规平替实测合集
大数据·人工智能·ai编程
cooldream20094 小时前
AI编程系列之1:AI 编程的三种范式——从 Copilot 到 Agent 到 Spec
人工智能·copilot·ai编程·spec