Skip to content
푸땡로그
Go back

Karpathy의 LLM-Wiki: LLM이 직접 쓰고 관리하는 개인 지식 위키

LLM에 논문이나 회의록을 넣고 질문하면, LLM은 질문할 때마다 원문을 처음부터 다시 읽습니다. 같은 자료를 여러 번 넣어도 정리된 지식은 어디에도 쌓이지 않습니다. RAG를 써도 마찬가지입니다.

Andrej Karpathy가 공유한 gist “LLM-Wiki” ↗는 LLM이 원문을 읽고 마크다운 위키를 직접 쓰고 고치게 하자는 아이디어 문서입니다. 사용자와 원문(raw source) 사이에 LLM이 관리하는 위키를 한 겹 둡니다. 한국어 커뮤니티에는 GeekNews 번역 토픽 ↗으로 알려졌습니다.

이 글은 gist 원문과 GeekNews 댓글을 바탕으로 LLM-Wiki의 구조, 작업 흐름, 적용 사례와 한계를 정리합니다.

기준 작성 시점 2026-04-17에 확인한 공식 gist karpathy/442a6bf555914893e9891c11519de94f 기준입니다. LLM-Wiki는 아이디어 문서이며, 공식 구현체나 제품은 없습니다.

배경: 왜 RAG만으로는 부족한가

Karpathy는 대부분의 “LLM + 문서” 경험이 RAG 방식이라고 봅니다. 파일을 올리면 질문할 때 관련 청크를 검색해 답을 만듭니다. Karpathy는 이 방식이 동작은 하지만, 질문마다 지식을 처음부터 다시 찾는다고 지적합니다.

“Most people’s experience with LLMs and documents looks like RAG: you upload a collection of files, the LLM retrieves relevant chunks at query time, and generates an answer. This works, but the LLM is rediscovering knowledge from scratch on every question.”

— karpathy/442a6bf555914893e9891c11519de94f ↗

LLM-Wiki는 원문을 매번 다시 읽는 대신, 계속 커지는 결과물(persistent, compounding artifact)을 두자고 제안합니다.

“Instead of just retrieving from raw documents at query time, the LLM incrementally builds and maintains a persistent wiki — a structured, interlinked collection of markdown files that sits between you and the raw sources.”

— 동일 gist

위키는 사용자가 아니라 LLM이 씁니다.

“You never (or rarely) write the wiki yourself — the LLM writes and maintains all of it.”

세션 사이에 컨텍스트를 유지하는 방법은 Claude Code Memory에서 다뤘습니다. LLM-Wiki는 이 방식을 개인 위키 규모로 넓힌 것에 가깝습니다.


LLM-Wiki의 3계층 구조

구조는 세 층입니다.

위키 계층에는 역할이 정해진 파일 두 개가 더 있습니다.

flowchart TD
    subgraph Raw [Raw sources]
        R1[논문/기사]
        R2[노트/메시지]
        R3[데이터/이미지]
    end
    subgraph Wiki [The wiki — LLM이 작성·유지]
        S[요약 페이지]
        E[엔티티 페이지]
        C[개념 페이지]
        IDX[index.md]
        LOG[log.md]
    end
    subgraph Schema [The schema]
        CFG[CLAUDE.md / AGENTS.md]
    end

    Raw -->|Ingest| Wiki
    CFG -. 구조·규칙 .-> Wiki
    User((사용자)) -->|Query| Wiki
    Wiki -->|Lint| Wiki

gist는 폴더 구조를 정하지 않습니다. 아래는 배치 예시입니다.

Text
my-wiki/
├─ CLAUDE.md          # 스키마: 구조와 워크플로우 규칙
├─ index.md           # 카테고리별 카탈로그 (진입점)
├─ log.md             # Ingest/Query/Lint append-only 로그
├─ raw/               # 불변 원문 (건드리지 않음)
│  ├─ papers/
│  └─ notes/
└─ wiki/              # LLM이 쓰고 유지하는 마크다운
   ├─ entities/
   ├─ concepts/
   └─ summaries/

