教程中心进阶
进阶

给 AI Agent 装一个长期记忆:腾讯 TencentDB-Agent-Memory 实战

2026.07.14· 7 个步骤 · 21 分钟阅读· 🧠 TencentDB-Agent-Memory

你有没有发现:很多 AI 助手「聊完就忘」,下次见面又像初次谋面?这是因为它们没有长期记忆。2026 年腾讯开源了 TencentDB-Agent-Memory——一个完全本地运行、不调外部 API 的 Agent 记忆系统。本教程手把手教你把它接进自己的智能体,让 AI 真正记住跨会话的偏好与上下文。

🧠 本教程适合:想给自建 Agent(Python/Node 项目)加上「记忆」的开发者;关心数据隐私、不愿把记忆传到第三方云的人。需要基础编程能力。

先搞懂:长期记忆解决什么问题?

普通对话把历史塞进上下文窗口,窗口一满就丢,会话一关就忘。长期记忆是把重要信息存进外部数据库,下次会话按需取回。

方案优点缺点
纯上下文(无记忆)零成本窗口满即失忆
第三方记忆云服务接入快数据出本地、有合规风险
TencentDB-Agent-Memory本地运行、可检索、开源需自己部署数据库

它不是「把聊天记录全存下来」:好记忆系统会做「抽取—压缩—索引」,只存有价值的事实(用户偏好、关键结论),而不是堆原始对话。否则检索时会淹没在噪声里。

Step 1:准备运行环境

1 装依赖 + 起一个本地库
# 需要 Python 3.10+ 和一个本地向量/关系库
# 官方推荐用本地 SQLite + 向量扩展,零外部依赖
pip install tencentdb-agent-memory

# 确认安装
python -c "import tencentdb_agent_memory; print('ok')"
💡 它的亮点是「完全本地运行,不需要调外部 API」。对金融、医疗、企业内部 Agent 尤其友好——记忆数据不出本机。

Step 2:初始化记忆存储

2 给 Agent 一个「大脑仓库」
from tencentdb_agent_memory import MemoryStore

# 用本地文件做存储(默认 SQLite,可换 PostgreSQL)
store = MemoryStore(
    backend="sqlite",
    path="./agent_memory.db",
    user_id="user_001"     # 每个用户独立记忆空间
)
store.init()   # 首次会建表 / 建索引

务必按 user_id 隔离:多人共用一个 Agent 时,记忆必须按用户分空间,否则 A 的偏好会被错喂给 B。这是隐私和正确性的底线。

Step 3:写入一条记忆

3 让 Agent 学会「记下来」
# 在对话处理完后,抽取事实写入
store.add(
    content="用户偏好用简体中文回复,语气偏简洁。",
    type="preference",          # 偏好类
    importance=0.8              # 重要度,用于检索排序
)

# 也可以存关键结论
store.add(
    content="本次确认项目用 FastAPI + PostgreSQL 技术栈。",
    type="fact",
    importance=0.9
)
🔑 关键技巧:别在每句话后都写记忆。只在「出现稳定偏好 / 关键事实 / 用户纠正」时写,并给 importance 打分。记忆越精炼,检索越准。

Step 4:检索相关记忆喂给模型

4 每次回复前先「回想」
# 新会话开始 / 新消息到来时,先检索
related = store.search(
    query="用户希望我怎么回复他?",
    top_k=5
)
# related 是命中的记忆列表,拼进 system prompt
context = "\n".join(r.content for r in related)
# 把 context 塞进给大模型的提示词
💡 这一步相当于「每次开口前先翻小本本」。检索到的记忆让模型表现得像「记得你」的老搭档,而不是每次重新认识。

Step 5:更新与遗忘(记忆生命周期)

5 记忆也要新陈代谢
# 用户改了偏好 → 更新而非新增重复项
store.update(
    memory_id="xxx",
    content="用户现在偏好英文回复。",
    importance=0.8
)

# 过期信息 → 显式遗忘,避免污染检索
store.forget(memory_id="yyy")

# 或按重要度 + 时间自动清理低价值记忆
store.prune(keep_above_importance=0.3)

不清理的记忆会变成噪音:同一件事反复记、旧结论不删,检索时模型会被矛盾信息搞晕。给记忆设生命周期,定期 prune(修剪)低重要度条目。

Step 6:接进你的 Agent 主循环

6 串成一个会记住你的 Agent
def chat(user_msg):
    # 1. 回想
    mem = store.search(user_msg, top_k=5)
    prompt = build_prompt(user_msg, mem)
    # 2. 调模型
    reply = llm(prompt)
    # 3. 抽取并落库(用个小模型或规则判断要不要记)
    facts = extract_facts(user_msg, reply)
    for f in facts:
        store.add(**f)
    return reply
🔁 这就是「感知—决策—执行—记忆」闭环的最小实现。配合本中心《OpenClaw 记忆系统》《多智能体协作》一起看,你能搭出既有个性又有协作能力的 Agent。

Step 7:隐私与性能避坑

7 把记忆用对、用稳
隐私:
· 敏感字段(身份证/密码)绝不进记忆
· 存储文件权限设为仅当前用户可读
· 多用户严格按 user_id 隔离

性能:
· top_k 控制在 3-8,过多会稀释注意力
· importance 阈值 + prune 定期瘦身
· 量大了再换 PostgreSQL 后端,别一上来就重

核心结论:TencentDB-Agent-Memory 让「会记住用户的 Agent」从大厂专属变成开源可自部署。它本地运行、不调外网,是隐私敏感场景的优选。记住三件事——按用户隔离、只记有价值的事实、定期修剪,你的 Agent 就能从「金鱼脑」进化成「老搭档」。

常见问题速查

你遇到的现象大概率原因 & 解决
检索不到相关记忆写入时 importance 太低或被 prune 掉
记忆串到别人身上没按 user_id 隔离,检查初始化
回复越来越乱top_k 太大或记忆有矛盾,先 prune
想换数据库backend 改 postgresql,配连接串即可