LLM Wiki 目录结构:从空文件夹搭出可维护的知识库

手把手搭建 LLM Wiki 的第一版目录结构,讲清 raw、wiki、index、log、AGENTS.md 分别放什么,以及为什么一开始不要把结构设计得太复杂。

7 min read Part of LLM Wiki · Ch. 2

LLM Wiki 目录结构

第一篇讲的是理念,这篇开始动手。目标很简单:从一个空文件夹,搭出一个 Agent 能读、能写、能维护,你自己也能看懂的 LLM Wiki。

这篇结束时,你应该有一个这样的目录:

my-llm-wiki/
├── AGENTS.md
├── index.md
├── log.md
├── raw/
│   ├── articles/
│   ├── papers/
│   ├── books/
│   ├── notes/
│   └── assets/
└── wiki/
    ├── sources/
    ├── concepts/
    ├── people/
    ├── projects/
    ├── questions/
    └── synthesis/

先说结论

  • 目录结构的核心不是分类漂亮,而是职责清楚。
  • raw/ 保存证据,尽量不改;wiki/ 保存 Agent 整理后的知识,可以持续更新。
  • index.md 是内容地图;log.md 是时间线;AGENTS.md 是维护规则。
  • 新手不要一开始建 30 个目录,先用 6 个 wiki 子目录就够。
  • 目录结构不是一次定死的,它会随着你的主题一起演化。

1. 创建项目

先在你喜欢的位置建文件夹。

mkdir -p my-llm-wiki
cd my-llm-wiki
mkdir -p raw/articles raw/papers raw/books raw/notes raw/assets
mkdir -p wiki/sources wiki/concepts wiki/people wiki/projects wiki/questions wiki/synthesis
touch AGENTS.md index.md log.md

如果你用 Obsidian,可以直接把 my-llm-wiki/ 作为 vault 打开。

如果你用 Codex、Claude Code 或其他 Agent,直接在这个目录里启动它。


2. 顶层文件各自负责什么

顶层只放三个核心文件。

文件作用谁改
AGENTS.md告诉 Agent 怎么维护 Wiki人 + Agent
index.md当前 Wiki 的导航目录Agent 为主
log.md所有 ingest / query / lint 的时间线Agent 为主

2.1 AGENTS.md

这是最重要的文件。

它不是给人看的说明书,而是给 Agent 的项目规范。

它应该回答:

  • raw 能不能改?
  • wiki 页面怎么命名?
  • ingest 的步骤是什么?
  • query 的答案是否要写回 Wiki?
  • lint 要检查什么?
  • 遇到冲突怎么处理?
  • 引用应该怎么写?

这一篇先只建空文件,下一篇会完整写。

2.2 index.md

index.md 是内容地图。

它不是日志,也不是文章。

它应该像这样:

# LLM Wiki Index

## Sources

- [[wiki/sources/karpathy-llm-wiki]] — LLM Wiki 模式的原始 idea 说明。

## Concepts

- [[wiki/concepts/llm-wiki]] — 由 Agent 维护的 Markdown 知识库模式。
- [[wiki/concepts/raw-vs-wiki]] — 原始资料层和知识加工层的区别。

## Synthesis

- [[wiki/synthesis/llm-wiki-vs-rag]] — LLM Wiki 和 RAG 的差异分析。

## Open Questions

- [[wiki/questions/when-to-add-search]] — 什么时候 index.md 不够,需要搜索工具?

Agent 每次 ingest 后都要更新它。

2.3 log.md

log.md 是时间线。

它应该追加,不应该随便重写。

推荐格式:

# LLM Wiki Log

## [2026-04-25] init | Create wiki structure

- Created raw/ and wiki/ directories.
- Created AGENTS.md, index.md, log.md.

## [2026-04-25] ingest | Karpathy LLM Wiki

- Source: raw/articles/karpathy-llm-wiki.md
- Created:
  - wiki/sources/karpathy-llm-wiki.md
  - wiki/concepts/llm-wiki.md
- Updated:
  - index.md

为什么要这样写?

因为以后你可以用很简单的命令查最近动作:

grep "^## \\[" log.md | tail -10

