AI Agent记忆系统设计:让AI记住对话历史
🩺 摘要
每次跟AI聊天都像第一次见面——上句说了什么它不记得。短期记忆靠上下文窗口,那长期记忆呢?
📝 详情
AI记忆的三种类型
1. 短期记忆(上下文窗口)
用户:我叫张三
AI:你好张三!
用户:我叫什么名字?
AI:你叫张三(还在上下文中)
但如果聊了100轮之后:
AI:对不起,我不记得了(被挤出了上下文)
所有LLM自带的记忆能力。窗口越大记得越久,但成本也越高。
2. 长期记忆(外部存储)
把重要信息存到外部数据库:
memory = {} # 或者用数据库
def remember(key, value):
memory[key] = value
def recall(key):
return memory.get(key, "不记得了")
# 用法
remember("user_name", "张三")
...过了100轮...
print(recall("user_name")) # 张三
3. 向量记忆(语义搜索)
把历史对话向量化存起来,需要时搜索:
conversation_history = []
def add_to_memory(text):
vec = embed(text)
conversation_history.append({"text": text, "vector": vec})
def search_memory(query, k=3):
q_vec = embed(query)
# 找最相似的k条
return similar_conversations
实战方案
最简单的方式:用Mem0或CrewAI的记忆模块。
from mem0 import Memory
m = Memory()
# 记住
m.add("用户喜欢Python编程", user_id="user_1")
# 回忆
result = m.search("用户有什么技术偏好?", user_id="user_1")
# 返回:用户喜欢Python编程
一句话
AI Agent没有记忆就像人没有脑子。实现记忆没你想的那么复杂。
💬 评论 (0)