Tôi đã xây dựng "Bộ não thứ hai" cá nhân bằng Markdown và Claude Code như thế nào

08 tháng 4, 2026·5 phút đọc

Bài viết chia sẻ hành trình xây dựng hệ thống quản lý kiến thức cá nhân (Personal Second Brain) sử dụng Markdown và Claude Code, lấy cảm hứng từ Andrej Karpathy. Hệ thống này loại bỏ nhu cầu về vector database phức tạp, thay vào đó tận dụng khả năng đọc hiểu của LLM để tự động tạo wiki, liên kết và quản lý đa định dạng tài liệu.

Tôi đã xây dựng "Bộ não thứ hai" cá nhân bằng Markdown và Claude Code như thế nào

Tôi đã xây dựng "Bộ não thứ hai" cá nhân bằng Markdown và Claude Code như thế nào

Cảm hứng ban đầu xuất hiện khi tôi đọc bài đăng lan truyền nhanh của Andrej Karpathy về việc sử dụng các Mô hình Ngôn ngữ Lớn (LLM) để xây dựng cơ sở kiến thức cá nhân. Điểm ấn tượng là phương pháp này không cần đến vector database (cơ sở dữ liệu vectơ) hay quy trình chia nhỏ dữ liệu (chunking pipeline) phức tạp. Tất cả những gì cần thiết chỉ là các tệp Markdown, Obsidian và Claude Code.

Ý tưởng cốt lõi thực sự khiến tôi bất ngờ:

  1. Tạo một thư mục với các thư mục con raw/wiki/.
  2. Thả các tài liệu nguồn, bài viết, bản ghi âm vào đó.
  3. Yêu cầu LLM đọc các tệp thô và xây dựng các trang wiki với các mối quan hệ, thẻ tag và liên kết ngược (backlinks).

Tôi đã nghĩ ngay: "Mình cần xây dựng điều này, nhưng phải tốt hơn."

Tôi đã xây dựng gì?

Tôi đã lấy ý tưởng của Karpathy và mở rộng nó thành một "Bộ não thứ hai" (Personal Second Brain) đầy đủ tính năng với một số cải tiến đáng kể.

Khái niệm gốc (Tín dụng: Andrej Karpathy)

  • Wiki dựa trên Markdown với quy trình từ raw/ đến wiki/.
  • LLM đọc tài liệu nguồn và tạo ra các trang wiki có cấu trúc.
  • Các trang liên kết với nhau qua [[backlinks]].
  • Chế độ xem đồ thị (Graph view) trong Obsidian hiển thị các kết nối.

Những cải tiến của tôi

1. Tiếp nhận đa định dạng

Phiên bản gốc chỉ xử lý văn bản/markdown. Tôi đã thêm hỗ trợ cho:

  • Tệp PDF → chuyển đổi sang markdown bằng Marker trước khi xử lý.
  • Bản phụ đề YouTube → tự động lấy và nhập liệu.
  • Bài viết web → tự động lấy và làm sạch.
  • Bất kỳ định dạng dựa trên văn bản nào.

2. Phát hiện trùng lặp thông minh

Trước khi tạo một trang wiki mới, hệ thống sẽ kiểm tra xem chủ đề tương tự đã tồn tại chưa. Nếu có, nó sẽ hợp nhất thông tin mới thay vì tạo bản sao.

3. Tự động tạo chỉ mục

Một tệp master _Index.md được duy trì tự động với:

  • Các liên kết được phân loại đến tất cả các trang wiki.
  • Mô tả tham khảo nhanh.
  • Dấu thời gian cập nhật lần cuối.

4. Ánh xạ mối quan hệ

Mỗi trang wiki bao gồm:

  • related_topics trong phần frontmatter.
  • [[backlinks]] nội tuyến đến các khái niệm được kết nối.
  • Thẻ tag cho các chủ đề xuyên suốt.

5. Theo dõi nguồn gốc

Mỗi trang wiki theo dõi tệp thô nào đã tạo ra nó, giúp bạn luôn có thể truy ngược lại nguồn gốc ban đầu.

Cấu trúc dự án

