当前位置: 首页 > news >正文

撩开那层神秘面纱:Agent中的ReAct究竟是什么?(上篇)

你有没有这种感觉——看AI Agent的技术文章,满屏都是“ReAct”,但翻来覆去就那几句话:“推理加行动”、“思考再动手”……听完跟没听一样。今天咱们不整那些虚的,把Agent中的ReAct拆开揉碎,从头到尾说清楚。

先说人话:ReAct到底是什么?ReAct,全称是 Reasoning + Acting。说人话就是:让AI一边想,一边干,想一步干一步,而不是闷头一顿干或者光想不干。

想象一下你让一个实习生去整理客户反馈。两种极端:

光想不干型:坐在那儿想了两个小时“我应该怎么分类呢……情感分析用什么维度呢……”一份都没整理。

闷头猛干型:上来就吭哧吭哧全部分到“其他”文件夹里,完了一看,全乱套。

ReAct就是第三种——边想边干:拿一份反馈,“嗯这条是投诉,放投诉类;下一条是建议,放建议类……诶等等,刚才投诉类里好像有条重复的,我回头看一眼……”

思考指导行动,行动反馈给下一步思考。就这么个事儿。

为什么会出现ReAct?它是为了解决什么问题?

这就得往前倒一倒了。最早的大语言模型,就是个“问答机器”。你问一句,它答一句,完事。后来大家想让AI“干活”,不只是回答问题,于是有了 Chain-of-Thought(思维链)——让AI把思考过程写出来,一步步推导。

但CoT有个致命问题:它活在真空里。你问“今天北京到上海的机票多少钱”,它能把推理写得行云流水:“首先我需要查询航班信息……假设经济舱大概800元左右……”——等等,你“假设”个啥?你不能去查一下吗?

这就是大语言模型最初的核心痛点:它没有手,没有眼睛,只有一张嘴。它能思考,但无法获取外部信息,无法执行实际操作。

另一条路是所谓的 “行动派”Agent——直接调用工具。给个指令,AI输出一连串动作:search_ flights(“北京”,“上海”,“今天”)、book_ flight(...)。但这种模式又走向另一个极端:思考太浅。遇到模糊情况容易出错,而且一旦出错,你不知道它为什么错——因为没有思考过程给你看。

ReAct的出现,就是要把这两者拧在一起。

2022年,普林斯顿和谷歌的 researchers 在论文《ReAct: Synergizing Reasoning and Acting in Language Models》里明确提出:让推理和行动交织进行。每一步推理都能调用工具获取外部信息,每一步行动的结果都会反馈给下一步推理。

简单说就是解决两个问题:

光会想不会干 ——加上工具调用能力

光会干不会想 ——加上显式的推理轨迹

两条瘸腿接在一起,终于能走路了。

ReAct的核心循环
你要是看过Agent框架的代码,会发现一个熟悉的模式:

Thought: 我现在需要做什么? Action: 调用某个工具去做 Observation: 工具返回了什么结果 Thought: 基于这个结果,下一步该……

这就是ReAct的 “思考-行动-观察”循环。

拿查天气举个例子:

Thought: 用户问北京今天天气,我需要调用天气查询接口

Action: get_weather(“Beijing”, “today”)

Observation: “晴,25°C,北风3级”

Thought: 已经拿到结果了,可以回答用户

Action: finish(“北京今天晴天,25度,北风3级”)

就这么一圈一圈转,直到任务完成。

这个循环的价值在于:每一步都留下了痕迹。出了问题你能看到是Thought错了还是Action错了还是Observation理解错了,可调试性直接拉满。

http://www.jsqmd.com/news/529869/

相关文章:

  • Win11Debloat:Windows系统深度优化与隐私保护终极指南
  • 基于ABAQUS模型的CEL算法在桩入土粒子示踪技术中的应用:流固耦合模拟与土体流动分析
  • AnimateDiff在教育领域的应用:交互式课件自动生成
  • Bazzite开源系统故障排查指南
  • SEO_中小企业必备的SEO优化入门方法指南
  • 如何利用A股上市公司新闻舆情数据优化投资决策?3个实战案例分析
  • 别再只会重启了!手把手教你用BlueScreenView和WhoCrashed精准定位Windows蓝屏元凶
  • TCP协议详解:从三次握手到四次挥手的完整生命周期(Wireshark实战)
  • Xenia Canary模拟器配置与优化完全指南
  • 从无状态到有状态:用 Bedrock AgentCore 跑一个会“追问“的 MCP Server
  • 别再只会调库了!手把手带你用C语言和GPIO操作28BYJ-48步进电机(基于I.MX6ULL)
  • AWPortrait-Z开箱即用:科哥二次开发WebUI,界面友好操作简单
  • QMCDecode:重构音乐格式自由的开源工具 | 音乐爱好者的用户主权解决方案
  • 气象预测太卡?试试Ensemble Kalman Filter的降维魔法
  • C语言基础巩固:通过实现简易音频处理函数理解Qwen3-ASR-0.6B输入
  • Qt5中文乱码终极解决方案:从编码原理到实战避坑(Windows/Linux双平台)
  • 从McCulloch-Pitts到LSTM:一张图看懂神经网络家族进化史(附学习路线)
  • LFM2.5-1.2B-Thinking数学推理实战:基于LSTM的智能解题系统
  • 【rust】Rust 默认引用 std::prelude
  • AtCoder Beginner Contest 450题解
  • 20253909 2025-2026-2 《网络攻防实践》第1周作业
  • 高性价比Vibe Coding后端配置:IDEA集成Claude Code与GLM4.6实战指南
  • Agent中的ReAct:类型、作用与避坑指南(下篇)
  • Transformer的‘记忆’短板怎么破?从Titans论文看大模型长上下文优化的三个新方向
  • 119K+英语语音资源一键获取:开源批量下载工具让发音数据库构建效率提升10倍
  • 用过才敢说 一键生成论文工具测评:2026年最新推荐与对比
  • damaihelper:消除抢票壁垒的Python自动化解决方案
  • 前端工具实现浏览器端文档转换:html-docx-js全攻略
  • 软考中级操作系统核心6分攻略:从信号量到死锁的实战解题笔记
  • 20234221 实验一《Python程序设计》实验报告