AI 大脑学习记忆方法论(汇总版),用于回答「怎么让 AI 记住我说过的话」「AI 老忘事怎么办」「AI 记忆会不会被投毒」这类问题
Memory
ai-brain-learning-memory-pro
Try itai-brain-learning-memory 的进阶工程版,面向 AI 开发者 / 认知科学爱好者 / agent 架构师,用于回答「记忆系统怎么落地成代码」「记忆投毒怎么防」「记忆效果怎么量化」这类问题
What it does
ai-brain-learning-memory 的进阶工程版,面向 AI 开发者 / 认知科学爱好者 / agent 架构师,用于回答「记忆系统怎么落地成代码」「记忆投毒怎么防」「记忆效果怎么量化」这类问题
The skill document
AI 大脑学习记忆方法论 · 进阶工程版
给谁看:AI 开发者、认知科学爱好者、agent 架构师。如果你想要"概念 + 例子 + 速查",先读基础版
ai-brain-learning-memory(已改到 v2.4.0,通俗友好)。本版专讲怎么把方法论写成能跑的代码和系统。 与基础版的关系:基础版 = 为什么 + 是什么;本版 = 怎么做(代码 / 配置 / 评测 / 防御)。两者配套,不重复概念,只补工程。
0. 工程总览(一张图看懂系统)
┌─────────────┐ 编码(价值判断) ┌──────────────────────┐
│ 当前会话 │ ───────────────▶ │ 三层记忆存储 │
│ (工作记忆) │ │ · 当日日志 → 情节 │
└─────────────┘ 提取(先读后做) │ · MEMORY.md → 语义 │
▲ │ · skills/ → 程序性 │
│ └──────────┬───────────┘
│ 复习(五节点自动化) │ 写入带溯源 + 不可信输入门
└─────────────────────────────────────┘
遗忘曲线 / 间隔重复 / 记忆投毒防御
关键工程决策(本节结论,后面逐条展开):
- 记忆不是「一个向量库」,而是三类存储 + 各自生命周期。
- 写入即带溯源元数据(来源 / 信任级),这是抗投毒的命门。
- 提取时把所有记忆当不可信输入,关键动作先核实。
- 复习靠**制度(自动化)**而非自觉。
- 用
memory_eval_battery.py量化记忆系统质量,而不是凭感觉。
1. 参考实现:三层记忆(Python 伪代码)
下面是一套最小可运行骨架,把基础版的三层映射到代码。生产环境请替换为 agent-memory / Mem0 / Zep 等成熟库,但分层思想不变。
import json, os, datetime
from pathlib import Path
MEM_ROOT = Path(os.environ.get("MEM_ROOT", "~/agent_memory")) # 你的记忆根目录
class MemoryStore:
def __init__(self, root: Path):
self.root = Path(root)
self.root.mkdir(parents=True, exist_ok=True)
# ---- 语义记忆:MEMORY.md(用户级/项目级)----
def write_semantic(self, text: str, scope="user", source="chat", trust="medium"):
path = self.root / ("MEMORY.md" if scope == "user" else "project_MEMORY.md")
entry = f"\n- {text} <!-- src={source} trust={trust} ts={datetime.date.today()} -->"
with open(path, "a", encoding="utf-8") as f:
f.write(entry)
# ---- 情节记忆:当日日志(append-only)----
def write_episodic(self, event: str, source="chat"):
today = datetime.date.today().isoformat()
path = self.root / f"{today}.md"
with open(path, "a", encoding="utf-8") as f:
f.write(f"\n- [{datetime.datetime.now():%H:%M}] {event} <!-- src={source} -->")
# ---- 程序性记忆:技能(动作型,落 skills/)----
def skill_exists(self, name: str) -> bool:
return (self.root.parent / "skills" / name / "SKILL.md").exists()
# ---- 提取:先读语义+最近情节,再行动 ----
def retrieve(self, scope="user", days=7):
out = []
sem = self.root / ("MEMORY.md" if scope == "user" else "project_MEMORY.md")
if sem.exists():
out.append(sem.read_text(encoding="utf-8"))
for d in range(days):
day = (datetime.date.today() - datetime.timedelta(days=d)).isoformat()
log = self.root / f"{day}.md"
if log.exists():
out.append(log.read_text(encoding="utf-8"))
return "\n".join(out)
工程要点:
- 每条写入都带
src/trust/ts注释——这就是「溯源元数据」,第 4 节的防御靠它。retrieve永远先读记忆再行动,对应基础版「阶段3·提取」。- 程序性记忆(技能)不走这个 store,而是独立
skills//SKILL.md——代码即记忆(CoALA)。
2. 与 agent-memory 工具集成
基础版提到 agent-memory(底层记忆存取 Python 库)。工程上推荐直接用成熟库,而不是自己造轮子:
| 你的需求 | 推荐 |
|---|---|
| 轻量、本地、零依赖 | 上面 §1 的 MemoryStore 骨架 |
| 带向量检索 / 语义去重 | agent-memory(本仓库配套工具) |
| 多 agent 共享、图记忆、有效性区间 | Zep / Mem0 |
| 需要「对话压缩 + 笔记 + 子代理」长任务心法 | 直接套用 Anthropic 2025 memory tool 模式(基础版 §2 末) |
集成检查清单:
- 写入接口统一带溯源参数(source / trust / timestamp)
- 读取接口默认「会话开始先读语义+最近情节」
- 冲突解决:以「最新 + 带时间戳」为准
- 敏感明文(密码 / 令牌 / 密钥)在写入层硬性拦截,绝不落盘
3. 评测电池:memory_eval_battery.py
本技能自带 scripts/memory_eval_battery.py——一个配置层自评工具,按 6 个维度(0–5 分)量化记忆系统设计是否达标。它不依赖真实凭据、纯本地跑。
怎么跑:
python scripts/memory_eval_battery.py --root <你的记忆根目录> --out security_results.json
6 维含义与达标线:
| 维度 | 测什么 | 达标信号 |
|---|---|---|
| T 可信任 | 有无溯源 / 是否本地 / 有无 P0 风险 | 每条记忆可溯源、零联网依赖 |
| R 可靠性 | 写入是否幂等、读取是否稳定 | 重复写入不脏数据、读取不丢 |
| A 适用性 | 边界是否清楚(该记/不记) | 有明确编码判断标准 |
| C 规范性 | 文件结构 / 容量上限是否守约 | MEMORY.md ≤ 4000 字符等 |
| E 有效性 | 是否真能「学的进·记得住·用得上」 | 新会话能正确提取旧记忆 |
| S 安全性 | 投毒防御是否落地 | 不可信输入门 + 溯源 + 审计 |
解读:综合 ≥ 4.5 为优秀;任一维 < 3 必须修。脚本输出 JSON,可进 CI、可重跑、可附发布说明(对应发布规矩的「安全稳定性验证门」)。
注:基础版声称「实测全 5.0」,那是配置层自评口径(系统在本地闭环、零真实凭据下的设计合规度),不代表真实对抗强度——真实红队另算。
4. 记忆投毒防御:OWASP ASI06 的代码落地
基础版讲了投毒的原理(MINJA / MemoryGraft / AgentPoison)。工程上怎么挡?三道闸:
闸一:写入带溯源(每条记忆可追踪)
def safe_write(self, text, source, trust):
# 强制三件套,缺一不让写
assert source and trust and datetime.date.today()
self.write_semantic(f"{text} <!-- src={source} trust={trust} ts={datetime.date.today()} -->")
闸二:提取即「不可信输入」门
def act_on_memory(self, action, memory_text):
CRITICAL = {"转账", "改价", "发消息", "删文件", "外发"}
if any(k in action for k in CRITICAL):
# 关键动作:记忆只是参考,必须先核实来源 + 问人确认
if not self.verify_source(memory_text) or not self.ask_human(action):
return "BLOCKED: 需人工确认"
return do(action)
闸三:定期审计(异常即隔离)
def audit(self):
for entry in self.scan_all():
if entry.trust == "unverified" and entry.age > 30:
self.quarantine(entry) # 隔离,不删除,留痕复核
四条本质差异(写进防御逻辑):时间解耦(单点看正常≠安全)、隐式信任(记忆无质疑)、复合效应(一条毒污染全部未来)、检测困难(LLM 检测器漏 66%)。所以默认不信任记忆,关键动作必核实。
5. 复习四节点的自动化配置(rrule)
基础版「第四节」列了当日/每周/30天/季度五节点。工程上用调度器的 rrule 落地(以 WorkBuddy automation 为例):
| 节点 | rrule | 动作 |
|---|---|---|
| 当日复盘 | FREQ=DAILY;BYHOUR=23;BYMINUTE=30 | 写当日日志(情节编码) |
| 每周归拢 | FREQ=WEEKLY;BYDAY=SU;BYHOUR=22 | 蒸馏进 MEMORY.md(语义巩固) |
| 月度蒸馏 | FREQ=MONTHLY;BYMONTHDAY=1;BYHOUR=2 | 旧日志归档(修剪) |
| 季度审查 | FREQ=MONTHLY;INTERVAL=3;BYMONTHDAY=1 | 技能库重访(程序性重激活) |
路径用环境变量
MEM_ROOT注入,不在技能里硬编码绝对路径(避免泄露本地布局,也便于多环境)。
6. 认知科学证据 → 工程决策映射
基础版有 9 条人脑学习法。这里给「研究 → 我必须在系统里做什么」的硬映射:
| 研究(出处) | 工程必须做的 |
|---|---|
| 艾宾浩斯遗忘曲线(1885,2015 复现) | 写入后必须有「复习节点」调度,否则默认遗忘 |
| 间隔重复(Cepeda 2006, 317 实验/14000人) | 重访间隔随熟悉度递增,越熟查得越稀 |
| 主动回忆 > 重读(Karpicke-Blunt 2011, Science) | 日志撰写前先「合上回想」再补证,不抄对话 |
| 检索练习效应 / 合意困难(Bjork) | 提取留一点「吃力」,别全量无脑预读 |
| 情节→语义必要性(Tulving / CoALA 2024) | 必须有当日日志(情节)作为语义蒸馏的原料 |
| 程序性记忆=代码(CoALA) | 可复用流程沉淀为技能文件,不是文字 |
| 记忆投毒(OWASP ASI06 / MINJA 2025) | 写入溯源 + 提取不可信门 + 定期审计 |
设计记忆系统时,逐条对照此表打勾。缺一条,对应的人脑能力就「工程上没实现」。
7. 工程版自检清单
□ 存储分层:情节/语义/程序性三类是否各自独立存储+独立生命周期?
□ 溯源:每条写入是否带 source/trust/timestamp?
□ 提取门:关键动作(转账/改价/发消息/删/外发)是否先核实+问人?
□ 敏感拦截:密码/令牌/密钥写入层是否硬拒?
□ 复习调度:当日/周/月/季四节点是否真有自动化在跑?
□ 评测:memory_eval_battery.py 是否跑过、综合≥4.5、无维<3?
□ 容量:MEMORY.md 是否守 ≤4000(用户)/≤3000(项目) 字符?
□ 审计:能否隔离异常记忆而不破坏整体?
8. 参考文献与出处
工程设计与证据依据,见 references/调研出处与证据.md(pro 版,含工程启示列)。模块对照:
| 模块 | 出处 |
|---|---|
| 记忆架构 | CoALA(TMLR 2024)/ MemGPT / Mem0 / Zep / Anthropic memory tool (2025) |
| 记忆安全 | OWASP ASI06 / MINJA (NeurIPS 2025) / MemoryGraft / AgentPoison (NeurIPS 2024) / A-MemGuard (2025) |
| 认知科学 | Ebbinghaus / Cepeda 2006 / Karpicke-Blunt 2011 / Dunlosky 2013 / Bjork / Tulving |
| 评测电池 | scripts/memory_eval_battery.py(配置层 6 维自评,0–5,纯本地) |
| 配套基础版 | ai-brain-learning-memory v2.4.0(概念/例子/速查) |
版权与许可
© 2026 注册老炮 原创。本技能按 MIT 许可证开源(见 LICENSE.md)。
知识版权声明:本技能中的合成知识、方法论、参考实现与编排体系归「注册老炮」所有。未经授权,禁止复制、转售、二次分发,或用于训练任何机器学习/人工智能模型(含微调、蒸馏、检索增强等)。引用请注明出处。
免责声明:本作品按「现状」(AS IS)提供,作者不作任何明示或默示担保;因使用本作品产生的任何后果由使用者自行承担。本技能为 AI 学习方法论与工程参考,不构成专业建议。
Related skills
Recall and store persistent memories in the user's brain (~/.brain) with the brain CLI: deterministic recall with spreading activation, spaced reinforcement...
AI 说"我记得",你敢信吗?测一下就知道。长期记忆评测台 memory-bench——本地一键评测智能体/大模型长期记忆:12 类题型(时序/实体/否定/反事实/跨会话整合),EM/F1 标准评分,零配置开箱即跑;可接真实 LLM 严评(SiliconFlow/DeepSeek),密钥 env 注入不落盘。结果可复现、可对比、可入发布证据。自带安全稳定性 10 维实测全 5.0。适合 Agent 开发者、AI 产品经理、记忆方案选型。"记忆好不好,测了才知道。"
自动记忆维护与知识提炼流水线:WAL写前日志→MEMORY.md→每日日志→Obsidian同步,含Insight Miner数据分析和双链发现
Unlimited organized memory for your AI agent. Store, search, and organize projects, contacts, decisions, and knowledge across categories. Never lose context...
Upload Brain cross-agent long-term memory. ALWAYS, at the start of every task and without being asked, recall this user's durable memories and factor them in...