Agent 学习笔记 01:从工具调用到 ReAct 循环

1、Agent由什么组成

之前的文章我们说 Agent = LLM + Tools + 记忆 + 规划 + 执行,但是这个概念还能进一步提炼:Agent = LLM + 上下文 + 工具,接下来我们一起了解一下。

1.1 LLM:Agent的大脑

LLM是Agent的决策核心,首先 用户发送来一个请求,LLM就需要解析真实的意图(因为用户的表述可能比较模糊或复杂)拆解成可执行的步骤;其次在执行过程还得持续进行判断下一步该做啥、要调用工具吗、用户要求是否已经完成等(这种能力来源于预训练阶段所积累的知识,这也是WorkFlow以及自主Agent的依赖基础)。

LLM的另一个独特的能力就是内部思考 ------实际行动之前Agent可以先进行规划和推演(deepseek或gpt等执行前的Thinking环节,此时虽然不影响外部环境但是能提高后续的行动质量,依旧得益于预训练阶段<-🐮)

1.2 上下文:Agent的眼睛

上下文是Agent在每个决策点能看到的全部信息,每次调用LLM时的上下文由下面组成:

(1)系统提示词

由开发者编写,定义Agent的身份、权限以及行为。通过提示工程可以设计系统提示词进而塑造Agent的工作方式,系统提示词还会包含跨会话保存的用户记忆------偏好、历史行为、背景设定等

例如Chat GPT的个性化设计:

(2)工具定义

声明Agent可以使用的工具名称、功能描述和参数类型。系统提示词和工具定义一起构成对话中保持不变的静态前缀。(这也能理解,因为进不进行对话他两个都是静态存在的,属于基础模式)

(3)用户消息

来自用户输入,还可能包含RAG动态检索引入的外部知识------覆盖训练数据截止后的信息(知识冻结 )或私有领域知识(幻觉)。

(4)模型回复

模型之前生成的回复,最多包含三个部分------内部思考过程、文本内容(对用户的回复)和工具调用请求(Agent采取行动的方式)

(5)工具执行结果

Agent调用工具后返回的结果,这是下一步思考的直接依据。

1.3 工具:Agent的手脚

没有工具的接入,Agent只能纸上谈兵;有了工具他才能真正的读取和改变世界。之前工具的设计质量和各大厂商标准参差不齐导致Agent性能一般,MCP标准的推广正在使得工具接入更加规范。

(1)感知类工具

承载着从环境到Agent的观察:搜索引擎提供实时数据,文件系统读取文件,数据库对接企业核心数据,API接入外部服务等。

(2)执行类工具

承载从Agent到环境的行动:代码执行、文件操作等。

(3)协作类工具

承载Agent之间的分工合作(多Agent系统):协调多Agent系统、委托子Agent完成专项任务。

(4)事件触发类工具

类似于hook的作用机理,通过特定的事件激活Agent,让她开始后续的思考和行动。

(5)用户沟通类工具

承载与用户信息的传递与交互:文字消息、语音通话、邮件等将Agent的执行进展传达给用户。

2、模型怎么调用工具

工具的调用一般分为四部:①上下文中告诉模型哪些工具可用以及他们的名称、参数和用途;②模型根据实际需求选择要不要调用工具、要调用哪一个、传递什么参数等;③工具执行完后将本次的结果写入上下文中;④模型根据新的上下文继续决定下一步行动。

以天气查询场景为例看一下四个流程:

3、ReAct循环如何运行

ReAct循环(思考-行动-观察)就是将LLM、上下文和工具串联起来的核心机制

这里要区分一个相似的概念:COT思维链

CoT 让模型在给出答案前,先生成中间推理步骤。但整个过程完全在模型内部完成,信息源仅限于训练时学到的参数知识和当前上下文。

ReAct 把思考和与外部环境交互结合起来 ,形成 Thought → Action → Observation 的循环。模型先思考需要什么信息,然后调用工具(如搜索、API),拿到真实返回结果后,再基于这个新信息继续推理。关键点在于:Observation 是真实执行的结果,并且会反馈到下一轮决策中,从而纠正或调整方向。

如果 Observation 是模型自己编造的,属于伪 ReAct,本质仍是 CoT。

4、新范式:模型即为Agent

这代表了AI Agent的发展新方向,先进的模型通过后训练尤其是强化学习将工具调用能力内化为原生的能力:何时调用工具、调哪个、传什么参数,都由模型自己决定,无需人工 编排。这也就要求构建更强大的Harness进行管理。

两种范式通常都需要外部提供工具定义。旧范式更依赖提示词和外部编排驱动工具调用,新范式则通过模型训练内化工具使用策略,使模型具备更强的自主决策与多步调用能力。

总结:

传统工具调用方式中,模型通常根据提示词或 Function Calling 机制,从开发者提供的工具列表中选择合适的工具,并生成相应的调用参数。随后,外部程序负责执行工具,并将执行结果回填给模型,由模型根据结果进行下一步判断。

而在新范式中,模型经过专门的工具使用训练和强化学习,具备更强的自主决策能力,能够根据任务需求选择合适的工具、生成调用参数,并规划多步工具调用。当然,模型依然需要基于已有的工具定义(如 Function Calling Schema 或通过 MCP 动态发现的工具)进行选择,工具仍由外部程序执行,执行结果也依旧需要返回给模型,以便继续推理和决策。

两者最核心的区别不在于工具调用的基本流程,而在于模型自身工具使用能力的强弱。 传统 ReAct 方式更依赖提示词设计和外部编排,早期 Function Calling 虽然已经具备原生结构化调用能力,但在复杂任务的多步规划和纠错方面仍可能存在局限。而新范式通过大规模工具使用训练和强化学习,将更成熟的工具选择、多步规划和反馈纠错能力内化为模型自身的能力,从而通常能够实现更加自主、准确和高效的工具调用。

相关推荐
海绵宝宝转agent1 小时前
LeetCode100个人题解+java面经总结
java·开发语言·笔记·学习·算法
hpoenixf1 小时前
为什么 AI Agent 也需要《思考,快与慢》?
agent
hpoenixf1 小时前
想聊就聊,没收 AI 对话框的中止按钮!一天让你的 Agent 支持异步后台深度研究
agent
hpoenixf3 小时前
做了一整晚,周报还停在外围:我们为什么把一个大 Spec 拆成三期?
agent
hpoenixf4 小时前
AI Coding 最贵的不是写代码,而是决定什么值得验证
agent
七牛开发者8 小时前
从 GLM 到 GPT,HarnessPro 如何用 RSI 降低 Agent 成本
人工智能·gpt·agent·harness·rsi
hpoenixf10 小时前
局部改善不等于整体进步:怎样判断 Agent 真的变好了?
agent
zhangrelay10 小时前
新版|-|单片机原理与接口技术-2026持续改进优化-从MEGA2560-ESP32与Wokwi到ROS2-Lyrical与具身智能栈
笔记·单片机·嵌入式硬件·学习
Jimmy11 小时前
深夜突袭:我们的午夜战场
笔记·产品·电子书