架构规范
这个 wiki 采用 Karpathy 的 LLM Wiki 三层架构:原始素材(不可变)/ wiki(实体、概念、对比、问答)/ 规范(这份文件)。 架构目标:知识”一次性整理、持续可用”,避免每次查询都从零检索。
适用范围
个人全领域知识积累。 不限主题,覆盖技术、读书、生活、思考、工作、爱好等任何想沉淀的内容。 wiki 本身不分主题子目录——主题通过**标签 + 双链 + MOC(主题索引页)**组织,这样新增任何领域都不需要动结构。
语言与命名规范(严格,强制执行)
语言优先级
- 正文: 中文优先。需要引用外文术语时保留英文原文,不强制翻译。
- frontmatter 字段值: 中文优先;技术专有名词保留英文(如
Dataview、YAML)。 - tag 值: 英文小写连字符(见下方”标签分类法”)——便于 Dataview 查询与跨平台兼容。
例:
人工智能、知识管理、工具。tag 是唯一允许英文的地方,且必须先在分类法中注册。
文件命名(强制)
| 类型 | 命名规则 | 示例 |
|---|---|---|
| 一般笔记 | 中文-短描述.md | 注意力机制.md、阅读-思考快与慢.md |
| 实体页 | 实体名.md 或 实体名-类别.md | Obsidian.md、安德烈-卡尔帕西.md |
| 概念页 | 概念名.md | 强化学习.md、注意力机制.md |
| 对比页 | 对比-a-与-b.md | 对比-Llama-与-Qwen.md |
| 问答页 | 问答-YYYY-MM-DD-主题.md | 问答-2026-08-08-LLM-Wiki.md |
| 原始素材 | 简短来源描述.md | 卡尔帕西-LLM-Wiki-要点.md |
| MOC 主题索引页 | 主题索引-主题名.md | 主题索引-人工智能.md |
禁止: 大写字母(中文行内文字除外)、空格、特殊符号(除连字符 -)、emoji 文件名。
唯一例外: 日期前缀 YYYY-MM-DD- 用于日记/问答归档。
专有名词: 文件名里允许出现英文术语(如 LLM、Obsidian、Dataview),但必须与实际大小写一致,并避免无意义英文缩写。
目录命名(强制,全部中文)
| 用途 | 目录名 |
|---|---|
| 不可变原始素材 | 原始素材/ |
| └─ 网页剪藏 | 原始素材/文章/ |
| └─ 论文/电子书 | 原始素材/论文/ |
| └─ 会议/访谈记录 | 原始素材/记录/ |
| └─ 图片、附件 | 原始素材/附件/ |
| 实体页 | 实体/ |
| 概念/主题页 | 概念/ |
| 对比分析 | 对比/ |
| 问答记录 | 问答/ |
| 主题索引(MOC) | 元/ |
| 已归档内容 | 归档/ |
**目录必须用中文,不允许 原始素材/、实体/ 这类目录用英文名。 这是 wiki 最高优先级约定之一。
链接
- 笔记间一律用 Obsidian 双链:
[[笔记名]]或带别名[[笔记名|显示文本]](正文里指向真实页面时,笔记名必须用中文,与文件名严格一致) - 每篇 wiki 笔记至少 2 个出向双链(指向其它 wiki 页),否则视为孤儿
- 外部链接用标准 markdown
[文本](url)
文件位置规则
wiki/
├── 架构规范.md ← 你正在读的文件
├── 索引.md ← 全站内容目录,每次新建/移动页面必更新
├── 日志.md ← 追加日志(按日期),超过 500 条按年份归档
├── 原始素材/ ← 不可变原始素材
│ ├── 文章/
│ ├── 论文/
│ ├── 记录/
│ └── 附件/
├── 实体/ ← 实体页(人、公司、产品、工具等)
├── 概念/ ← 概念/主题页
├── 对比/ ← 对比分析
├── 问答/ ← 值得保存的问答
├── 元/ ← 主题地图(MOC)、元数据
└── 归档/ ← 已归档内容
wiki 页(实体/概念/对比/问答) 全部平铺、不分子目录。 理由:wiki 规模上千后子目录会变成迷宫;用 MOC 替代分层导航。
Frontmatter 规范
每个 wiki 页必须有如下 frontmatter:
---
title: 页面标题
created: YYYY-MM-DD
updated: YYYY-MM-DD
type: 实体 | 概念 | 对比 | 问答 | 总结 | 规范 | 索引 | 日志
tags: [标签a, 标签b]
sources: [原始素材/文章/来源名.md]
# 可选质量信号:
confidence: 高 | 中 | 低
contested: true # 有未解决矛盾时
contradictions: [其他页slug] # 与本页冲突的页
---原始素材/ 下文件额外带:
---
source_url: https://... # 原始 URL(如适用)
ingested: YYYY-MM-DD
sha256: <hex digest> # 正文部分的哈希,用于检测来源漂移
---标签分类法(Taxonomy)
新标签必须先加到这里,再使用。 防止标签膨胀。
知识主题
技术/人工智能/编程/工程/产品/设计读书/写作/语言/历史/哲学/心理学/经济学生活/健康/旅行/美食/运动艺术/音乐/电影/摄影
内容形式
概念/实体/对比/问答/书摘/课程笔记/论文笔记
元标记
meta/待整理/未完成/已归档/有争议/高置信TODO/灵感/行动项
每条 tag 应只属于一个类别,避免重复归类。
页面创建门槛
- 新建实体/概念页: 该对象在 2+ 处原始素材中出现 OR 在单条素材中处于核心地位
- 追加到现有页: 来源提及已有页面覆盖的对象
- 不新建: 仅被一笔带过、与领域无关、或已经在更低粒度的页面里覆盖
- 拆分: 页面超过 ~200 行时,拆为子主题页并用双链交叉引用
- 归档: 内容被完全取代时 → 移入
归档/,从索引移除
更新策略
当新信息与现存内容冲突:
- 比较日期——新源一般取代旧源
- 真矛盾时,同时保留两方观点并标注日期和来源
- 在 frontmatter 标记
contested: true和contradictions: [其他页] - 在 lint 报告中提示用户复核
与 Obsidian 协作
- Obsidian 直接打开
/Users/zk/Desktop/知识库/wiki/即可 - 附件目录设置:
原始素材/附件/(Obsidian Settings → Files & Links → Attachment folder) - 推荐安装插件:Dataview(基于 frontmatter 查询)、Templater(模板)、Graph Analysis
- 双链、
[[wikilinks]]、YAML、Dataview 都原生兼容
Lint 清单
每次 lint 检查:
- 孤儿页(无入向双链)
- 断链(
[[wikilink]]指向不存在的页面) - 索引.md 与实际文件不一致
- frontmatter 缺字段 / 标签不在分类法
- 90 天以上未更新且有更新来源
contested: true和confidence: 低的页面- 原始素材/ 文件 sha256 漂移
- 超过 200 行的页面
- 日志.md 行数(超过 500 触发归档)
- 目录/文件名不符合中文优先 + 命名规范
Pitfalls(不要踩的坑)
- 永远不修改
原始素材/——原始素材不可变;纠错放在 wiki 页里 - 每次会话先读 架构规范 + 索引 + 日志 最近 20 行——避免重复造页
- 新建/移动页面必须同步更新 索引.md 和 日志.md——这是导航的命脉
- 别给一笔带过的东西建页——会变成垃圾场
- 孤立页面不可见——至少 2 个出向双链
- frontmatter 必填——查询、过滤、陈旧检测全靠它
- tag 先加分类法再用——自由标签必然崩溃
- 页面控制在 30 秒可读完——超长拆页
- 超过 10 个现有页面会被同次 ingest 触动时,先和用户确认范围