knowledge-base/
├── raw/                    # Thả tệp vào đây
│   ├── articles/
│   ├── transcripts/
│   ├── notes/
│   └── pdfs/
├── wiki/                   # Các trang wiki được tạo tự động
│   ├── _Index.md           # Chỉ mục chính
│   ├── concept-name.md     # Các trang riêng lẻ
│   └── ...
├── .claude/
│   └── commands/
│       └── ingest.md       # Lệnh nhắc (prompt) nhập liệu
└── CLAUDE.md               # Hướng dẫn dự án

Cơ chế nhập liệu hoạt động như thế nào

Bí mật nằm ở lệnh nhắc (prompt) nhập liệu. Khi bạn chạy nó, Claude Code sẽ:

  1. Quét thư mục raw/ để tìm tệp mới/cập nhật.
  2. Đọc từng tệp và trích xuất các khái niệm, thực thể và mối quan hệ chính.
  3. Kiểm tra các trang wiki hiện có để tìm sự trùng lặp.
  4. Tạo hoặc cập nhật các trang wiki với frontmatter, backlinks và thẻ tag phù hợp.
  5. Cập nhật chỉ mục chính.

Dưới đây là ví dụ về một trang wiki được tạo:

---
title: Transformer Architecture
tags: [deep-learning, nlp, attention]
source: raw/articles/attention-is-all-you-need.md
related_topics: [[Self-Attention]], [[BERT]], [[GPT]]
created: 2026-04-07
---

# Transformer Architecture

The transformer is a neural network architecture that relies 
entirely on self-attention mechanisms...

## Key Concepts
- **Self-Attention** — xem [[Self-Attention]]
- **Multi-Head Attention** — các lớp attention song song
- **Positional Encoding** — vì transformers không có tính đệ quy

## Related
- [[BERT]] — transformer chỉ có bộ mã hóa (encoder)
- [[GPT]] — transformer chỉ có bộ giải mã (decoder)

Kết quả đạt được

Sau khi nhập khoảng 50 tệp:

  • 44 trang wiki liên kết với nhau được tạo tự động.
  • Chế độ xem đồ thị trong Obsidian hiển thị các cụm ý nghĩa rõ ràng.
  • Tiết kiệm Token: giảm khoảng 90% so với việc nạp tệp thô trực tiếp cho LLM.
  • Truy xuất: theo chỉ mục → liên kết thay vì tìm kiếm tương đồng, do đó các mối quan hệ là có ý nghĩa, không chỉ đơn giản là "các đoạn này có vẻ giống nhau".

Thử nghiệm ngay

Điều kiện tiên quyết

  • Claude Code (CLI)
  • Obsidian (để xem)
  • Một thư mục tài liệu bạn muốn sắp xếp

Bắt đầu nhanh

mkdir -p ~/knowledge-base/{raw,wiki}
cd ~/knowledge-base

# Thả tệp của bạn vào raw/
cp ~/Documents/bai-viet-thu-vi.md raw/

# Khởi động Claude Code và nhập liệu
claude
# Sau đó gõ: "Ingest all files in raw/ and create wiki pages in wiki/"

Bài học cốt lõi

Bạn không cần vector database, pipeline nhúng (embeddings), hay hạ tầng RAG để cung cấp cho AI một bộ nhớ liên tục, có tổ chức. Một thư mục chứa các tệp markdown có thể giúp bạn đi rất xa.

Sự thật sâu sắc từ phương pháp của Karpathy: hãy để LLM làm điều nó giỏi — đọc, hiểu và sắp xếp — trong khi bạn sử dụng các tệp đơn giản, dễ đọc cho con người làm lớp lưu trữ.

Lời cảm ơn

Gửi lời cảm ơn đặc biệt đến Andrej Karpathy cho ý tưởng và nguồn cảm hứng ban đầu. Bài đăng lan truyền của ông về cơ sở kiến thức được hỗ trợ bởi LLM đã khơi dậy dự án này. Tôi đơn giản là mở rộng ý tưởng với hỗ trợ đa định dạng, phát hiện trùng lặp và lập chỉ mục tự động.

Bạn có câu hỏi hoặc đã xây dựng thứ gì đó tương tự? Hãy để lại bình luận bên dưới nhé!

Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