메뉴
HN
Hacker News 56일 전

LLM 위키: 개인 지식 베이스 구축 패턴

IMP
7/10
핵심 요약

이 글은 매번 검색어를 조회할 때마다 처음부터 답을 찾는 기존 RAG 방식의 한계를 지적하며, LLM이 원문을 바탕으로 지속 가능하고 상호 연결된 개인 위키를 점진적으로 구축 및 유지 관리하는 새로운 패턴을 제안합니다. LLM이 단순한 문서 검색을 넘어 요약, 교차 참조, 정보 갱신 등의 편집 작업을 자동으로 수행하여, 사용자가 옵시디언(Obsidian) 같은 도구와 함께 지식을 체계적으로 축적할 수 있게 해줍니다.

번역된 본문

LLM 위키: LLM을 활용해 개인 지식 베이스를 구축하는 패턴입니다. 이 파일은 '아이디어 파일'로, 여러분의 LLM 에이전트(예: OpenAI Codex, Claude Code, OpenCode / Pi 등)에 복사하여 붙여넣기 위해 설계되었습니다. 이 파일의 목표는 핵심 아이디어를 전달하는 것이며, 구체적인 구현은 에이전트가 여러분과 협업하여 완성하게 됩니다.

핵심 아이디어 대부분의 사람들이 LLM과 문서를 다루는 방식은 RAG(Retrieval-Augmented Generation)와 같습니다. 파일 모음을 업로드하면, LLM이 질문(query) 시점에 관련된 조각을 검색하여 답변을 생성합니다. 이 방식도 작동은 하지만, LLM은 매 질문마다 처음부터 지식을 새롭게 찾아내야 합니다. 지식의 축적이 일어나지 않는 것입니다. 다섯 개의 문서를 종합해야 하는 복잡한 질문을 던지면, LLM은 매번 관련 조각들을 찾아 조립해야 합니다. 아무것도 구축되지 않습니다. NotebookLM, ChatGPT 파일 업로드, 그리고 대부분의 RAG 시스템이 이런 방식으로 작동합니다.

이 글에서 제안하는 아이디어는 다릅니다. 질문 시점에 원시 문서에서 단순히 검색해 오는 대신, LLM이 사용자와 원시 자료 사이에서 지속적이고 상호 연결된 마크다운(Markdown) 파일 집합인 '영구적인 위키(Wiki)'를 점진적으로 구축하고 유지 관리합니다. 새로운 출처(Source)를 추가할 때 LLM은 나중을 위해 단순히 색인만 해두는 것이 아닙니다. 자료를 읽고 핵심 정보를 추출하여 기존 위키에 통합합니다. 엔티티(Entity) 페이지를 업데이트하고, 주제 요약을 수정하며, 새로운 데이터가 기존 주장과 모순되는 곳을 표시하고, 발전해 나가는 종합적 내용을 강화하거나 다듬습니다. 지식은 한 번 편집되고 계속 최신 상태로 유지되며, 매번 질문할 때마다 새로 도출되지 않습니다.

여기가 바로 핵심적인 차이점입니다. 위키는 지속적이고 복리적으로 발전하는 산출물입니다. 상호 참조(Cross-references)는 이미 존재합니다. 모순점은 이미 표시되어 있습니다. 종합된 내용은 이미 여러분이 읽은 모든 것을 반영하고 있습니다. 위키는 여러분이 출처를 추가하고 질문을 던질수록 계속해서 풍성해집니다. 여러분은 (거의) 직접 위키를 작성하지 않으며, LLM이 모든 것을 작성하고 유지 관리합니다. 사용자는 자료 조사, 탐색, 그리고 올바른 질문을 던지는 역할을 담당합니다. LLM은 지식 베이스를 시간이 지남에 따라 유용하게 유지하는 데 필요한 요약, 교차 참조, 분류, 관리 등의 모든 단순 반복 작업(Grunt work)을 처리합니다.

실제로 저는 한쪽에는 LLM 에이전트를 켜두고 다른 한쪽에는 옵시디언(Obsidian)을 켜둡니다. LLM이 대화를 바탕으로 편집을 수행하면, 저는 실시간으로 그 결과를 탐색합니다. 링크를 따라가고, 그래프 뷰를 확인하고, 업데이트된 페이지를 읽습니다. 옵시디언이 통합 개발 환경(IDE)이고, LLM이 프로그래머이며, 위키가 코드베이스인 셈입니다.

