Made by gptaku · Threads @gptaku_ai
raw 소스를 LLM이 직접 합성·유지하는 영구 마크다운 위키로 키우는 워크스페이스입니다. Karpathy의 "LLM Wiki" 패턴을 Claude Code 위에 구현했습니다.
매 질문마다 원문을 재검색하는 RAG와 달리, 한 번 합성하고 최신 상태로 누적합니다. 사람은 소싱·탐색·질문을 하고, LLM이 위키의 모든 쓰기·정리·교차참조를 담당합니다.
외부 스킬·플러그인 의존이 없습니다. 이 폴더만 있으면 어떤 Claude Code 환경에서든 동작합니다. 받아서 자기 데이터로 채우고, 쓰면서 고도화하는 스타터입니다 — 정답이 아니라 시작점.
cd llm-wiki
claude처음 실행하면 사용법 안내가 자동으로 뜹니다 (SessionStart 훅).
- 소스 넣기 —
10-inbox/에 기사·논문·노트·PDF를 떨굽니다. (URL·파일 자동 수집은/ingest <소스>) - 위키화 —
/compile→ inbox 소스를 읽어30-wiki/에 요약·엔티티·개념 페이지로 합성하고, 라우터·인덱스·aliases를 갱신한 뒤 원본을20-raw/로 옮깁니다. - 질문 —
/query 나폴레옹 전술이 어떻게 진화했나?→ 2단 라우팅으로 회수·인용하고, 좋은 답은50-queries/에 남깁니다. - 점검 — 위키가 커지면
/lint→ 모순·고아·인덱스 정합·빈틈을 점검합니다.
inbox에 남은 = 미컴파일, raw에 있는 = 컴파일 완료.
| 레이어 | 폴더 | 소유 |
|---|---|---|
| inbox (미컴파일 대기열) | 10-inbox/ |
사람이 넣음 |
| raw (불변 원본) | 20-raw/ |
compile이 채움, LLM은 읽기만 |
| wiki (합성 결과) | 30-wiki/ |
LLM이 전적으로 씀 |
| schema (운영 규약) | CLAUDE.md + 00-system/conventions.md |
사람·LLM 공동 진화 |
10-inbox/ → /ingest(수집) → /compile → 30-wiki/{topic}/{sources,entities,concepts}
├── index.md (라우터 MOC — 의도→타입/샤드)
├── indexes/ (타입 인덱스 — 커지면 첫 글자 샤딩)
├── aliases.md (정본화 = 라우팅 키)
└── overview.md (종합 개요)
/query → Phase A 라우팅 → Phase B 회수·합성 → 50-queries/ 파일백
/lint → 모순·고아·인덱스 정합 점검
원본은 처리 후 20-raw/ 로 이동(불변 보관)
| 커맨드 | 역할 |
|---|---|
/ingest {소스} |
자료(URL·파일·텍스트)를 10-inbox/에 저장 (위키화 안 함) |
/compile [소스] |
inbox 소스를 위키로 합성 + 라우터/인덱스/aliases 갱신 + raw 이동 |
/query {질문} |
2단 라우팅으로 회수·인용 합성, 파일백 |
/lint [주제] |
위키 건강검진 (모순·고아·인덱스 정합·갭) |
위키가 커져도 질문당 읽는 토큰이 일정하게 유지되는 게 핵심입니다. index.md는 "모든 페이지 목록(카탈로그)"이 아니라 **"질문 의도를 받아 어느 타입/샤드를 펼칠지 정하는 라우터(MOC)"**입니다.
- 2단 라우팅 — Route(라우터+
aliases만 읽고 샤드 결정, 샤드 안 읽음) → Search(지정 샤드만 펼침). - 정본화 — 표기 흔들림(Parasite/기생충)을 정본명 1개로, 정본명 첫 글자가 샤드 키.
- 샤딩 — 타입 인덱스가 커지면 정본명 첫 글자로 ≤50K 토큰 분할.
- 성장 경로 — 문서가 많아지면 선택적으로 외부 검색(
.ragBM25/벡터)을 1순위로 붙이고 인덱스 레이어를 더 나눠 키우세요. 라우터→샤드는 폴백으로 유지됩니다.
- 운영 규약:
CLAUDE.md(정체성·워크플로우·품질 규칙) - 페이지·인덱스·라우팅 규약:
00-system/conventions.md(14절 — frontmatter·정본화·라우터·샤딩·lazy/tier·provenance) - 페이지 템플릿:
40-templates/
MIT License. 자유롭게 포크해서 쓰세요.