think → act → observe(思考-行动-观察) 核心概念
别名:
三环
循环的三个环节:think 把完整消息历史和工具清单交给模型做决策;act 由 harness 执行模型要的工具(模型只决定、不执行);observe 把工具结果作为 `tool` 消息回填进 messages。思考与行动交替进行,行动的结果成为下一次思考的输入——这也是 ReAct 命名的由来。
它是什么
think → act → observe 是 Agent 循环的三个环节,抽象自手工重复「调用模型 → 判断要不要工具 → 执行 → 回填」的过程:think 把完整消息历史和工具清单交给模型做决策;act 由 harness 执行模型要的工具(模型只决定、不执行);observe 把工具结果作为 tool 消息回填进 messages。思考与行动交替进行,行动的结果成为下一次思考的输入——这正是 ReAct(Reason + Act) 命名的由来。
三环的分工边界
- think:模型是决策者——要不要调工具、调哪个、参数是什么;
- act:harness 是执行者——真正运行工具代码的是我们,安全边界在这里(模型可以提出任何请求,放行与否由代码决定);
- observe:回填是循环不变量——每一轮结束后,历史里 assistant 的每个
tool_calls[i].id都恰好对应一条tool_call_id相同的tool消息。
与 ReAct 文本协议的关系
三环是逻辑结构,与「怎么让模型要工具」的协议无关:原生 tool calling 用结构化的 tool_calls(第 06 章),ReAct 提示式用文本里的 Action: 行(react-prompting)——换协议只动 callLlm 那一层,三环不变。三环的完整实现与代码定位见第 07 章。