<aside> 📦
前提:この設計はNotion、GitHub、MCP、特定ベンダーを一切前提にしない。
Knowledge Baseそのものを可搬なファイル群として扱い、AGENTS.mdには「そのKBをどう発見し、どう読むか」という共通プロトコルだけを書く。
</aside>
AGENTS.mdにKnowledge Baseの中身を直接書くのではなく、次の2層に分離する。
これにより、同じAGENTS.mdの規約を別の人物・別の組織・別のKnowledge Baseへ使い回せる。
AGENTS.md側には、個人名、会社名、特定カテゴリ、Notion URL、GitHub repository、MCP tool名などを原則として埋め込まない。
推奨構造:
<KB_ROOT>/
├── KB_MANIFEST.md
├── canonical/
│ ├── KU-0001.md
│ ├── KU-0002.md
│ └── ...
├── journal/
│ ├── events-2026.md
│ └── ...
├── snapshots/
│ ├── SN-0001.md
│ └── ...
├── taxonomy/
│ └── TAXONOMY.md
├── policy/
│ ├── OPERATING_RULES.md
│ └── SOURCE_MAPPING.md
├── sources/
│ └── ...
└── index/
└── ...
| 場所 | 責務 |
|---|---|
KB_MANIFEST.md |
KBの入口。構造、schema version、優先順位、読み方を宣言 |
canonical/ |
現在有効なKnowledge Unitだけを保持 |
journal/ |
意味論的な変更履歴。append-only |
snapshots/ |
過去状態復元用checkpoint |
taxonomy/ |
大分類・タグ・語彙の正典 |
policy/ |
新規作成、更新、廃止、source選択等の運用ルール |
sources/ |
raw evidence、session、log、調査資料、成果物など |
index/ |
再生成可能な検索索引。壊れても正典は失われない |
重要:index/とsources/は正典ではない。
他のKBへ使い回すため、AGENTS.mdはKB内部の細かいパスを大量に知るべきではない。
最初にKB_MANIFEST.mdを読み、そこから構造を解決する。
# Knowledge Base Manifest
schema_version: 1
## Structure
- canonical: ./canonical
- journal: ./journal
- snapshots: ./snapshots
- taxonomy: ./taxonomy/TAXONOMY.md
- operating_rules: ./policy/OPERATING_RULES.md
- source_mapping: ./policy/SOURCE_MAPPING.md
- sources: ./sources
- derived_index: ./index
## Core invariants
- Current is canonical.
- History is immutable.
- Index is disposable.
- Sources are traceable.
## Status values
- canonical
- needs_verification
- deprecated
## Read policy
- Current-state questions: read canonical only.
- Historical questions: nearest snapshot + required journal events.
- Evidence questions: follow source references only as needed.
## Write policy
- Prefer updating an existing Knowledge Unit over creating a duplicate.
- Append a journal event before changing canonical state.
- Never delete history.
- Mark uncertain knowledge as needs_verification.