深入拆解 Agent 原理:LLM+工具+记忆+规划

1. 深入拆解 Agent 原理:LLM+ 工具 + 记忆 + 规划

我去阅读了 Agent 相关的论文,又试用了现有的 Agent 产品,有众所周知的独立 Agent:如 manus、loveart,也有嵌入现有 App 的 Agent:如夸克搜索 Agent、飞猪旅行 Agent、淘宝 AI 万能搜等。我发现独立 Agent 一般都 " 高调登场 “,尽其所能向全世界宣布 " 我来了!” 而大厂现有产品中的 Agent 功能上线普遍比较 " 低调 ",一定会经过长时间的内测、灰度,才会小范围上线,例如 " 淘宝 AI 万能搜 " 至少是在半年前就听说在做,至今才上线。虽然 " 淘宝 AI 万能搜 " 没有特别惊艳,但整体的使用体验,在各类导购型 Agent 中,算是数一数二的了,下图有入口,大家有兴趣可体验。图片在淘宝点击搜索框,再退出,再进入就会出现了。图片接下来,我会拆解一下 Agent 的组成结构:包括它是怎么规划任务的、怎么调用工具执行、又是如何记住上下文和偏好的。这不仅是理解 Agent 的方式,也是一种全新的产品设计范式。

1.1. Agent 的核心组成

首先,我们可以把 Agent 想成是一个终于 长出了 " 手脚 " 和 " 记忆 " 的大模型,是一个能完成复杂任务、能打配合、还能持续优化执行路径的**" 数字助理 "** 。它的基本组成有 4 个关键部件:大模型( LLM )、工具使用(Tools)、记忆(Memory)、规划能力(Plan)。图片图片

1.2. LLM:Agent 的 " 大脑 "

在聊 Agent 是怎么动手干活之前,我们得先搞清楚一个问题:Agent 到底是怎么 " 理解人话 " 的? 答案就是——它的 " 大脑 " 是 LLM(大语言模型) 。

LLM 是什么?LLM,全称是 Large Language Model(大语言模型),简单来说,它是一个在海量文本上训练出来的 " 预测机器 "——你输入一句话,它预测你可能想听什么,输出相应的内容。

那它是怎么预测的呢? 本质上,LLM 是基于上下文预测下一个词 的概率模型。它不会 " 理解 " 你说了什么(它没有真正的意识),但它非常擅长从大量语言数据中学习出哪些词是 " 最可能 " 出现在当前语境后面的。

举个简单的例子:假设你对 LLM 说了一句话开头:" 我今天早上喝了一杯……" 它会从它学过的海量数据中判断,这个位置最有可能出现的词是什么?

"咖啡" → 可能性 42%
"奶茶" → 可能性 27%
"白开水" → 可能性 12%
"酒" → 可能性 3%
"电视" → 可能性 0.01%(不合常理)

于是,模型就选了概率最高的词 —— " 咖啡 “。下一步,它再接着预测下一个词,比如:” 我今天早上喝了一杯咖啡,然后……"

"去" → 32%
"就" → 25%
"感觉" → 20%
"跑" → 10%

就这样一个词一个词地接下去,每一步都在预测 " 最有可能 " 出现的词。这也解释了 LLM 的一个典型特性:它不是 " 在思考 ",而是根据概率生成最合理的内容 。

那 LLM 和 Agent 有什么不同?虽然 LLM 听起来就已经很厉害,但它其实像是一个**天赋极高但不具备行动能力的智者(类似于《权力的游戏》中布兰·史塔克) ,**你让它分析,它能讲得头头是道;但让它去干活,比如查实时票价、登录网站、下订单……它就祭了。

一句话总结它们的区别:图片

1.3. 为什么我们需要 Agent?

在真实世界中,我们做的事情往往是「多步骤 + 跨工具 + 有明确目标」的,比如:

想写一篇竞品分析报告 → 需要查询多个网站 → 提炼关键信息 → 写文章/写 PPT
想订一张机票 → 需要查航班 → 比价 → 下单 → 记录日程

如果 AI 只会告诉你怎么做,而不能替你去做,等于你还是得一个个页面点,一个个 app 切换,根本没有省下多少精力。

而 Agent 就是为了实现 " 从知道怎么做 → 真的帮你做 " 而诞生的。它以 LLM 为 " 核心 ",再配上工具调用、任务规划、上下文记忆能力 ,最终进化成的一个可以自主完成任务的数字助理。图片

1.4. Tools:Agent 的 " 手脚 "

