ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

developer-roadmap 中的 ReAct(Reason and Act)提示框架:Thought–Action–Observation 循环深度解析

developer-roadmap 中的 ReAct(Reason and Act)提示框架:Thought–Action–Observation 循环深度解析 文档教程知识库【免费下载链接】developer-roadmapInteractive roadmaps, guides and other educational content to help developers grow in their careers.项目地址https://gitcode.com/GitHub_Trending/de/developer-roadmap点击查看免费下载ReActReason and Act推理与行动提示框架让 LLM 通过推理步骤 外部工具交互的组合来解决复杂任务先分析问题再调用外部 API 执行动作然后审视返回结果并继续推理如此迭代直至问题解决。本文以 developer-roadmap 仓库中 ai-engineer 路线图 与 ai-agents 路线图 的相关文档为骨架结合仓库内 Agent 循环、观察与反思、工具调用等关联主题系统讲解 ReAct 的原理、Prompt 写法、与 CoT 等模式的对比以及研究检索、多步问题、实时数据类任务的落地实践。读完本文你将掌握 ReAct 的完整闭环流程并能在自己的 Agent 中亲手实现一个可运行的 Thought–Action–Observation 循环。什么是 ReAct让模型边想边做ReAct 的核心思想是把推理Reasoning与行动Acting交织在一起而不是让模型一次性给出完整答案。在 ReAct 主题文档 中它被定义为一种通过将推理与外部工具交互相结合使 LLM 能够解决复杂任务的提示方法遵循一个thought-action-observation 循环分析问题Reason模型先用自然语言描述当前的理解、计划与下一步意图执行动作Act模型通过外部 API、函数调用或工具完成具体操作审视结果Observation模型读取工具返回的真实结果迭代基于观察结果继续推理进入下一轮循环直到问题被解决。这种想一步、做一步、看一步的紧耦合循环在 ai-agents 路线图的 ReAct 文档 中被进一步表述为一种agent 架构agent architecture模型先思考该做什么执行动作观察结果再在下一个动作之前重新推理。正是这种思考与动作之间紧密的回路让 Agent 能够根据真实反馈实时调整计划而不是一开始就承诺一个完整计划然后一路执行到底。Thought–Action–Observation三段式的循环骨架ReAct 的循环可以用一个标准的三段式 Prompt 骨架来表达每一轮迭代都包含三个部分Thought: 我当前对任务的理解是什么下一步该做什么 Action: 调用哪个工具/API传入什么参数 Observation: 工具返回了什么结果这个结果意味着什么把这个骨架放入循环中就得到了 Agent 的完整工作流循环开始 ├─ Thought结合历史观察推理当前状态规划下一步 ├─ Action调用工具搜索、查库、执行代码、访问 API ├─ Observation读取工具输出将其作为新的上下文 └─ 若问题未解决 → 回到 Thought继续循环 循环结束 → 输出最终答案这与仓库中 Agent Loop 文档 描述的observe–decide–act通用 Agent 循环一脉相承Agent 先收集新数据更新内部状态并决策然后执行动作调用 API、写文件、发消息最后检查结果并存储新信息循环再次以最新数据开始。ReAct 正是这种通用循环中推理驱动的一种典型实现——用显式的 Thought 文本驱动每次决策。观察与反思循环中的思考停顿在 ReAct 循环里Observation 阶段并非被动等待而是包含主动的观察与反思。仓库中的 Observation Reflection 文档 指出Agent 先看看周围的世界、收集新数据、发现什么发生了变化然后停下来问自己这些新信息对我的目标意味着什么——在这一短暂检查中Agent 更新记忆、发现错误、并对什么最重要进行排序从而指导下一轮更明智的计划与行动。如果缺少认真观察与反思Agent 就会依赖陈旧或错误的事实很快偏离航线。这正是 ReAct 在观察阶段要做的事把工具返回的原始数据转化为可用于下一轮推理的有意义上下文。ReAct 与 Chain-of-Thought、Plan-and-Execute 的对比理解 ReAct 的价值最好的方式是把它和相近的模式放在一起比较。与 CoT思维链的互补Chain-of-ThoughtCoT让模型把推理过程写出来——在给出最终答案前先写下每一步的简短笔记、列出事实、命名子任务或做小段计算从而保持条理、减少出错也让读者可以检查逻辑见仓库 CoT 文档。CoT 只推理、不行动它增强的是想清楚但无法获取模型训练数据之外的新信息ReAct CoT 行动在思维链的每个关键节点插入真实工具调用用 Observation 替换纯猜测从而获得外部世界的最新反馈。两者不是互斥的。实际上 ReAct 的 Thought 阶段就可以看作 CoT 的运用——先写出推理再据此决定动作。CoT 中的把书面步骤反馈给 Agent 以规划、反思或自我修正的能力在 ReAct 中被扩展为把工具观察反馈给 Agent 以调整下一步行动。与 Plan-and-Execute先规划后执行的本质区别ReAct 文档特别强调一点ReAct不是先制定完整计划再执行即 Plan-and-Execute 模式而是基于真实反馈调整计划而不是一开始就承诺一个完整计划。两者的取舍在于Plan-and-Execute一次性生成全量计划然后按计划顺序执行。适合步骤相对确定、外部世界变化不大的任务但一旦某个步骤的实际结果与预期不符整个计划可能失效ReAct每执行一步就重新推理一次计划是动态生长的。每一步都基于上一步的真实观察因此对不确定性更强的任务更稳健代价是更多的 LLM 调用轮次与 token 消耗。从仓库多篇文档的表述ai-engineer 版 ReAct 与 ai-agents 版 ReAct可以看出根据真实反馈实时调整正是 ReAct 被广泛用于构建工具型 Agent 的核心原因它也因此成为构建使用工具的 Agent 时最常用的模式之一。典型应用场景ReAct 的价值主要体现在三类任务上这与原文档中适用于研究、多步问题、需要当前数据的任务的定位一致研究类任务Research需要浏览多个信息源、交叉验证、逐步收敛结论。例如调研某技术方案的优缺点并给出选型建议Agent 需要多次检索、比较、追问细节多步问题Multi-step problems答案无法一步得出必须拆解为多个中间步骤且后一步依赖前一步的结果。例如先查询用户订单再根据订单金额计算折扣最后生成发票需要实时/当前数据的任务Tasks requiring current data模型训练数据存在时效性凡是涉及最新新闻、实时价格、天气、股票行情等场景都必须通过工具获取当前数据这正是 ReAct 的 Thought–Action–Observation 循环擅长处理的场景。在仓库路线图中的位置与关联在 developer-roadmap 中ReAct 不是孤立的知识点而是横跨两条路线的核心概念ai-engineer 路线图将 ReAct 作为 AI 工程师提示工程能力的一部分与 ReAct Prompting 文档 互为补充——后者强调引导模型逐步思考问题、再基于推理采取具体行动调用 API、检索信息的提示技巧层面ai-agents 路线图将 ReAct 定位为 Agent 架构与 Agent Loop、Observation Reflection、Self-Critique Agents 等文档共同构成 Agent 设计与实现的完整知识链。此外ReAct 的Action环节依赖工具能力仓库中 Tools Function Calling in AI Agents 与 Function Calling 文档指出函数调用让 LLM 能识别何时应调用特定函数并输出所需参数从而执行超出训练数据的动作如获取实时信息、自动化任务。ReAct 正是这种工具能力与推理能力结合的典型组织方式。动手实现一个 ReAct 循环下面是一个最小可运行的 ReAct 循环伪代码展示了 Thought–Action–Observation 如何被编码为 Agent 主循环# ReAct 循环的最小实现示意伪代码 tools {search: web_search, calc: calculator, fetch: http_get} prompt 你是具备工具调用能力的助手。请严格按以下格式循环 Thought: 你的推理... Action: 工具名(参数) Observation: 工具返回结果 ...可重复多轮... 当问题解决时输出Answer: 最终答案 任务{task} 可用工具{tool_names} messages [{role: user, content: prompt}] max_steps 10 for step in range(max_steps): response llm_complete(messages) # 生成 Thought / Action messages.append({role: assistant, content: response}) if Answer: in response: break # 问题解决退出循环 action_text parse_action(response) # 解析出 Action 行 result call_tool(tools, action_text) # 真实执行工具 observation fObservation: {result} messages.append({role: user, content: observation}) # 观察回填上下文实现要点解析动作让模型按约定格式输出Action: 工具名(参数)程序侧解析并路由到真实函数避免模型直接执行不可信代码观察回填工具返回结果必须以 Observation 形式回填到消息上下文供下一轮 Thought 使用——这正是基于真实反馈调整计划的机制来源终止条件设置最大迭代轮数如 10 步与明确的结束标记如Answer:防止循环失控工具白名单仅暴露任务必需的工具降低幻觉与误用风险可参考仓库中 Tool Sandboxing Permissioning 相关主题。使用建议与注意事项选择 ReAct 的时机任务需要多步推理且外部反馈会改变后续方向时优先选用若步骤完全确定、无需外部数据简单的 CoT 或一次性 Prompt 成本更低Token 与成本权衡每轮循环都是一次完整 LLM 调用Thought 与 Observation 都会累积上下文长任务需关注上下文窗口与调用成本可结合仓库中 Context Windows 与 Token-based Pricing 主题评估观察质量的提升让工具返回结构化结果JSON、明确的错误码比自然语言描述更利于后续推理与反思机制结合在 Observation 之后、下一轮 Thought 之前加入自检与反思见 Self-Critique Agents可显著降低错误累积。总结ReActReason and Act是连接语言模型推理与外部世界行动的桥梁它以 Thought–Action–Observation 循环为核心让模型每一步都基于真实反馈动态调整计划因而特别适合研究检索、多步问题和实时数据类任务。在 developer-roadmap 中它既是 ai-engineer 路线图 的提示工程核心技术也是 ai-agents 路线图 中最广泛使用的 Agent 架构模式之一。掌握 ReAct就等于掌握了构建会思考、会行动、会修正的智能体最基本的引擎。赞分享文档教程知识库【免费下载链接】developer-roadmapInteractive roadmaps, guides and other educational content to help developers grow in their careers.项目地址https://gitcode.com/GitHub_Trending/de/developer-roadmap点击查看免费下载相关推荐PocketFlow TAO 模式实战用 Thought-Action-Observation 循环构建自主推理 AgentPocketFlow TAO 模式实战用 Thought Action Observation 循环构建自主推理 Agent PocketFlow TAOT人工智能大模型AI Agent工作流自动化RAGReAct 模式深度解析从 Reason Act 循环到工具型 AI Agent 的实战指南ReAct 模式深度解析从 Reason Act 循环到工具型 AI Agent 的实战指南 本篇文章对应 developer roadmap 仓库中 A文档教程知识库smolagents 中的 ReAct 多步 Agent 原理与实现从 Reason-Act 循环到 CodeAgent 与 ToolCallingAgentsmolagents 中的 ReAct 多步 Agent 原理与实现从 Reason Act 循环到 CodeAgent 与 ToolCallingAgent人工智能AI AgentAgent 框架工具调用代码智能体MCP ClientsAgent 沙箱创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表