新闻详情

新闻详情

首页 / 资讯中心 / 详情

用 LLM 编译你的知识库:从 Markdown 到 CLAUDE.md 的配置骨架

发布时间:2026/9/29 4:27:17来源:尧图网络
用 LLM 编译你的知识库:从 Markdown 到 CLAUDE.md 的配置骨架
1. 散落的 Markdown 笔记为什么越攒越像垃圾场我自己的笔记目录曾经有 400 多篇 Markdown文件名从2023-08-11-随手记.md到未命名-3.md都有。找东西靠grep -r找到之后还得自己判断哪篇是新的、哪篇已经被推翻。这种状态持续了两年直到我意识到问题不在记不记而在记完之后没人整理。LLM 知识库要解决的就是这件事把散落的 Markdown 当作原料用 LLM 编译成一份有目录、有交叉引用、有日志的结构化 Wiki。它和传统 RAG 的区别在于RAG 每次提问都从零检索片段而编译式知识库把知识沉淀成文件提问只是读文件。前者像每次考试都重新翻书后者像提前整理好了一本带索引的教材。适合谁手上有大量 Markdown 笔记、论文摘录、会议纪要想用 LLM 做长期知识管理的人已经在用 Claude Code、Codex 这类带文件读写能力的 Agent想给它一个稳定的工作目录的人以及被 RAG 的每次回答都不太一样折磨过的人。这篇会给出三份可直接复制的骨架CLAUDE.md告诉 LLM 怎么维护知识库、config.toml本地工具链配置、settings.json统一 API 通道。最后跑一次检索验证确认整条链路通了。2. 前置准备目录结构、Key 与统一通道2.1 三层目录职责不重叠先建目录。核心原则是原始资料只读Wiki 层由 LLM 全权维护Schema 文件定义规则。mkdir -p my-wiki/{raw/{articles,assets,repos},wiki/{concepts,entities}} cd my-wiki git init touch CLAUDE.md wiki/index.md wiki/log.md结构长这样my-wiki/ ├── raw/ # 原始资料只读LLM 不改 │ ├── articles/ │ ├── assets/ │ └── repos/ ├── wiki/ # LLM 写作区 │ ├── index.md # 目录每页一行摘要 │ ├── log.md # 日志时间线 │ ├── concepts/ # 概念页 │ └── entities/ # 实体页 └── CLAUDE.md # Schema操作手册raw/是事实来源wiki/是编译产物CLAUDE.md是编译器配置。三者分开的好处是你随时可以删掉wiki/重新编译原始资料不会丢。2.2 用 TaoToken 统一 Key 和 API 通道不管后面接 Claude Code 还是自己写的脚本Key 和 Base URL 最好只维护一份。TaoToken 提供统一的 API 通道一个 Key 可以走不同模型省得每个工具配一遍。先去控制台创建 Keyhttps://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentconsole创建完在 API Keys 页面复制注意它只显示一次https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentapi-keys接入文档在这里参数有疑问直接查https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentdocAPI 端点固定为https://taotoken.net/api这个地址不加任何查询参数。把 Key 写进环境变量别硬编码进脚本export TAOTOKEN_API_KEYsk-你的key export TAOTOKEN_BASE_URLhttps://taotoken.net/api注意环境变量写进~/.zshrc或~/.bashrc后记得source一次否则新开的终端读不到。3. 可复制配置CLAUDE.md、config.toml、settings.json3.1 CLAUDE.md 骨架这是整个系统的灵魂。它不写你是一个助手这种废话只写目录约定、摄入流程、页面格式。LLM 读完就知道自己是个有纪律的 Wiki 编辑。# Wiki 维护规范 ## 目录职责 - raw/ 只读。你只能读取禁止修改、移动、删除其中任何文件。 - wiki/ 由你全权维护。摘要页、概念页、实体页、交叉引用都由你生成。 - 人类几乎不直接编辑 wiki/你的输出就是最终版本。 ## 摄入流程Ingest 当我说摄入 raw/articles/xxx.md时按顺序执行 1. 读取原文用三句话向我复述核心观点等我确认。 2. 在 wiki/ 下创建或更新摘要页文件名用原文标题的 slug。 3. 更新 wiki/index.md为这一页加一行链接 一句话摘要 日期。 4. 扫描 wiki/concepts/ 和 wiki/entities/更新所有相关页面 补充交叉引用。一次摄入通常触及 10-15 个文件。 5. 在 wiki/log.md 追加一条记录格式见下。 ## 页面格式 每个 wiki 页面开头必须有 YAML frontmatter --- title: 页面标题 type: concept | entity | summary sources: [raw/articles/xxx.md] updated: YYYY-MM-DD --- 正文用二级标题分节相关页面用 [[页面名]] 双链引用。 ## 日志格式 log.md 每条以固定前缀开头方便 grep ## [YYYY-MM-DD] ingest | 文章标题 ## [YYYY-MM-DD] query | 问题摘要 ## [YYYY-MM-DD] lint | 检查范围 ## 问答流程Query 1. 先读 wiki/index.md 定位相关页面。 2. 深入阅读这些页面综合作答。 3. 如果答案有长期价值归档为新页面或更新现有页面 并在 log.md 记一条 query。 ## 健康检查Lint 定期扫描全库报告页面间矛盾、被新资料推翻的陈旧观点、 没有入链的孤儿页面、被多次提及但没有独立页面的概念。这份骨架的关键是一次摄入触及 10-15 个文件这句。它给 LLM 一个明确的量级预期避免它只写一个摘要页就交差。3.2 config.toml 骨架如果你用支持 TOML 配置的本地工具比如某些 Markdown 搜索引擎或 Agent 框架可以这样写。核心是把模型通道指向 TaoToken把工作目录指向my-wiki。[workspace] root ./my-wiki raw_dir raw wiki_dir wiki schema CLAUDE.md [model] provider openai-compatible base_url https://taotoken.net/api api_key_env TAOTOKEN_API_KEY model claude-sonnet-4-20250514 max_tokens 8192 temperature 0.3 [ingest] batch false confirm_before_write true max_files_per_ingest 20 [search] enabled true engine bm25 index_dir .indextemperature 0.3是故意的。知识库编译要的是稳定和一致不是创意。confirm_before_write true让你在 LLM 动手改文件前有机会看一眼。3.3 settings.json 骨架Claude Code 这类工具读settings.json。把 API 通道配到这里Agent 就能用统一 Key 跑起来。{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: sk-你的key }, permissions: { allow: [ Read(./my-wiki/raw/**), Read(./my-wiki/wiki/**), Write(./my-wiki/wiki/**), Edit(./my-wiki/wiki/**) ], deny: [ Write(./my-wiki/raw/**), Edit(./my-wiki/raw/**) ] } }权限配置是重点raw/只给读wiki/给读写。这样即使 LLM 判断失误也改不动原始资料。如果你用的是 Claude Code 的 Anthropic 兼容通道配置入口在这里https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentclaudecode注意settings.json里的 Key 是明文。如果这个仓库要推到公开平台把 Key 换成环境变量引用或者把settings.json加进.gitignore。4. 验证跑一次摄入和检索确认链路通了配置写完不算通得跑一次真实请求。分两步先验证 API 通道再验证知识库编译。4.1 验证 API 通道用 curl 打一次模型对话接口确认 Key 和 Base URL 都对curl -s https://taotoken.net/api/v1/messages \ -H x-api-key: $TAOTOKEN_API_KEY \ -H anthropic-version: 2023-06-01 \ -H content-type: application/json \ -d { model: claude-sonnet-4-20250514, max_tokens: 128, messages: [{role: user, content: 只回复两个字通了}] }返回里能看到content字段带通了说明通道没问题。如果报 401检查 Key 有没有复制完整报 404检查 Base URL 是不是写成了带/v1的完整路径——TaoToken 的端点是https://taotoken.net/api具体路径由 SDK 或工具拼接。想先在网页上确认模型可用用模型对话页https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentmodel-chat4.2 验证摄入流程往raw/articles/放一篇 Markdown然后在 Agent 里说摄入 raw/articles/rag-vs-wiki.md预期行为LLM 先复述核心观点等你确认确认后写摘要页、更新index.md、更新相关概念页、追加log.md。跑完后检查ls wiki/concepts/ wiki/entities/ grep ^## \[ wiki/log.md | tail -5 cat wiki/index.mdlog.md里应该出现一条## [日期] ingest | rag-vs-wiki。index.md里应该多一行带链接的摘要。如果 LLM 只写了一个摘要页就停了说明CLAUDE.md里更新相关概念页那段它没读到检查文件是不是放在工作目录根下。4.3 验证检索问答再放一篇相关文章摄入后提问RAG 和编译式知识库在知识积累上的核心区别是什么预期LLM 先读index.md定位到两篇摘要页深入阅读后给出对比并主动问你要不要归档。如果它直接凭记忆回答、没读文件说明index.md没更新或者 Agent 的工作目录没指向my-wiki。归档后的答案会变成新页面下次提问直接命中。这就是知识只编译一次的实际体感第二次问相关问题LLM 读的是已经综合好的页面不是重新拼碎片。5. 本篇常见错排查报 401 UnauthorizedKey 没读到。先echo $TAOTOKEN_API_KEY确认环境变量生效再确认settings.json里的 Key 没有多余空格。如果 Key 是在控制台刚创建的注意它只显示一次关掉页面就得重新建。报 404 Not FoundBase URL 写错了。正确值是https://taotoken.net/api不要自己加/v1/messages后缀SDK 会拼。如果你用的是 OpenAI 兼容 SDK它可能默认拼/v1/chat/completions确认 TaoToken 文档里对应的路径。LLM 改了 raw/ 里的文件权限没配好。检查settings.json的deny里有没有Write(./my-wiki/raw/**)。已经改了的用git checkout raw/恢复因为raw/在 git 里。摄入后 index.md 没更新CLAUDE.md里更新 index.md那步可能被 LLM 跳过了。在摄入指令里显式加一句完成后确认 index.md 和 log.md 都已更新或者把这两步拆成独立指令。检索时 LLM 不读文件直接答Agent 的工作目录不对或者index.md是空的。先cat wiki/index.md确认有内容再确认启动 Agent 时cd到了my-wiki。log.md 的 grep 命令没输出前缀格式不一致。CLAUDE.md里规定的是## [YYYY-MM-DD]如果 LLM 写成了## 2026-04-04少了方括号grep 就匹配不到。统一格式后重新摄入一次。中文文件名导致链接失效[[页面名]]双链在部分工具里对中文支持不好。建议文件名用英文 slug页面内title字段写中文。这样链接稳定显示也友好。6. 把通道固定下来让知识库自己生长跑通之后日常操作就三件事往raw/丢资料、说摄入、提问。维护成本从人肉更新交叉引用变成LLM 一次改 15 个文件。你唯一需要持续投入的是迭代CLAUDE.md——发现 LLM 哪里做得不对就补一条规则进去。长期做编码或 Agent 任务的话把 API 通道固定成 Coding Plan 更省心不用每次算 tokenhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcoding-plan接入文档和 API Keys 页面建议存个书签换工具的时候参数直接查https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentdoc https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentapi-keys最后一个小技巧把my-wiki做成 git 仓库后每次摄入完git commit一次。这样你能看到知识库的生长轨迹改坏了也能回滚。LLM 维护内容git 维护历史分工清楚。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

