Agent 思维框架:规划-执行-反思与工具调用原理

Agent 不是'更聪明的聊天',而是一套'想-做-查-改'的循环。拆解规划-执行-反思框架和工具调用的本质。

#Agent#工具调用#ReAct#工作流更新于 2026-08-12
📑 本页目录

大模型默认只会“一次问答”。Agent(智能体)的核心,是让它能循环地行动:提出问题 → 拆解任务 → 调用工具 → 看结果 → 修正 → 直到完成。

本质:从“答”到“做”的跃迁

聊天模型:用户 → 模型 → 答案(一次性) Agent:用户 → 模型 → 行动 → 观察结果 → 再思考 → 再行动 → 答案

这个“想-做-查-改”的循环,就是 Agent 和聊天的分水岭。

规划-执行-反思(ReAct 思想)

经典的 ReAct 框架把思考过程拆成三步,循环进行:

  1. Thought(规划):我现在要做什么?当前状态是什么?
  2. Action(执行):调用某个工具去执行(搜索、查库、跑代码……)
  3. Observation(反思):看工具返回的结果,判断是否达成,再决定下一步
Thought: 用户要查北京今天天气
Action: search("北京 天气")
Observation: [{"天气":"晴","温度":"31℃"}]
Thought: 拿到天气了,组织回答
Answer: 北京今天晴,31℃……

这就是 ReAct(Reasoning + Acting,推理 + 行动)。现在的 Agent 框架几乎都基于这个循环。

工具调用(Function Calling)原理

Agent 为什么能“用工具”?关键机制是工具调用

  1. 系统把“可用工具列表”(名称 + 描述 + 参数 schema)写进 Prompt
  2. 模型不直接执行工具,而是输出一个结构化的“调用请求”(JSON,指明调哪个函数、传什么参数)
  3. 外部代码真正去执行这个函数,拿到结果
  4. 结果回填给模型,模型继续推理
模型的输出(不是最终答案,而是):
{"function": "get_weather", "arguments": {"city": "北京"}}

关键点:模型只负责“决定调什么”,不负责“真正执行”。执行权在外部环境手里——这保证了安全性和可控性。

从单一 Agent 到多 Agent

复杂任务拆给多个分工的 Agent 协作:

模式 说明
单 Agent + 工具 一个大脑,调多个工具(最常见)
多 Agent 协作 规划者/执行者/审查者分工(CrewAI、MetaGPT)
人机协同 Agent 做重活,人在关键节点确认

一句话总结

Agent = 让模型能“循环地想、行动、看结果”(ReAct)+ 能安全地调外部工具(Function Calling)。它不是更聪明的聊天,而是多了一双“手”和一套“检查表”。

再往上,是工作流(Workflow)——把多个 Agent/工具按固定流程编排,实现自动化。这就是 Agent 工具生态(LangChain、Dify、Coze 等)要解决的事。