22 KiB
title, source, author, published, created, description, tags
| title | source | author | published | created | description | tags | ||
|---|---|---|---|---|---|---|---|---|
| Andrej Karpathy’s LLM Wiki: Create your own knowledge base | https://medium.com/@urvvil08/andrej-karpathys-llm-wiki-create-your-own-knowledge-base-8779014accd5 |
|
2026-04-20 | 2026-05-14 | Ty Wyróżnienie |
|
Andrej Karpathy tweeted something that quietly broke the AI community’s understanding of how we should be using LLMs to manage knowledge.
Two days later, he followed up with a GitHub gist called llm-wiki.md. The idea isn’t a product. It’s not code. It’s a pattern a special one that might make will help you create a small scale personal knowledge base in few minutes.
Let’s break this down.
🍥The Tweet That Started It
Karpathy’s original tweet:
“Something I’m finding very useful recently: using LLMs to build personal knowledge bases for various topics of research interest. In this way, a large fraction of my recent token throughput is going less into manipulating code, and more into manipulating…”
— @karpathy, April 2, 2026
And that’s what he published a single markdown file on GitHub Gist. Something he calls an idea file: a document meant to be copy-pasted into an LLM agent like Claude Code, OpenAI Codex or any agent, where your agent then instantiates the pattern for your specific needs.
✨The Core Idea: Stop Retrieving. Start Compiling.
Here’s the insight in one sentence: instead of having the LLM re-read your raw documents every time you ask a question, build a persistent, structured wiki once and keep it updated forever.
Karpathy used an analogy from software engineering: compilation.
┌─────────────────────────────────────────────────────────────┐
│ SOFTWARE ENGINEERING │
│ │
│ Source Code ──[ compile once ]──► Binary │
│ (readable) (runs fast every │
│ single call) │
└─────────────────────────────────────────────────────────────┘
⇕ same idea ⇕
┌─────────────────────────────────────────────────────────────┐
│ LLM WIKI │
│ │
│ Raw Sources ──[ LLM compiles ]──► Wiki │
│ (PDFs, notes, (pre-synthesized, │
│ articles) interlinked, │
│ always ready) │
└─────────────────────────────────────────────────────────────┘
You don’t execute source code every time you want to run a program. You compile it once into a binary and run that. Karpathy says: treat knowledge the same way. Your PDFs and notes are the source code. The wiki is the binary.
Every time you add a new document, the LLM doesn’t just index it. It reads it, extracts the key information, updates existing pages, revises summaries, flags contradictions, and strengthens cross-links. The wiki is a persistent, compounding artifact.
In Karpathy’s own words, the line that captures the whole philosophy:
“Obsidian is the IDE; the LLM is the programmer; the wiki is the codebase.”
You rarely write the wiki yourself. You curate sources, ask questions, and think. The LLM handles the whole work summarizing, cross-referencing, filing, and bookkeeping.
🔍The Three-Layer Architecture
╔══════════════════════════════════════════════════════════════╗
║ LAYER 3 — THE SCHEMA ║
║ (CLAUDE.md / AGENTS.md) ║
║ ║
║ Rules • Conventions • Workflows • How to ingest/query ║
║ ║
║ ↕ tells the LLM HOW to behave ║
╠══════════════════════════════════════════════════════════════╣
║ LAYER 2 — THE WIKI ║
║ (LLM owns this entirely) ║
║ ║
║ ┌──────────┐ ┌──────────┐ ┌──────────┐ ║
║ │ Entity │──│ Concept │──│ Overview │ index.md ║
║ │ pages │ │ pages │ │ pages │ log.md ║
║ └──────────┘ └──────────┘ └──────────┘ ║
║ ↑ LLM creates, links, updates, maintains ║
╠══════════════════════════════════════════════════════════════╣
║ LAYER 1 — RAW SOURCES ║
║ (IMMUTABLE) ║
║ ║
║ 📄 PDFs 📰 Articles 🎧 Podcast notes 🖼️ Images ║
║ ║
║ LLM reads • NEVER modifies • source of truth ║
╚══════════════════════════════════════════════════════════════╝
Layer 1 — Raw sources. Your curated collection. Articles, papers, meeting notes, images. Immutable. The LLM reads them but never modifies them. This is your ground truth. The fact that they’re immutable is a deliberate design choice: you can always re-compile the wiki from scratch if needed.
Layer 2 — The wiki. A directory of markdown files the LLM owns completely. Entity pages, concept pages, summaries, an index, a log. You read it. The LLM writes it.
Layer 3 — The schema. This is a CLAUDE.md (for Claude Code) or AGENTS.md (for Codex) file. It’s the config that turns a generic agent into a disciplined wiki maintainer. It defines how pages are structured, how new sources get ingested, how answers get formatted.
🧰The Three Operations
┌──────────────────────┐
│ YOU (Human) │
│ curates & asks │
└──────────┬───────────┘
│
┌────────────────────┼────────────────────┐
│ │ │
▼ ▼ ▼
┌────────────┐ ┌────────────┐ ┌────────────┐
│ 1. INGEST │ │ 2. QUERY │ │ 3. LINT │
├────────────┤ ├────────────┤ ├────────────┤
│ Drop new │ │ Ask a │ │ Health- │
│ source → │ │ question → │ │ check wiki │
│ LLM reads, │ │ LLM reads │ │ → find │
│ summarises,│ │ wiki & │ │ contra- │
│ updates │ │ synthesises│ │ dictions, │
│ 10–15 wiki │ │ answer │ │ orphans, │
│ pages │ │ w/ cites │ │ stale data │
└─────┬──────┘ └─────┬──────┘ └─────┬──────┘
│ │ │
└────────────────────┴────────────────────┘
│
▼
┌──────────────────────┐
│ WIKI COMPOUNDS │
│ (every op makes it │
│ richer over time)│
└──────────────────────┘
Ingest. You drop a source into the raw folder. The LLM reads it, writes a summary page, and touches some related pages updating, cross-linking, flagging contradictions. A single article becomes a web of updates across your entire knowledge base.
Query. You ask a question. The LLM doesn’t search raw documents it reads the already synthesized wiki and answers. And here’s the compounding trick: good answers can be filed back into the wiki as new pages. Your explorations become permanent knowledge.
Lint. Periodically, you ask the LLM to audit the whole wiki. Find contradictions. Find orphan pages with no links pointing in. Find concepts that are mentioned but missing their own page. The wiki stays healthy because the LLM does the maintenance no human ever wants to do.
✨Let’s Actually Build One
Let’s build a working LLM Wiki together.
What you need
- Claude Code (or OpenAI Codex, or any agent) the brain
- Obsidian (free, obsidian.md) — the viewer
- A folder on your computer — your vault
Step 1: Create the folder structure
Open your terminal:
bash
mkdir llm-wiki-demo && cd llm-wiki-demo
mkdir raw
Masz teraz:
llm-wiki-demo/
├── raw/ (your immutable sources go here)
Krok 2: Otwórz Claude Code w tym folderze i wklej tę pojedynczą wiadomość
=="Chcę, żebyś przeczytał ten plik pomysłów autorstwa Andreja Karpathy'ego i pomógł mi założyć Wiki LLM w tym katalogu. Zanim cokolwiek zrobisz, zapytaj mnie, o czym będzie ta wiki i jakich źródeł zamierzam ją podać. Gdy odpowiem, napisz mi plik schematu CLAUDE.md na podstawie mojej odpowiedzi".==
Tutaj wklej pełną treść oryginalnego smysłu Karpathy'ego
Krok 3: Claude odpowie kilkoma pytaniami wyjaśniającymi
Claude odpowie kilkoma pytaniami wyjaśniającymi, takimi jak:
- Jaki temat będzie poruszać ta wiki?
- Jakie źródła będziesz mu dostarczać?
- Ile mniej więcej chcesz pochłonąć?
- Jakie typy stron chcesz?
Krok 4: Odpowiedz szczerze
Do tego dema tworzę wiki o AI i filozofii oprogramowania. Moja odpowiedź:
"Wiki obejmuje badania nad AI i filozofię oprogramowania. Dam mu krótkie eseje i wpisy na blogu od takich osób jak Rich Sutton i Andrej Karpathy. Prawdopodobnie 10–20 źródeł. Chcę stron koncepcyjne, streszczeń esejów i stron autorów."
Claude teraz napisze plik dostosowany do tego zastosowania, inicjalizuje i, i powie coś w stylu "Gotowy do pobrania twojego pierwszego źródła." CLAUDE.md wiki/index.md wiki/log.md
Po prostu zbudowałeś cały schemat bez napisania choćby jednej linii kodu. To jest wzorzec Karpathy'ego, który działa dokładnie tak, jak zamierzono.
Krok 5: Pobieranie źródeł
Do mojej demonstracji mam dwa źródła
#1 "Gorzka lekcja" Richa Suttona
Wrzuć "Gorzką lekcję" Richa Suttona do.raw/ bitter-lesson.pdf
Powiedz Claude'owi:
"Połykanie."
raw/bitter-lesson.pdf
Zobacz, co się stanie. Claude czyta dwustronicowy esej i generuje coś w stylu:
wiki/
├── index.md (updated)
├── log.md (new entry appended)
├── sources/
│ └── bitter-lesson.md (summary page)
├── concepts/
│ ├── search.md
│ ├── learning.md
│ ├── moores-law.md
│ ├── general-methods.md
│ └── human-knowledge-approaches.md
├── examples/
│ ├── computer-chess.md
│ ├── computer-go.md
│ ├── speech-recognition.md
│ └── computer-vision.md
└── people/
└── rich-sutton.md
Jeden dwustronicowy PDF stał się ~10 połączonych stron. Każda strona odwołuje się do pozostałych w stylu Obsidian.[[wikilinks]]
#2 — "Oprogramowanie 2.0" Karpathy'ego
Wpadnij "Software 2.0" Karpathy'ego do.raw/ *software-2-0.pdf*
Powiedz Claude'owi:
"Połykanie."
raw/software-2-0.pdf
Claude nie zaczyna od zera. Najpierw czyta twoją istniejącą wiki, rozpoznaje, że esej Karpathy'ego "Software 2.0" argumentuje czymś ściśle związanym z Gorzką Lekcją, i robi coś niezwykłego: aktualizuje istniejące strony, dodając ramy Karpathy'ego, wzmacnia odniesienia krzyżowe i tworzy nowe strony tylko tam, gdzie jest to potrzebne.
Strona teraz zawiera link zwrotny, ponieważ LLM wykrył koncepcyjny związek między dwoma esejami, link, który nie dodał nikt inny.software-2-0.md [[bitter-lesson]]
Twoja wiki stała się gęstsza, nie tylko większa. To jest właściwość złożenia, na którą wskazuje Karpathy.
Krok 6: Zadaj pytanie syntetyczne
A teraz efekt:
"Jak Sutton i Karpathy zgadzają się co do przyszłości oprogramowania i gdzie mogą się nie zgadzać?"
==Claude nie otwiera ponownie PDF-ów. Odczytuje dwie strony wiki, które właśnie stworzyłeś, podąża za== ==[[linkami]]== między nimi i w kilka sekund daje ugruntowaną syntezę międzyautorów. Ta odpowiedź, która opiera się na połączeniach, które nie istniały 60 sekund temu, jest teraz plikiem leżącym w twoim skarbcu na zawsze.
To właśnie ma na myśli Karpathy, mówiąc, że wiedza się kumuluje.
Krok 7: Otwórz Obsidian i skieruj go na folder
Zainstaluj Obsidian, stwórz nowy skarbiec, skieruj go na swój folder i kliknij w widok grafu.llm-wiki-demo/
Teraz patrzysz na swoją wiedzę jako na sieć. Węzły to strony. Krawędzie to ogniwa, które Claude dodawał automatycznie. Każde dodane źródło sprawia, że wykres staje się gęstszy.
To właśnie wtedy wykres jest wyrenderowany po raz pierwszy, wtedy większość ludzi to rozumie.
🔍RAG vs LLM Wiki: Szczere porównanie
Pytanie, które wszyscy zadają: czy to faktycznie lepsze niż RAG?
Szczera odpowiedź: żadne z nich nie wygrywa. Rozwiązują różne problemy.
┌─────────────────────────────────┬─────────────────────────────────┐
│ RAG │ LLM WIKI │
├─────────────────────────────────┼─────────────────────────────────┤
│ │ │
│ 📄 Raw docs stay raw │ 📄 Raw docs compiled into │
│ │ structured wiki pages │
│ │ │
│ 🔍 Retrieves chunks per query │ 📖 Reads pre-synthesized pages │
│ │ │
│ 🔁 Stateless — every query │ 📈 Stateful — knowledge │
│ starts from scratch │ compounds over time │
│ │ │
│ 🧩 Answers assembled from │ 🔗 Answers drawn from already- │
│ fragments at runtime │ connected concepts │
│ │ │
│ 🕒 Cheap per query │ 💰 Expensive ingest, │
│ │ cheap query │
│ │ │
│ ✅ Perfect traceability to │ ⚠️ Answers 1–2 steps removed │
│ source (which chunk?) │ from raw source │
│ │ │
│ ❌ No cross-time synthesis │ ✅ Links March article to │
│ │ October article naturally │
│ │ │
│ ✅ Fresh data always re-read │ ⚠️ Updates require re-ingest │
│ │ │
│ ✅ Hallucinations stay local │ ⚠️ Hallucinations can get │
│ to one answer │ baked in as "facts" │
│ │ │
│ 🎯 Best for: large, changing │ 🎯 Best for: ~100–500 curated │
│ corpora, fact lookup, │ sources, research projects, │
│ millions of docs │ personal knowledge, books │
│ │ │
└─────────────────────────────────┴─────────────────────────────────┘
RAG jest świetny, gdy masz miliony dokumentów, które ciągle się zmieniają i potrzebujesz precyzyjnych cytowań do konkretnego fragmentu. Pomyśl o obsłudze klienta, wyszukiwarce prawne, wyszukiwaniu faktów w firmie.
Wiki LLM jest świetna, gdy masz ograniczony, wyselekcjonowany korpus, może kilkaset źródeł na temat, którym się zajmujesz. Projekty badawcze. Książka, którą studiujesz. Kurs, który wybierasz. Twój własny dziennik. Sytuacje, w których synteza ma większe znaczenie niż wyszukiwanie, gdzie wartościowe odpowiedzi wymagają połączenia pięciu źródeł, a nie szukania jednego.
Jest prawdziwa krytyka wzorca LLM Wiki, którą warto traktować poważnie: ponieważ LLM podsumowuje i skrada źródła na stronach wiki, istnieje ryzyko, że halucynacje zostaną wplecione jako "fakty". W czystym RAG błędna odpowiedź to po prostu jedna błędna odpowiedź. W przypadku wiki LLM drobne nieporozumienie może cicho rozprzestrzenić się na powiązanych stronach.
Dlatego Karpathy podkreśla okresowe audyty stopniowe usuwania kłaczków i dlaczego każda poważna implementacja powinna dokładnie sprawdzać generowane strony względem surowych źródeł.
🧰Dlaczego to naprawdę ma znaczenie
To nie tak naprawdę chodzi o wiki. Karpathy wskazuje na coś znacznie starszego – wizję Vannevara Busha z 1945 roku, zwaną Memex: osobistym, kuratorowanym magazynem wiedzy, gdzie powiązania między dokumentami są równie cenne jak same dokumenty.
Wizja Busha była bliższa temu niż temu, czym stał się internet: prywatny, aktywnie kuratorowany, z powiązanymi ścieżkami między ideami. Powód, dla którego Memex nigdy tak naprawdę nie powstał, nie jest techniczny. Chodzi o to, że nikt nie chce prowadzić księgowości, aktualizować odnośników, utrzymywać aktualne streszczenia, zauważać, gdy nowe dane przeczą starym twierdzeniom.
Jak pisze Karpathy w ogóle:
"Żmudną częścią utrzymania bazy wiedzy nie jest czytanie ani myślenie, lecz księgowość. Ludzie porzucają wiki, ponieważ obciążenie związane z utrzymaniem rośnie szybciej niż wartość. LLM się nie nudzi, nie zapominają zaktualizować referencji krzyżowych i mogą obsłużyć 15 plików na raz."
Nużąca część wiedzy zostaje w końcu rozwiązana.
Twoja praca zmienia się z archiwizowania na myślenie. Od organizacji po kuratorstwo. Od wyszukiwania po zadawanie lepszych pytań. LLM zajmuje się całą resztą.
🎗️Bibliografia
- Tweet Karpathy'ego: https://x.com/karpathy/status/2039805659525644595
- Oryginalna koncepcja Karpathy'ego: gist.github.com/karpathy/442a6bf555914893e9891c11519de94f
- Kod Claude'a: claude.com/claude-code
- Obsydian: obsidian.md
- Źródło demo 1 — "Gorzka lekcja" Suttona: incompleteideas.net/IncIdeas/BitterLesson.html
- Demo źródło 2 — "Software 2.0" Karpathy'ego: karpathy.medium.com/software-2–0-a64152b37c35
- Wiki LLM Karpathy'ego zmienia wszystko: https://youtu.be/04z2M_Nv_Rk
