云计算百科
云计算领域专业知识百科平台

《Agent开发工程师成长指南》- 第3章 第8节:Agent为什么需要Memory?——没有记忆的AI,为什么很难真正完成长期任务?

第一卷:大模型 基础篇

第3章 模型能力认知

第8节:Agent为什么需要Memory?——没有记忆的AI,为什么很难真正完成长期任务?

《Agent开发工程师成长指南》系列教程


引言

前面我们已经学习了:

LLM
↓
Reasoning
↓
Planning
↓
Tool Calling
↓
Observation
↓
Agent Loop

现在,一个新的问题出现了。

假设你正在使用一个企业AI助手。

第一天,你告诉它:

我们公司的核心产品是 Apollo MES。

第二天,你继续问:

Apollo最近的客户投诉主要集中在哪些问题?

如果Agent回答:

请问Apollo是什么?

你会发现一个非常明显的问题:

这个AI虽然能够推理、规划、调用工具,但它似乎没有“记忆”。

实际上,这正是很多Agent系统从Demo走向真实应用时必须解决的问题。

因为:

LLM
≠
天然拥有长期记忆

Context
≠
真正的Memory

本节我们就来深入理解:

Agent为什么需要Memory?
Memory和Context有什么区别?
Short-Term Memory和Long-Term Memory是什么?
Agent如何记住用户?
企业级Agent又该如何构建Memory系统?


一、核心概念:Memory到底是什么?

很多初学者会认为:

把之前的聊天记录全部放回Prompt,不就是Memory吗?

这个理解并不完全正确。

先看一个简单流程:

用户第一次提问

“我们公司的项目名称叫Apollo”
↓
LLM生成回答

如果下一次用户继续说:

“帮我分析Apollo最近的订单”

系统想让模型理解Apollo,就必须把之前的信息重新提供给模型:

历史信息
+
当前问题
↓
Context
↓
LLM

因此,LLM本身并不会自动永久保存:

Apollo
=
某个企业项目

真正的情况是:

系统在下一次调用模型时,又把相关信息重新放进了Context。

所以更准确地说:

Memory
=
信息存储
+
信息管理
+
Memory Retrieval
+
Context Construction

Memory不是简单的:

保存所有历史聊天记录

而应该是:

Information
↓
Store
↓
Organize
↓
Retrieve
↓
Select Relevant Memory
↓
Context
↓
LLM / Agent


二、Context不是Memory

这是Agent开发中非常重要的一个认知。

我们可以简单理解:

ContextMemory
当前模型可见的信息 Agent长期管理的信息
生命周期较短 可以长期保存
直接进入LLM 需要检索后决定是否进入LLM
受到Context Window限制 可以远大于Context Window
主要用于当前推理 用于跨任务、跨时间的信息复用

例如:

Context:

当前用户问题
+
System Prompt
+
最近聊天记录
+
RAG检索结果
+
Tool Result

而Memory可能是:

用户信息
+
历史任务
+
过去经验
+
业务规则
+
长期偏好
+
重要事件

因此可以理解为:

Memory
↓
Memory Retrieval
↓
Relevant Memory
↓
Context
↓
LLM

也就是说:

Memory通常不是直接等于Context,而是Context的重要来源之一。


三、为什么Agent不能把所有历史记录都塞进Context?

最简单的方案似乎是:

所有聊天记录
+
所有任务历史
+
所有Tool Result
↓
全部放进Prompt

但是很快就会出现问题。


问题一:Context越来越长

例如:

Day 1
1000 Tokens

Day 10
10000 Tokens

Day 100
100000 Tokens

最终可能导致:

Context Too Large

或者:

Cost ↑
Latency ↑
Information Noise ↑


问题二:大量信息根本不相关

例如用户现在问:

帮我查询上海地区的销售额。

Agent并不需要知道:

三个月前:
用户让AI写过一封邮件

