CtrlK
BlogDocsLog inGet started
Tessl Logo

memory-search-best-practices

记忆系统多刀检索 + recall coverage 策略(8 类题型 recipe)。 Use when: 任务是 "哪些地方提过 X" / "X 的来源 / source map" / "有没有提过 Y / absence check" / "上次到现在变了什么 / delta" / 冷启动 onboard 复杂主题 / 任何召回任务搜了一刀觉得不够。 Not for: 只是选哪个入口走第一刀(用 memory-navigation)/ 已知精确 anchor 单 Read(直接 Read)/ 代码符号查(Grep/LSP)/ 新功能开发(不是 recall 任务)。 Output: 多 query 多 scope 召回 union 结果 + coverage matrix(item/source/谁提到/直接 vs 间接)+ "何时停下来"判据。 GOTCHA: 和 memory-navigation 互补不重叠 — memory-navigation 决定**第一刀走哪个工具**(search vs graph vs list_recent),本 skill 决定**要不要补刀 + 题型对应几刀几路 + 何时停**。Ragdoll家族(含 47/46/4.5/sonnet)必加载:治 magic word "我能猜出来 / 碎片够了 / 1 刀够了"病。

72

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Memory Search Best Practices(多刀检索 + 全集召回)

单刀 top-k 不是全集;recall 任务需要 multi-query union + Read 原文 + 知道何时停。

核心命题

Query expansion 由 agent 做,不是系统做(KD-8 同源:dumb system + smart agent):

  • 系统不知道 "AUDHD" 在我们家关联 sensory gating / 2e / RSD / PDA — 那是领域知识
  • Agent(LLM)有领域知识,但经常觉得"够了"就停(Ragdoll家族尤甚——2026-05-17 dogfood 实证:三猫搜同题各拿 10 条,全集需三猫合)
  • 解法:教 agent 题型对应 recipe + 何时停下来判据,不在系统层加黑盒 expansion

8 类题型 → recipe

题型例 queryRecipe(≥几刀几路)关键
是什么"F200 是什么"1 刀:search_evidence(query, hybrid, scope=docs) + Read top doc单刀够用
周边关系"F200 关联什么"1 刀:graph_resolve(anchor, depth=1, relations=[feature_ref,related_to])配 relations filter 防 hub 爆炸
决策考古"为什么当时选 X 而不是 Y"graph_resolve(anchor) → Read ADR/spec → 抽 thread anchor → get_thread_context 看原话必 Read ADR 原文 + thread 原话
冷启动 onboard"新猫接手 F200 要知道什么"docs(hybrid) + graph + trajectories + Read spec三入口全用
coverage 全集"哪些地方提过 X"≥3 刀:docs/hybrid + threads/semantic + agent expand 同义/缩写/中英二轮 + graph_resolve 命中 anchor 后追 source threads + union dedup不是单 top-k;agent 自己 expand
source-map / provenance"X 这个想法的源头是哪个 thread"canonical doc 命中后从文档抽 source thread ids → get_thread_context Read 原文canonical doc 自带 provenance link,跟着走
absence check"我们提过 Y 没有"正反两路:search(Y) + search(Y 相关概念/反义) 都 0 命中才算 absent单刀 0 命中不等于不存在
delta"上次到现在 X 变了什么"list_recent(scope=threads, since=N天) + 对比 graph 邻居增减 + Read 关键 diff。压缩恢复子场景起手:先看 TodoWrite + session digest 拿到"上次已知状态" → 再 list_recent 补增量(46 review P3 补)时间窗口 + 增量视角

AUDHD coverage 案例 5 步 recipe(operator真实任务)

1. search_evidence("audhd adhd asd", hybrid, scope=docs, limit=10)
   → 命中 user_audhd_crossdomain + audhd-self-observation/ 三件套 + F085/F195/F196/F169
2. search_evidence("audhd adhd asd", semantic, scope=threads, limit=10)
   → 命中 5 个直接 thread
3. Agent 用领域知识 expand(不让系统猜):
     audhd → sensory gating / 2e / RSD / PDA / hyperfocus / 倦怠 / 梦境 / 自闭 / 多动 / 神经多样性
   对每个二轮搜(中文一遍 + 英文/缩写一遍)
