ReActReason + Act
你可能会说
AI 能不能每完成一步先检查结果,再决定下一步?
ReAct 是让 AI 根据当前证据选择一个操作,读取真实结果,再据此选择下一步的任务方式。例如登录按钮没有反应时,AI 先检查按钮文件;发现点击事件已经存在后,不再继续修改按钮,而是改查网络请求,并根据 401 结果检查认证信息。
也常被叫作ReAct 机制Reason + Act推理行动模式
运行流程 · 判断—行动—观察
① 判断登录按钮没反应——可能是没绑点击事件→② 行动读取 login-button.jsx↓③ 观察点击事件其实已经存在↺带着新证据回到①,改查 401 请求
④ 什么时候停检查通过达到步数上限需要人确认
根据目前掌握的证据决定下一步做什么,而不是把整条路一次规划完
调用一个工具:读文件、发请求、跑命令。每一步只做一个动作
读回真实结果。结果和预期不一致时,下一轮的判断就该变
什么算完成、最多跑几步、什么情况必须停下来问人——没有这三条,循环会自己转下去
容易混淆?这样区分
ReAct≠一次性生成完整计划
先把九步全列出来再照着走,适合流程固定的任务;路上出现意外时,原计划不会自己改。ReAct 每轮只看当前证据定下一步,代价是来回调用更多次。
ReAct 循环≠Agent 权限
怎么决定下一步是 ReAct 的事;能读哪些文件、能不能发网络请求、什么时候必须有人确认,是产品权限和沙箱决定的,模型自己说了不算。
常见做法 · Variants
先规划再执行Plan-and-Execute
一次出完整计划→照着走
步骤比较固定、中途不太会变;省 token,但路上出意外时反应慢
走一步看一步ReAct
判断→行动→观察
排查类、探索类任务:下一步取决于上一步的真实结果
失败后写复盘Reflexion
试错→总结哪错了→再试
同类错误容易重复犯时,把教训留在上下文里;仍要设重试上限
典型使用场景
让 AI 帮你修一个 bug:它每步先说要看什么
判断 按钮没反应,先确认点击事件有没有绑上
行动 读 src/login-button.jsx
观察 已绑定,但接口返回 401
下一步 不改按钮,改查登录请求的凭证
没有停止条件的 Agent:同一个报错修三遍
改 → 检查失败再改 → 又失败还是失败
连续同类失败就该停下来汇报,而不是继续消耗额度
延伸阅读 · 权威出处