Files
DBAdmin/brain/raw/articles/Andrej Karpathy’s LLM knowledge_ Create your own knowledge base.md
Paweł Domański c36ead5db0 Jun 9, 2026, 3:59 PM
2026-06-09 13:59:59 +00:00

335 lines
22 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Andrej Karpathys LLM Knowledge Base: Create your own knowledge base"
source: "https://medium.com/@urvvil08/andrej-karpathys-llm-knowledge-create-your-own-knowledge-base-8779014accd5"
author:
- "[[Urvil Joshi]]"
published: 2026-04-20
created: 2026-05-14
description: "Ty Wyróżnienie"
tags:
- "clippings"
---
Andrej Karpathy [**tweeted**](https://x.com/karpathy/status/2039805659525644595) something that quietly broke the AI communitys understanding of how we should be using LLMs to manage knowledge.
Two days later, he followed up with a GitHub gist called [**llm-knowledge.md**](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f). The idea isnt a product. Its not code. Its a *pattern* a special one that might make will help you create a small scale personal knowledge base in few minutes.
Lets break this down.
## 🍥The Tweet That Started It
Karpathys original tweet:
> “Something Im 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 thats 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.
Heres 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 knowledge once and keep it updated forever.**
Karpathy used an analogy from software engineering: **compilation**.
```c
┌─────────────────────────────────────────────────────────────┐
SOFTWARE ENGINEERING
Source Code ──[ compile once ]──► Binary
(readable) (runs fast every
single call)
└─────────────────────────────────────────────────────────────┘
same idea
┌─────────────────────────────────────────────────────────────┐
LLM WIKI
Raw Sources ──[ LLM compiles ]──► Knowledge Base
(PDFs, notes, (pre-synthesized,
articles) interlinked,
always ready)
└─────────────────────────────────────────────────────────────┘
```
You dont 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 knowledge is the binary.
Every time you add a new document, the LLM doesnt just index it. It **reads it, extracts the key information, updates existing pages, revises summaries, flags contradictions, and strengthens cross-links**. The knowledge is a persistent, compounding artifact.
In Karpathys own words, the line that captures the whole philosophy:
> “Obsidian is the IDE; the LLM is the programmer; the knowledge is the codebase.”
You rarely write the knowledge yourself. You curate sources, ask questions, and think. The LLM handles the whole work summarizing, cross-referencing, filing, and bookkeeping.
## 🔍The Three-Layer Architecture
```c
╔══════════════════════════════════════════════════════════════╗
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 theyre immutable is a deliberate design choice: you can always re-compile the knowledge from scratch if needed.
**Layer 2 — The knowledge.** 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. Its the config that turns a generic agent into a *disciplined knowledge maintainer*. It defines how pages are structured, how new sources get ingested, how answers get formatted.
## 🧰The Three Operations
```c
┌──────────────────────┐
YOU (Human)
curates & asks
└──────────┬───────────┘
┌────────────────────┼────────────────────┐
┌────────────┐ ┌────────────┐ ┌────────────┐
1. INGEST 2. QUERY 3. LINT
├────────────┤ ├────────────┤ ├────────────┤
Drop new Ask a Health-
source question check knowledge
LLM reads, LLM reads find
summarises, knowledge & contra-
updates synthesises dictions,
1015 knowledge 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 doesnt search raw documents it reads the already synthesized knowledge and answers. And heres the compounding trick: **good answers can be filed back into the knowledge as new pages**. Your explorations become permanent knowledge.
**Lint.** Periodically, you ask the LLM to audit the whole knowledge. Find contradictions. Find orphan pages with no links pointing in. Find concepts that are mentioned but missing their own page. The knowledge stays healthy because the LLM does the maintenance no human ever wants to do.
## ✨Lets Actually Build One
Lets build a working LLM Knowledge Base together.
### What you need
1. **Claude Code** (or OpenAI Codex, or any agent) the brain
2. **Obsidian** (free, [obsidian.md](https://obsidian.md/)) — the viewer
3. A folder on your computer — your vault
### Step 1: Create the folder structure
Open your terminal:
bash
```c
mkdir llm-knowledge-demo && cd llm-knowledge-demo
mkdir raw
```
Masz teraz:
```c
llm-knowledge-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ć Knowledge Base LLM w tym katalogu. Zanim cokolwiek zrobisz, zapytaj mnie, o czym będzie ta knowledge 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](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f)
### Krok 3: Claude odpowie kilkoma pytaniami wyjaśniającymi
Claude odpowie kilkoma pytaniami wyjaśniającymi, takimi jak:
- Jaki temat będzie poruszać ta knowledge?
- 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ę knowledge o **AI i filozofii oprogramowania**. Moja odpowiedź:
> "Knowledge Base 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 1020 ź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` `knowledge/index.md` `knowledge/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:
```c
knowledge/
├── 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.`[[knowledgelinks]]`
**#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ą knowledge, 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 knowledge 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 knowledge, 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](https://obsidian.md/), stwórz nowy skarbiec, skieruj go na swój folder i kliknij **w widok grafu**.`llm-knowledge-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 Knowledge Base: 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.**
```c
┌─────────────────────────────────┬─────────────────────────────────┐
RAG LLM WIKI
├─────────────────────────────────┼─────────────────────────────────┤
📄 Raw docs stay raw 📄 Raw docs compiled into
structured knowledge 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 12 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: ~100500 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.
**Knowledge Base 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 Knowledge Base, którą warto traktować poważnie: ponieważ LLM podsumowuje i skrada źródła na stronach knowledge, istnieje ryzyko, że halucynacje zostaną wplecione jako *"fakty".* W czystym RAG błędna odpowiedź to po prostu jedna błędna odpowiedź. W przypadku knowledge 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 knowledge. 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.
![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*uoqtXXIOw9wbq-PQ5P700Q.png)
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ą knowledge, 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](https://x.com/karpathy/status/2039805659525644595)
- **Oryginalna koncepcja Karpathy'ego:** [gist.github.com/karpathy/442a6bf555914893e9891c11519de94f](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f)
- **Kod Claude'a:** [claude.com/claude-code](https://claude.com/claude-code)
- **Obsydian:** [obsidian.md](https://obsidian.md/)
- **Źródło demo 1 — "Gorzka lekcja" Suttona:** [incompleteideas.net/IncIdeas/BitterLesson.html](http://www.incompleteideas.net/IncIdeas/BitterLesson.html)
- **Demo źródło 2 — "Software 2.0" Karpathy'ego:** [karpathy.medium.com/software-20-a64152b37c35](https://karpathy.medium.com/software-2-0-a64152b37c35)
- **Knowledge Base LLM Karpathy'ego zmienia wszystko:** [https://youtu.be/04z2M\_Nv\_Rk](https://youtu.be/04z2M_Nv_Rk)