ReAct 循环

把决策摘要、工具行动、环境观察与停止判定组织成受控循环,不要求暴露模型隐藏思维过程。

学习目标

  • 能解释“ReAct 循环”如何让每轮行动由新观察推进,并以可判定停止条件收束
  • 能区分ReAct、决策摘要、Action、Observation、Final Answer,并指出它们在请求、状态或执行边界中的位置
  • 能固定输入,沿以下证据定位首个分叉:轮次、决策摘要、Action、调用 id、Observation、预算变化、完成判定与人工审批
  • 能注入“模型伪造 Observation 或在必要验证前输出 Final Answer”,在同一预算和权限下完成故障、恢复与重放

来源、课程编排与适用边界

“ReAct 循环”以Anthropic 公开全文《Building effective agents》为总纲,并用ReAct 原始论文核对本单元机制;工具与外部能力的角色再由MCP 官方规范交叉检查。

这不是一本具有“官方九章目录”的纸质书。平台把公开文章中的 augmented LLM、工作流、智能体、上下文和工具工程重组为 9 个教学单元;下列 72 个节点是站内课程地图,不冒充 Anthropic 原文目录。正文、代码、图表和练习均为独立教学重写,产品或模型版本变化时应重新验证。

本单元的八个课程坐标

  • ReAct 循环:作为“让每轮行动由新观察推进,并以可判定停止条件收束”的第 1 个课程坐标,必须进入正文解释、交互观察或练习证据。
  • 决策摘要:作为“让每轮行动由新观察推进,并以可判定停止条件收束”的第 2 个课程坐标,必须进入正文解释、交互观察或练习证据。
  • Action:作为“让每轮行动由新观察推进,并以可判定停止条件收束”的第 3 个课程坐标,必须进入正文解释、交互观察或练习证据。
  • Observation:作为“让每轮行动由新观察推进,并以可判定停止条件收束”的第 4 个课程坐标,必须进入正文解释、交互观察或练习证据。
  • Final Answer:作为“让每轮行动由新观察推进,并以可判定停止条件收束”的第 5 个课程坐标,必须进入正文解释、交互观察或练习证据。
  • 环境反馈:作为“让每轮行动由新观察推进,并以可判定停止条件收束”的第 6 个课程坐标,必须进入正文解释、交互观察或练习证据。
  • 循环预算:作为“让每轮行动由新观察推进,并以可判定停止条件收束”的第 7 个课程坐标,必须进入正文解释、交互观察或练习证据。
  • 人工检查点:作为“让每轮行动由新观察推进,并以可判定停止条件收束”的第 8 个课程坐标,必须进入正文解释、交互观察或练习证据。

术语与状态合同

本页不变量是:每轮 Action 都能指出所依据的 Observation,最终回答满足成功标准或明确阻塞。任何“成功”结论都要保存以下证据:轮次、决策摘要、Action、调用 id、Observation、预算变化、完成判定与人工审批,不能把模型口头确认当作环境事实。

关键机制与可推翻实验

ReAct 交替推理与行动

经典 ReAct 把任务推理与环境行动交错,使新观察能够纠正后续路径。工程实现关注可审计决策和动作,不需要向用户暴露隐藏 chain-of-thought。

动手试:保存短决策摘要、工具请求和观察,确认复核人能解释下一步依据。

Observation 必须来自环境

模型自行编写的“搜索结果”不是观察。运行时只有在工具真正完成后才把结构化结果加入下一轮上下文。

动手试:阻断网络工具,确认观察记录为失败而不是生成一段伪结果。

Final Answer 是受条件保护的分支

最终回答必须满足成功标准或清楚声明阻塞;模型仅输出 final 字样不能越过必要工具、测试或人工审批。

动手试:让模型提前结束,检查运行时的完成判定是否拒绝。

循环同时受预算与人工检查点控制

最大轮数、token、工具费用、不可逆操作审批和重复调用检测共同防止失控。恢复策略要区分可重试与需要用户输入的阻塞。

动手试:注入重复 action,确认检测器停止循环并保留完整轨迹。

先预测,再操作三类证据

分步1 / 3

1. 模型与结构边界

在“ReAct 循环”中先画出责任、数据或候选空间,再预测“让每轮行动由新观察推进,并以可判定停止条件收束”会在哪个节点改变结果。

