下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-tbfgvmd2--layered-kb.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-tbfgvmd2/layered-kb。把散乱资料建成「索引层 + 内容层」,让 AI 找得准、又不炸上下文
阅读全文 (展开查看完整说明)
概述
给 AI 建一层「索引 + 内容」的知识库 —— 资料再多也找得准,不会把上下文撑爆。
(方法名:分层知识库 / Layered Knowledge Base)
一句话:把「全塞进去」换成「先看目录,再取那几页」。
一、先说清楚问题(不讲透这层,后面全是白搭)
1.1 直接全量塞给 AI —— 三条都会挂
| 问题 | 后果 |
|---|---|
| 上下文有硬上限 | 资料一多就爆;爆了不是"变慢",是回答出错或直接失败 |
| 每次都全量加载 = 每次都付费 | 哪怕用户只问一句话,也要为全部无关内容买单 |
| ⚠️ 信噪比塌陷 | 内容越多,AI 越容易抓错重点、把旧结论当新结论 —— 这是最容易被忽略的一条 |
1.2 那"只丢给 AI 一个文件夹"行不行?—— 也不行
AI 不知道该读哪个 ⇒ 要么瞎猜(读错文件),要么全读(回到 1.1)
核心矛盾:既要 AI 找得到,又要它别多读。
二、解法:分成两层
项目/
├── AGENT.md ← 规则(见 §五)
├── knowledge/ ← 【索引层】全量加载 · 有容量上限
│ └── INDEX.md
└── memory/ ← 【内容层】按需加载 · 无上限
├── 主题A/
└── 主题B/knowledge/(索引层) | memory/(内容层) | |
|---|---|---|
| 放什么 | 目录 + 一句话摘要 + 触发条件 | 全部内容本身 |
| 加载 | 每次全量读 | 按需读 |
| 容量 | ⚠️ 有上限(受模型上下文约束) | ✅ 理论无上限(磁盘多大就多大) |
| 类比 | 图书馆的检索台 | 图书馆的书架 |
加载流程
用户提问
↓
AI 读 knowledge/INDEX.md(全量,但很小)
↓
索引告诉他:这个问题需要加载哪几份
↓
AI 只去 memory/ 取那几份
↓
依据它回答三、⭐ 索引怎么写 —— 这是整套的关键,也是大部分资料没讲清楚的地方
一条索引项,必须回答三个问题:
| # | 回答什么 | 为什么必须 |
|---|---|---|
| 1 | 这是什么(一句话) | 让 AI 知道大概 |
| 2 | 里面有什么(覆盖范围) | 让 AI 判断够不够 |
| 3 | ⭐ 什么时候该读它(触发条件) | 让 AI 能判断"要不要读" |
3.1 反例(常见但没用)
- 估值方法.md — 关于估值的笔记❌ AI 看完还是不知道该不该读:用户问"贵不贵"算不算"关于估值"?
3.2 ✅ 正确写法
| 文件 | 一句话 | 覆盖 | ⭐ 什么时候读 |
|:---|:---|:---|:---|
| `memory/估值/pe-band.md` | 分位数估值法 | PE/PB 历史分位、行业对比 | 用户问「贵不贵 / 高估还是低估 / 分位」时 |
| `memory/估值/dcf.md` | 现金流折现 | DCF 双情景、敏感性表 | 用户要「内在价值 / 目标价 / 做敏感性分析」时 |
| `memory/风险/证伪清单.md` | 逻辑证伪条件 | 各标的的证伪触发点 | 判断「逻辑还成不成立 / 该不该卖」时 |⭐ 一句话:索引的价值不在于"列了有哪些文件",在于"让 AI 能判定该不该读它"。
没有触发条件的索引 = 没用的目录。
3.3 索引还可以分层
资料很多时,用两级索引:
knowledge/INDEX.md ← 顶层:领域 → 该读哪个子索引
knowledge/INDEX-估值.md ← 子索引:具体文件 + 触发条件AI 先读顶层(极小),再读命中的子索引,再取内容。
四、落地步骤(从一堆散乱文件到分层结构)
第 1 步 · 先把原料收拢
建一个收件箱文件夹。所有临时内容、会议记录、网页存档、随手记 —— 先全扔进去,不整理。
捕获要零摩擦,整理才需要动脑。别在捕获时就想分类。
第 2 步 · 有意识地分家
对每一份原料问一句:
- 它会被反复引用吗? → 会 ⇒ 进
memory/ - 它只是一次性参考? → 是 ⇒ 别进库,放外部
第 3 步 · 建索引
对每份进了 memory/ 的内容,在 knowledge/ 写一条带触发条件的索引项(见 §三)。
第 4 步 · 定规则文件(AGENT.md)
写清楚(见 §五)。
第 5 步 · 把「整理」做成常规动作
新原料 → 收件箱 → 整理(定期)→ 分门别类进 memory → 更新索引⚠️ 关键:整理要有节奏,不能靠"想起来才做"。 否则收件箱会一直堆 —— 而且多半不是人堆的,是机器(同步插件/自动化)堆的。
五、AGENT.md 要写什么
| 项 | 例 |
|---|---|
| 项目名 / 干什么 | 「产品知识库 · 给客服和销售用」 |
| 谁能访问 | 按人员/角色的权限边界 |
| 怎么处理信息 | 回答问题的流程、不确定时怎么办 |
| 有哪些 skill / 能力 | 能做什么、不能做什么 |
| 目录结构 | 就是 §二 那棵树 |
| ⚠️ 边界与红线 | 哪些内容不许外传、什么情况下必须说"我不知道" |
六、常见错误(逐个都见过)
| 错误 | 为什么坏 | 怎么改 |
|---|---|---|
| 索引里只列文件名 | AI 判断不了该不该读 | 每条加触发条件 |
| 把内容也塞进索引层 | 索引层会爆(它就是有上限的那层) | 内容一律进 memory/ |
| 收件箱没有整理节奏 | 只进不出,几个月就废 | 定固定周期(每日/每周)跑一次整理 |
| 一份知识只存一处 | 索引和内容对不上 | 内容只在 memory/ 存一份;索引只存指针 |
| 规则写在脑子里 | 换个 agent / 换个人就全乱 | 写进 AGENT.md |
| ⚠️ 同步冲突 | 云端同步工具会把同名文件改名成副本(xxx 2.md),正牌消失 | 见 §八 |
七、验证方法(怎么知道做对了)
跑三个测试:
| 测试 | 期望 |
|---|---|
| 定位测试 | 随便问一个业务问题 → AI 应该只读了那几份,不是全读 |
| 边界测试 | 问一个库里没有的东西 → AI 应该说「不知道 / 库里没有」,不是编 |
| 规模测试 | 往 memory/ 里加 50 份新资料 → 索引层几乎不变大 |
⚠️ 第三条最重要:如果加内容会让索引层线性变大,说明分层没做对。
八、⚠️ 一个高频坑:同步冲突
如果用云盘同步(iCloud / OneDrive / 坚果云…)承载知识库:
- 同步工具在两端同时改同一文件时,会把其中一个改名成副本(
索引 2.md、索引(1).md) - 正牌文件消失 ⇒ AI 读不到 ⇒ 表现成"AI 突然失忆"
三条对策:
- 单端编辑(别手机和电脑同时开着改同一个文件)
- 写文件的工具如果绕过了编辑器(脚本/命令行),先退出编辑器,改完立刻检查有没有
xxx 2.md - 重要文件加自动快照(存到同步盘之外)
九、一句话总结
内容无上限地堆,索引永远只有一页。
索引的每一行,都要能回答"这个问题该不该读我"。
📄 配套:
examples/里有可直接抄的INDEX.md模板与AGENT.md模板。