这也是 Karpathy 模式里很聪明的一点:不要一开始上复杂数据库,先让文本本身足够可读、可 grep。


3. raw 目录怎么设计

raw/ 是证据层。

原则:

raw 里的文件,Agent 可以读,但默认不改。

推荐目录:

raw/
├── articles/
├── papers/
├── books/
├── notes/
└── assets/

3.1 raw/articles

放网页文章、博客、newsletter。

命名建议:

raw/articles/2026-04-25-karpathy-llm-wiki.md
raw/articles/2026-04-25-new-relic-sre-agent.md

推荐格式:

---
title: "LLM Wiki"
author: "Andrej Karpathy"
source_url: "https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f"
captured_at: 2026-04-25
type: article
---

正文内容...

3.2 raw/papers

放论文。

raw/papers/2024-retrieval-augmented-generation.pdf
raw/papers/2024-agent-workflow.md

如果是 PDF,不一定要一开始转 Markdown。

但如果你希望 Agent 更好处理,建议同时保留:

raw/papers/paper-name.pdf
raw/papers/paper-name.notes.md

3.3 raw/books

放书籍摘录、章节笔记。

raw/books/designing-data-intensive-applications/ch01.md
raw/books/designing-data-intensive-applications/ch02.md

读书项目特别适合 LLM Wiki。

因为一本书会自然产生:

  • 概念页;
  • 人物页;
  • 术语表;
  • 章节摘要;
  • 主题综述;
  • 关联问题。

3.4 raw/notes

放你自己的原始输入。

比如:

  • 日记;
  • 会议记录;
  • 语音转写;
  • 随手想法;
  • 和 AI 的重要对话。

这类资料很容易杂乱,所以更需要 Wiki 层整理。

3.5 raw/assets

放图片、截图、附件。

raw/assets/2026-04-25-llm-wiki-diagram.png
raw/assets/incident-timeline.png

如果一篇 raw 文章引用图片,最好把图片下载到本地。

原因很简单:

  • 网页图片会失效;
  • Agent 以后可以直接看本地图片;
  • Git 可以记录附件变化;
  • Obsidian 可以稳定显示。

4. wiki 目录怎么设计

wiki/ 是知识层。

它和 raw/ 最大不同是:

wiki 可以被 Agent 持续更新。

推荐目录:

wiki/
├── sources/
├── concepts/
├── people/
├── projects/
├── questions/
└── synthesis/

4.1 wiki/sources

每个 raw source 对应一个 source summary。

比如:

raw/articles/2026-04-25-karpathy-llm-wiki.md

对应:

wiki/sources/karpathy-llm-wiki.md

source summary 不是原文复述。

它应该包含:

---
type: source
source_type: article
source_path: raw/articles/2026-04-25-karpathy-llm-wiki.md
source_url: https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f
created: 2026-04-25
---

# Karpathy: LLM Wiki

## 一句话总结

这篇提出了一种由 LLM Agent 维护个人 Markdown Wiki 的模式。

## 关键观点

- ...

## 影响到的页面

- [[wiki/concepts/llm-wiki]]
- [[wiki/concepts/rag-vs-llm-wiki]]

## 待确认

- ...

4.2 wiki/concepts

这里放概念页。

比如:

wiki/concepts/llm-wiki.md
wiki/concepts/ingest.md
wiki/concepts/wiki-lint.md
wiki/concepts/raw-vs-wiki.md

概念页应该是长期更新的。

不是每篇资料一页,而是多个资料共同沉淀一个概念页。

4.3 wiki/people

人物页。

wiki/people/andrej-karpathy.md
wiki/people/linus-torvalds.md

人物页适合记录:

  • 这个人是谁;
  • 相关作品;
  • 观点演化;
  • 和其他概念的关系;
  • 相关 source。

4.4 wiki/projects

项目页。

wiki/projects/llm-wiki.md
wiki/projects/obsidian.md
wiki/projects/qmd.md

项目页适合记录:

  • 项目定位;
  • 解决什么问题;
  • 和其他项目比较;
  • 当前状态;
  • 相关资料。

4.5 wiki/questions

