凌晨3点42分,我盯着终端里的日志发呆。
Agent刚跑完一个三小时的深度调研任务,结果重启后发现——它把之前的所有发现全忘了。就像你熬夜写完一篇论文,第二天醒来发现Word没保存。
那一刻我意识到:没有持久化记忆的Agent,就像金鱼——只有7秒记忆,还觉得自己挺聪明。
凌晨3点42分,我盯着终端里的日志发呆。
Agent刚跑完一个三小时的深度调研任务,结果重启后发现——它把之前的所有发现全忘了。就像你熬夜写完一篇论文,第二天醒来发现Word没保存。
那一刻我意识到:没有持久化记忆的Agent,就像金鱼——只有7秒记忆,还觉得自己挺聪明。
世界上有一种技术叫Agent持久化记忆(Persistent Memory),它让AI Agent拥有跨会话、跨重启的长期记忆能力。
传统AI对话每次都是"失忆症患者"——会话结束,记忆清零。持久化记忆就是给AI装上"日记本",把重要信息存储到数据库、文件系统或向量数据库中,下次启动时能"想起来"。
2026年5月,GitHub上rohitg00/agentmemory项目爆火(19,890 stars),成为AI编程Agent持久化记忆的事实标准。它基于真实世界benchmark,解决了Agent的"健忘症"问题。
| 记忆类型 | 存储位置 | 生命周期 | 典型内容 |
|---|---|---|---|
| 短期记忆(Context) | 内存/Token窗口 | 单次会话 | 当前对话、临时变量 |
| 工作记忆(Working) | 本地缓存/Redis | 数小时~数天 | 任务进度、中间结果 |
| 长期记忆(Persistent) | 数据库/向量库 | 永久 | 用户偏好、历史决策、知识沉淀 |
持久化记忆通常采用以下几种存储方式:
记忆不是存了就完事,还得能"想起来":
在OpenClaw中,持久化记忆可以通过以下方式实现:
# OpenClaw Skill: persistent-memory.yaml
name: persistent-memory
description: "Agent持久化记忆管理"
tools:
- name: save_memory
description: "保存记忆到本地文件"
parameters:
key: string
value: string
category: string # 分类:user_pref | task_state | knowledge
command: |
mkdir -p ~/.openclaw/memory/{{category}}
echo "{{value}}" > ~/.openclaw/memory/{{category}}/{{key}}.txt
- name: load_memory
description: "读取持久化记忆"
parameters:
key: string
category: string
command: |
cat ~/.openclaw/memory/{{category}}/{{key}}.txt 2>/dev/null || echo "NOT_FOUND"
- name: search_memories
description: "搜索历史记忆(grep)"
parameters:
query: string
category: string (optional)
command: |
if [ -z "{{category}}" ]; then
grep -r "{{query}}" ~/.openclaw/memory/ 2>/dev/null
else
grep -r "{{query}}" ~/.openclaw/memory/{{category}}/ 2>/dev/null
fi
// OpenClaw Skill集成agentmemory
// 安装:npm install agentmemory
const { AgentMemory } = require('agentmemory');
// 初始化记忆系统
const memory = new AgentMemory({
storage: 'sqlite', // 或 'postgres', 'mongodb'
dbPath: '~/.openclaw/memory/agent.db'
});
// Skill: save_to_memory
async function saveToMemory(key, value, metadata = {}) {
await memory.set({
key,
value,
namespace: 'openclaw-agent',
metadata: {
timestamp: Date.now(),
source: 'openclaw',
...metadata
}
});
}
// Skill: recall_from_memory
async function recallFromMemory(query, options = {}) {
const results = await memory.search({
query,
limit: options.limit || 5,
threshold: options.threshold || 0.7
});
return results;
}
// 使用示例:在OpenClaw Session中
// 1. 保存用户偏好
await saveToMemory('user_pref_model', 'gpt-4', { type: 'preference' });
// 2. 任务完成后的总结存储
await saveToMemory('task_123_summary',
'完成了RAG系统搭建,关键发现:向量维度需优化',
{ type: 'task_result', taskId: '123' }
);
// 3. 下次启动时召回
const pastTasks = await recallFromMemory('RAG系统', { limit: 3 });
console.log('历史相关任务:', pastTasks);
# OpenClaw + Qdrant/Pinecone向量记忆
# requirements.txt: qdrant-client, openai
from openai import OpenAI
from qdrant_client import QdrantClient
from qdrant_client.http import models
# 初始化
client = QdrantClient(path="~/.openclaw/memory/qdrant_db")
openai_client = OpenAI()
# 创建记忆集合
def init_memory_collection():
client.create_collection(
collection_name="agent_memories",
vectors_config=models.VectorParams(
size=1536, # OpenAI embedding维度
distance=models.Distance.COSINE
)
)
# 存储记忆(自动向量化)
def save_memory(text, metadata):
embedding = openai_client.embeddings.create(
input=text,
model="text-embedding-3-small"
).data[0].embedding
client.upsert(
collection_name="agent_memories",
points=[models.PointStruct(
id=hash(text) % (2**63), # 简单hash作为ID
vector=embedding,
payload={"text": text, **metadata}
)]
)
# 检索记忆
def recall_memory(query, top_k=5):
query_embedding = openai_client.embeddings.create(
input=query,
model="text-embedding-3-small"
).data[0].embedding
results = client.search(
collection_name="agent_memories",
query_vector=query_embedding,
limit=top_k
)
return [hit.payload["text"] for hit in results]
# OpenClaw Skill调用示例
# save_memory("用户喜欢在凌晨1点42分工作,效率最高",
# {"type": "user_habit", "timestamp": "2026-05-31"})
#
# related = recall_memory("用户工作习惯")
# print(related) # 输出:["用户喜欢在凌晨1点42分工作..."]
| 方案 | 复杂度 | 适用场景 | GitHub Stars |
|---|---|---|---|
| 文件存储(最简单) | ⭐ | 个人Agent、快速原型 | N/A |
| agentmemory(热门) | ⭐⭐ | AI编程助手、长期项目 | 19,890 ⭐ |
| 向量数据库(Qdrant等) | ⭐⭐⭐ | 复杂知识管理、RAG系统 | Qdrant: 22K ⭐ |
| 全功能记忆框架(mem0等) | ⭐⭐⭐⭐ | 企业级应用、多Agent协作 | mem0: 35K ⭐ |
凌晨1点42分,我终于明白——
Agent的进化不在于模型多大,而在于它能不能记住自己走过的路。
持久化记忆,就是让Agent从"金鱼"变成"大象"——虽然慢,但记性贼好。
2026年,agentmemory这种项目的爆火,说明整个行业都在思考同一个问题:如何让AI真正"成长",而不是每次都从零开始?
答案可能就藏在记忆里。