反激电源RCD吸收电路:漏感VDS尖峰抑制与参数调试 2026/9/29 5:15:57

反激电源RCD吸收电路:漏感VDS尖峰抑制与参数调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Boost升压电路设计避坑指南:从原理到量产的17个隐性关卡 2026/9/29 5:15:57

Boost升压电路设计避坑指南:从原理到量产的17个隐性关卡

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
GPU性能实时监控工具全解析:从nvidia-smi到DCGM的选型与排障指南 2026/9/29 5:15:57

GPU性能实时监控工具全解析:从nvidia-smi到DCGM的选型与排障指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
从调参手感到可复现决策档案:参数优化文档模板与流程 2026/9/29 5:15:57

从调参手感到可复现决策档案:参数优化文档模板与流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Android 反编译工具实战:apktool、jadx、smali 改包全流程 2026/9/29 5:15:57

Android 反编译工具实战:apktool、jadx、smali 改包全流程

上个月帮朋友看一个开源阅读类 App 的布局实现,他非要我把 APK 拆开给他讲讲人家的自定义 View 是怎么写的;上周又有个做测试的同事问我,怎么在不改源码的前提下把打包好的测试包里那个隐藏入口打开。这两件事最后都落到同一套东西上——Andr…

阅读更多 →
Verdi调试环境入门:从FSDB波形到根因定位的完整实践 2026/9/29 5:15:50

Verdi调试环境入门:从FSDB波形到根因定位的完整实践

自己刚入行那阵子,最怕的事有两件:一是跑仿真跑到一半报错,二是在一个复杂模块里查不到 bug 的原因。那时候同事甩给我一句“你用 Verdi 看一下波形”,我一边点头一边心里犯嘀咕——Verdi 不就是个看波形的工具吗?等真…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