4. Read top canonical doc (landy-audhd-operating-manual.md)
   → 从文档抽 source thread ids → 二轮 get_thread_context Read 原文
5. 输出 coverage matrix(item / source / 谁提到 / 直接 vs 间接 / 置信度)

Ragdoll家族专属警告(治"碎片够了"病)

operator experience:"Ragdoll太聪明太自信,搜到足够推理就不搜了"。

Magic words 强制停(触发就拉刹车):

  • "我能猜出来" → 停,Read 源文件。摘要是索引不是答案
  • "碎片够了" → 停,至少再搜一轮不同角度,doc anchor 全部 Read 原文
  • "应该是 X" / "大概知道" → 不算搜过,必须 ≥3 路真搜 + Read

任何召回任务铁律

  • ≥3 路命中无新 anchor 才停(不是"找到第一个 high confidence 就停")
  • 高置信命中 → 必 Read 原文(不止步摘要)
  • 跨语言至少两遍(中文一遍 + 英文/缩写一遍)

何时停下来判据

题型停止条件
是什么 / 周边关系1 刀命中高置信 doc + Read 完即停
决策考古ADR + ≥1 个 thread 原话 Read 完即停
冷启动三入口 + spec Read 完 + 列 question 清单即停
coverage 全集≥3 路 + agent expand 二轮 + Read canonical → 无新 anchor 出现 才停
source-mapcanonical doc 列出的 source thread 全部 Read 完即停
absence正反两路 + ≥1 个相关概念都 0 命中即可断言 absent
delta时间窗口扫完 + 邻居增减列出即停

Common Mistakes

错误后果修复
单刀 search → 拿摘要推理 → 直接答漏全集(AUDHD 实证:每猫拿 10 条但全集需三猫合)coverage 题型 ≥3 路 + 必 Read 原文
觉得 "我能猜出来" 不搜了Ragdoll家族病,输 dogfood 比赛当 magic word 拉刹车,强制 ≥3 路
让系统 expand "AUDHD→10 个词"黑盒推理,污染(KD-8 违例)Agent 自己 expand(用 LLM 领域知识 + 可解释)
跨语言只搜英文中文文档漏中英各搜一遍
canonical doc 命中后不追 source threadsource-map / provenance 残缺doc 内的 thread id / wikilink 全 Read
单刀 0 命中就断 absent假阴性(可能用别的措辞写了)正反两路 + 相关概念都搜
list_recent(scope=docs) 当全集用DF-1 已知 docs scope timestamp 失真 / 被 global:memory 淹coverage 任务别只靠 list_recent,配 search+graph
把 memory-navigation 和本 skill 混淆重复或漏memory-navigation 选第一刀;本 skill 决定补刀策略

和其他 Skill 的区别(防误触发)

Skill干什么何时用
memory-search-best-practices(本 skill)多刀检索 + 题型 recipe + 何时停召回任务、coverage、source-map、delta、absence
memory-navigation第一刀走哪个工具 + 噪音控制 + 入口决策树不知道用哪个入口
debuggingbug 根因调查遇到 bug 而非 recall
cross-cat-handoff找别的猫问自己搜不到求助队友

关系:memory-navigation 决定第一刀走哪个工具;本 skill 决定要不要补刀 + 题型对应几刀几路 + 何时停。先用 memory-navigation 选入口,再用本 skill 决定后续。

链入下一步

  • 找到决策后想立项 → feat-lifecycle
  • 找到 bug 线索 → debugging
  • 找到 thread 后想看原文 → cat_cafe_get_thread_context
  • 找到一个有意思的方向想跨猫讨论 → collaborative-thinking

相关

  • Spec: docs/features/F200-memory-recall-eval.md v1.2 SW-1
  • Related: memory-navigation(前置入口决策) / cat-cafe-skills/refs/memory-routing-partial.md
  • 触发案例: operator AUDHD recall 任务(2026-05-17)暴露三猫搜出不同子集,催生本 skill
Repository
zts212653/clowder-ai
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.