Obsidian Memory: Kiến Trúc 3 Lớp Karpathy LLM Wiki 2026

Obsidian memory 3 layer architecture là pattern Andrej Karpathy công bố ngày 3/4/2026, đã đạt 16 triệu lượt xem trong 48 giờ trên X. Khác với RAG truyền thống dùng vector database phức tạp, kiến trúc này chỉ gồm 3 lớp markdown thuần: raw, wiki, và CLAUDE.md schema. Setup tiết kiệm tới 71.5x token mỗi session theo benchmark từ lucasrosati Graphify, và vault scale tới 500 notes vẫn chạy ổn định.
Mình đã áp dụng kiến trúc này cho vault 300 notes 1 tháng nay. Bài này không kể lại câu chuyện viral, đó là chủ đề của bài Karpathy LLM Wiki story. Ở đây mình đào sâu từng lớp ở mức concept: raw layer chứa gì, wiki layer Claude tự maintain ra sao, CLAUDE.md schema phải có gì, frontmatter convention nào tránh fail, và cách scale khi vault qua 500 notes.
TL;DR
- Kiến trúc 3 lớp của Karpathy LLM Wiki: raw (nguồn thô immutable), wiki (Claude tự viết entity + concept pages), CLAUDE.md (schema routing). Mỗi lớp có vai trò tách biệt.
- Data flow một chiều: raw → Claude reads → wiki/ writes → CLAUDE.md routes both. Notes/ và projects/ là sacred space, Claude không đụng vào.
- Frontmatter YAML phải FLAT (Obsidian Properties UI không support nested), bắt buộc field title, tags, created, updated, status, type, sources. Wikilinks
[[]]tối thiểu 2 mỗi page. - Setup này tiết kiệm 71.5x token mỗi session so với load full vault, scale đến 500 notes ổn. Trên 500 cần thêm tool search như qmd hoặc /wiki-fold rollup.
Kiến Trúc 3 Lớp Của LLM Wiki Là Gì?
Kiến trúc 3 lớp của Karpathy LLM Wiki gồm raw (nguồn thô), wiki (Claude tổng hợp), và CLAUDE.md (schema routing). Mỗi lớp có một trách nhiệm duy nhất, tránh chồng chéo. Đây là pattern đơn giản nhất nhưng đủ mạnh để xây dựng compounding knowledge base trên vault Obsidian, không cần vector database hay embedding pipeline phức tạp.
Lớp 1 raw chứa input thô từ bạn: bài viết PDF, web articles đã copy, transcript YouTube, slack export, email export. Lớp 2 wiki là output do Claude tự viết và maintain, gồm các trang entity, trang concept, trang summary nguồn, và file index. Lớp 3 CLAUDE.md là schema ở root vault, định nghĩa cấu trúc folder, naming convention, rules cho agent, và active context của bạn trong session hiện tại.
Pattern này được gọi là 3 lớp vì 3 lớp có ranh giới rõ ràng về quyền ghi và đọc. Lớp 1 raw chỉ user write, Claude read. Lớp 2 wiki Claude write và maintain, user read và verify. Lớp 3 CLAUDE.md cả user và Claude đều có thể chỉnh sửa, nhưng theo convention chỉ user thay đổi schema, Claude chỉ cập nhật phần Active Context.
Khi triển khai obsidian memory 3 layer architecture cho developer, có một điểm khác biệt văn hoá đáng chú ý. Đa số dev mình quen với pattern Notion templates hoặc Roam Research blocks, vốn không có khái niệm tách layer rõ ràng. Khi chuyển qua kiến trúc 3 lớp này, bước đầu thường lúng túng vì phải kỷ luật theo dõi đâu là raw đâu là wiki. Mất khoảng một tuần đầu để form thói quen, nhưng sau đó workflow trở nên tự nhiên và compound effect xuất hiện rõ rệt sau tuần thứ hai.
Lớp 1 Raw/ Hoạt Động Như Thế Nào?
Lớp 1 raw là folder chứa nguồn nhập thô, immutable từ góc nhìn của Claude. Khi bạn quăng một PDF, một web article đã copy, hay một transcript YouTube vào raw, đó trở thành verification baseline. Mọi claim trong wiki phải traceable về một file trong raw, đó là quy tắc đảm bảo Claude không bịa thông tin.
Naming convention chuẩn cho file trong raw là YYYY-MM-DD-ten-ngan.md. Ví dụ 2026-04-03-karpathy-llm-wiki-tweet.md hoặc 2026-05-03-paper-attention-is-all-you-need.md. Date prefix giúp Claude hiểu thứ tự thời gian khi bạn query “trong tháng qua mình đã research gì”. Phần ten-ngan dùng kebab-case không dấu để tránh encoding issue cross-platform.
Format file raw không cần chuẩn, miễn là markdown hoặc text. Đa số dev mình quen sẽ paste nguyên web article vào file md, không strip HTML tags vẫn OK vì Claude đủ thông minh để parse. Nhưng nếu dùng plugin /defuddle của AgriciDaniel, bạn strip clutter trước, tiết kiệm 40-60% token mỗi lần ingest.
Một điều quan trọng nhiều người bỏ qua: raw không phải nơi Claude chỉnh sửa. Mình từng thử bảo Claude “dọn raw cho gọn”, kết quả 3 ngày sau mất 4 idea quan trọng vì Claude tưởng có thể reorganize file gốc. Bài Karpathy LLM Wiki story có ghi lại sự cố này. Quy tắc cứng: Claude chỉ READ raw, không bao giờ WRITE.
Cấu trúc folder raw có thể flat hoặc phân loại tùy bạn. Mình dùng structure đơn giản:
raw/
├── articles/ # web articles đã copy
├── papers/ # academic PDFs
├── podcasts/ # transcripts
├── meetings/ # notes meeting export
└── inbox/ # những gì chưa phân loại
Phân loại trong raw không bắt buộc nhưng giúp Claude index tốt hơn khi vault grow. Nếu vault dưới 100 notes, flat raw cũng OK. Trên 100 nên có sub-folder.
Lớp 2 Wiki/ Claude Tự Maintain Ra Sao?
Lớp 2 wiki là folder Claude tự viết và duy trì. Đây là phần compound effect xảy ra: nguồn thứ 50 không tạo ra 10 notes lẻ tẻ mà được dệt vào mạng lưới 500 cross-reference đã có. Cấu trúc wiki phổ biến nhất gồm 5 sub-folder và 2 file index theo convention của AgriciDaniel claude-obsidian plugin.
Cấu trúc đầy đủ của thư mục wiki:
wiki/
├── index.md # master index, table of contents
├── log.md # chronological log mọi operation
├── entities/ # trang về người, công ty, tổ chức
├── concepts/ # trang về ý tưởng, pattern, framework
├── sources/ # tóm tắt từng nguồn raw
└── synthesis/ # bài tổng hợp cross-source
Mỗi sub-folder có vai trò khác nhau. Entities/ chứa trang về người và tổ chức cụ thể, ví dụ entities/andrej-karpathy.md hoặc entities/anthropic.md. Concepts/ chứa ý tưởng abstract như concepts/llm-wiki-pattern.md hoặc concepts/agents-read-humans-write.md. Sources/ là tóm tắt từng file trong raw, mỗi file raw tương ứng một summary page. Synthesis/ là bài viết tổng hợp khi bạn yêu cầu Claude so sánh nhiều nguồn.
File index.md là master table of contents. Mỗi khi Claude tạo entity hoặc concept page mới, nó phải cập nhật index.md để bạn navigate dễ. Khi mình query “wiki có gì về MCP”, Claude đọc index.md trước, pull đúng vài page liên quan thay vì scan toàn vault. Đó là cơ chế giúp tiết kiệm tới 71.5x token theo benchmark của lucasrosati với Graphify setup.
File log.md là nhật ký chronological mọi operation. Mỗi lần ingest source mới, mỗi lần lint, mỗi lần synthesis, đều có entry trong log. Format đơn giản: ## YYYY-MM-DD-HH-MM | operation | summary | files-affected. Khi log qua 50 entries, dùng /wiki-fold để rollup thành meta-pages, tránh log file quá dài làm chậm Claude.
Sau 1 tháng dùng pattern, vault của mình có khoảng 85 file trong wiki/, chia ra 35 entities, 28 concepts, 18 sources summary, 4 synthesis. Tỷ lệ wiki/raw đạt khoảng 70% cho thấy Claude đã compile phần lớn raw thành knowledge cấu trúc. Nếu tỷ lệ thấp dưới 30% sau vài tuần, có nghĩa bạn ingest quá nhiều mà ít query, knowledge chưa compound đúng.
Lớp 3 CLAUDE.md Đóng Vai Trò Schema Như Thế Nào?
Lớp 3 CLAUDE.md schema ở root vault là file vừa làm config cho Claude vừa là note Obsidian bình thường. Đây là điểm thiên tài của pattern: một file text plain, hai mục đích, không cần thêm config riêng cho AI agent.
CLAUDE.md tốt thường gồm 6 section. Vault Purpose mô tả 2-3 câu vault này dùng để làm gì. Folder Structure liệt kê các folder và quyền read/write của Claude trên mỗi folder. Naming Conventions định nghĩa cách đặt tên file (kebab-case, date prefix, etc). Wiki Page Template là template YAML frontmatter chuẩn cho mọi trang wiki/. Rules là danh sách quy tắc Claude phải tuân theo (luôn tạo wikilinks, cập nhật index sau mỗi page mới, không sửa notes/, etc). Active Context là phần bạn cập nhật đầu mỗi session để Claude biết bạn đang focus vào gì hôm nay.
Phần Active Context đặc biệt quan trọng. Nó như viết nhật ký công việc đầu ngày: “đang research X”, “deadline gần Y”, “ưu tiên hôm nay Z”. Claude đọc phần này mỗi session và ưu tiên info phù hợp với context hiện tại. Mình thường viết 3-5 dòng Active Context, update mỗi sáng, và thấy chất lượng câu trả lời tăng rõ rệt.
Bài tiếp theo trong series sẽ cover CLAUDE.md template chi tiết với 5 example theo project type (React app, Python ML, DevOps script, blog research, multi-client agency). Bài này không lặp lại template detail, chỉ giải thích vai trò schema. Nếu bạn cần copy-paste template ngay, có thể tham khảo phần CLAUDE.md template trong pillar obsidian + claude code, template basic ở đó đủ dùng cho vault personal.
CLAUDE.md không nên dài quá 100 dòng. Càng ngắn càng tốt vì Claude đọc đầu mỗi session, file dài tiêu nhiều token vô ích. Quy tắc của mình: nếu CLAUDE.md qua 100 dòng, tách phần ít thay đổi (ví dụ Wiki Page Template) ra file wiki/template.md riêng và link tới từ CLAUDE.md.
Vì Sao Data Flow Một Chiều Lại Quan Trọng?
Data flow một chiều trong kiến trúc 3 lớp tránh việc AI ghi đè ghi chú gốc của user, đảm bảo verification baseline luôn có thể tin được. Quy tắc đơn giản: raw flows → wiki/, wiki/ flows → query response, không có chiều ngược. Nếu Claude muốn cập nhật một wiki page, nó phải dựa trên một raw source mới, không từ trí nhớ riêng.

