LLM Agent 智能体底层原理

1757 字
9 分钟
LLM Agent 智能体底层原理

什么是 Agent#

LLM 本身只是一个”只会说话的模型”:你问它”帮我订个机票”,它只能回你一段话,不能真的去订。

Agent(智能体) = 大模型(大脑)+ 工具(手脚)+ 记忆(经验)+ 规划(策略)。

Agent 架构:大脑 + 工具 + 记忆 + 规划
Agent 架构:大脑 + 工具 + 记忆 + 规划

它让大模型从”回答问题”升级为”完成任务”:自主决定下一步做什么、调用什么工具、根据结果调整计划,直到目标达成。

Agent 的核心四要素#

要素作用举例
大脑(LLM)理解、推理、决策GPT、Llama、Qwen
工具(Tools)与外部世界交互搜索、计算器、代码执行、API
记忆(Memory)保存上下文与经验对话历史、向量库、长期记忆
规划(Planning)拆解任务、制定步骤ReAct、CoT、Plan-and-Execute

一、工具调用(Function Calling / Tool Use)#

原理#

工具调用本质上还是文本生成,只不过模型输出的是结构化调用指令:

  1. 开发者把工具的描述(名称、参数、用途)以 JSON Schema 形式告诉模型(在 System Prompt 里)
  2. 模型判断”当前需要调用某个工具”,输出一个特殊的 JSON:
    {
    "name": "get_weather",
    "arguments": {"city": "北京"}
    }
  3. 应用层解析这个 JSON,执行真实函数,把结果作为一条新的消息回传给模型
  4. 模型基于工具返回结果继续推理,直至给出最终答案

工具描述的 Prompt 长什么样#

可用工具:
- search(query: string): 联网搜索,参数为查询关键词
- calculate(expr: string): 计算数学表达式
- get_weather(city: string): 查询城市天气
当需要调用工具时,只输出 JSON:{"name": "...", "arguments": {...}}

工具描述的质量直接影响调用成功率:描述要准确、参数要精简、说明要覆盖边界情况

工具调用的关键工程点#

  • 并行调用:模型一次可调用多个工具(现代 API 支持 tool_calls 数组)
  • 失败重试:工具执行出错时,把错误信息回传给模型让它纠错
  • 安全校验:工具是真实代码,必须做权限控制(不能把”删除数据库”暴露给任意 Agent)

二、ReAct 范式(推理 + 行动)#

ReAct(Reasoning + Acting)是 Agent 最经典的工作范式,由论文 ReAct: Synergizing Reasoning and Acting in Language Models(2022)提出。

核心思想:让模型交替输出思考(Thought)→ 行动(Action)→ 观察(Observation)

Thought: 用户想知道北京天气,我需要查天气
Action: get_weather("北京")
Observation: 晴,26°C
Thought: 天气查询完成,可以回答用户了
Final Answer: 北京今天晴,气温 26°C

为什么 ReAct 有效#

  • 思考让模型推理当前状态,决定下一步
  • 行动让模型实际调用工具
  • 观察把真实世界的结果反馈给模型,纠正推理偏差

思考-行动-观察循环可以执行多轮,模型可以自我纠错:如果第一次搜索没结果,它会换个关键词再搜。

实现方式#

在 API 时代,ReAct 循环由应用代码驱动:

while not finished:
1. 把当前消息历史发给 LLM
2. LLM 返回:要么是最终答案,要么是工具调用
3. 若是工具调用:执行工具,把结果追加进消息历史
4. 回到 1

模型本身不”运行循环”,循环是应用层的 while 循环,模型只是每轮输出”下一步干什么”。

三、规划(Planning)#

复杂任务需要拆解。常见规划策略:

1. CoT(思维链)#

让模型”一步步思考”再回答,本质是让模型在输出最终答案前先生成中间推理步骤。简单但有效。

2. Plan-and-Execute#

先让模型制定完整计划(步骤列表),再逐条执行,执行完一个步骤后可以修订后续计划:

Plan:
1. 搜索"AI Agent"定义
2. 整理核心概念
3. 生成大纲
4. 撰写文章

好处:计划先行,减少长任务中的”走一步看一步”带来的发散。

3. Tree of Thoughts(思维树)#

每步探索多个候选思路,像搜索树一样评估分支。效果好但开销大,主要用于难题推理。

4. Multi-Agent(多智能体协作)#

多个 Agent 分工协作:规划者拆任务、执行者干活、评审者把关。典型框架如 AutoGen、CrewAI。协作的关键是消息协议——Agent 之间通过结构化消息传递任务与结果。

四、记忆系统(Memory)#

短期记忆 vs 长期记忆#

  • 短期记忆:当前对话的上下文(直接放在 Prompt 里),受上下文窗口限制
  • 长期记忆:跨会话保存的信息(用户偏好、历史结论、知识片段)

长期记忆的实现#

长期记忆的存储载体通常是向量数据库

  1. 把重要信息(总结、事实、用户偏好)Embedding 后存入向量库
  2. 新对话开始时,检索与该用户相关的记忆片段
  3. 把检索到的记忆拼进 Prompt

这就是 RAG 技术在 Agent 记忆上的应用。更进一步的记忆管理:

  • 记忆压缩:对话太长时让模型总结旧内容,替换掉原始消息
  • 记忆遗忘:过时的记忆要能淘汰,否则会污染判断
  • 分层记忆:工作记忆(当前任务)、情景记忆(最近经历)、语义记忆(长期知识)

五、Agent 的完整执行循环#

一个典型的单 Agent 系统运行时:

1. 接收用户目标
2. 读取相关记忆(检索向量库)
3. 循环:
a. LLM 推理 → 决定行动
b. 行动 = 工具调用 / 子任务 / 直接回答
c. 工具结果写回上下文
d. 判断是否完成
4. 输出结果,更新记忆

六、Agent 框架做了什么#

主流框架(LangChain、LangGraph、LlamaIndex、Dify、Coze)本质上提供了:

  • 工具调用的统一抽象与解析
  • ReAct 循环的状态机(LangGraph 的图编排)
  • 记忆/向量库的接入封装
  • 多 Agent 的消息路由
  • Prompt 模板管理

框架解决的是工程复杂度,核心智能仍然来自模型本身。

七、Agent 的局限与风险#

  • 幻觉累积:多轮推理中错误可能被放大
  • 工具误用:模型可能调用错误工具或错误参数
  • 长任务漂移:步骤越多越容易偏离原始目标
  • 安全风险:Agent 能执行真实操作,越权、数据泄露是真实威胁
  • 成本:每轮循环都是模型推理,多轮任务成本线性增长

工程上通过人类确认节点(关键操作需审批)、超时与步数上限输出校验来兜底。

小结#

Agent 的本质公式:

Agent = LLM(推理决策) + Tools(行动能力) + Memory(经验) + Planning(策略)

理解 ReAct 循环、工具调用协议、记忆检索这三件事,你就掌握了 Agent 的底层骨架。再往上,所有的 Agent 框架和产品形态(编程助手、客服机器人、自动化工作流)都是在这个骨架上生长出来的。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
LLM Agent 智能体底层原理
https://nanxiaoxiong.com/posts/agent-principles/
作者
小熊
发布于
2026-08-16
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
小熊
Hello, I'm xiaoxiong.
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
分类
标签
站点统计
文章
4
分类
1
标签
9
总字数
8,596
运行时长
0
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.13.5
文章许可
CC BY-NC-SA 4.0

文章目录