从Python变量到图谱记忆:Agent记忆进化之路,小白也能学会并收藏这份实战指南!
2026/4/16 0:32:24 网站建设 项目流程

文章探讨了AI Agent记忆系统的进化历程,从简单的Python变量到Markdown文件,再到向量检索和“图+向量”混合架构。由于LLM设计上的“无状态”特性,记忆系统对构建复杂Agent至关重要。文章指出,单纯扩大上下文窗口并非解决记忆问题的万能药,而应着重于结构化组织记忆内容。Lilian Weng提出的Agent四大支柱(LLM、记忆、规划、工具使用)中,记忆的分类逻辑借鉴了人类大脑的运行模式,包括感觉记忆、短期记忆和长期记忆。文章进一步阐述了长期记忆的三种维度:情节记忆、语义记忆和程序记忆。最后,文章通过一个极简的Agent示例,展示了记忆系统从无到有的进化过程,包括Python列表、Markdown持久化、向量检索和图谱记忆等阶段,为读者提供了构建AI Agent记忆系统的实战参考。

从最简单的 Python 变量到 Markdown 文件,从向量检索到“图+向量”混合架构,Agent 的记忆进化史,本质上是一场对抗遗忘的战争。

LLM 在设计上是“无状态”的,每一个 API 调用都是一次新的推理过程。

我们在 ChatGPT 里感受到的记忆感,其实是一种幻觉。

那是系统每次都把之前的聊天记录再次发给模型的结果。

所以,在构建复杂的生产级 Agent 时,记忆系统是非常重要的。

如果你试图跳过记忆系统的设计,或者记忆系统设计有明显缺陷,Agent 很快就会陷入以下这些困境:

  • 刚告诉它的信息,下一轮就忘了
  • 每一轮对话都像跟模型初次对话
  • 任务执行到一半,中间状态丢了
  • 它会反复犯同一个错误
  • 无法累积之前的经验
  • 当上下文溢出时,模型会开始胡编乱造

当 Agent 表现不佳时,最直观的反应是:“给它更大的 Context 窗口,让它分析更多的内容”。

于是我们有了 128K、200K 甚至 1M 的窗口。

但事实证明,这并不是万能的。

研究表明,当关键信息位于长上下文的中间段落时,模型的准确率会下降 30% 以上。

而且系统提示词、文档、对话历史、输出结果等,它们都在占用 Token 预算。

就算给你 100 万个 Token,如果没有持久化、优先级排序和显著性过滤,原始的上下文长度还是在浪费钱。

所以,记忆的本质,不在于往 Prompt 里塞进更多的文本,而在于如何结构化地组织“它记得什么”,从而让它能在关键时刻“找到什么”。

2023 年,Lilian Weng 提出了一个著名概念:

Agent = LLM + 记忆(Memory) + 规划(Planning) + 工具使用(Tool Use)。

这四大支柱地位均等,缺一不可。

而其中的记忆,其分类逻辑其实直接借用了认知科学中人类大脑的运行模式:

  1. 感觉记忆(Sensory Memory):捕捉原始的感知输入(如:用户刚发送的消息),仅保留零点几秒。只有那些被分配了注意力的部分,才会被传递到下一层。
  2. 短期记忆(Working Memory):这是主动思考发生的场所,容量有限而且有效期短。
  3. 长期记忆(Long-term Memory):耐用的存储库,没有容量限制,但检索困难。

在现代 Agent 架构中,长期记忆被进一步细分为三个关键维度,每一个都对应着不同的业务能力:

  1. 情节记忆(Episodic Memory):对过去具体事件的回溯(例如:上周二,用户要求做了什么)。
  2. 语义记忆(Semantic Memory):事实和概念的沉淀(例如:仓库在什么路径)。
  3. 程序记忆(Procedural Memory):技能与工作流的内化(例如:工具定义)。

剥开所有华丽的框架,一个 Agent 的本质其实就是一个死循环:感知→思考→行动。

让我们来看看一个最简化的、没有任何记忆伪装的 Agent 是长什么样的:

class Agent: """极简 AI Agent:感知,思考,行动""" def __init__(self): self.client = anthropic.Anthropic() self.model = "claude-3-5-sonnet-20240620" def run(self, user_input: str) -> str: # 没有任何上下文传递 response = self.client.messages.create( model=self.model, max_tokens=1024, messages=[{"role": "user", "content": user_input}], ) return response.content[0].text

你告诉它:“我有 4 个苹果”,它点头说好。

接着你问:“我吃了一个,还剩几个?”

它会一脸懵逼,完全不知道你在说什么苹果。

第一层进化:Python 列表

每个开发者在意识到上述问题后,采取的第一个补救措施通常是建立一个 messages 列表:

class Agent: def __init__(self): self.messages = [] # 所谓的“记忆”其实就是一个列表 def chat(self, user_input: str) -> str: self.messages.append({"role": "user", "content": user_input}) response = self.client.messages.create( messages=self.messages, # 每次都把完整的对话历史打包“寄”过去 # ... 其他参数 ) # ... 存储回复并返回

此时,多轮对话跑通了,苹果的问题现在能答对了。

但这种暴力重传的模式很快就会遇到新的问题:

  1. 这个列表是无限增长的。当对话进行到第 200 轮左右,会触碰上下文的天花板。由于没有优先级逻辑,系统会粗暴地丢弃最早的信息。
  2. 所有的记忆都存在内存里,一旦进程关闭或重启,Agent 就会瞬间变成失忆。

第二层进化:Markdown 持久化

当内存中的列表无法满足需求时,绝大多数开发者的第二反应是:持久化,写进磁盘。

Markdown 是最自然的选择:它人类可读、对 Git 友好,而且 Agent 可以像读纯文本一样轻松读取它。

如今许多 Agent 都在使用这种模式,通过 AGENT.md 和 MEMORY.md 来管理项目的上下文。

class MarkdownMemoryAgent: def __init__(self): self.history_file = Path("memory/conversation_history.md") self.facts_file = Path("memory/known_facts.md") def save_to_disk(self, role: str, content: str) -> None: # 实时将对话追加到 Markdown 文件 with open(self.history_file, "a") as f: f.write(f"### {role} at {datetime.now()}\n{content}\n\n") def chat(self, user_input: str) -> str: self.save_to_disk("user", user_input) # 读取全量历史作为 System Prompt 的一部分 history = self.history_file.read_text() # ... 发起请求并存储回复

如果只有少量的记录,一切都很完美。

三个月后,已经产生了上千条记录和上百份对话日志。

动辄几十万 Token 的内容,而上下文窗口只有 128K。

此时没法一次性加载所有内容了,必须选择性检索。

对于 Markdown 这种扁平文件,自然想到的是关键词搜索(Grep)。

用户问: “我们的代码迁移进度如何?”

程序执行: grep(“代码迁移”, memory_file)

结果: 空。 因为硬盘上存的是“将仓库迁移到 GitHub ”,里面压根没出现“代码迁移”这个词组。

第三层进化:向量检索

为了解决 Markdown 的关键词问题,我们给它装上了嵌入向量(Embeddings)。

原理很简单:将 Markdown 内容分块(Chunking),转化成多维空间的向量,通过余弦相似度进行匹配。

现在,搜索“数据库”能匹配到“PostgreSQL”了,因为在向量空间里,它们靠得很近。

同义词障碍消失了。

直到你撞上了另一面隐形的墙,假设你的向量数据库里存着三条事实:

“Alice 是 Atlas 项目的技术负责人。”

“Atlas 项目使用 PostgreSQL 作为主数据库。”

“PostgreSQL 集群在周二发生了停机事故。”

用户提问: “Alice 的项目受到周二停机的影响了吗?”

尴尬的一幕发生了:

用户的提问里包含了“Alice”和“周二停机”,所以向量搜索会给第 1 条和第 3 条极高的评分。

但是,中间那关键的第 2 条(项目使用 PostgreSQL),因为既没提到 Alice 也没提到周二,它的评分会很低,甚至根本不会被检索出来。