问题页。

这类页面非常重要。

很多知识库只记录“已经知道的东西”,但长期学习真正有价值的是:

记录你还不知道什么。

例子:

wiki/questions/when-to-add-vector-search.md
wiki/questions/how-to-prevent-agent-drift.md
wiki/questions/what-should-be-human-reviewed.md

问题页模板:

# When should an LLM Wiki add vector search?

## 当前理解

...

## 已有证据

- [[wiki/sources/karpathy-llm-wiki]]

## 仍不清楚

- ...

## 下一步资料

- ...

4.6 wiki/synthesis

综合页。

这是 Wiki 最值钱的部分。

source summary 是整理资料。

concept page 是维护概念。

synthesis 是形成判断。

例子:

wiki/synthesis/llm-wiki-vs-rag.md
wiki/synthesis/llm-wiki-first-30-days-plan.md
wiki/synthesis/personal-knowledge-base-stack.md

综合页通常来自:

  • 多篇 source 的共同结论;
  • 一次高质量 query;
  • 一次 lint 后发现的主题;
  • 一次人工要求的总结。

5. 页面命名规则

建议全部用 kebab-case:

llm-wiki.md
raw-vs-wiki.md
andrej-karpathy.md
when-to-add-search.md

不要:

LLM Wiki.md
Karpathy 的想法.md
我的第一篇文章整理.md

原因:

  • Agent 更容易稳定引用;
  • Git diff 更干净;
  • 命令行更好处理;
  • 跨平台不容易出问题。

中文标题可以写在页面内部:

# LLM Wiki:由 Agent 维护的知识库

文件名保持英文或拼音即可。


6. 第一版 index.md 模板

复制这个进去:

# LLM Wiki Index

> 这是当前 Wiki 的导航页。每次 ingest、query 写回、lint 后都应更新。

## Sources

暂无。

## Concepts

暂无。

## People

暂无。

## Projects

暂无。

## Questions

暂无。

## Synthesis

暂无。

## Recently Updated

暂无。

7. 第一版 log.md 模板

复制这个进去:

# LLM Wiki Log

> 这是 append-only 时间线。每次 ingest、query 写回、lint 都应追加记录。

## [2026-04-25] init | Create LLM Wiki

- Created initial folder structure.
- Created AGENTS.md, index.md, log.md.

8. 让 Agent 检查目录

建好目录后,给 Agent 这个 prompt:

请检查当前 LLM Wiki 目录结构。

要求:
1. 不要修改 raw/。
2. 检查是否存在 AGENTS.md、index.md、log.md。
3. 检查 raw/ 和 wiki/ 的子目录是否齐全。
4. 如果缺目录,列出需要创建的目录,不要直接发挥。
5. 最后告诉我这个 Wiki 是否已经可以开始第一轮 ingest。

它应该能告诉你:

  • 目录是否齐全;
  • 哪些文件为空;
  • 下一步该写 AGENTS.md

常见问题

目录能不能中文?

可以,但不建议一开始这么做。

内容可以中文,文件名和目录名最好稳定、短、可脚本处理。

source summary 能不能放 raw 旁边?

可以,但不建议。

raw/wiki/ 分开后,证据层和解释层更清楚。

要不要一开始就做数据库?

不要。

先把 Markdown 工作流跑通,再考虑搜索。

要不要所有页面都加 YAML frontmatter?

建议加,但不要一开始太复杂。

先用最小字段:

---
type: concept
created: 2026-04-25
updated: 2026-04-25
tags: [llm-wiki]
---

练习

完成下面 5 件事:

  1. my-llm-wiki/
  2. raw/wiki/ 子目录;
  3. 写入 index.md 模板;
  4. 写入 log.md 模板;
  5. 让 Agent 检查目录结构。

如果 Agent 说“可以开始 ingest”,这一篇就完成了。


小结

LLM Wiki 的目录结构要记住三句话:

  1. raw 是证据层,不随便改。
  2. wiki 是知识层,由 Agent 持续维护。
  3. index、log、AGENTS.md 是系统能长期运行的骨架。

下一篇我们写最关键的 AGENTS.md


参考资料