이러한 방식은 다양한 상황에 적용될 수 있습니다. 몇 가지 예시는 다음과 같습니다:

개인: 자신의 목표, 건강, 심리, 자기 계발 추적 — 일기, 기사, 팟캐스트 노트를 분류하고, 시간이 지남에 따라 자신에 대한 구조화된 그림을 구축합니다.

연구: 몇 주 또는 몇 달에 걸쳐 특정 주제를 깊이 파고들기 — 논문, 기사, 보고서를 읽고 발전하는 가설과 함께 포괄적인 위키를 점진적으로 구축합니다.

독서: 책을 읽어가며 각 장을 기록하고, 등장인물, 주제, 줄거리의 실마리 및 그 연결 고리에 대한 페이지를 구축합니다. 다 읽고 나면 훌륭한 동반자 위키가 완성됩니다. '톨킨 게이트웨이(Tolkien Gateway)' 같은 팬 위키를 상상해 보세요. 수년간 자원봉사자 커뮤니티에 의해 구축된 등장인물, 장소, 사건, 언어를 다루는 수천 개의 상호 연결된 페이지들입니다. LLM이 모든 교차 참조와 유지 관리를 수행하면서 독서할 때 개인적으로 그와 같은 것을 구축할 수 있습니다.

비즈니스/팀: LLM이 유지 관리하는 내부 위키로, 슬랙(Slack) 스레드, 회의록, 프로젝트 문서, 고객 통화 내용을 통해 제공됩니다. 업데이트를 검토하는 인간이 루프에 포함될 수도 있습니다. 팀원 중 아무도 하기 싫어하는 유지 관리를 LLM이 담당하기 때문에 위키는 항상 최신 상태를 유지합니다.

경쟁사 분석, 실사(Due Diligence), 여행 계획, 강의 노트, 취미 탐구 등 시간이 지남에 따라 지식을 축적하고 분산되지 않은 체계적인 정리를 원하는 모든 작업에 적용할 수 있습니다.

아키텍처(Architecture) 아키텍처는 세 가지 계층으로 구성됩니다:

원시 출처(Raw sources) — 엄선된 출처 문서 모음입니다. 기사, 논문, 이미지, 데이터 파일 등이 포함됩니다. 이것들은 불변(Immutable)하며, LLM은 이곳에서 데이터를 읽기만 할 뿐 절대 수정하지 않습니다. 이것이 진실의 원천(Source of truth)입니다.