企业的知识,本质上是网状关系:人属于团队,团队拥有项目,项目依赖系统,系统会产生事故。

任何需要多次跳转或逻辑推理的问题,扁平的向量检索都无法给出完整答案。

第四层进化:图谱记忆

面对向量检索在逻辑面前的乏力,引入了图谱记忆(Graph-based Memory)。

它的本质是将信息重新定义为节点(实体)与边(关系)。

与单纯依赖语义向量不同,图谱完整地保留了事实之间的结构化联系。

这让 Agent 不再是盲目地在大海里捞针,而是顺着逻辑的绳索进行推理。

实现一套图谱记忆系统,通常需要经历五个核心阶段:

  1. 提取:由 LLM 充当“矿工”,从原始文本中挖掘出人、地、物及其相互关系。
  2. 存储:将这些节点和边存入图数据库(如 Neo4j、FalkorDB),并同步生成向量嵌入,实现图向量混合搜索。
  3. 检索:系统不再只看相似度,而是通过图遍历去寻找那些语义不一定近,但结构上紧密相连的背景信息。
  4. 进化:随着新信息的涌入,自动检测冲突并修剪陈旧的关系。
  5. 清理:移除不再准确或冗余的链接,保持记忆的精简与高效。

现在已经有很多的这类记忆项目出现,感兴趣的可以搜索到很多,这里就不举例了。

最后

对于正在迷茫择业、想转行提升,或是刚入门的程序员、编程小白来说,有一个问题几乎人人都在问:未来10年,什么领域的职业发展潜力最大?

答案只有一个:人工智能(尤其是大模型方向)

当下,人工智能行业正处于爆发式增长期,其中大模型相关岗位更是供不应求,薪资待遇直接拉满——字节跳动作为AI领域的头部玩家,给硕士毕业的优质AI人才(含大模型相关方向)开出的月基础工资高达5万—6万元;即便是非“人才计划”的普通应聘者,月基础工资也能稳定在4万元左右

再看阿里、腾讯两大互联网大厂,非“人才计划”的AI相关岗位应聘者,月基础工资也约有3万元,远超其他行业同资历岗位的薪资水平,对于程序员、小白来说,无疑是绝佳的转型和提升赛道。


对于想入局大模型、抢占未来10年行业红利的程序员和小白来说,现在正是最好的学习时机:行业缺口大、大厂需求旺、薪资天花板高,只要找准学习方向,稳步提升技能,就能轻松摆脱“低薪困境”,抓住AI时代的职业机遇。

如果你还不知道从何开始,我自己整理一套全网最全最细的大模型零基础教程,我也是一路自学走过来的,很清楚小白前期学习的痛楚,你要是没有方向还没有好的资源,根本学不到东西!

下面是我整理的大模型学习资源,希望能帮到你。

👇👇扫码免费领取全部内容👇👇

1、大模型学习路线

2、从0到进阶大模型学习视频教程

从入门到进阶这里都有,跟着老师学习事半功倍。

3、 入门必看大模型学习书籍&文档.pdf(书面上的技术书籍确实太多了,这些是我精选出来的,还有很多不在图里)

4、AI大模型最新行业报告

2026最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

5、面试试题/经验

【大厂 AI 岗位面经分享(107 道)】

【AI 大模型面试真题(102 道)】

【LLMs 面试真题(97 道)】

6、大模型项目实战&配套源码

适用人群

四阶段学习规划(共90天,可落地执行)
第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型

  • 带你了解全球大模型

  • 使用国产大模型服务

  • 搭建 OpenAI 代理

  • 热身:基于阿里云 PAI 部署 Stable Diffusion

  • 在本地计算机运行大模型

  • 大模型的私有化部署

  • 基于 vLLM 部署大模型

  • 案例:如何优雅地在阿里云私有部署开源大模型

  • 部署一套开源 LLM 项目

  • 内容安全

  • 互联网信息服务算法备案

  • 👇👇扫码免费领取全部内容👇👇

3、这些资料真的有用吗?

这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询