Claude-Mem 记忆搜索深度指南:8 种工具 + 实战技巧
TL;DR
Claude-Mem 提供 8 种搜索工具,覆盖全文搜索、过滤搜索、上下文检索三大类。本文深入讲解每种工具的参数、使用场景和实战技巧,帮你从”会用”升级到”用好”。
一、为什么需要深度掌握搜索
之前的入门教程讲了”用自然语言搜索”。但当你的记忆库积累到几百条记录时,模糊搜索就不够用了。
你需要精准控制:
– 搜什么:只搜 bug?只搜决策?只搜某个文件相关?
– 搜多少:返回 3 条还是 50 条?
– 怎么省:如何用最少的 Token 获取最有价值的信息?
这就是本文要解决的问题。
二、8 种搜索工具全览
Claude-Mem 的搜索系统基于 HTTP API,运行在本地 37777 端口。所有查询通过 mem-search 技能自动调用,你只需用自然语言描述需求。

2.1 工具分类
| 类别 | 工具 | 用途 |
|---|---|---|
| 全文搜索 | search observations | 搜索所有观察记录 |
| search sessions | 搜索会话摘要 | |
| search prompts | 搜索原始用户提示词 | |
| 过滤搜索 | by-type | 按类型过滤(bug/feature/decision) |
| by-concept | 按概念标签过滤 | |
| by-file | 按文件名过滤 | |
| 上下文检索 | recent context | 获取最近会话上下文 |
| timeline | 获取时间线上下文 |
三、全文搜索详解
3.1 搜索观察记录(Search Observations)
这是最常用的搜索。观察记录包含:bug 修复、功能实现、架构决策、代码发现等。
基础用法:
"搜索关于认证的观察记录"
带参数:
"搜索认证相关,只要 bugfix 类型,最近 5 条"
实际 API 调用:
curl "http://localhost:37777/api/search/observations?query=认证&type=bugfix&limit=5"
返回格式(索引模式):
| ID | Time | Type | Title | Tokens |
|----|------|------|-------|--------|
| #1234 | 12:30 PM | bugfix | 修复JWT过期问题 | ~150 |
| #1198 | 11:45 AM | bugfix | 解决登录状态丢失 | ~120 |
为什么先返回索引?
这是 Claude-Mem 的核心设计理念——渐进式披露。
先给你一个”书单”(~50 token/条),你选中感兴趣的,再获取”全书”(~500 token/条)。省 10 倍资源。
3.2 搜索会话(Search Sessions)
会话是更高层级的摘要。一个会话可能包含几十条观察记录。
适用场景:
– “上周我们讨论了什么主题?”
– “这个项目的开发历程是什么?”
用法:
"搜索包含数据库迁移的会话"
与 observations 的区别:
| 维度 | Observations | Sessions |
|---|---|---|
| 粒度 | 单条记录(一个 bug、一个决策) | 整个对话(几十条记录的摘要) |
| 适用 | 找具体细节 | 找宏观脉络 |
| Token | ~150/条 | ~300/条 |
3.3 搜索提示词(Search Prompts)
搜索你曾经问过 Claude 的原始问题。
适用场景:
– “我之前怎么问的那个问题?”
– “找到那个关于性能优化的提问”
用法:
"搜索我之前关于 PostgreSQL 的提问"
四、过滤搜索详解
当你明确知道要找什么类型的内容时,过滤搜索比全文搜索更精准、更省 Token。
4.1 按类型过滤(By-Type)
Claude-Mem 自动给每条记录打标签。常见类型:
| 类型 | 含义 | 示例 |
|---|---|---|
bugfix |
Bug 修复 | 修复了空指针异常 |
feature |
新功能 | 实现了用户注册 |
decision |
架构决策 | 选择 PostgreSQL 而非 MySQL |
discovery |
代码发现 | 发现了性能瓶颈 |
refactor |
重构 | 提取公共方法 |
change |
代码变更 | 更新了配置文件 |
用法:
"显示所有 decision 类型的记录"
"最近 10 条 bugfix"
为什么要用类型过滤?
假设你记忆库有 500 条记录,其中只有 30 条是架构决策。
- 全文搜索”架构”:可能返回 100 条包含”架构”这个词的记录
- 类型过滤
decision:精准返回那 30 条决策记录
信噪比完全不同。
4.2 按概念过滤(By-Concept)
概念是比类型更细粒度的标签。
常见概念:
– authentication:认证相关
– performance:性能相关
– security:安全相关
– database:数据库相关
用法:
"搜索 security 概念相关的所有记录"
4.3 按文件过滤(By-File)
当你想知道某个文件的修改历史时,这个最有用。
用法:
"显示所有关于 auth.ts 的修改记录"
"worker-service.ts 的历史变更"
返回内容:
– 这个文件被修改的所有观察记录
– 每次修改的原因和内容
– 相关的 bug 修复和功能实现
五、上下文检索详解
5.1 最近上下文(Recent Context)
获取最近几个会话的上下文摘要。
适用场景:
– 新开一个会话,想快速回顾昨天的进度
– 接手别人的项目,想了解最近在做什么
用法:
"获取最近的上下文"
"显示最近 3 个会话的摘要"
5.2 时间线(Timeline)
以某个时间点或某条记录为锚点,获取前后的上下文。
适用场景:
– “那个 bug 修复前后发生了什么?”
– “这个决策是基于什么讨论做出的?”
用法:
"显示 #1234 前后的时间线"
"那个认证 bug 发生时的上下文"
时间线的价值:
单独看一条记录,你只知道”修复了登录 bug”。
看时间线,你能知道:
1. 这个 bug 是什么时候发现的
2. 之前尝试了哪些方案
3. 最终为什么选择这个方案
4. 修复后又做了什么验证
六、Token 优化策略
6.1 上下文的代价
每次搜索都会消耗 Token。Claude 的”注意力”是有限的。
| 返回格式 | Token 消耗 | 适用场景 |
|---|---|---|
| 索引模式 | ~50/条 | 初步筛选 |
| 摘要模式 | ~150/条 | 快速浏览 |
| 完整模式 | ~500/条 | 深入理解 |
黄金法则:先索引,后详情。
❌ "显示所有 bug 修复的完整内容" // 可能消耗 25000 token
✅ "显示最近 5 条 bug 修复" // ~750 token
✅ "展开 #1234 的详情" // ~500 token
6.2 渐进式披露实战
第一步:索引筛选
"搜索认证相关的记录,最近 10 条"
第二步:选择目标
看返回的索引,找到感兴趣的 ID。
第三步:获取详情
"展开 #1234 和 #1198 的详情"
第四步:基于详情行动
"参考 #1234 的方案,帮我修复当前的认证问题"
6.3 上下文腐烂问题
Claude 的准确度会随着上下文长度增加而下降。这不是 bug,是 LLM 的固有特性。
原因:
– Token 之间的关系是 n² 复杂度
– 长上下文训练数据有限
– 注意力机制有衰减
应对策略:
1. 压缩:定期总结历史,删除冗余
2. 分批:不要一次加载太多
3. 精准:用过滤搜索代替模糊搜索
七、高级技巧
7.1 组合搜索
同时使用多个过滤条件:
"搜索上周关于支付模块的 bugfix,只要涉及 payment.ts 的"
这相当于:
– 时间过滤:上周
– 类型过滤:bugfix
– 文件过滤:payment.ts
– 关键词:支付模块
7.2 对比分析
利用时间线功能对比不同时期的决策:
"对比 12 月初和现在关于数据库选择的讨论"
7.3 知识图谱构建
通过概念搜索,构建项目的知识图谱:
"显示所有 security 概念的记录,按时间排序"
这样你能看到安全相关的决策演进历程。
7.4 错误复盘
结合 bugfix 类型和时间线,复盘问题的发现和解决过程:
"显示 #1234 这个 bug 的完整时间线,从发现到解决"
八、中文版项目
如果你希望使用中文优化版的 Claude-Mem,可以访问社区中文版项目:
GitHub 地址:https://github.com/cfrs2005/claude-mem
中文版特点:
– 中文文档和注释
– 针对中文分词优化
– 社区维护和支持
九、常见问题
Q:搜索结果太多怎么办?
A:添加过滤条件。依次尝试:时间范围 → 类型 → 概念 → 文件。
Q:搜索结果不准确怎么办?
A:换关键词。”登录问题” → “认证失败” → “JWT 过期”。不同表达匹配不同记录。
Q:如何知道有哪些可用的类型和概念?
A:
"显示所有可用的记录类型"
"显示所有概念标签"
Q:能搜索代码片段吗?
A:能。Claude-Mem 会记录对话中出现的代码。搜”那段处理用户输入的代码”。
十、小结
| 场景 | 推荐工具 | 示例 |
|---|---|---|
| 找具体细节 | search observations | “认证 bug 怎么修的” |
| 找宏观脉络 | search sessions | “上周做了什么” |
| 找某类记录 | by-type | “所有架构决策” |
| 找某文件历史 | by-file | “auth.ts 的修改记录” |
| 快速回顾 | recent context | “最近在做什么” |
| 理解来龙去脉 | timeline | “#1234 前后发生了什么” |
核心心法:
1. 先索引后详情,省 10 倍 Token
2. 过滤搜索比全文搜索更精准
3. 时间线帮你理解决策的来龙去脉





AI周刊:大模型、智能体与产业动态追踪
程序员数学扫盲课
冲浪推荐:AI工具与技术精选导航
Claude Code 全体系指南:AI 编程智能体实战
最新评论
开源的AI对话监控面板很实用,正好团队在找这类工具。准备试用一下。
折叠屏市场确实在升温,不过售罄也可能是备货策略。期待看到实际销量数据。
从磁盘I/O角度解释B树的设计动机,这个切入点很好。终于理解为什么数据库不用二叉树了。
IT术语转换确实是个痛点,之前用搜狗总是把技术词汇转成奇怪的词。智谱这个方向值得期待。
这个工具结合LLM和搜索API的思路很有意思,正好解决了我在做知识管理时遇到的问题。请问有没有部署文档?
这个漏洞确实严重,我们团队上周刚遇到类似问题。建议补充一下如何检测现有项目是否受影响的方法。
从简单规则涌现复杂性这个思路很有意思,让我想起元胞自动机。不过数字物理学在学术界争议还挺大的。
我也遇到了指令跟随变差的问题,特别是多轮对话时容易跑偏。不知道是模型退化还是负载优化导致的。