원문 보기
원문 보기 (영어)
LLM Wiki A pattern for building personal knowledge bases using LLMs. This is an idea file, it is designed to be copy pasted to your own LLM Agent (e.g. OpenAI Codex, Claude Code, OpenCode / Pi, or etc.). Its goal is to communicate the high level idea, but your agent will build out the specifics in collaboration with you. The core idea 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. There's no accumulation. Ask a subtle question that requires synthesizing five documents, and the LLM has to find and piece together the relevant fragments every time. Nothing is built up. NotebookLM, ChatGPT file uploads, and most RAG systems work this way. The idea here is different. 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. When you add a new source, the LLM doesn't just index it for later retrieval. It reads it, extracts the key information, and integrates it into the existing wiki — updating entity pages, revising topic summaries, noting where new data contradicts old claims, strengthening or challenging the evolving synthesis. The knowledge is compiled once and then kept current , not re-derived on every query. This is the key difference: the wiki is a persistent, compounding artifact. The cross-references are already there. The contradictions have already been flagged. The synthesis already reflects everything you've read. The wiki keeps getting richer with every source you add and every question you ask. You never (or rarely) write the wiki yourself — the LLM writes and maintains all of it. You're in charge of sourcing, exploration, and asking the right questions. The LLM does all the grunt work — the summarizing, cross-referencing, filing, and bookkeeping that makes a knowledge base actually useful over time. In practice, I have the LLM agent open on one side and Obsidian open on the other. The LLM makes edits based on our conversation, and I browse the results in real time — following links, checking the graph view, reading the updated pages. Obsidian is the IDE; the LLM is the programmer; the wiki is the codebase. This can apply to a lot of different contexts. A few examples: Personal : tracking your own goals, health, psychology, self-improvement — filing journal entries, articles, podcast notes, and building up a structured picture of yourself over time. Research : going deep on a topic over weeks or months — reading papers, articles, reports, and incrementally building a comprehensive wiki with an evolving thesis. Reading a book : filing each chapter as you go, building out pages for characters, themes, plot threads, and how they connect. By the end you have a rich companion wiki. Think of fan wikis like Tolkien Gateway — thousands of interlinked pages covering characters, places, events, languages, built by a community of volunteers over years. You could build something like that personally as you read, with the LLM doing all the cross-referencing and maintenance. Business/team : an internal wiki maintained by LLMs, fed by Slack threads, meeting transcripts, project documents, customer calls. Possibly with humans in the loop reviewing updates. The wiki stays current because the LLM does the maintenance that no one on the team wants to do. Competitive analysis, due diligence, trip planning, course notes, hobby deep-dives — anything where you're accumulating knowledge over time and want it organized rather than scattered. Architecture There are three layers: Raw sources — your curated collection of source documents. Articles, papers, images, data files. These are immutable — the LLM reads from them but never modifies them. This is your source of truth. The wiki — a directory of LLM-generated markdown files. Summaries, entity pages, concept pages, comparisons, an overview, a synthesis. The LLM owns this layer entirely. It creates pages, updates them when new sources arrive, maintains cross-references, and keeps everything consistent. You read it; the LLM writes it. The schema — a document (e.g. CLAUDE.md for Claude Code or AGENTS.md for Codex) that tells the LLM how the wiki is structured, what the conventions are, and what workflows to follow when ingesting sources, answering questions, or maintaining the wiki. This is the key configuration file — it's what makes the LLM a disciplined wiki maintainer rather than a generic chatbot. You and the LLM co-evolve this over time as you figure out what works for your domain. Operations Ingest. You drop a new source into the raw collection and tell the LLM to process it. An example flow: 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 across the wiki, and appends an entry to the log. A single source might touch 10-15 wiki pages. Personally I prefer to ingest sources one at a time and stay involved — I read the summaries, check the updates, and guide the LLM on what to emphasize. But you could also batch-ingest many sources at once with less supervision. It's up to you to develop the workflow that fits your style and document it in the schema for future sessions. Query. You ask questions against the wiki. The LLM searches for relevant pages, reads them, and synthesizes an answer with citations. Answers can take different forms depending on the question — a markdown page, a comparison table, a slide deck (Marp), a chart (matplotlib), a canvas. The important insight: good answers can be filed back into the wiki as new pages. A comparison you asked for, an analysis, a connection you discovered — these are valuable and shouldn't disappear into chat history. This way your explorations compound in the knowledge base just like ingested sources do. Lint. Periodically, ask the LLM to health-check the wiki. Look for: contradictions between pages, stale claims that newer sources have superseded, orphan pages with no inbound links, important concepts mentioned but lacking their own page, missing cross-references, data gaps that could be filled with a web search. The LLM is good at suggesting new questions to investigate and new sources to look for. This keeps the wiki healthy as it grows. Indexing and logging Two special files help the LLM (and you) navigate the wiki as it grows. They serve different purposes: index.md is content-oriented. It's a catalog of everything in the wiki — each page listed with a link, a one-line summary, and optionally metadata like date or source count. Organized by category (entities, concepts, sources, etc.). The LLM updates it on every ingest. When answering a query, the LLM reads the index first to find relevant pages, then drills into them. This works surprisingly well at moderate scale (~100 sources, ~hundreds of pages) and avoids the need for embedding-based RAG infrastructure. log.md is chronological. It's an append-only record of what happened and when — ingests, queries, lint passes. A useful tip: if each entry starts with a consistent prefix (e.g. ## [2026-04-02] ingest | Article Title ), the log becomes parseable with simple unix tools — grep "^## \[" log.md | tail -5 gives you the last 5 entries. The log gives you a timeline of the wiki's evolution and helps the LLM understand what's been done recently. Optional: CLI tools At some point you may want to build small tools that help the LLM operate on the wiki more efficiently. A search engine over the wiki pages is the most obvious one — at small scale the index file is enough, but as the wiki grows you want proper search. qmd is a good option: it's a local search engine for markdown files with hybrid BM25/vector search and LLM re-ranking, all on-device. I