如果说 LLM 是 Agent 的 " 大脑 ",那 Tools 就是它的 " 手脚 "——真正能下场干活的部分。

1.4.1. 1.4.1- 为什么需要工具?

LLM 虽然能回答很多问题,但它本质上是个封闭系统 。它的知识截止于训练时间,不能联网、不能读网页、不能主动获取最新的数据。你问它 " 明天北京天气怎么样 ",它只能说 " 我无法访问实时信息 "。

但换个方式:让它调用一个天气 API,它就能给你答得头头是道。工具是补上 LLM 无法 " 感知现实世界 " 的那块短板 ,让它不止能说,还能查、能干、能动。

1.4.2. 1.4.2- 常见的 Agent 工具类型

图片

1.4.3. 1.4.3- 典型工具调用案例

GPT + Bing 浏览器插件:用户问 " 最新的 iPhone15 什么时候发布 ",模型就能自动调用 Bing 搜索 API 来实时抓网页、读内容、生成摘要,信息比默认 LLM 更新、更准确。

携程问道:当用户说 " 帮我找一张下周去广州的便宜机票 ",它会调用航旅票务系统获取实时航班信息 ->查询用户评价、机型舒适度 ->返回结构化选项卡(含票价、时间、直飞/中转等标签)。图片

1.5. Memory:Agent 的 " 记忆 "

当用户告诉 AI 要去成都玩 3 天、预算 2000、喜欢住民宿、不吃辣,它会立马埋头开始规划,但下一轮用户补充一句 " 酒店预算可以放宽点 “,它若回复:” 您要订哪里的酒店?" 用户会不会很崩溃?这正是没有 " 记忆能力 " 的 Agent 经常暴露出的尴尬瞬间。

因此真正能完成完整任务的 Agent,往往都拥有一定程度的记忆能力 ,而这份 " 记性 ",是它能否从 " 工具 " 升级为 " 助理 " 的关键。

1.5.1. 1.5.1- 短期记忆

定义:短期记忆主要通过上下文学习实现,上下文学习指的是利用 Prompt 中包含的相关信息来改善生成结果的能力。

局限性:上下文窗口的长度限制了 LLM 可以有效利用的短期记忆容量。当输入 Prompt 过长时,LLM 可能会出现 " 中间丢失 " 的现象,即模型难以有效地利用 Prompt 中间部分的信息。

案例:用户说 " 我想订去成都的票 “,” 下午也可以 "→ LLM 需要通过短期记忆知道 " 下午 " 指的是 " 飞成都的航班 "。

1.5.2. 1.5.2- 长期记忆

定义:长期记忆使 AI Agent 能够跨多次交互存储和检索信息,提供持续性和个性化体验。虽然无法在每次对话中将用户的所有历史会话都纳入 Prompt,但可以通过特定的存储机制保留关键信息,并在需要时检索以补充上下文。

存储内容:关键事实,如用户的职业、兴趣或重要事件;用户偏好,如喜欢简洁回答或偏好某种语言风格;历史决策,如用户过去的选项选择或行为模式。

案例:讯飞晓医会自动记录用户的年龄、性别、慢性病史,用户下一次打开时,只需说 " 我最近又咳嗽了 ",它就能结合既往记录推荐就诊科室或用药建议。

1.5.3. 1.5.3- 记忆反思

定义:指 Agent 分析其存储的记忆,从中提取经验教训或模式,以优化未来的行为和决策,这一过程类似于人类通过回顾过去来改进当下的能力。

Agent 的 " 反思 " 方式:从交互中学习,通过分析历史记录,识别重复出现的模式或错误,并调整策略;个性化响应,利用长期记忆中的用户偏好,Agent 能为每个用户量身定制回答;优化决策,通过反思历史决策,Agent 能在相似场景下做出更优选择;知识积累,随着时间推移,Agent 构建并完善知识库,提供更准确、更有深度的回答。

通过记忆反思,Agent 从静态的响应工具转变为动态的学习者,这种能力不仅提升了回答的质量和效率,还使 Agent 更具适应性,能够应对复杂的用户需求和变化的场景。图片

1.6. Plan:Agent 的 " 规划能力 "

真正能解决任务的 Agent,一定拥有 Plan,也就是 " 规划 " 的能力。这份能力,才是它从 " 语言模型 " 迈向 " 任务执行器 " 的核心跨越。

1.6.1. 1.6.1- 什么是 Plan?

