知识库运营工作流(LLM Wiki 模式)
定位与适用
本 Skill 是平台无关的方法论:把外部知识转化为智能体运行时可调用的行为规则(Memory/规范/Skill)。知识库不是收藏夹,是智能体的能力增长引擎——每条入库知识都必须经过蒸馏,判断价值的唯一标准是:它能否直接改变智能体在具体场景下的行为决策。
- 若项目已有自己的知识库规范文件(如
项目规范.md),以该文件为权威参照,冲突时以项目规范为准 - 在不同平台/项目应用时,按本 Skill 的三层架构与流程落地,目录名可本地化;本仓
examples/提供可直接跑通的最小样本
三层架构
| 层 | 推荐目录 | 性质 |
|---|---|---|
| Raw Sources | 原始采集/(文章/讨论/视频) | 只读,采集后不可变 |
| The Wiki | 知识库/(目录.md、采集经验.md、操作日志.md) | LLM 维护的派生内容 |
| The Schema | 项目规范.md + 程序文件/配置/ | 人与 LLM 共同维护 |
关键原则:原始文件始终留在 Raw Sources,不移动到 Wiki;校验通过后在目录.md 中建立引用即视为"入库"。
角色分离(必须遵守)
| 角色 | 实体 | 职责 | 禁忌 |
|---|---|---|---|
| Planner | 人工 | 定采集目标、定价值契约、引导分析方向 | 不直接操作文件 |
| Generator | LLM | 执行采集、补元数据、写摘要、维护目录与日志 | 禁止自评产出质量 |
| Evaluator | 校验治具(如 scripts/validate.py) | 独立校验格式、编码、元数据、交叉引用 | 不参与生成 |
核心规则:模型不得给自己打分。 价值评估由 Generator 记录在操作日志,校验通过与否由 Evaluator 裁定;人工有异议时以人工判断为准。项目无治具时,按 Lint 六维逐项人工核查,但结论仍不得由生成者自证。
Ingest(摄入)
复制此清单跟踪进度:
- [ ] 1. 采集前价值契约(三问)
- [ ] 2. 采集并补充元数据
- [ ] 3. 读取内容、提取关键信息
- [ ] 4. 价值判定(不达标则中止)
- [ ] 5. 更新目录.md(摘要 + 交叉引用)
- [ ] 6. 追加操作日志
- [ ] 7. 蒸馏评估并标记落地状态
- [ ] 8. Git 提交
第 1 步 · 采集前价值契约——动手前回答三问并记录:
- 这篇文章要解决什么问题?与已有知识的关系是什么?(补充/对比/延伸)
- 什么条件下算「有价值」?至少满足一个:引入新概念、提供对比视角、有直接实操参考
- 预期归入目录.md 哪一层?(基础理论/架构范式/工程实践/工具资源/社区动态)
第 2 步 · 采集与元数据——用当前平台的采集引擎获取原文(见「采集引擎抽象」),存入 Raw Sources 对应子目录,文件名遵循 {source}_{topic}_{date}.{ext}(如 github_karpathy_llm_wiki_20260630.md)。元数据必需字段:URL、采集时间、采集命令;建议字段:By、Site、Published、原始来源。采集引擎通常只能自动提取部分字段,其余必须补齐。
第 4 步 · 价值判定(含中止)——对照第 1 步契约评估。明显不满足任何价值条件(内容空洞、严重重复、与知识库定位无关)时,显式记录中止原因到操作日志后退出,不强行完成入库流程。
第 6 步 · 操作日志格式:## [日期] ingest | 标题(append-only)。
第 7 步 · 蒸馏评估——该条目是否包含可直接指导智能体行为的原子规则?
| 标记 | 含义 | 动作 |
|---|---|---|
| 🟢 已落地 | 有可执行原子规则 | 提取写入 Memory/规范/Skill,在目录.md 条目注明 Memory 标题 |
| 🟡 部分落地 | 部分有 | 注明已落地与未落地的具体内容及原因 |
| 🔵 参考索引 | 无可执行规则 | 操作日志中简述原因 |
蒸馏标准:规则必须能改变智能体在具体场景下的行为决策,而非抽象理念或参考信息。
跨平台蒸馏适配:在 Qoder 中蒸馏产物写入 Memory 系统(方法论→task_experience、踩坑→common_pitfalls_experience、架构决策→important_decision_experience 等分类);在其他智能体平台,映射到该平台自身的持久记忆/行为规则机制,判定标准与三色标记保持不变。
第 8 步:git add -A && git commit -m "ingest: 标题"。
Query(查询)
- 先读
知识库/目录.md定位相关页面 - 深入阅读相关文件,综合答案
- 好答案回填为新页面——让探索本身也产生复利
- 追加操作日志:
## [日期] query | 问题 - 产生新页面后:
git add -A && git commit -m "query: 问题"
Lint(体检)
优先运行项目校验治具(本仓提供零依赖示例:python scripts/validate.py <知识库根目录>),治具裁定优先于人工判断。无治具时按六维逐项核查:
- 元数据完整性 — 必需字段(URL、采集时间、采集命令)是否齐全
- 编码正确性 — 双重编码乱码、BOM、替换字符(U+FFFD)
- 格式规范性 — Markdown 须以 H1 开头且元数据与正文以
---分隔;JSON 须有_metadata字段 - 命名规范 — 是否遵循
{source}_{topic}_{date}模式 - 交叉引用 — 目录.md 链接是否指向实际文件;孤儿页面检测
- 来源校验 — URL 是否属于来源白名单
追加操作日志:## [日期] lint | 检查范围;有修复则 git commit -m "lint: 检查范围"。
Harness 递减:治具与流程是补偿模型弱点的辅助机制,应随模型进步单调递减。每次 Lint 时审视:哪些校验规则已不再触发?哪些步骤模型已内化?删掉它。
采集引擎抽象(跨平台适配)
核心流程不绑定任何采集工具,采集引擎按平台可用性选择:
| 平台环境 | 采集方式 |
|---|---|
| Windows + Edge 浏览器 | AutoCLI:autocli read "URL" -f markdown -o "输出路径",自动提取 By/Site/URL;注意 PowerShell 下 stderr 进度信息会误报 ExitCode=1,输出含 "Saved to ..." 即成功 |
| 具备网页读取能力的智能体平台 | 网页读取工具(WebFetch 等)直接抓取并转 Markdown |
| 公开 API 来源 | Hacker News、Lobsters 等无需浏览器,直接 API 请求 |
| 无网络工具 | 用户粘贴原文,手动落盘并如实记录 采集命令 为"手动粘贴" |
无论何种引擎,入库后的元数据、校验、蒸馏要求完全一致。采集命令 字段如实记录实际使用的引擎与命令(含降级切换),保证可复现。
约定速查
- 文件名:
{source}_{topic}_{date}.{ext},source 小写 - 操作日志:append-only,格式
## [日期] {ingest|query|lint} | 简述 - commit message:
{ingest|query|lint}: {简述};初始化:init: 知识库基线 - 踩坑教训结构化记入
采集经验.md,不混入操作日志