两个月前:
用户修改过一个PPT

一个月前:
用户查询过员工考勤

如果全部放进去:

大量历史信息
↓
Context Noise
↓
Attention Competition
↓
Decision Quality ↓

因此Memory系统必须具备一个核心能力:

Remember Everything
≠
Put Everything Into Context

真正应该做的是:

Store More
↓
Retrieve Less
↓
Inject Relevant Information


四、Agent Memory的主要类型

一个完整的Agent Memory系统,通常可以分成多个层次。

Context
↓
Short-Term Memory
↓
Long-Term Memory
↓
User Memory
↓
Semantic Memory
↓
Episodic Memory
↓
Memory Retrieval
↓
Agent Memory Architecture

【正文配图P01|Agent Memory能力层级】

下面分别来看。


1. Short-Term Memory

短期记忆主要负责:

当前任务过程中暂时需要的信息。

例如:

用户:
查询上海地区销售额
↓
Agent:
调用Sales API
↓
获得结果:
2026-08销售额 1200万
↓
继续下一步分析

这里的:

上海
2026-08
1200万

都可能属于当前任务的短期状态。

可以理解为:

Current Task State

例如:

{
"region": "SH",
"month": "2026-08",
"sales": 12000000
}

任务完成之后,这些信息不一定需要永久保存。


2. Long-Term Memory

长期记忆保存跨任务、跨时间仍然有价值的信息。

例如:

公司名称:ABC Technology

核心产品:
Apollo MES

主要市场:
中国
韩国
越南

默认货币:
USD

这些信息可能在未来很多任务中重复使用。

因此:

Long-Term Memory
=
长期有效的信息


3. User Memory

用户记忆主要记录:

用户偏好
+
用户习惯
+
用户角色
+
长期需求

例如:

用户:
技术负责人

偏好:
希望回答更加详细

常用技术:
Java
Spring Boot
Vue

工作领域:
企业数字化

以后用户再问:

帮我设计一个Agent架构。

Agent就可以结合这些信息。

例如:

User Query
+
User Memory
↓
Context
↓
LLM

最终可能自动生成:

Java
+
Spring Boot
+
Vue
+
Python Agent Service

而不是每次重新询问:

你使用什么技术栈?


4. Semantic Memory

Semantic Memory可以理解为:

Agent积累的事实和知识。

例如:

Apollo MES
=
企业制造执行系统

或者:

客户A
=
韩国地区客户

它更接近:

Facts
Knowledge
Business Rules

例如:

Company Policy:

订单金额 > 100万
必须进行人工审批

这种信息可能被长期保存,并在后续任务中持续使用。


5. Episodic Memory

Episodic Memory可以理解为:

Agent对过去发生事件的记忆。

例如:

2026-08-01

用户要求:
检查上海工厂生产异常

Agent执行:
Query MES
↓
发现设备A异常
↓
创建Maintenance Ticket
↓
任务完成

这就是一次完整的:

Episode

以后用户问:

上次上海工厂那个异常最后处理了吗?

Agent可以检索:

Historical Episode
↓
Find Relevant Task
↓
Recover Previous Action

这比单纯保存聊天记录更有价值。


五、Memory Retrieval:真正的关键不是“记住”,而是“找回来”

一个Agent可能存储了:

1000条Memory

但用户当前只问:

Apollo项目现在进展怎么样?

Agent真正需要的是:

1000 Memories
↓
Memory Retrieval
↓
Apollo Related
↓
Top Relevant Memories
↓
Context
↓
LLM

因此,Memory系统的核心问题不是:

能不能存更多?

而是:

能不能在正确的时间,找到正确的信息?

一个典型流程可能是:

User Query
↓
Query Understanding
↓
Memory Retrieval
↓
Relevant Memory
↓
Ranking
↓
Memory Selection
↓
Context Construction
↓
LLM

这里其实和RAG非常相似。

例如:

RAG