raw 계층은 LLM이 수정하지 않는 원문이고, wiki 계층은 LLM이 쓰고 고치는 작업 공간입니다. 스키마는 위키를 어떻게 유지할지 정한 규칙 문서입니다.

위키 페이지는 아래처럼 서로 링크된 마크다운 문서입니다.

Markdown
// illustrative: gist의 서술을 토대로 재구성한 위키 페이지 예시 (원문 발췌 아님)

# Transformer

A neural network architecture introduced by ...

## Related

- [[Attention]]
- [[Self-Attention]]
- [[GPT]]

세 가지 동사: Ingest / Query / Lint

작업 흐름은 세 동사로 정리됩니다. 각 동사는 LLM이 위키를 다루는 규칙이자, 사용자가 LLM에 내리는 요청입니다.

flowchart TD
    A[Raw source 도착] -->|Ingest| B[요약/엔티티/개념 페이지 갱신]
    B -->|index 업데이트| C[index.md]
    U((사용자 질문)) -->|Query| W[위키 검색·종합]
    W --> U
    B -->|주기적| L[Lint: 건강 점검]
    L -->|모순·고아 페이지 탐지| B

Ingest — 원문을 흡수해 위키로 번역

원문이 들어오면 LLM이 읽고 사용자와 요점을 정리합니다. 그다음 요약 페이지를 쓰고, 관련 엔티티·개념 페이지와 index.md를 함께 고칩니다.

“the LLM reads the source, discusses key takeaways with you, writes a summary page in the wiki, updates the index, updates relevant entity and concept pages”

— karpathy/442a6bf555914893e9891c11519de94f ↗

gist에 따르면 원문 하나가 들어올 때 위키 페이지 10~15개를 함께 고치는 일도 흔합니다. Ingest는 요약을 저장하는 데서 끝나지 않고, 원문 내용을 기존 페이지 구조에 끼워 넣습니다. 웹 페이지를 원문으로 쓸 때는 Defuddle로 본문만 마크다운으로 뽑아 raw 계층에 넣을 수 있습니다.

Query — 위키를 상대로 묻는다

질의 시점에도 LLM은 원문을 직접 뒤지지 않습니다. 위키에서 관련 페이지를 찾고, 읽고, 답을 종합합니다.

“ask questions against the wiki. The LLM searches for relevant pages, reads them, and synthesizes an answer.”

— 동일 gist

Query는 이미 정리해 둔 위키를 읽으므로, RAG처럼 질문마다 원문을 다시 찾지 않습니다.

Lint — 위키의 건강 검사

위키는 시간이 지나면 내용이 엉킵니다. 그래서 LLM-Wiki는 주기적으로 린트를 실행합니다.

“periodically, ask the LLM to health-check the wiki. Look for: contradictions between pages, stale claims, orphan pages.”

— 동일 gist

LLM이 페이지 간 모순, 낡은 주장, 어디에서도 링크되지 않는 고아 페이지를 찾습니다. GeekNews 요약에 따르면 소스 약 100개, 페이지 수백 개 규모까지는 임베딩 없이 동작합니다. 한 사례에서 나온 참고 수치입니다.

gist가 언급한 도구는 Obsidian, BM25·벡터 하이브리드 검색 도구 qmd, 슬라이드 도구 Marp, 쿼리 언어 Dataview, Obsidian Web Clipper입니다. 모두 선택 사항입니다.


실전 사례: Farzapedia, @stadia, @kurthong

GeekNews 토픽 ↗에는 gist를 보고 직접 위키를 만든 한국어 사용자들의 기록이 있습니다. 세 사례를 옮깁니다.

Farzapedia — 개인 일기·메시지 2,500건에서 400페이지 위키로