ReAct 循环、决策摘要、Action、Observation、Final Answer、环境反馈、循环预算、人工检查点
可交互
ReAct 循环:每一轮只想下一步,不一口气编完整计划Thought → Action → Observation → Thought → ... → Final Answer需要更多信息就继续循环0用户任务订明早会议室1Thought先查空闲时间2Actioncalendar.search3Observation10:00 有空4Thought现在可以预订5Final Answer已帮你订好

第 1 / 6 步 · 0 用户把任务塞进小屋:帮我订明早会议室。

关键不是多一次函数调用,而是每次拿到 Observation 后重新思考下一步。

ReAct 把「想」和「做」交替起来:模型负责 Thought / Action / Final Answer,运行时负责真正执行工具并回灌 Observation。

最小可运行实现

def run(task, runtime, max_turns=8):
    trace = []
    for turn in range(max_turns):
        decision = runtime.decide(task, trace)
        if decision.kind == "final":
            if runtime.success_criteria_met(task, trace):
                return {"status": "done", "answer": decision.answer, "trace": trace}
            return {"status": "blocked", "reason": "premature_final", "trace": trace}
        observation = runtime.execute(decision.action)
        trace.append({"summary": decision.summary, "action": decision.action,
                      "observation": observation})
    return {"status": "blocked", "reason": "turn_budget", "trace": trace}

这段实现只负责暴露“让每轮行动由新观察推进,并以可判定停止条件收束”的最小合同。交付版本还要补齐超时、日志、权限、密钥隔离和可重复评测;缺少以下证据时,代码能运行也不代表本章结论成立:轮次、决策摘要、Action、调用 id、Observation、预算变化、完成判定与人工审批。

练习与答案

练习

问题 1:系统边界。 怎样用最小输入证明“每轮 Action 都能指出所依据的 Observation,最终回答满足成功标准或明确阻塞”?

问题 2:课程坐标。 ReAct 循环、决策摘要、Action、Observation、Final Answer、环境反馈、循环预算、人工检查点如何进入可操作验证?

问题 3:故障恢复。 怎样证明“模型伪造 Observation 或在必要验证前输出 Final Answer”已经修复?

本章回顾

  • “ReAct 循环”的主问题是让每轮行动由新观察推进,并以可判定停止条件收束。
  • 核心不变量是每轮 Action 都能指出所依据的 Observation,最终回答满足成功标准或明确阻塞。
  • 首要反例是模型伪造 Observation 或在必要验证前输出 Final Answer。
  • 最小证据包包含轮次、决策摘要、Action、调用 id、Observation、预算变化、完成判定与人工审批。

名词解释

本章出现的专业名词,用大白话再讲一遍。

ReAct

把任务推理与环境行动交错组织的智能体方法。在“ReAct 循环”中必须能按以下证据重新定位:轮次、决策摘要、Action、调用 id、Observation、预算变化、完成判定与人工审批。

决策摘要

可审计但不要求暴露隐藏思维过程的下一步理由。在“ReAct 循环”中必须能按以下证据重新定位:轮次、决策摘要、Action、调用 id、Observation、预算变化、完成判定与人工审批。

Action

模型提出并由运行时审核的工具行动。在“ReAct 循环”中必须能按以下证据重新定位:轮次、决策摘要、Action、调用 id、Observation、预算变化、完成判定与人工审批。

Observation

工具或环境返回的结构化事实。在“ReAct 循环”中必须能按以下证据重新定位:轮次、决策摘要、Action、调用 id、Observation、预算变化、完成判定与人工审批。

Final Answer

满足完成或阻塞合同后产生的终止输出。在“ReAct 循环”中必须能按以下证据重新定位:轮次、决策摘要、Action、调用 id、Observation、预算变化、完成判定与人工审批。

阅读导航

← 函数调用原理 · 工具设计与安全执行 →

资料与写作方式声明

本章以Building effective agents(站内九单元课程改编)权威目录界定学习范围,并结合正文列出的技术资料独立重写;不宣称复现原书正文,也不沿用原作表述。

原作版权归作者与出版社所有;本站原创教学结构与表述仅供学习交流。

讨论

评论区加载中…