위키 규칙 & 유지보수 원칙
이 위키가 썩지 않게 하는 규칙서다. LLM 사실(모델명·가격·API 파라미터)은 매달 바뀐다. 규칙 없이 문서가 쌓이면 무엇이 최신이고 무엇이 죽었는지 알 수 없게 된다. 이 문서가 그걸 막는다.
이 위키의 뼈대는 Andrej Karpathy 의 LLM Wiki 패턴 (1차 출처, 2026-04 gist) 에서 왔다. 거기서 온 것은 불변 원본(
raw/) 과 가공본의 분리, 출처 추적, append-onlylog.md,lint연산, 그리고 concept/entity/comparison 페이지 타입이다.⚠️ 나머지는 Karpathy 가 아니다. 원문은 디렉터리 구조를 일부러 규정하지 않았다 — "The exact directory structure, the schema conventions, the page formats, the tooling — all of that will depend on your domain." 따라서 번호 폴더 · Diátaxis
type· MOC ·taxonomy.md·last_verified/review_every/_review.md는 다른 전통이거나 이 위키의 자체 설계다. 대조 근거 → 2026-08-02-karpathy-llm-wiki-primary
1. 파일 이름 규칙
- 소문자 kebab-case, 서술형, 한 파일 = 한 아이디어:
claude-family.md,prompt-caching.md,model-choice-decision-guide.md - 파일명이 곧
<code>[[위키링크]]</code>대상이다 — 자연스럽게 타이핑할 이름으로 짓는다. - ⛔ 파일명에 휘발성 사실을 넣지 마라 —
gpt-prices-jan2026.md금지. 날짜·버전은 프론트매터와 본문에. 이름에 넣으면 리네임할 때 링크가 깨진다. _접두사 = 인프라/메타 노트(_index.md,_review.md,_concepts-moc.md). 맨 위로 정렬되고 Dataview 쿼리에서WHERE !startswith(file.name, "_")로 쉽게 제외된다.raw/캡처는 불변이라 날짜를 이름에 넣는다:raw/2026-07-23-anthropic-pricing.md
2. 프론트매터 템플릿 (복붙용)
---
title: Prompt Caching
type: reference # reference | explanation | how-to | tutorial | concept | entity | comparison
tags: [anthropic, prompting, cost-optimization]
status: verified # verified | stale | draft | deprecated
created: 2026-07-23
updated: 2026-07-23
last_verified: 2026-07 # 사람이 실제 출처로 재확인한 시점만 갱신
review_every: 30d # 휘발성 등급 (아래)
provenance: extracted # extracted | inferred | ambiguous
sources:
- "<code>[[raw/2026-07-23-anthropic-pricing]]</code>"
---
3. 세 개의 날짜 원칙 ⭐ (이 위키의 존재 이유)
세 날짜는 각각 다르다. 이걸 헷갈리면 유지보수가 무너진다.
| 필드 | 언제 갱신 | 의미 |
|---|---|---|
created |
절대 안 바뀜 | 문서를 처음 만든 날 |
updated |
아무 편집이든 할 때마다 | 오타 고쳐도 갱신 |
last_verified |
사람이 실제 라이브 출처로 사실을 재확인했을 때만 | "이 내용 아직 맞다"를 확인한 시점 |
핵심: 오타를 고치면 updated 는 바뀌지만 last_verified 는 안 바뀐다. last_verified 는 "내용이 진짜인지"의 신선도지, "파일을 언제 건드렸나"가 아니다.
본문의 개별 사실에도 인라인 태그를 단다: 가격·모델 ID·컨텍스트 크기·SDK 버전 같은 휘발성 값 뒤에 (verified 2026-07). 그래야 페이지 전체가 아니라 사실 하나하나의 신선도가 보인다.
4. 휘발성 등급 → review_every
| 폴더 | review_every | 이유 |
|---|---|---|
02-models/, 04-apis/ |
30d | 가격·모델 ID·SDK 버전이 매달 바뀜 |
03-prompting/, 05-agentic/, 06-playbooks/ |
90d | 패턴은 반년 단위로 천천히 변함 |
01-concepts/ |
180d | 토큰·임베딩 같은 이론은 잘 안 변함 |
10-profile/ ~ 14-beyond/ |
180d | 내 이력·작업물. 단 career.md 는 재직상태 때문에 90d 로 조임 |
_review.md 의 Dataview 가 last_verified + review_every < today 인 페이지를 전부 띄운다.
예외: 폴더 기본값보다 더 짧게 잡는 건 허용한다(가격·모델 ID 를 본문에 담은 페이지). 더 길게 늘이는 건 금지. 예: prompt-caching 은 03-prompting/ 에 있지만 프로바이더별 과금이 본문에 있어 30d.
5. status 필드
verified | stale | draft | deprecated
- 검토 주기를 넘기면
stale로 (→_review.md에 뜸) 재확인 전까지. - deprecated 페이지는 지우지 않는다 — 링크 무결성 때문에 남기되, 문서 맨 위에 배너로 표시.
6. 출처(provenance)
- 모든 페이지는
sources:로<code>[[raw/...]]</code>캡처를 가리킨다. provenance: extracted | inferred | ambiguous- 비(非)Anthropic 모델/가격 사실은 aggregator 에서 온 것이므로
inferred— 공식 출처로 확인하기 전까지. 본문에도[official]vs[aggregator]신뢰도 표시.
7. raw/ 는 불변
- 캡처가 한 번 들어오면 절대 편집하지 않는다. 이게 인용/출처의 백본이다.
- 새 사실을 발견하면
raw/YYYY-MM-DD-*.md로 원본을 즉시 떨궈두고log.md에 한 줄 남긴다.
8. 링크와 MOC
<code>[[서술형-제목]]</code>이 폴더보다 우선하는 1차 구조다. 여러 MOC 에서 도달 가능한 노트가 목표.- Obsidian 설정 → Files & Links → "Automatically update internal links" 켜기 (리네임 시 링크 안 깨지게).
- 모든 위키 페이지는 최소 하나의
_*-moc.md에서 도달 가능해야 하고, 모든 MOC 는_index.md에서 도달 가능해야 한다.
9. 태그
- 통제된 어휘만.
<a href="taxonomy.html">taxonomy</a>에 정의된 것만 쓴다. - aboutness(
#model,#prompting,#agentic,#api) + 상태(#needs-review,#deprecated). - 즉흥적으로 태그를 만들지 마라 — 먼저
taxonomy.md에 추가하고 쓴다. 안 그러면 태그가 썩는다.
10. 날짜 형식
- 프론트매터는 항상 ISO
YYYY-MM-DD(Dataview 정렬이 타입 혼용에 조용히 깨진다). last_verified는YYYY-MM단위 허용하되 vault 전체에서 일관되게.
11. 연산 (operations) ⭐
이 위키는 손으로만 굴리는 게 아니라 에이전트가 돌리는 연산을 갖는다. 스키마는 루트 CLAUDE.md, 실행은 슬래시 커맨드다.
| 연산 | 커맨드 | 하는 일 |
|---|---|---|
| ingest | /ingest <자료> |
자료를 raw/ 에 불변 캡처 → 해당 위키 페이지 생성·갱신 → MOC 연결 → log.md 기입 |
| lint | /lint |
구조 검사(스크립트) + 의미 검사(에이전트). 아래 참조 |
| review | /wiki-review |
_review.md 의 밀린 페이지를 공식 출처로 재확인 → last_verified 갱신 |
| build | /build |
lint 통과 시 site/ 정적 HTML 재빌드 |
lint 가 찾는 것
Karpathy 원문의 lint 항목을 그대로 따른다. 기계가 잡는 것과 에이전트가 잡는 것이 나뉜다.
기계 (~/dev/llmwiki-tools/validate_wiki.py):
- 깨진 위키링크 · 프론트매터 누락 · 통제어휘 밖 태그 · review_every 완화
- 고아 페이지 (어떤 MOC 에서도 도달 불가)
에이전트 (스크립트로는 못 잡음): - 페이지 간 모순 — 같은 사실을 두 페이지가 다르게 말하는가 - 낡은 주장 — 새 출처가 뒤집었는데 안 고쳐진 것 - 누락 상호참조 — 관련 있는데 서로 안 거는 페이지 - 페이지 없는 개념 — 여러 곳에서 언급되는데 자기 페이지가 없는 것 - 자료 공백 — 웹 검색으로 메울 수 있는 구멍
관련: taxonomy · _index · _review · 2026-08-02-karpathy-llm-wiki-primary