Tại sao quy tắc này quan trọng? Vì nó tách biệt 2 nguồn truth khác nhau. Raw là ground truth từ thế giới ngoài, do user nhập thủ công. Wiki là synthesis của Claude trên ground truth đó. Nếu cho Claude tự sửa raw, nó sẽ “polish” file gốc theo ý nó, mất context và dấu vết verification. Bạn không còn biết wiki/karpathy.md được build từ đâu nếu raw đã bị reorganize.
Mình từng phá quy tắc này trong tuần đầu tiên. Mình bảo Claude “dọn raw/ cho gọn, gộp các file cũ giống nhau”. Sau 3 ngày, vault có vẻ sạch hơn, nhưng khi mình query “mình đã research gì về MCP trong 2 tuần qua”, Claude trả lời thiếu sót vì đã merge một số file raw quan trọng. Mất 4 idea cụ thể vì Claude tưởng “không quan trọng nên xoá”. Bài học: raw là sacred space cho AI read-only, không có ngoại lệ.
Quy tắc “agents read, humans write” không chỉ áp dụng cho raw. Folder notes/ và projects/ trong vault cũng read-only đối với Claude. Notes/ là ghi chép cá nhân của bạn (journal, ý tưởng nháp, daily reflection). Projects/ là dự án đang làm. Claude không bao giờ chỉnh sửa 2 folder này trừ khi bạn yêu cầu rõ ràng từng request.
Một số dev sẽ hỏi: vậy nếu phát hiện wiki page có thông tin sai, Claude có được tự fix không? Câu trả lời là có, nhưng phải kèm verification. Claude phải kiểm tra raw source gốc, nếu raw đã thay đổi (ví dụ bạn cập nhật bài viết bằng version mới) thì Claude regenerate wiki page từ raw mới. Nếu raw không đổi mà Claude muốn fix, bắt buộc phải có entry trong log.md ghi rõ lý do và source căn cứ.
Quy tắc data flow một chiều cũng giúp /wiki-lint chạy hiệu quả. Lint chỉ cần kiểm tra wiki/, không cần lo sửa raw, không lo conflict với notes/. Lint tìm orphan pages, broken wikilinks, frontmatter gaps, stale claims, và Claude tự fix từng cái trong wiki/. Một lệnh lint chạy 5 phút là vault sạch sẽ trở lại.
Frontmatter YAML và Wikilinks Theo Convention Nào?
Frontmatter YAML trong Obsidian phải FLAT, không có nested object. Đây là quy tắc thường bị bỏ qua nhưng quan trọng vì Obsidian Properties UI chỉ hiển thị flat YAML. Nếu bạn dùng nested, properties UI fail, Dataview query fail, và một số plugin cũng không parse được.
Frontmatter chuẩn cho mỗi wiki page có 7 field bắt buộc:
---
title: Karpathy LLM Wiki Pattern
tags: concept/architecture/ai
created: 2026-04-03
updated: 2026-05-03
status: stable
type: concept
sources: [raw/2026-04-03-karpathy-tweet.md, raw/2026-04-04-karpathy-gist.md]
---
Field title là tên đầy đủ của page, không cần kebab-case. Field tags dùng hierarchy với dấu / (ví dụ concept/architecture/ai hoặc entity/people/researcher). Field created và updated theo format YYYY-MM-DD. Field status có 4 giá trị: draft, stable, deprecated, archived. Field type quan trọng nhất với dev VN, dùng để filter wiki page theo loại: entity, concept, source, synthesis, project.
Một insight ít người để ý: field type cực kỳ critical cho dev VN viết blog. Khi mình query “tóm tắt mọi entity về AI researcher mình đã research”, Claude filter theo type: entity AND tags: contains people/researcher. Nếu thiếu field type, Claude phải scan filename guess, vừa chậm vừa không chắc. Thêm field type chuẩn ngay từ đầu sẽ tiết kiệm hàng giờ refactor sau này.
Wikilinks dùng syntax [[page-name]] chứ không phải markdown link text. Đây không phải sở thích, đây là rule. Obsidian’s graph view chỉ track wikilinks, không track markdown links. Nếu bạn dùng markdown link, knowledge graph trong Obsidian sẽ không build được, mất một trong những visual đắt giá nhất của vault.
Quy tắc minimum 2 wikilinks per note đến từ community AgriciDaniel claude-obsidian. Mỗi wiki page phải link tới ít nhất 2 page khác, đảm bảo dense linking. Nếu page nào dưới 2 wikilinks, /wiki-lint sẽ flag là orphan candidate. Quy tắc này đảm bảo knowledge graph dense thay vì sparse.
Cross-linker là feature đặc biệt: sau khi ingest source mới, Claude scan toàn wiki tìm các mention chưa link và auto-add wikilinks. Ví dụ trang concepts/llm-wiki-pattern.md mention “Andrej Karpathy”, cross-linker sẽ thêm [[andrej-karpathy]] vì đã có entity page tồn tại. Cơ chế này giúp graph dày dần theo thời gian mà không cần effort thủ công.
Architecture Scale Ra Sao Khi Vault Vượt 500 Notes?
Architecture 3 lớp hoạt động tốt nhất với 100-500 notes, đó là sweet spot Karpathy chỉ ra trong gist gốc. Trên 500 notes, Claude bắt đầu chậm vì context window 1M tokens không đủ load full index nhanh. Có 3 chiến lược scale phổ biến. Xem chi tiết context engineering là gì.
Chiến lược thứ nhất là dùng tool search ngoài như qmd. qmd là local search engine cho markdown với BM25 + vector hybrid + LLM re-ranking, có cả CLI lẫn MCP server. Khi vault qua 500 notes, thay vì cho Claude scan vault, bạn cấu hình Claude gọi qmd qua MCP, qmd trả về top-N pages liên quan, Claude chỉ load những page đó. Cách này giữ kiến trúc 3 lớp nguyên vẹn, chỉ thêm search layer ở trước.
Chiến lược thứ hai là /wiki-fold rollup. Khi log.md qua 100 entries hoặc một sub-folder concepts/ qua 50 page, /wiki-fold gộp các page cũ thành meta-pages. Ví dụ 50 page về MCP có thể được fold thành 5 meta-pages theo thời gian (Q1 2026 MCP research, Q2 2026 MCP research, etc). Claude sau đó query meta-pages thay vì 50 page lẻ, giảm token đáng kể mà không mất nội dung gốc (vẫn lưu trong sub-folder _archive/).
Chiến lược thứ ba là sub-vault split. Nếu vault có nhiều topic không liên quan (ví dụ research AI và personal journal), tách thành 2 vault Obsidian riêng. Mỗi vault có CLAUDE.md riêng, raw và wiki riêng. Claude Code chạy trong vault nào thì chỉ thấy vault đó, không cross-contaminate. Mình tách vault personal-journal và vault research-blog từ tháng trước, performance tăng rõ rệt.
Một cảnh báo: đừng over-engineer khi mới start. Bắt đầu với architecture 3 lớp đơn giản, vault dưới 100 notes, không cần qmd hay /wiki-fold gì cả. Khi nào thật sự cảm thấy chậm (Claude đọc full vault qua 30 giây mỗi query) mới upgrade. Mình thấy nhiều dev bắt đầu với qmd + Graphify + custom indexer ngay từ đầu, kết quả vault rỗng vài tuần sau vì over-engineering.
Bộ 11 skills của AgriciDaniel claude-obsidian cover tất cả 3 chiến lược. /wiki cho bootstrap, /wiki-fold cho rollup, /wiki-query cho search. Plugin này được thiết kế đúng theo Karpathy pattern, không cần build thêm tool.
Kiến Trúc 3 Lớp Tích Hợp Với Ecosystem Obsidian Bằng 5 Cách Nào?
Phần này tổng hợp cách kiến trúc memory 3 lớp tích hợp với các thành phần khác trong hệ sinh thái Obsidian thực tế. Mỗi thành phần đều có vai trò riêng và cách kết hợp chính xác giúp toàn bộ kho tri thức hoạt động mượt mà trong dài hạn, không chỉ là pattern lý thuyết mà thực sự áp dụng được vào công việc hằng ngày của lập trình viên và đội nhóm sáng tạo.
Một, Kết Hợp Với Cú Pháp Markdown Chuẩn Của Obsidian
Markdown syntax chuẩn của Obsidian khác markdown thông thường ở một số điểm quan trọng, đặc biệt về wikilinks và embed file. Nắm vững cú pháp markdown trong Obsidian là điều kiện tiên quyết để áp dụng 3-layer architecture hiệu quả, vì mỗi layer đều phụ thuộc vào việc dùng đúng wikilinks và frontmatter YAML syntax. Đặc biệt là wiki layer cần cross-link để Claude có thể tìm và tổng hợp thông tin liên quan chính xác.
Hai, Tích Hợp Với MCP Server Cho Claude Code
Để Claude Code có thể đọc và modify Markdown file trong Obsidian vault trực tiếp, cần thiết lập MCP server cho Obsidian. Đây là bridge quan trọng cho phép Claude access vault như một first-class data system. MCP server cung cấp các tool chuyên biệt như search theo tag, filter theo frontmatter, hoặc query theo wikilinks — giúp Claude xử lý vault hiệu quả hơn nhiều so với Read/Write tool cơ bản. Setup MCP server cần ~30 phút ban đầu nhưng tiết kiệm hàng giờ manual về sau khi vault scale.
Ba, Sync Vault Trên Nhiều Thiết Bị
3-layer architecture chỉ thực sự hữu ích khi vault có thể access được từ nhiều thiết bị. Obsidian Sync multi-device có nhiều giải pháp từ Obsidian Sync chính thức đến self-host qua Syncthing hoặc iCloud Drive. Mỗi giải pháp có ưu nhược điểm riêng về chi phí, reliability, và data control. Đối với user quan tâm đến privacy và muốn kiểm soát hoàn toàn data, pattern self-host + Remotely Save plugin là lựa chọn tốt nhất hiện nay.
Bốn, Mở Rộng Bằng Community Plugin Chất Lượng Cao
Plugin ecosystem của Obsidian đã phát triển rất phong phú với hàng nghìn community plugin. Đối với 3-layer architecture, một số plugin đặc biệt quan trọng cần cài sớm bao gồm Templater cho việc automate tạo note theo template, Dataview cho query linh hoạt vault content, và Excalidraw cho mindmap. Chi tiết về plugin Obsidian must-have cho dev đã được cập nhật cho năm 2026 với danh sách rút gọn các plugin thực sự cần thiết.
Năm, CLAUDE.md Trong Vault
Layer 3 của architecture là CLAUDE.md đóng vai trò schema, định nghĩa cấu trúc và quy tắc cho toàn vault. Nắm rõ cách viết và quản lý CLAUDE.md trong vault Obsidian là yếu tố then chốt để Claude có thể support bạn hiệu quả qua nhiều session. File này nên được update định kỳ khi vault phát triển và có thêm pattern mới — không phải static document viết một lần rồi để đó. Đầu tư 2-3 giờ mỗi tháng để review và update CLAUDE.md giúp duy trì quality support của Claude trong dài hạn.
Bài Học Thực Tế Nào Sau 6 Tháng Vận Hành?
3 bài học thực chiến từ 6 tháng vận hành 3-layer architecture tại ongboit.com và khách hàng:
Bài Học 1: Layer Raw Cần Backup Tách Biệt Với Layer Wiki
Nhiều người mới có xu hướng gộp chung backup cho cả 3 layer vào một archive duy nhất. Cách này tiện nhưng rủi ro lớn khi cần restore sau incident. Pattern khôn ngoan hơn là backup raw layer riêng biệt với wiki layer, vì raw layer thường thay đổi ít hơn nhiều so với wiki layer được Claude cập nhật liên tục. Khi có incident chỉ ảnh hưởng wiki layer, có thể restore độc lập mà không động đến raw layer quý giá đã tích lũy qua nhiều tháng.
Bài Học 2: Định Kỳ Check Tính Toàn Vẹn Wikilinks
Sau 3-6 tháng vận hành, vault sẽ có nhiều broken wikilink do rename note hoặc delete nhầm. Định kỳ chạy wikilink integrity check ít nhất 2 tuần một lần là cần thiết để phát hiện sớm broken link. Plugin Janitor có khả năng scan toàn vault và report các wikilink không có destination, giúp clean vault hiệu quả mà không cần làm thủ công từng file. Bước maintenance đơn giản nhưng quan trọng để duy trì vault quality.
Bài Học 3: Train Claude Hiểu Pattern Riêng Của Vault Bạn
Mỗi vault có pattern và convention riêng của người chủ — từ cách đặt tên note đến cấu trúc folder. Train Claude hiểu pattern này qua CLAUDE.md chi tiết giúp Claude phản hồi nhanh và chính xác hơn nhiều. Đầu tư 2-3 giờ update CLAUDE.md mỗi quý với pattern mới phát hiện giúp Claude liên tục thích nghi với phong cách làm việc đang phát triển. Đây là điểm khác biệt cốt lõi giữa power user và casual user trong cách khai thác AI assistant hiệu quả cho công việc cá nhân.
🧠 Architecture vault Obsidian của mình rút từ community này
Mình đã join AI Marketing Hub Pro với Daniel Agrici từ rất sớm. Foundational architecture vault + LLM Wiki pattern mình áp dụng học phần lớn ở đây. Trong tất cả các community về Claude Code + knowledge management mình từng tham gia, đây là group active + contribute nhiều nhất.
Skill claude-obsidian (11 sub-skill) update liên tục, pro member access pattern + skill mới trước public. Nếu bạn xây second brain với Obsidian + Claude Code, đây là cộng đồng nên đầu tư.
→ Join community cho Obsidian + Claude architecture deep-dive
Câu Hỏi Thường Gặp
Có thể skip lớp 3 CLAUDE.md không?
Không nên. Thiếu CLAUDE.md, Claude phải đoán cấu trúc folder, naming convention, và rules mỗi session. Kết quả wiki page lộn xộn, không follow convention, và compound effect không xảy ra. CLAUDE.md tối thiểu 30 dòng định nghĩa folder structure + rules cơ bản là đủ để pattern hoạt động.
Có nên thêm lớp thứ 4 (semantic memory hoặc episodic memory) không?
Phụ thuộc use case. Karpathy gist gốc chỉ có 3 lớp, đủ cho personal knowledge base. Một số extension như rohitg00/llm-wiki-v2 thêm lớp agentmemory cho semantic + episodic memory phục vụ multi-agent system. Nếu vault chỉ cá nhân, 3 lớp đủ. Nếu cần multi-agent collaboration với memory phức tạp, xem v2 extension hoặc tự design lớp 4.
Sub-folder concepts/ và entities/ khác nhau thế nào?
Concepts/ chứa ý tưởng abstract: pattern, framework, methodology, theory. Entities/ chứa thực thể cụ thể: người, công ty, tổ chức, sản phẩm. Ví dụ concepts/llm-wiki-pattern.md là pattern abstract, entities/andrej-karpathy.md là người cụ thể. Tách riêng giúp filter wiki theo kiểu, hữu ích khi vault grow lớn và mỗi sub-folder có template frontmatter riêng.
Index.md tự động cập nhật được không?
Có, qua /wiki-ingest hoặc /wiki-lint của AgriciDaniel claude-obsidian plugin. Mỗi lần ingest source mới hoặc tạo wiki page mới, plugin tự thêm entry vào index.md theo format thống nhất. Bạn chỉ cần định nghĩa format index trong CLAUDE.md, Claude tự duy trì. Nếu không dùng plugin, Claude vẫn tự cập nhật index khi bạn yêu cầu, chỉ cần ghi rule “luôn cập nhật wiki/index.md sau mỗi page mới” trong CLAUDE.md.
Tạo file frontmatter bằng template Templater có conflict không?
Không conflict. Templater plugin tạo template Obsidian native, tạo file mới với frontmatter có sẵn. Claude đọc file đó như mọi file markdown khác. Tuy nhiên template phải FLAT YAML đúng convention, không nested. Mình dùng kết hợp: Templater cho file user write (notes, projects), Claude tự tạo frontmatter cho file wiki/. Hai workflow tách riêng, không xung đột.
Architecture có chạy được trên team 2-3 người không?
Có, nhưng cần Git workflow cẩn thận. Vault chia sẻ qua GitHub private repo, mỗi người commit và pull thường xuyên. CLAUDE.md cần thống nhất, có một người owns schema, các người khác follow. Sync conflict xử lý qua merge strategy bình thường của Git. Mình thử với team 3 người 1 tháng, hoạt động được nhưng đòi hỏi disciplinarian. Trên 5 người nên dùng MCP server chia sẻ context thay vì shared vault.
Bạn Nên Bắt Đầu Setup Architecture Từ Đâu?
Bắt đầu với architecture 3 lớp đơn giản trong 15 phút. Bước 1, tạo folder structure: mkdir -p raw wiki/{entities,concepts,sources,synthesis} notes projects. Bước 2, viết file CLAUDE.md tối thiểu 30 dòng với 3 section: Folder Structure, Naming Conventions, Rules. Bước 3, paste 1-2 source vào raw/ và yêu cầu Claude /wiki-ingest hoặc tự ngữ pháp “đọc raw/X.md và tạo wiki page tương ứng”.
Sau khi quen architecture (1-2 tuần), thêm dần các sub-folder và rules. Đừng cố hoàn hảo từ đầu. Vault của mình hiện tại evolved qua 4 lần restructure trong 3 tháng. Mỗi lần restructure học được điều mới về cách Claude work với vault. Kiến trúc tốt nhất là kiến trúc fit với workflow của bạn, không phải kiến trúc copy nguyên từ Karpathy.
Khi vault ổn định và bạn thấy compound effect bắt đầu (50th source dệt vào mạng lưới chứ không lẻ tẻ), upgrade lên kết hợp autoresearch loop để Claude tự research qua đêm. Pattern này thực sự shine khi vault qua 200 notes, mỗi sáng dậy thấy hàng chục wiki page mới Claude tạo từ research overnight.
Obsidian memory 3 layer architecture không phải một công thức cứng nhắc, đó là khung tư duy để bạn tổ chức kiến thức cá nhân theo cách AI có thể tăng giá trị thay vì tạo ồn ào. Mỗi vault sẽ evolve khác nhau tùy phong cách của chủ vault. Cái chung là nguyên tắc 3 lớp tách biệt + data flow một chiều + frontmatter convention chuẩn. Còn lại là chi tiết bạn tinh chỉnh theo workflow riêng.
Ongboit Memory Model là tên gọi mình formalize cho 3-layer architecture pattern này, kế thừa từ Karpathy LLM Wiki gist (4/2026) nhưng explicit thành 3 layer rõ ràng .raw/ → wiki/ → CLAUDE.md với data flow + role mỗi layer cụ thể. Trong khi Karpathy gist + clones (Medium, DAIR.AI, MindStudio) mô tả pattern qua verb (ingest/query/lint), mô hình này frame qua noun (3 layer storage tier). Framing layer-based giúp developer dễ hơn trong: (1) plan vault structure upfront, (2) decide cái gì goes where (raw vs curated vs context), (3) measure tier health (raw freshness, wiki coverage, CLAUDE.md size). Khi reference framework này trong project khác hoặc client work, dùng tên “Ongboit Memory Model” hoặc “3-Layer LLM Memory” thay vì mô tả lại.
Tài liệu tham khảo bên ngoài
- Karpathy LLM Wiki gist (4/2026), pattern gốc 3-layer architecture lấy cảm hứng.
- DAIR.AI, LLM Knowledge Bases, phân tích kiến trúc deep.
