2025-12-24 · 实战
32
实战 · 2025-12-24

Claude-Mem 记忆搜索深度指南:8 种工具 + 实战技巧

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 条是架构决策。

信噪比完全不同。

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. 时间线帮你理解决策的来龙去脉


参考链接

目录 最新
← 左侧翻上一屏 · 右侧翻下一屏 · 中间唤出菜单