TL;DR

RAG (Retrieval-Augmented Generation) - nền tảng của NotebookLM, ChatGPT file uploads, và hầu hết "chat with your docs" - có một giới hạn cứng: mỗi phiên bắt đầu từ số 0. Andrej Karpathy đề xuất một pattern khác - LLM Wiki - nơi AI không chỉ tra cứu mà còn xây dựng và duy trì một wiki liên kết liên tục tích lũy. Kết quả: wiki của ông đã đạt 100 bài, 400.000 từ trên một chủ đề - mà ông hầu như không tự viết dòng nào.

Vấn đề mà RAG không giải được

Hầu hết mọi người dùng AI với tài liệu theo cùng một cách: upload file, hỏi câu hỏi, nhận câu trả lời, đóng tab. Phiên sau - mọi thứ bắt đầu lại từ đầu.

Đây là RAG trong thực tế. Ở mỗi query, hệ thống tìm kiếm các đoạn văn liên quan từ tài liệu gốc, ghép lại và trả lời. Nó hoạt động - nhưng có một điểm mù căn bản: không có sự tích lũy.

Hỏi một câu phức tạp cần tổng hợp 5 tài liệu hôm nay - hệ thống làm từ đầu. Hỏi lại câu đó vào ngày mai - nó làm lại từ đầu. Insight từ phiên trước biến mất. Cross-references không được xây dựng. Contradictions không được phát hiện. Hệ thống không thông minh hơn về knowledge của bạn - nó chỉ tiếp tục re-derive cùng những insight đó mãi mãi.

Đây không phải bug của RAG - đây là giới hạn thiết kế của nó. Và đó là điểm khởi đầu của LLM Wiki.

Từ "retrieve" sang "compile"

Karpathy đưa ra một phép so sánh sắc bén: RAG giống runtime execution - mỗi lần chạy là một lần từ đầu. LLM Wiki giống compiler - bạn compile một lần, và cái bạn có là một artifact tồn tại, liên kết, có thể query.

Thay vì để LLM truy xuất từ raw documents mỗi lần, bạn để nó xây dựng và duy trì một wiki liên kết liên tục - tập hợp các markdown file có cấu trúc nằm giữa bạn và các nguồn gốc.

Khi bạn thêm một tài liệu mới, LLM không chỉ index nó. Nó đọc, extract insights, viết summary, cập nhật nhiều trang entity liên quan, gắn cross-reference, và flag những contradictions với nội dung đã có. Một tài liệu có thể ảnh hưởng tới 10-15 trang wiki trong một lần ingest.

Khi bạn đặt câu hỏi, LLM điều hướng từ wiki - không phải từ file gốc. Và câu trả lời có giá trị có thể được lưu lại thành trang wiki mới, để những khám phá của bạn cũng tích lũy theo thời gian.

Kiến trúc 3 tầng, 3 thao tác

Pattern này có cấu trúc rõ ràng, cố ý đơn giản:

3 tầng:

  • raw/ - tài liệu gốc không thay đổi. LLM chỉ đọc, không bao giờ sửa. Đây là source of truth.
  • wiki/ - tập hợp markdown pages do LLM tạo và duy trì: summaries, entity pages, concept pages, comparison pages, index.md và log.md.
  • CLAUDE.md / AGENTS.md - schema config định nghĩa cấu trúc, convention và workflow. Đây là thứ biến một LLM generic thành một wiki maintainer có kỷ luật.

3 thao tác:

  • Ingest - thêm source mới, LLM tích hợp sâu vào toàn bộ wiki.
  • Query - đặt câu hỏi từ wiki, câu trả lời tốt có thể trở thành trang wiki mới.
  • Lint - health check định kỳ: phát hiện contradictions, orphan pages, stale claims, missing cross-references.

Pattern này hoạt động tốt nhất ở quy mô vừa - khoảng 100 nguồn và vài trăm trang - mà không cần embedding-based RAG infrastructure. Chỉ cần markdown và một LLM agent.

Tại sao pattern này thực sự hoạt động

Nút thắt thực sự của knowledge systems không phải là tư duy - mà là bảo trì. Cập nhật cross-references, giữ summaries nhất quán, phát hiện contradictions với nội dung mới - những việc này tẻ nhạt, lặp đi lặp lại, và ngốn thời gian.

Con người bỏ cuộc vì chi phí bảo trì tăng nhanh hơn giá trị nhận được. Đó là lý do mọi knowledge system do con người duy trì đều chết dần.

LLM thì không. Chúng không chán, không quên, không né những việc lặp lại. Một LLM có thể cập nhật 15 file trong một lần và làm điều đó nhất quán trong mọi phiên. Chi phí bảo trì gần như về 0 - và hệ thống tiếp tục tồn tại.

Kết quả: wiki của Karpathy đạt khoảng 100 bài viết và 400.000 từ trên một chủ đề nghiên cứu - dài hơn hầu hết luận văn PhD - mà ông hầu như không tự viết nội dung nào.

Ai nên thử ngay

Pattern này phù hợp với bất kỳ ai tích lũy kiến thức theo thời gian và cần nó có cấu trúc:

  • Researcher / học thuật - xây evolving thesis qua nhiều paper, tạo wiki companion cho từng chủ đề nghiên cứu
  • Developer - wiki nội bộ từ meeting transcripts, tech decisions, bug investigations - tài liệu tự cập nhật
  • Người đọc nhiều - ingest từng chương sách, wiki tự liên kết characters, themes, plot threads
  • Cá nhân - tracking goals, habits, journal entries, podcast notes thành hệ thống có cấu trúc

Nó không phù hợp với: data thay đổi hàng ngày, cần exact source traceability ở từng claim, enterprise scale với nhiều user đồng thời.

Giới hạn thực tế cần biết

LLM Wiki là lossy compression. Khi rewrite raw documents thành wiki pages, hệ thống có thể bỏ mất exact wording, edge cases, minority views, và context gốc. Nếu LLM hallucinate khi ingest, lỗi đó được commit vào wiki và có thể lan ra nhiều trang liên quan.

Quy mô cũng là giới hạn: index.md navigation hoạt động tốt đến ~100 nguồn, nhưng vượt qua đó cần thêm search tools hoặc graph traversal (như Keppi - tool cộng đồng đã test trên vault 1.471 notes, 267.000 edges). Và hiện tại LLM chưa đọc được markdown có inline images trong một pass.

Cộng đồng đang xây gì

Chỉ trong vài tuần sau khi gist publish, cộng đồng developer đã tạo ra hàng chục implementations:

  • SwarmVault v3.1 (MIT) - 48 agent integrations, memory ledger, local Whisper transcription
  • Keppi (MIT) - graph traversal layer cho vault 1.000+ notes
  • Kompl (Apache-2.0) - async batch ingest với NLP pre-processing
  • ΩmegaWiki - 400+ stars, 23 Claude Code skills, bilingual EN+ZH

Hướng tiếp theo của cộng đồng: multi-agent coordination (tránh "agent drift" khi nhiều AI cùng edit), strict provenance tracking per claim, và infrastructure cho team environments.

Bản thân Karpathy mô tả pattern này như một "idea file" - không chia sẻ code cụ thể mà chia sẻ ý tưởng để agent của bạn tự build theo môi trường và nhu cầu riêng. Đây có thể là format mới cho open source trong kỷ nguyên agent.

Nguồn: Karpathy's LLM Wiki gist, Starmorph guide, DataScienceDojo tutorial.