@xguru가 공유한 Farzapedia는 개인 일기, Apple Notes, iMessage 2,500건을 넣어 위키 문서 400개를 자동으로 만든 사례입니다. 문서끼리 백링크로 연결되고, Claude Code가 index.md에서 시작해 파일 시스템을 직접 탐색합니다.

RAG와 비교한 평가도 있습니다.

“1년 전 RAG 기반으로 유사 시스템을 구축했으나 성능이 좋지 않았고, 에이전트가 파일 시스템을 통해 직접 탐색하는 방식이 훨씬 효과적”

— @xguru, news.hada.io/topic?id=28208 ↗

새 항목이 들어오면 관련 문서 23개도 자동으로 함께 고칩니다. gist가 말한 “원문 하나에 페이지 1015개 갱신”을 작은 규모로 한 셈입니다.

@stadia — Obsidian 볼트를 0에서 시작

@stadia는 빈 Obsidian 볼트와 gist 한 장으로 시작했습니다.

“별거 없던 기본 볼트 초기화 하고 저 파일 하나 읽게 하고서 이 아이디어를 구체화 하고 싶다고 이야기 하니 superpowers 의 브레인스톰 스킬과 함께 전체 틀을 잡고서 CLAUDE.md 와 옵시디언 플러그인 설정까지 완료했습니다.”

— @stadia, news.hada.io/topic?id=28208 ↗

처음에 준비한 것은 gist 한 장, 브레인스토밍 스킬, CLAUDE.md 한 개였습니다.

@kurthong — 한국어 검색의 가드레일

@kurthong은 Obsidian 볼트를 GitHub에 백업하고, Codex·Gemini용 파서를 따로 두었습니다. 한국어 검색 문제도 지적했습니다.

“bm25가 한글 검색에 약해서 한국어도 잘 검색할 수 있는 가드레일 적용”

— @kurthong, news.hada.io/topic?id=28208 ↗

세 사례 모두 원문은 그대로 두고 wiki 계층만 LLM이 고친다는 기본 원칙을 지켰습니다. 달라진 것은 도구와 백업 방식입니다.


한계와 비판

LLM-Wiki에는 비판도 많습니다. Hacker News와 GeekNews 토픽에서 나온 우려는 다음과 같습니다.

주의 아래 비판은 공개 논의에서 반복된 우려입니다. Karpathy가 인정한 결론은 아닙니다.

같은 결의 코멘트로, @sudoeng은 이렇게 정리합니다.

“ai가 점점 쌓여가는 위키 컨텍스트를 감당할 수 있을지 아직 잘 모르겠네요”

— news.hada.io/topic?id=28208 ↗

이 우려에는 공통점이 있습니다. Ingest나 Lint가 잘못되면 오류가 쌓입니다. 도입한다면 처음부터 log.md처럼 추가만 하는 기록을 남겨, 사람이 변경 내역을 검토(audit)할 수 있게 합니다.


마무리

LLM-Wiki는 사용자와 원문 사이에 LLM이 만들고 유지하는 위키를 한 겹 두자는 제안입니다. 규약은 3계층(raw / wiki / schema)과 세 동사(Ingest / Query / Lint)가 전부이고, 도구는 각자 고릅니다. 규약이 얇아 시작하기 쉽지만, 위키 품질을 지키는 장치도 사용자가 직접 만들어야 합니다.

실전 시작 제안 빈 Obsidian 볼트와 스키마 문서 한 장(CLAUDE.md)으로 시작합니다. raw 계층에는 수정하지 않을 원문만 넣고, 첫 주에는 Ingest만 실험합니다. Lint와 규모 확장은 그다음에 합니다.

관련 글

원문과 전체 맥락은 Karpathy의 LLM-Wiki gist ↗와 GeekNews 토픽 ↗에서 확인할 수 있습니다.


Share this post on:

Previous Post
Claude Code Routines 살펴보기: 로컬 CLI를 떠나 클라우드에서 반복 작업을 자동화하는 방식
Next Post
Claude Design 살펴보기: 프롬프트에서 프로토타입, 슬라이드, 핸드오프까지