save_memory 实战:用 MCP 工具让 Claude 自动沉淀对话知识
详细介绍 KnowMine 三层 AI 记忆架构(Trace→Memory→Soul)和三个 MCP 工具的使用方法:save_memory 保存知识结晶、recall_memory 语义搜索历史记忆、get_soul 导出用户画像。
为什么 AI 对话的价值在流失?
每次和 Claude、ChatGPT 对话,你可能产出了很多有价值的内容:一个关键技术决策、一个产品方向的顿悟、一个踩坑后总结的经验教训。但对话结束后,这些内容消失在历史记录的洪流中,下次需要时根本找不到。
KnowMine 的 AI 记忆系统通过 MCP(Model Context Protocol)协议,让 Claude Code 等 AI 工具在对话中自动识别并保存知识结晶。本文介绍三个核心 MCP 工具的使用方法。
三层记忆架构一览
在深入工具之前,先理解 KnowMine 的三层记忆设计:
┌─────────────────────────────────────────────┐
│ Layer 3: Soul(灵魂档案) │
│ ▸ 用户画像:角色、专业背景、知识图谱 │
│ ▸ 思维模式:决策风格、学习偏好 │
│ ▸ 可导出为 System Prompt,用于任何 AI 平台 │
├─────────────────────────────────────────────┤
│ Layer 2: Memory(结构化记忆) │
│ ▸ 5 种类型:decision/insight/lesson/ │
│ preference/domain_knowledge │
│ ▸ 向量化存储,支持语义搜索 │
│ ▸ 0.90 相似度去重,强化不新建 │
├─────────────────────────────────────────────┤
│ Layer 1: Trace(对话痕迹) │
│ ▸ 轻量对话片段快照 │
│ ▸ 60 天后自动清理 │
│ ▸ 可追溯记忆来源 │
└─────────────────────────────────────────────┘
Layer 2(Memory)是核心——日常对话中最常用的层。Layer 3(Soul)是 Phase 2 功能,在你积累足够多的记忆后自动生成。
工具一:save_memory — 保存知识结晶
基本用法
save_memory 是 AI 在对话中主动调用的工具,也可以手动触发:
参数:
- content (必填) 要保存的内容,应是完整的独立陈述
- memory_type (必填) 记忆类型之一:
decision 决策及原因
lesson 经验教训/踩坑记录
insight 洞察/灵感
preference 用户偏好
domain_knowledge 领域专业知识
- context (可选) 触发这条记忆的对话背景
- platform (可选) 来源平台:claude/chatgpt/claude_code/cursor
- tags (可选) 标签,不填则 AI 自动打标
- confidence (可选) 置信度 0-1,默认 0.8
五种记忆类型详解
decision(决策) — 保存技术选型、产品决策及其原因
save_memory(
content="选择 Drizzle ORM 而非 Prisma,核心原因是 Prisma 在 Serverless
环境下有 2-3 秒冷启动延迟,严重影响用户体验",
memory_type="decision",
context="KnowMine 后端 ORM 选型讨论",
platform="claude_code"
)
返回:{"action":"created","message":"记忆已保存 → 文件夹: 🔧 开发笔记"}
lesson(经验教训) — 记录踩坑经历,防止重蹈覆辙
save_memory(
content="使用阿里云 OSS SDK V1 时遭遇坑:该版本没有 go.mod,
不符合 Go 模块规范,需要大量 hack 才能使用。
应优先使用官方 V2 SDK(alibabacloud-oss-go-sdk-v2)",
memory_type="lesson"
)
insight(洞察) — 捕捉灵感和跨领域联想
save_memory(
content="知识管理系统的真正价值不在于保存,而在于在正确时机浮现——
就像 GPS 不是地图,而是知道你现在在哪,下一步该去哪",
memory_type="insight"
)
preference(偏好) — 记录工作方式和个人偏好
save_memory(
content="喜欢简洁代码风格,遵循 YAGNI 原则。
三行相似代码好过一个提前的抽象,不为假设的未来需求设计",
memory_type="preference"
)
domain_knowledge(领域知识) — 沉淀专业理解
save_memory(
content="pgvector 向量搜索中,余弦相似度阈值设置:
>0.95 几乎确定重复内容,
0.85-0.95 高度相关但有差异,
0.70-0.85 语义相关,
<0.70 主题不同",
memory_type="domain_knowledge"
)
智能去重机制
KnowMine 对每条新内容生成向量 embedding,与已有的 source='ai_memory' 记忆做余弦相似度对比。相似度 ≥ 0.90 时,不新建记忆,而是强化已有记忆:
第一次保存:"选 Drizzle,因为 Prisma 冷启动慢"
→ action: "created",创建新记忆
第二次保存:"Drizzle 比 Prisma 好,serverless 冷启动优化"
→ 相似度 0.93 ≥ 0.90
→ action: "reinforced",强化已有记忆,不新建
反馈:{"action":"reinforced","message":"已有类似记忆,已强化 (相似度: 93%)"}
这防止了知识库的碎片化——同一个决策被反复提及时,权重增加而非条目增加。
工具二:recall_memory — 语义搜索历史记忆
基本用法
recall_memory 使用向量语义搜索,不需要精确匹配关键词:
recall_memory(
query="我之前对数据库选型有什么决策?",
memory_type="decision", // 可选,按类型过滤
top_k=5 // 返回数量,默认5
)
返回:{
"count": 2,
"memories": [
{
"id": "...",
"content": "选择 Drizzle ORM 而非 Prisma...",
"memoryType": "decision",
"score": 0.87,
"createdAt": "2026-03-14"
}
]
}
搜索技巧
不需要精确关键词,用自然语言提问:
# 好的查询方式
"有哪些踩坑经验需要注意?"
"我对代码风格有什么偏好?"
"关于 pgvector 我知道哪些知识?"
"之前讨论过哪些产品方向决策?"
# 也支持英文查询(跨语言语义搜索)
"what database decisions did I make?"
"any lessons learned about ORM selection?"
语义搜索意味着即使你用中文保存、英文查询,或者用不同的表述,也能找到相关记忆。
工具三:get_soul — 导出用户画像
两种输出格式
format='full' — 返回结构化 JSON 画像(Phase 2 功能,积累 20+ 记忆后生成):
{
"status": "ok",
"soul": {
"profile": {
"role": "全栈开发者",
"expertise": ["Next.js", "PostgreSQL", "AI工程"]
},
"thinkingPatterns": {
"decisionStyle": "数据驱动,重视实际性能测试结果",
"learningStyle": "边做边学,倾向于实际项目中验证理论"
},
"interactionPreferences": {
"detailLevel": "适度详细,倾向结论先行",
"responseStyle": "直接,避免废话"
}
}
}
format='system_prompt' — 返回可直接使用的 System Prompt 文本:
get_soul(format="system_prompt")
返回一段文本,可以粘贴到任何 AI 平台的 Custom Instructions:
"你正在与一位全栈开发者对话。他使用 Next.js 15 + Drizzle + Neon 构建 SaaS,
偏好 YAGNI 原则,对 Serverless 性能敏感。重要决策记录:..."
典型使用场景
- 开启新对话时:
get_soul()获取用户画像,让 AI 立刻进入"懂你"状态 - 切换 AI 平台时:
get_soul(format='system_prompt')导出文本,粘贴到新平台 - 团队协作时:分享 Soul 文件,让团队成员快速了解你的工作方式
自动分类:记忆保存到对应文件夹
KnowMine 根据 memory_type 自动将记忆分类到预设文件夹,无需手动整理:
| memory_type | 自动分类到 |
|---|---|
| decision, lesson | 🔧 开发笔记 |
| insight | 💡 灵感洞察 |
| domain_knowledge | 📖 学习资料 |
| preference | 📌 随手记 |
6 个预设文件夹(开发笔记、灵感洞察、产品与市场、学习资料、反思总结、随手记)在账户创建时自动生成,开箱即用。
在 Claude Code 中使用
将 KnowMine 配置为 MCP 服务器后,Claude Code 会在对话中自动判断何时应该保存记忆。典型触发场景:
- 做出技术选型决策后 → 自动调用
save_memory(memory_type='decision') - 遇到并解决了一个 bug → 自动调用
save_memory(memory_type='lesson') - 提出有洞察性的观点 → 自动调用
save_memory(memory_type='insight')
你也可以明确要求:"记住这个决策" / "把这个保存到记忆库" — Claude 会立刻调用工具。
为什么选择 KnowMine 而非 Claude 自带记忆?
| 能力 | Claude 内置记忆 | KnowMine AI 记忆 |
|---|---|---|
| 数据主权 | 存在 Anthropic 服务器 | 存在你自己的数据库 |
| 跨平台 | 仅 Claude.ai | 任何 MCP 支持的 AI |
| 搜索能力 | 有限 | 向量语义搜索 |
| Web UI 管理 | 无 | 完整的 Web 界面 |
| 导出 System Prompt | 无 | 一键生成 |
| 自定义分类 | 无 | 6个预设+自定义文件夹 |
连接 KnowMine MCP,开始积累你的 AI 记忆 → knowmine.app