ReAct 循环:Agent 的思考引擎 — Think → Act → Observe

ReAct 循环:Agent 的思考引擎 --- Think → Act → Observe

基于 Lion-1209/AgentStudy 仓库,对应代码见 stage1-fundamentals/task1.1_minimal_react.py


ReAct 是什么?

ReAct = Reasoning(推理)+ Acting(行动)

Agent 最核心的运行模式。不是一步到位地回答,而是反复经历三个阶段的循环:

复制代码
Think(思考) → Act(行动) → Observe(观察) → 回到 Think

ReAct 循环图解

flowchart LR A[用户问题] --> B[Think: 分析问题] B --> C{需要工具吗?} C -->|是| D[Act: 调用工具] D --> E[Observe: 获取结果] E --> B C -->|否| F[Final Answer: 最终回答]

每一轮循环,Agent 都在获取新信息、修正判断。这就是为什么它能处理复杂任务。


三步拆解

阶段 发生什么 类比
Think LLM 分析当前情况,决定下一步 人脑思考
Act 执行一个工具调用或生成回复 动手操作
Observe 获取工具返回的结果,作为下一轮的输入 观察反馈

为什么 ReAct 能 emergent 出智能?

你不需要教 Agent "先查天气再计算温差"。你只需要:

  1. 给它工具(get_weathercalculate
  2. 让它自己决定用哪个、用几次
  3. 它会自己规划步骤

Agent 的"智能"不是被写死的,是从这个循环中涌现出来的。


核心循环的代码骨架

python 复制代码
for step in range(max_iterations):
    # 1. Think: 让 LLM 分析当前情况
    response = llm.chat(messages)

    # 2. 检查是否需要调用工具
    if response.has_tool_call():
        # Act: 执行工具
        result = execute_tool(response.tool_call)
        # Observe: 把结果加入上下文
        messages.append({"role": "tool", "content": result})
    else:
        # 没有工具调用 → 任务完成
        return response.text

注意:整个 Agent 的核心就是一个 for 循环 + LLM 调用。这就是全部。


可观测性:Agent 的"黑匣子"

没有可观测性,你完全不知道 Agent 在干什么。最原始但最有效的方式:

python 复制代码
print(f"[步骤 {step}] LLM 输出: {response.text}")
print(f"[步骤 {step}] 执行工具: {tool_name}({tool_args})")
print(f"[步骤 {step}] 工具返回: {tool_result}")

这些 print 就是 Agent 的 trace。到阶段 5 我们会用 LangSmith/Langfuse 做专业的可观测性。


学习检查清单

  • 能画出 ReAct 循环的三步流程图吗?
  • 能解释为什么 Loop 是 Agent 和 Chatbot 的本质区别吗?
  • 理解"涌现智能"在这个上下文中的含义了吗?

延伸阅读

相关推荐
得物技术3 小时前
从狂野代码到按目标生产:得物推荐 AI Harness 的工程化实践|AICon 演讲整理
人工智能·算法·架构
自珍JAVA5 小时前
Superpowers AI编码秩序
架构
古茗前端团队5 小时前
急招!前端|测试|后端|产品(名额多,速来)
前端·后端·架构
木雷坞7 小时前
我再也不敢随手 `docker compose down -v` 了
架构
没落英雄7 小时前
从零开始搭建一个 AI Agent —— LangChain + TypeScript 实战手记
前端·人工智能·架构
doiito8 小时前
【Agent Harness】Gliding Horse 设计细节 -- 不跟风开发自己的AI Agent
架构·rust·agent
她的男孩1 天前
数据权限为什么不能只靠注解?Forge 的 Mapper 层 SQL 改写源码拆解
java·后端·架构
小爷毛毛_卓寿杰1 天前
我把 397B 的「Agentic 大脑」塞进了 Xinference,一键部署 Nex-N2
人工智能·架构·github
柒和远方1 天前
从一次工程审查看 AI 学习产品的边界兜底:RAG 资料链路一致性实战
前端·后端·架构