개인 지식 관리에 LLM을 도입하면 RAG 패턴을 먼저 떠올립니다. 그러나 RAG는 질문마다 원본 문서를 검색하고 답변을 생성하느라 토큰과 시간을 계속 소모합니다. 게다가 청크 단위 응답이라 문서 사이의 관계나 모순 파악이 어렵습니다. Andrej Karpathy는 이 한계를 극복하려 LLM이 점진적으로 위키를 만들고 유지하는 패턴을 제안했습니다. LLM Wiki 는 이 패턴을 크로스플랫폼 데스크톱 앱으로 구현한 오픈소스 프로젝트입니다.

RAG와 다른 위키 접근법

LLM Wiki의 핵심 접근법은 RAG와 다릅니다. LLM은 한 번 분석한 결과를 위키 페이지로 영속화합니다. 새 자료가 들어올 때만 점진적으로 업데이트합니다. 사용자가 PDF나 DOCX 같은 문서를 등록하면 LLM은 두 단계 사고 사슬(Two-Step Chain-of-Thought) 인제스트를 거칩니다. 먼저 핵심 엔티티와 개념, 기존 위키와의 모순을 분석하고 이어서 분석 결과를 바탕으로 위키 페이지를 생성합니다. 페이지 사이 관계는 [[wikilinks]] 와 4 신호 관련도 모델로 구성된 지식 그래프(Knowledge Graph) 에 반영합니다. Louvain 커뮤니티 탐지로 자료 사이의 자연스러운 클러스터까지 드러냅니다. 이런 방식으로 사용자는 매번 검색되는 답변 대신, 시간이 지날수록 풍부해지는 자기만의 위키와 대화합니다.

두 단계 인제스트와 지식 그래프 활용

LLM Wiki는 Karpathy의 원안에 담긴 3계층 아키텍처를 그대로 따릅니다. 원본 자료, LLM이 생성하는 위키 페이지, 위키 동작 규칙을 정의한 스키마를 포함합니다. 여기에 purpose.md 라는 새로운 개념을 추가합니다. purpose.md 는 위키의 존재 이유와 답하려는 질문, 점검하는 가설을 명시한 문서입니다. LLM은 인제스트와 질의 시점에 purpose.md 를 함께 읽어 위키 의도에 맞게 자료를 분류하고 강조합니다. 같은 PDF를 입력해도 “에너지 분야 산업 동향” 위키와 “개인 학습 노트” 위키는 서로 다른 엔티티와 개념을 추출합니다. 인제스트 단계는 두 번의 LLM 호출로 분리합니다. 첫 번째 호출에서 LLM은 자료를 읽고 핵심 엔티티, 개념, 주장, 기존 위키와의 연결, 모순, 위키 구조 추천을 구조화된 분석으로 출력합니다. 두 번째 호출에서는 분석 결과만 입력으로 받아 자료 요약 페이지, 엔티티/개념 페이지, 갱신된 index.md 와 log.md, 인간 검토가 필요한 리뷰 항목, Deep Research용 검색 쿼리까지 한꺼번에 작성합니다. 이런 두 단계 분리는 단순히 호출 횟수를 늘리지 않습니다. “이해와 정리"를 분리해 각 단계의 품질을 끌어올리는 전략입니다.

통합 작업 환경과 확장성

LLM Wiki의 지식 그래프는 단순 시각화 그 이상입니다. 페이지 사이 관련도를 정량화해 검색과 그래프 확장에 활용합니다. 4가지 신호를 결합한 관련도 모델은 직접 링크, 자료 중복, Adamic-Adar, 타입 친화도를 활용합니다. 그래프 시각화는 sigma.js와 graphology, ForceAtlas2 레이아웃으로 구현했습니다. 노드 색은 페이지 타입이나 커뮤니티 기준으로 토글합니다. 노드 크기는 링크 수에 √ 스케일을 적용해 한쪽으로 쏠리지 않도록 합니다. Louvain 알고리즘 기반 커뮤니티 탐지도 자동으로 동작합니다. 페이지 타입과 무관하게 링크 토폴로지로 자연스럽게 형성되는 클러스터를 찾아 시각화합니다. 각 커뮤니티에는 내부 엣지 밀도 기준으로 응집도(cohesion) 점수를 부여합니다. 응집도가 0.15 미만인 클러스터는 경고로 표시합니다. 위키에 채워야 할 영역이 어디인지 사용자에게 즉시 보여줍니다. 검색 파이프라인은 토큰화 검색, 벡터 의미 검색, 그래프 확장 단계를 거칩니다. 벤치마크 결과 벡터 검색을 활성화하면 전체 회수율(recall)이 58.2%에서 71.4%로 향상됩니다. Deep Research는 LLM이 위키의 빈 곳을 인식했을 때 활용합니다. Tavily API로 웹 검색을 수행해 본문을 수집하고 인제스트 시점에 미리 만들어둔 다중 쿼리를 사용합니다. LLM이 합성한 결과는 새 위키 페이지로 저장되고 두 단계 인제스트 파이프라인에 자동으로 들어갑니다. LLM Wiki는 위키 디렉토리를 별도 변환 없이 Obsidian 볼트로 사용하도록 자동 생성된 .obsidian/ 설정을 함께 관리합니다. 같은 디렉토리를 LLM Wiki로 열면 LLM 기반 인제스트와 그래프 분석을 사용합니다. Obsidian 으로 열면 표준 노트 편집 기능을 씁니다. Chrome 확장 프로그램(Web Clipper) 도 제공합니다. 웹 페이지를 한 번에 위키로 가져옵니다. LLM Wiki는 macOS, Windows, Linux용 사전 빌드 바이너리를 제공합니다. OpenAI, Anthropic, Google 등 다양한 LLM 프로바이더를 지원하며 긴 인제스트 시간을 위해 15분 타임아웃을 기본으로 둡니다.

요약

  • RAG 한계를 넘는 Karpathy의 위키 패턴 구현
  • 두 단계 인제스트로 품질 높인 지식 구축
  • Obsidian 등 기존 도구와 유연하게 통합