Query
↓
Vector Search
↓
Document
↓
Context

而Memory:

Query
↓
Memory Retrieval
↓
Relevant Memory
↓
Context

两者的区别在于:

RAG
主要解决:
外部知识

Memory
主要解决:
历史经验
用户信息
任务状态
长期上下文


六、Memory、State、RAG到底有什么区别?

这是Agent开发中非常容易混淆的三个概念。

我们可以这样理解。

State

负责:

当前任务进行到哪里

例如:

Task ID:123

Current Step:
3

Region:
Shanghai

Sales:
1200万

State通常强调:

Current


Memory

负责:

过去发生过什么
未来可能继续使用什么

例如:

User Preference
Historical Task
Past Experience
Business Fact

Memory通常强调:

Remember


RAG

负责:

企业外部知识

例如:

PDF
Word
Wiki
Manual
Knowledge Base

RAG通常强调:

Retrieve Knowledge

因此:

State
=
现在

Memory
=
过去

RAG
=
外部知识

当然,实际系统中三者可能存在交叉。

完整Agent可能是:

User Request
↓
Agent
↓
┌───────┼────────┐
↓ ↓ ↓
State Memory RAG
↓ ↓ ↓
Current History Knowledge
↓
Context Builder
↓
LLM

【正文配图P03|State、Memory与RAG协同模型】


七、Memory如何影响Agent的行为?

假设一个没有Memory的Agent:

User:
帮我分析客户A

Agent:
请问客户A是谁?

用户回答:

客户A是韩国市场最大的客户。

下一次:

User:
客户A最近有什么风险?

如果Agent又问:

客户A是谁?

那么用户体验会非常差。

但是加入Memory之后:

User
↓
客户A最近有什么风险?
↓
Memory Retrieval
↓
客户A
=
韩国最大客户
↓
RAG
↓
客户风险数据
↓
Context
↓
Agent

最终Agent可以直接进入任务:

Query Customer
↓
Query Orders
↓
Query Complaints
↓
Risk Analysis
↓
Final Answer

这意味着:

Memory可以减少重复信息收集,让Agent具备连续工作的能力。


八、Memory不是越多越好

很多开发者会犯一个错误:

用户说什么
↓
全部保存

久而久之:

Memory Explosion

例如:

“今天心情不错”

“帮我写封邮件”

“下午开会”

“这个答案不错”

“刚才那句话写错了”

并不是所有信息都值得长期保存。

因此需要:

Memory Extraction
↓
Importance Evaluation
↓
Store or Discard

例如:

重要:
用户长期使用Java

→ 保存

短期:
用户今天下午开会

→ 可能进入Short-Term Memory

无价值:
“好的,谢谢”

→ 不保存

所以企业级Memory系统通常需要:

Memory Importance
+
TTL
+
Update
+
Delete
+
Compression


九、Agent Memory的典型生命周期

一个Memory系统可以设计成:

Interaction
↓
Memory Extraction
↓
Importance Evaluation
↓
Memory Classification
↓
Store
↓
Index
↓
Memory Retrieval
↓
Context Injection
↓
Task Execution
↓
Memory Update

【正文配图P04|Agent Memory生命周期】

例如用户说:

我以后所有技术方案都优先使用Java。

Agent首先需要判断:

这是不是长期偏好?

如果是:

User Preference
↓
Long-Term Memory

以后:

User:
帮我设计Agent系统。

Agent:
Memory Retrieval
↓
Preferred Stack = Java
↓
Context
↓
Architecture Generation

这才是真正的:

Personalized Agent


十、Memory与Agent Loop如何结合?

我们上一节学习过:

Reasoning
↓
Action
↓
Observation
↓
Context Update
↓
Next Action

加入Memory之后:

User Task
↓
Memory Retrieval
↓
Reasoning
↓
Planning
↓
Action
↓
Tool Calling
↓
Observation
↓
State Update
↓
Memory Update
↓
Next Loop