Plan,说白了就是让 Agent 具备拆任务、排顺序、定策略、协调执行 的能力。不是 " 你问我答 ",而是 " 你交代任务,我安排流程 "。这件事的难点不在 " 调用工具 ",而在于:在合适的时机,用对的工具,干对的事。

1.6.2. 1.6.2- Plan 的三大关键能力

1.6.2.1. 理解任务目标

Agent 不只是听懂语义,还要明确用户到底要解决什么。 用户说 " 我想去成都玩三天 ",它要理解你不是 " 想了解成都 ",而是 " 希望获得一份可落地的三日行程安排 "。

1.6.2.2. 拆分子任务

一个目标往往需要多个步骤配合完成:订机票 ->找酒店 ->安排行程(分三天)->推荐美食和交通。每一步都依赖上一步的结果。

1.6.2.3. 排定执行顺序并动态调整

Agent 需要知道什么任务必须先做(如订机票定时间),什么可以后做(如安排餐馆),还要根据用户反馈随时调整计划。比如:用户突然说 " 我不想住民宿了 ",它就要重新筛选酒店、更新交通方案,而不是 " 重来一次 "。

1.6.3. 1.6.3- 现实中 Agent 是如何规划的?

当前主流的 Plan 实现方式有四种:

1.6.3.1. 按提示词进行规划

靠设计 prompt 引导大模型 " 自己 " 拆解任务,好处是轻量、快上手,缺点是稳定性差、难跟踪,例如让 ChatGPT 写一份面试准备清单,它靠 prompt 自动列出流程,但中途改需求就崩。

1.6.3.2. 按规则进行规划

通过 if-else 或流程图硬编码规则,适合流程固定、变化少的场景,例如企业对话机器人。

1.6.3.3. 用代码规划进行规划

用代码构建任务图或执行链,每一步都显式定义,逻辑可控、可追踪,例如 LangChain 的 AgentExecutor、AutoGPT 的多步指令系统。

1.6.3.4. LLM + Planner 模块

LLM 负责意图理解和任务拆解,Planner 模块协调任务流、调用工具、管理状态,这是当前最灵活、最强大的方案,例如 Manus 就是用这种方式。

以飞猪 Agent 为例:用户说:" 我想从北京去成都玩 3 天。"

LLM 理解意图:出行需求 + 时间 + 地点
Planner 拆解任务:查航班 → 筛酒店 → 生成行程 → 输出总结卡片
Tool 调用:航旅 API、价格比价、地图服务、用户偏好筛选
Memory 记忆:用户预算、是否携带老人、对餐饮的偏好
Plan 全程串联:每一步都按依赖顺序执行,中间结果还能被动态更新

最后用户收到的是:已查航班 ->推荐酒店卡片 ->导出日程 ->推荐用户偏好的餐馆图片图片

1.7. 最后

我曾经以为 AI 只是个更聪明的工具,现在慢慢发现,它已经逐渐变成了 " 能干活的搭子 "。但也别高估现状——现在市面上大多数 Agent,不管名字起得多响,很多其实还停留在 " 半搭子 " 状态:

  • 有的会拆任务,但不会调合适的工具;
  • 有的记住了用户过多偏好,导致用户对话始终在自己的 " 记忆 " 中打圈圈;
  • 有的做完了第一步,却走错了下一步,想修改却在错误的道路越走越远。

所以,Agent 的真正价值,是它能否像一个 " 产品经理 + 研发 " ——不仅能准确理解用户的需求,还能将大目标拆解成可执行的小任务,并能在复杂路径中灵活调整,最终把事办成。

我心中最理想的 Agent,就是**《终结者 2:审判日》中的 T-1000 ,**它不是一个被动执行命令的机器人,而是一个具备高度自主性和适应能力的终结者 Agent。图片

1.7.1. 1.7.1- 规划与执行

它的核心任务是追杀约翰·康纳。它能根据环境变化(例如,约翰逃跑的方式、交通工具的选择),实时调整自己的追捕策略,而不是简单地遵循固定路径。图片

图:T1000 通过液体形态进入直升机,去追杀康纳

1.7.2. 1.7.2- 工具调用

它能将自己的身体形态转变为各种工具(如刀、钩),甚至伪装成人类,这就像 Agent 能灵活调用不同的外部工具来完成任务。

1.7.3. 1.7.3- 持久记忆

它能记住目标人物的特征、声音,并利用这些记忆进行伪装和诱捕,这完美体现了 Agent 的长期记忆能力。图片

图:T1000 伪装成康纳的养母,并用剑杀死了康纳的养父