
配套视频:https://www.bilibili.com/video/BV1uaihBbEeC/
引言:从无状态到有状态的跨越
在接下来的内容中,我将为你提供一些高层次的信息和实用的技术细节,这些内容将在未来六个月内对你构建最佳AI应用至关重要。我们的目标是帮助你打造可信、强大且可靠的智能体系统。
今天的主题是记忆——我们将探讨如何让无状态的AI应用变得有状态,如何通过关注持久性来减少提示工程的负担,以及如何将AI应用中的响应转化为建立智能体与用户关系的过程。一切都围绕着记忆展开。
一、AI应用的演进:从聊天机器人到自主智能体
1.1 三年的快速迭代
让我们快速回顾过去两三年AI技术的演变:
2022年11月:ChatGPT问世,LLM驱动的聊天机器人引发全球热潮。这些聊天机器人展现了令人惊叹的对话能力,但它们缺乏领域特定的知识。
RAG时代:我们开始为聊天机器人增加更多领域特定的相关知识,通过检索增强生成(RAG)技术提供更个性化的回应。
推理与工具使用:随后,我们扩展了提供给大模型的算力和数据,赋予它们涌现能力、推理能力和工具使用能力。
当前:AI智能体时代:现在我们进入了AI智能体和自主系统的世界,这些系统能够感知环境、做出决策并采取行动。
1.2 什么是AI智能体?
关于"什么是智能体"一直存在争论,这就像在问"什么是意识"一样——它是一个光谱。能动性(agentic)是一个新词,指智能体的自主能力,它存在不同的层级:
Level 1:初级智能体
Level 2:大模型运行循环
Level 3:能使用工具的智能体
Level 4:自主智能体群组,可以自主行动,未被引导或仅轻微引导
我更愿意将智能体视为一个光谱,就像自动驾驶的不同级别一样。当我来到这里看到Waymo时,对我来说那简直是魔法——英国还没有这样的技术。
AI智能体的定义:一种具有感知能力的计算实体,通过感知了解其环境,通过大语言模型实现认知能力,还能通过工具使用采取行动。但最关键的是要有某种记忆,无论是短期还是长期的。
二、为什么记忆是智能的核心?
2.1 从人工智能的本质说起
我们今天齐聚此地,正是因为人工智能。我们都是智能的缔造者。人工智能的核心是构建某种计算实体,超越或模仿人类智能。通用人工智能(AGI)则是我们致力于在所有能想到的任务上超越人类智能的目标。
思考一个问题:想想你认识的最聪明的人,是什么决定了他们的智力?答案是记忆能力。
因此,如果人工智能旨在模仿人类智能,这一点显而易见——我们需要在智能体中内置记忆功能。
2.2 人类大脑的记忆系统
人类大脑拥有多种记忆方式,这正是智慧的来源:
短期记忆:临时存储信息
长期记忆:持久保存经验和知识
工作记忆:处理当前任务的信息
语义记忆:关于事实和概念的知识
情景记忆:个人经历和事件
程序性记忆:技能和动作(存储在小脑中)
举个例子,谁能做后空翻?那个后空翻的知识实际上存储在你大脑的小脑部分。顺便说一句,我听说后空翻90%靠信心。
我们可以在智能体中模拟这些记忆系统,这就是我今天要展示的内容。
三、智能体记忆的类型与实现
3.1 什么是智能体记忆?
智能体记忆是我们用来确保状态持久化的机制。它使我们的AI应用能够持续积累信息,将数据转化为记忆,并指导下一步执行。目标是让智能体更可靠、可信且有能力。
作为AI记忆工程师,核心工作是内存管理——组织所有输入上下文窗口的信息的系统化过程。是的,我们现在有很大的上下文窗口,但大上下文窗口并非让你塞入所有数据,而是用于提取相关信息并以高效的方式组织,以便响应更相关。
3.2 记忆管理的核心组件
生成(Generation):创建新的记忆
存储(Storage):持久化保存信息
检索(Retrieval):最关键的环节
整合(Integration):融合不同来源的信息
更新(Update):修正和完善记忆
遗忘机制(Forgetting):注意,不是删除!
关于删除记忆,这里有个重要观点:人类除非遭遇创伤,否则不会真正遗忘。即使是痛苦的回忆,你想忘记但它仍然存在。我们应该关注在记忆管理系统中实现遗忘机制,而不是简单地删除记忆。目前有不同的研究论文在探索如何在智能体中实现这种机制。
3.3 七种关键的记忆类型
1. 角色记忆(Persona Memory)
几个月前,OpenAI给ChatGPT增加了个性化功能,虽然实现得不够完美,但方向是对的。我们正努力让系统更人性化、更可信,努力让它们与消费者和用户建立良好关系。
角色记忆的作用:
定义智能体的性格特征
建立一致的交互风格
增强用户信任感
在MongoDB中的实现:
{
"agent_id": "assistant_001",
"persona": {
"name": "AI助手小智",
"personality": "友好、专业、耐心",
"communication_style": "简洁明了,善用比喻",
"expertise": ["技术咨询", "问题解决"]
},
"created_at": "2024-01-01T00:00:00Z"
}2. 工具箱记忆(Toolbox Memory)
OpenAI的建议是在上下文窗口中放入工具的schema,可能有10到21个工具。但当你将数据库用作工具箱时,将工具的邻接模式存入MongoDB,就能实现扩展。
优势:
在调用大模型前,通过任意搜索方式获取所需工具
支持动态工具加载
避免上下文窗口拥挤
存储结构:
{
"tool_id": "weather_api",
"name": "天气查询",
"description": "获取指定城市的天气信息",
"parameters": {
"city": "string",
"date": "string (optional)"
},
"embedding": [0.123, 0.456, ...],
"usage_count": 1247,
"last_used": "2024-01-03T08:30:00Z"
}3. 对话记忆(Conversational Memory)
这是最明显的记忆类型。与ChatGPT、Claude的来回对话都可以存入数据库。
关键要素:
时间戳:记录对话发生的时间
会话ID:关联同一对话的多轮交互
记忆时效:实现遗忘机制的信号
示例结构:
{
"conversation_id": "conv_12345",
"user_id": "user_789",
"messages": [
{
"role": "user",
"content": "今天天气怎么样?",
"timestamp": "2024-01-03T09:00:00Z"
},
{
"role": "assistant",
"content": "今天北京晴天,温度5-15℃",
"timestamp": "2024-01-03T09:00:02Z"
}
],
"memory_decay": 0.95,
"last_accessed": "2024-01-03T09:00:02Z"
}4. 工作流记忆(Workflow Memory)
这一点至关重要。当你构建智能体系统并执行某个任务时,可能第一步、第二步成功了,但第三步失败了。你可以做的是:将失败作为经验,作为学习的机会。
实践价值:
将失败信息存入数据库
下次执行时调出这些经验
告知大模型不要重复错误
探索其他可行路径
工作流记忆示例:
{
"workflow_id": "order_processing_001",
"steps": [
{
"step": 1,
"action": "验证用户信息",
"status": "success",
"duration_ms": 150
},
{
"step": 2,
"action": "检查库存",
"status": "success",
"duration_ms": 320
},
{
"step": 3,
"action": "调用支付接口",
"status": "failed",
"error": "连接超时",
"learned_lesson": "在高峰时段增加重试机制",
"alternative_path": "使用备用支付网关"
}
],
"timestamp": "2024-01-03T10:15:00Z"
}5. 情景记忆(Episodic Memory)
情景记忆是长期记忆的一种形式,存储特定事件和经历。它帮助智能体记住与用户的重要互动。
6. 实体记忆(Entity Memory)
存储关键实体信息,如人物、地点、组织等,支持知识图谱构建。
7. 智能体注册中心(Agent Registry)
存储智能体的元数据,包括工具配置、角色设定、能力清单等。
注册中心结构:
{
"agent_id": "sales_agent_001",
"name": "销售助手",
"capabilities": ["产品推荐", "订单处理", "客户咨询"],
"tools": ["tool_001", "tool_002", "tool_003"],
"persona_id": "persona_friendly",
"created_at": "2024-01-01T00:00:00Z",
"version": "2.1.0"
}四、检索:记忆管理的关键
4.1 RAG不只是向量搜索
很多人认为RAG(检索增强生成)就是向量搜索,但这是不够的。仅靠向量搜索还不够,还需要其他类型的搜索。
传统RAG的工作流程很简单:
用户提出问题
将问题转换为向量
在向量数据库中搜索相似内容
将检索结果输入大模型
生成回答
但这只是基础。
4.2 智能体级检索
当你升级到智能体级检索时,就进入了新境界。你赋予智能体检索能力,将检索作为工具,现在我们可以随时调用信息。
MongoDB提供的完整检索机制:
向量搜索:语义相似度检索
全文搜索:关键词匹配
图查询:关系网络探索
地理空间查询:位置相关信息
混合搜索:组合多种检索方式
一个数据库解决所有需求——这就是MongoDB的优势。
4.3 检索策略的重要性
检索比存储更重要。你可以存储海量数据,但如果无法高效提取相关信息,这些数据就毫无价值。
最佳实践:
不要将所有数据塞入上下文窗口
使用多种检索策略组合
根据查询类型选择合适的检索方法
实现重排序机制提高相关性
持续优化检索性能
五、MongoDB:智能体系统的记忆提供者
5.1 为什么选择MongoDB?
当你明白我们为开发者、AI记忆工程师和AI工程师提供了将数据转化为记忆所需的全部功能,使智能体更可信、有能力且可靠时,你就会理解在AI技术栈中拥有MongoDB这样的技术伙伴有多重要。
MongoDB的三大核心优势:
1. 灵活的数据模型
MongoDB的文档数据模型极具弹性,可以适应任何数据结构。你可以按照JSON模式存储数据,随需而变。
// 灵活的schema设计
{
"_id": "memory_001",
"type": "conversational",
"user_id": "user_123",
"content": {
// 可以是任何结构
"messages": [...],
"context": {...},
"metadata": {...}
},
"embedding": [0.1, 0.2, ...],
"tags": ["important", "technical"],
"created_at": ISODate("2024-01-03T09:00:00Z")
}2. 全面的检索能力
一个数据库提供所有检索能力:
向量搜索(语义理解)
文本搜索(关键词匹配)
图查询(关系探索)
地理空间查询(位置服务)
聚合管道(复杂分析)
3. 企业级可靠性
高可用性和容错能力
水平扩展支持
安全性和合规性
性能优化
5.2 Voyage AI集成:下一代嵌入技术
今年早些时候,MongoDB收购了Voyage AI。他们创造了顶尖的无偏见开放嵌入模型,目前市场上最好的嵌入模型之一。
即将推出的功能(未来几个月):
Voyage AI嵌入模型集成到MongoDB Atlas
重排序器(Reranker)内置支持
自动分块策略——你无需再为数据编写分块策略!
这将真正解决问题,至少减少AI幻觉,提升检索增强与智能体系统的可靠性。
5.3 MongoDB的使命
MongoDB专注于提升开发者效率,简化开发流程。我们将各种考量与顾虑——关于管理不同数据、分块、检索策略等所有问题——都接入数据库。
我们正在重新定义数据库的概念,确保你们能打造最优秀的AI产品,快速安全地集成AI功能。MongoDB为变革而生,我们现在将要经历的变革,将在未来几年内彻底改变技术格局。
六、实践工具:Memoriz开源库
6.1 关于Memoriz
我正在开发一个开源库,名字让我有点惭愧——起这个名字时我只是想耍酷,叫"memoriz"(可以在Google搜索到)。
Memoriz的特点:
封装所有记忆设计模式
支持我展示的所有记忆类型
实验性与教育性质
基于MongoDB实现
开源免费
6.2 设计模式
Memoriz具备所有这些内存的设计模式,包括:
角色记忆初始化
对话历史管理
工具箱动态加载
工作流经验学习
实体关系映射
记忆衰减机制
这些都是我日常考虑的MongoDB设计模式,现在你应该明白MongoDB在智能体系统内存模块中的作用了。
七、记忆管理的最佳实践
7.1 不要过度依赖大上下文窗口
虽然现在的大模型提供了很大的上下文窗口(如Claude的200K tokens),但这不意味着你应该把所有数据都塞进去。
正确做法:
使用上下文窗口处理相关信息
将历史数据存储在数据库中
通过检索动态加载需要的信息
保持上下文窗口的清洁和高效
7.2 构建定制化的记忆管理系统
专注内存管理的工具有很多,如MemGPT、MemZero、Zep,都是很棒的工具。但和在座各位及部分合作伙伴交流后,我发现没有一种方法能解决所有内存需求。
你需要一个内存提供商来构建定制解决方案,确保你实现的内存管理系统高效有效。这就是为什么MongoDB如此重要——它提供了灵活性,让你可以根据具体需求设计记忆架构。
7.3 实现遗忘机制
记忆无法删除,但可以遗忘。人类大脑有自然的遗忘曲线,我们可以在智能体中模拟这一点。
遗忘机制的实现思路:
记忆衰减因子(Memory Decay)
访问频率权重
时间衰减函数
重要性评分
定期记忆整合
# 伪代码示例
def calculate_memory_strength(memory):
time_factor = exp(-decay_rate * time_since_creation)
access_factor = log(1 + access_count)
importance_factor = memory.importance_score
return time_factor * access_factor * importance_factor7.4 多层次记忆架构
就像人类大脑有不同的记忆系统,智能体也应该有分层的记忆架构:
短期记忆层:
当前会话的上下文
工作记忆缓存
快速访问,临时存储
中期记忆层:
近期交互历史
活跃的工作流状态
频繁访问的实体
长期记忆层:
用户画像和偏好
历史经验和教训
知识库和文档
八、从神经科学中学习
8.1 历史的启示
你们知道Hubel和Wiesel吗?他们在1990年代末获得诺贝尔奖,因为他们在视觉皮层做过开创性研究。
他们通过对猫的实验(现在这大概行不通了,但在五六十年代,当时氛围更轻松些)发现,视觉皮层实际上通过学习不同层级的表示——如边缘、轮廓和抽象形状——来处理信息。
从事深度学习的人会知道,这正是卷积神经网络(CNN)的工作原理。他们的研究启发并推动了CNN的发展,这是人脸检测、物体检测等技术的基础。
这一切源于神经科学。
8.2 向大自然学习
我们是智能的缔造者,但还有更出色的智能缔造者——大自然。大自然创造了我们的大脑,这是自然界最高效的智能形式(虽然我遇到的一些人可能是例外)。
我们可以向内探索,从人脑的工作机制中学习,构建更好的智能体系统。
8.3 跨学科合作
上周六,我和MongoDB的首席AI科学家Tengu(Voyage AI的创始人),以及三位神经科学家坐在一起:
Kenneth:探索人脑与记忆超过20年
Charles Parker:MemGPT的创造者
其他神经科学专家
我们正在进行这些对话,展现如何联合神经科学家与应用开发者携手解决难题,推动我们走向通用人工智能之路。
九、未来展望
9.1 记忆将成为竞争优势
在未来的AI应用中,记忆管理能力将成为核心竞争力。能够有效管理记忆的智能体将:
提供更个性化的服务
建立更深的用户信任
做出更明智的决策
持续学习和改进
减少重复错误
9.2 技术趋势
短期(6-12个月):
嵌入模型直接集成到数据库
自动化分块和索引策略
更智能的检索和重排序
多模态记忆支持
中期(1-2年):
自适应遗忘机制
跨智能体记忆共享
联邦学习式的记忆更新
记忆压缩和摘要技术
长期(3-5年):
类脑的记忆架构
情感记忆和共情能力
自主的记忆整理和优化
记忆的可解释性
9.3 开发者的机会
作为AI记忆工程师,你现在有机会:
探索新的设计模式:记忆管理还是一个新兴领域,有很多创新空间
构建基础设施:为智能体提供记忆服务将成为重要的基础设施
跨学科创新:结合神经科学、认知心理学和计算机科学
解决实际问题:帮助企业构建更可靠的AI系统
结语:记忆是智能的基石
让我用一个核心观点来总结今天的内容:
如果人工智能旨在模仿人类智能,而人类智能的核心是记忆能力,那么我们必须在智能体中内置强大的记忆功能。
MongoDB作为智能体系统的记忆提供者,提供了:
灵活的数据模型适应各种记忆类型
全面的检索能力支持智能检索
企业级的可靠性保障系统稳定
持续的创新推动技术进步
记忆不仅仅是存储数据,它是将数据转化为智慧的过程。通过合理的记忆架构设计,我们可以构建真正可信、有能力且可靠的AI智能体。
资源与联系方式
获取演示文稿和代码:
在LinkedIn搜索:Richmond Alake
访问Memoriz开源库:Google搜索"memoriz"
探索MongoDB AI资源:mongodb.com/ai
延伸阅读:
MemGPT论文
Voyage AI嵌入模型文档
MongoDB Atlas Vector Search指南
神经科学与AI的交叉研究
如果这篇文章对你有帮助,欢迎点赞、收藏、转发。也欢迎在评论区分享你的经验,我们一起交流学习!
我是 dtsola【IT解决方案架构师 | AI创业者】 ;专注AI创业、商业、技术、心理学、哲学内容分享。
提供服务:AI项目咨询 | 技术解决方案 | IT项目实施 | 企业技术顾问
博客:https://www.dtsola.com
公众号&VX:dtsola
需提供服务,加微信 dtsola,备注:IT咨询,并说明来意。
#AI编程 #VibeCoding #智能体 #ClaudeCode #独立开发者 #AI创业 #一人公司 #程序员 #软件工程师 #软件工程