【正文配图P05|Memory增强的Agent Loop】

Memory在这里可能发生两次作用。

第一次:

Task Start
↓
Retrieve Memory

帮助Agent理解任务背景。

第二次:

Task Complete
↓
Extract Important Experience
↓
Write Memory

帮助未来任务。

因此:

Past Experience
↓
Current Task
↓
New Experience
↓
Future Task

形成持续循环。


十一、企业级Agent Memory架构

企业Agent不能简单使用:

Chat History

作为唯一Memory。

更合理的架构可能是:

Agent

│
┌───────────────┼───────────────┐
↓ ↓ ↓

Short-Term Long-Term User Memory
Memory Memory

│ │ │
└───────────────┼───────────────┘
↓
Memory Retrieval
↓
Memory Ranking
↓
Context Builder
↓
LLM

底层可能继续连接:

Redis
Database
Vector Database
Graph Database

不同类型的信息适合不同的存储方式。

例如:

Session State
→ Redis

Structured User Profile
→ MySQL / PostgreSQL

Semantic Memory
→ Vector Database

Complex Entity Relationship
→ Graph Database

【正文配图P06|企业级Agent Memory Architecture】

因此企业级Memory不是:

一个数据库。

而更像:

多种存储系统 + Memory管理机制。


十二、企业Agent还需要考虑Memory Governance

当Agent开始记住用户信息之后,就会出现新的问题:

能不能保存?
保存多久?
谁可以访问?
用户能不能删除?
Memory是否过期?
Memory是否正确?

例如:

User Memory

用户部门:
销售部

一年之后用户已经调岗。

如果Memory仍然存在:

Outdated Memory
↓
Wrong Context
↓
Wrong Decision

因此企业级Memory必须考虑:

Memory Update
Memory Expiration
Memory Deletion
Permission
Privacy
Audit

完整流程可能是:

Memory Write
↓
Validation
↓
Permission Check
↓
Storage
↓
TTL / Expiration
↓
Retrieval
↓
Access Control
↓
Audit

这意味着:

Agent Memory不仅是AI能力问题,也是数据治理问题。


十三、工程师应该如何开始实现Agent Memory?

建议不要一开始就设计非常复杂的“超级Memory系统”。

可以分阶段。


第一阶段:Conversation History

Recent Messages
↓
Context

适合:

Chatbot
Simple Agent


第二阶段:Session State

Task State
↓
Redis / Database

适合:

Workflow Agent
Multi-Step Agent


第三阶段:Long-Term Memory

User Profile
+
Important Facts
+
Historical Events
↓
Database / Vector DB

适合:

Personal AI Assistant
Enterprise Copilot


第四阶段:Advanced Agent Memory

Semantic Memory
+
Episodic Memory
+
User Memory
+
Experience Memory
+
Memory Retrieval
+
Memory Governance

适合:

Enterprise Agent Platform
Long-Running Agent
Autonomous Agent

工程能力是逐步演进的:

Chat
↓
Stateful Agent
↓
Memory Agent
↓
Learning Agent


十四、Agent为什么最终一定会走向Memory?

因为没有Memory的Agent,每次任务都像:

重新开始

它可能拥有:

Reasoning
Planning
Tool Calling

但缺少:

Experience
Continuity
Personalization

而加入Memory之后:

Past
↓
Memory
↓
Present Decision
↓
New Experience
↓
Future Memory

【正文配图P07|从无记忆Agent到持续进化Agent】

Agent逐渐从:

Single Interaction

发展到:

Continuous Interaction

最终:

Task Execution
+
Experience Accumulation
+
Memory Reuse


十五、知识体系总结

本节的核心知识链路如下:

LLM
↓
Context
↓
State
↓
Short-Term Memory
↓
Long-Term Memory
↓
User Memory
↓
Semantic Memory
↓
Episodic Memory
↓
Memory Retrieval
↓
Context Construction
↓
Agent Memory

