llm-wiki wiki · concepts 2026-05-12

把 LLM 当"信息浓缩器"而不是"问答器"——压缩 token 成本换后续检索效率。

claude-mem 的架构验证的核心设计哲学。

反直觉之处

大多数 AI 应用把 LLM 当作问答接口——用户提问 → LLM 直接回答。

claude-mem 反过来用:LLM 不面向用户,而是后台默默地把噪声日志压成结构化事实

噪声大的 tool log(数千 token)
   ↓ LLM 压缩(一次性成本)
结构化 Observation(百级 token)
{
  facts: ["修复了 ingest workflow 中的 wikilink 漏抽问题"],
  concepts: ["wiki maintenance", "link integrity"],
  filesModified: ["wiki/concepts/xxx.md"]
}
   ↓
向量库 + FTS5 双索引
   ↓
后续 N 次会话检索(持续收益)

经济学逻辑

维度 不压缩 压缩后
一次性成本 0 一次 LLM 调用(~$0.001 用 Haiku)
每次检索 token 数千(全文) 数百(结构化摘要)
检索精度 低(关键词匹配噪声) 高(concepts 字段)
跨会话复用 难(全文太长) 易(短小可拼)

核心洞察:压缩是一次性付费、永久收益的操作。每多一次检索,回报就翻一倍。

为什么便宜模型够用

压缩任务的特点:

→ Claude Haiku / Gemini Flash 完全胜任,成本可压到主模型的 1/10。

claude-agent-sdk 的 multi-provider 抽象就是为此而生。

输出 Schema 设计

不要让 LLM 自由发挥,必须给定 schema:

{
  title: string,              // 一句话标题(用于 search 摘要层)
  narrative: string,          // 叙述(用于详情层)
  facts: string[],            // 离散事实(可索引)
  concepts: string[],         // 抽象标签(用于预检索)
  filesRead: string[],
  filesModified: string[]
}

每个字段都对应某一层检索使用——schema 设计直接决定后续检索能力。

可迁移性

任何"AI Agent + 长期存储"场景都该考虑:

参考