【正文配图P08|Agent Memory完整知识体系】

最重要的认知是:

LLM
负责推理

Memory
负责保存和检索经验

State
负责管理当前任务

RAG
负责提供外部知识

它们共同组成Agent的:

Thinking
+
Knowledge
+
Experience
+
Current State


面试题

问题1:Context和Memory有什么区别?

参考答案:

Context是当前一次模型调用能够看到的信息,直接参与模型推理,并受到Context Window限制。

Memory则是Agent系统长期管理的信息集合,通常需要通过Memory Retrieval筛选相关内容,再注入Context。

简单来说:

Memory
负责存储

Context
负责让LLM当前可见


问题2:Agent为什么不能简单保存所有聊天记录?

参考答案:

因为历史记录不断增长会导致:

Context过长
Cost增加
Latency增加
信息噪声增加
模型注意力分散

因此更合理的方式是:

Store Everything Important
↓
Retrieve Relevant Information
↓
Inject Selected Memory

核心不是把所有历史都放进模型,而是在正确的时间提供正确的信息。


问题3:State、Memory和RAG分别解决什么问题?

参考答案:

State
→ 当前任务状态

Memory
→ 历史经验和长期信息

RAG
→ 外部知识和企业文档

三者共同参与Context构建。


问题4:企业级Agent Memory需要考虑哪些问题?

参考答案:

除了Memory Retrieval,还需要考虑:

Memory Update
Memory Expiration
Permission
Privacy
Audit
Deletion
Data Governance

因为长期保存的信息可能过期,也可能涉及企业数据权限和隐私问题。


问题5:为什么说Memory是Agent实现长期任务能力的重要基础?

参考答案:

因为长期任务通常跨越多个步骤、多个时间点。

Agent需要记住:

过去做了什么
当前进行到哪里
已经获得了什么结果
哪些经验未来可以继续使用

否则每次任务都需要重新理解上下文,无法形成连续性。


本节小结

本节我们重点理解了:

✅ 核心概念

Memory ≠ Chat History
Context ≠ Memory

Memory是一个完整的信息:

存储
+
分类
+
检索
+
筛选
+
注入
+
更新

体系。

✅ 底层原理

LLM本身不会永久记住每次交互。

Agent需要通过:

External Memory
↓
Memory Retrieval
↓
Context Construction

让过去的信息重新进入模型。

✅ 常见问题

保存所有信息
≠
好的Memory

Memory过期
≠
仍然正确

Memory很多
≠
Agent一定更聪明

✅ 工程解决方案

Short-Term Memory
+
Long-Term Memory
+
User Memory
+
Semantic Memory
+
Episodic Memory
+
Memory Retrieval
+
Memory Governance

✅ Agent应用

Memory让Agent拥有:

连续性
+
个性化
+
经验复用
+
长期任务能力

最终形成:

LLM
+
Reasoning
+
Planning
+
Tool Calling
+
Observation
+
Memory
+
State
+
Agent Loop

一句话总结:

真正的Agent不仅要能够理解当前任务,还要能够记住过去、利用经验,并把历史信息转化为未来决策的一部分。


下一篇

《第3章 第9节:Agent为什么需要State?——任务执行到一半,AI如何知道自己进行到了哪里?》

下一节我们将继续深入Agent系统中的另一个核心能力:

State
↓
Task Progress
↓
Context Update
↓
Checkpoint
↓
Resume
↓
Long-Running Agent

我们将理解:

Memory负责“记住过去”,State负责“管理现在”。

这也是Agent从简单对话系统走向复杂任务执行系统的重要一步。

赞(0)
未经允许不得转载:网硕互联帮助中心 » 《Agent开发工程师成长指南》- 第3章 第8节:Agent为什么需要Memory?——没有记忆的AI,为什么很难真正完成长期任务?
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!