Bộ não thứ hai trong Claude Code: Cách xây dựng cấu trúc trong một giờ
MarkdownCách xây dựng bộ não thứ hai cho Claude Code: hệ thống phân cấp bộ nhớ, cấu trúc thư mục gồm năm phần và git để tác nhân ghi nhớ mọi thứ về dự án giữa các phiên làm việc.
Đọc toàn bộ bài viết
Điểm chính
Bộ não thứ hai trong Claude Code không phải là một tệp duy nhất; đó là cấu trúc gồm năm thư mục cộng với git. CLAUDE.md thiết lập các quy tắc và đường dẫn; business/ lưu kiến thức về dự án; ai-clone/ lưu thông tin về bạn với tư cách người ra quyết định; plans/ chứa các kế hoạch kỹ thuật; còn retrospectives/ lưu những bài học từ các phiên trước. Tác nhân bắt đầu với CLAUDE.md rồi đi theo các liên kết đến đúng thư mục cho yêu cầu cụ thể. Bài viết này trình bày hệ thống phân cấp bộ nhớ trong tài liệu Claude Code chính thức, cấu trúc gồm năm phần và cách xây dựng từng bước trong một giờ.
Tài liệu tham khảo Ailoot: ailoot.ai/docs/.
Vì sao Claude Code cần bộ não thứ hai, và điều gì là thiết yếu?
Điểm chính
Một tệp CLAUDE.md có thể bao quát các quy tắc cơ bản, nhưng không thể đảm nhiệm bộ nhớ kinh doanh. Sau một tháng, bạn đã quên vì sao mình tăng giá. Sau ba tháng, bạn đã quên vì sao mình từ chối thanh toán trả góp. Kiến thức cùng lúc nằm ở bốn nơi: trong đầu bạn, các cuộc trò chuyện Telegram, tài liệu Google và trong đầu nhân viên. Bộ não thứ hai tập hợp tất cả vào một thư mục tệp markdown bên cạnh dự án, và Claude có thể tự tìm đến đó.
Bạn mở Claude Code vào thứ Ba. Bạn giải thích: đây là dự án, đây là đối tượng khách hàng, đừng làm việc này. Hai bên cùng làm việc. Đến thứ Năm, đó là một cuộc trò chuyện mới và bạn lại phải giải thích mọi thứ từ đầu.
Nếu có CLAUDE.md, bạn đã giải quyết được nỗi bực bội đầu tiên. Các quy tắc cơ bản và mô tả dự án nằm trong một tệp và được tải vào mọi phiên. Tôi đã giải thích cách tệp này hoạt động trong hướng dẫn về CLAUDE.md - bạn có thể đọc trước để xây dựng nền tảng.
Nhưng CLAUDE.md là sổ tay hướng dẫn cho nhân viên mới. Cách ăn mặc, giọng điệu khi nói chuyện với khách hàng, lệnh nào dùng để xuất bản. Như vậy vẫn chưa đủ để đưa ra quyết định tốt cho dự án. Quyết định cần có kiến thức: sản phẩm là gì, đối tượng khách hàng là ai, kinh tế vận hành ra sao, bạn đã thử điều gì và điều gì không hiệu quả.
Theo trải nghiệm của tác giả được mô tả ở đây, kiến thức đó từng nằm ở bốn nơi: trong đầu họ, các cuộc trò chuyện Telegram, tài liệu Google và trong đầu nhân viên. Một tháng sau khi đưa ra quyết định, không ai còn nhớ vì sao quyết định đó được đưa ra. Người mới sẽ mất một giờ hỏi cả nhóm để nắm bắt tình hình. Claude hoàn toàn không có bối cảnh đó.
Trước khi có bộ não thứ hai, theo trải nghiệm được tác giả mô tả, mỗi phiên làm việc đều phải giải thích lại khách hàng là ai, đề xuất được cấu trúc ra sao và nhà cung cấp nào xử lý thanh toán. Với business/, tôi mở cuộc trò chuyện và nói: “cập nhật đề xuất cho gói giá mới” - Claude tự tìm đến business/company/legal.md, đọc các yêu cầu, sau đó đến business/products/pricing.md, thấy gói giá mới và đề xuất chỉnh sửa chỉ trong một lượt. Không còn phải khởi động lại bằng cách giải thích bối cảnh; bối cảnh được tự động tải vào.
Lưu ý
Đây không phải vấn đề về bộ nhớ của Claude. Đây là vấn đề kiến trúc. Cửa sổ ngữ cảnh của tác nhân là bộ nhớ làm việc của nó. Nó chỉ tải những gì bạn chỉ rõ. Mọi thứ khác nằm ngoài cửa sổ và được tải theo yêu cầu. Bộ não thứ hai lưu trữ “mọi thứ khác” đó theo cấu trúc để Claude có thể tự tìm đường.
Anthropic gọi vấn đề này là sự suy giảm ngữ cảnh trong blog kỹ thuật của họ:
Càng có nhiều token trong cửa sổ ngữ cảnh, mô hình càng khó nhớ chính xác thông tin từ ngữ cảnh đó.
Nói cách khác, bạn nhồi càng nhiều vào cửa sổ thì tác nhân càng xử lý các chi tiết cụ thể kém hơn. Giải pháp là duy trì cấu trúc các tệp bên ngoài để Claude có thể tự mở khi nhận yêu cầu cụ thể. Đó chính là bộ não thứ hai.
Bộ não thứ hai là gì, và nó áp dụng ra sao với Claude?
Điểm chính
Ý tưởng về bộ não thứ hai rất đơn giản: tâm trí của bạn dùng để suy nghĩ, không phải để lưu trữ suy nghĩ. Với Claude Code, khái niệm này chuyển từ phương pháp năng suất thành kiến trúc tác nhân: một thư mục ghi chú bên ngoài mà tác nhân có thể truy cập trực tiếp thông qua hệ thống tệp.
Thông thường, bộ não thứ hai phục vụ năng suất nói chung: mọi người tạo một kho Obsidian rồi thêm trích đoạn sách, ghi chú từ các cuộc gọi và ý tưởng dự án.
Khi tác giả áp dụng ý tưởng này vào công việc với Claude Code, nó không còn là chuyện năng suất mà trở thành kiến trúc tác nhân.
Trong cách tiếp cận cổ điển, bộ não thứ hai là của bạn và bạn truy cập nó thủ công. Khi làm việc với Claude Code, bộ não thứ hai trở thành hai chiều: cả bạn lẫn tác nhân đều truy cập nó. Điều đó làm thay đổi các yêu cầu về định dạng.
Vì tác nhân tự truy cập, các tệp cần có định dạng mà nó hiểu được mà không cần tích hợp riêng. Markdown là lựa chọn lý tưởng: văn bản, cấu trúc tiêu đề và liên kết giữa các tệp. Notion và Google Docs không phù hợp. Bạn có thể kết nối chúng qua MCP, nhưng như vậy sẽ thêm một lớp nữa, thêm token cho mỗi yêu cầu và thêm một điểm có thể xảy ra lỗi.
Vì các tệp nằm trong hệ thống tệp bên cạnh dự án, chúng tự động nằm trong tầm với của Claude Code. Không cần thiết lập. Khởi chạy tác nhân trong thư mục dự án và nó có thể nhìn thấy mọi tệp bên trong. Miễn phí và hoạt động ngay khi dùng.
Mẹo
Bạn có thể giữ bộ não thứ hai trong Obsidian - tôi cũng mở nó ở đó để xem đồ thị liên kết dễ hơn. Nhưng bản thân các tệp nằm trong một thư mục thông thường bên cạnh mã nguồn. Obsidian chỉ là lớp giao diện tiện dụng cho các tệp markdown. Claude có thể thấy chúng mà không cần Obsidian. Bạn có thể dùng bất kỳ trình soạn thảo nào; điều quan trọng là các tệp nằm trên đĩa thay vì trong một dịch vụ đám mây có định dạng riêng.
Claude Code có sẵn hệ thống phân cấp bộ nhớ nào?
Điểm chính
Claude Code có thể đọc sẵn bốn cấp CLAUDE.md (doanh nghiệp, người dùng, dự án và cục bộ), và kể từ phiên bản 2.1.59, nó duy trì bộ nhớ tự động riêng tại ~/.claude/projects/<project>/memory/. Như vậy là đủ cho bộ nhớ cơ bản, nhưng chưa đủ cho bối cảnh kinh doanh - phần đó bạn đặt trong một thư mục riêng bên cạnh dự án.
Trước khi tự thêm nội dung, hãy xem Claude có thể ghi nhớ những gì mà không cần bạn trợ giúp. Anthropic mô tả hai cơ chế trong tài liệu chính thức: CLAUDE.md (các quy tắc do bạn viết) và bộ nhớ tự động (các bài học Claude tự viết). Cả hai đều được tải khi bắt đầu mỗi phiên.
CLAUDE.md được tìm ở bốn nơi cùng lúc:
| Cấp | Vị trí | Mục đích |
|---|---|---|
| Doanh nghiệp | /Library/Application Support/ClaudeCode/CLAUDE.md (macOS), /etc/claude-code/CLAUDE.md (Linux), C:\Program Files\ClaudeCode\CLAUDE.md (Windows) | Các quy tắc mà quản trị viên triển khai cho toàn nhóm qua MDM. Cá nhân không cần dùng cấp này. |
| Người dùng | ~/.claude/CLAUDE.md | Quy tắc cá nhân áp dụng cho mọi dự án. “Trả lời bằng ngôn ngữ tôi thích,” “đừng dùng dấu gạch ngang dài.” |
| Dự án | ./CLAUDE.md tại thư mục gốc của dự án | Quy tắc cho một dự án cụ thể: stack, cấu trúc thư mục, quy tắc kinh doanh. Được commit vào git. |
| Cục bộ | ./CLAUDE.local.md | Ghi chú cá nhân của bạn cho dự án này, không được commit vào git. Nằm trong .gitignore. |
Cả bốn tệp đều được tải vào ngữ cảnh. Cấp càng cụ thể thì mức ưu tiên càng cao. Tệp cục bộ được đọc cuối cùng nên các quy tắc của nó ghi đè mọi quy tắc khác.
Tệp CLAUDE.md cũng có thể nằm trong bất kỳ thư mục nào bên trong dự án. Khi Claude đọc một tệp từ thư mục con, nó tải CLAUDE.md của thư mục con đó theo yêu cầu. Điều này hữu ích trong monorepo: quy tắc frontend nằm trong frontend/CLAUDE.md, quy tắc backend nằm trong backend/CLAUDE.md, và chúng chỉ được tải khi tác nhân làm việc với phần tương ứng.
Bộ nhớ tự động xuất hiện trong Claude Code 2.1.59. Đây là các tệp Claude viết về bạn:
~/.claude/projects/<project-name>/memory/
├── MEMORY.md # Chỉ mục, được tải trong mọi phiên (200 dòng hoặc 25KB)
├── debugging.md # Ghi chú chi tiết (được tải theo yêu cầu)
├── api-conventions.md
└── ...
Anthropic mô tả cơ chế này trong tài liệu chính thức:
Claude không lưu lại điều gì đó trong mọi phiên. Nó quyết định điều gì đáng ghi nhớ dựa trên việc thông tin đó có thể hữu ích trong một cuộc trò chuyện tương lai hay không.
Bộ nhớ tự động được bật bằng cờ autoMemoryEnabled trong ~/.claude/settings.json. Claude quyết định sẽ ghi gì ở đó. Bạn có thể đọc MEMORY.md và chỉnh sửa thủ công - đó là markdown thông thường.
Cảnh báo
Bộ nhớ tự động hữu ích, nhưng không thay thế được bộ não thứ hai. Claude ghi lại ở đó các bài học mang tính tác vụ về công cụ và mẫu mã. “Script này lỗi nếu thiếu cờ X,” “bảng cơ sở dữ liệu này có tên như vậy.” Nó không ghi chiến lược kinh doanh ở đó. Nếu bạn muốn tác nhân nhớ đối tượng khách hàng của mình là ai và vì sao bạn chọn một mức giá cụ thể, bạn cần tự đặt thông tin đó vào một thư mục ngữ cảnh riêng.
CLAUDE.md hay bộ não thứ hai - nên phân định ranh giới ở đâu?
Điểm chính
CLAUDE.md là sổ tay hướng dẫn cho nhân viên mới: cách hành xử, lệnh nào cần dùng và việc gì không được làm. Bộ não thứ hai là wiki của công ty: bạn làm gì, dành cho ai, kinh tế vận hành ra sao và bạn đã thử những gì. Một tệp quy tắc hành vi cộng với cấu trúc kiến thức bên ngoài. CLAUDE.md là chỉ mục; bộ não thứ hai là kho lưu trữ. Không có chỉ mục, tác nhân không biết kho lưu trữ tồn tại. Không có kho lưu trữ, nó chỉ biết các quy tắc chứ không biết bối cảnh kinh doanh.
Đây là phép so sánh tôi dùng trong các buổi nói chuyện: hãy tưởng tượng bạn vừa tuyển một nhân viên mới. Bạn đưa cho họ gì trong ngày đầu tiên?
Một sổ tay hướng dẫn: cách ăn mặc, giờ đến, giọng điệu khi nói chuyện với khách hàng, hệ thống nào dùng để xuất bản. Đó là tài liệu ngắn. Nó không giải thích bạn làm gì hay vì sao. Nó chỉ nói cách hành xử.
Và riêng biệt, quyền truy cập vào wiki công ty. Wiki giải thích sản phẩm là gì, dành cho ai, đối tượng khách hàng là ai, giá bao nhiêu và vì sao, đối thủ là ai và bạn từng mắc những sai lầm nào. Đó là một kho lưu trữ đồ sộ. Không ai đọc hết - bạn tìm đến đó khi có câu hỏi cụ thể.
CLAUDE.md = sổ tay hướng dẫn. Bộ não thứ hai = wiki. Bạn cần cả hai.
Sự phân biệt rất đơn giản. Đặt mọi thứ liên quan đến mọi nhiệm vụ vào CLAUDE.md:
- Tác nhân đóng vai trò gì trong dự án này (trợ lý, trưởng nhóm, trợ lý cá nhân)
- Trả lời bằng ngôn ngữ nào
- Stack công cụ
- Lệnh xuất bản
- Những điều cấm (đừng dùng dấu gạch ngang dài, đừng chạy
git push --force) - Định tuyến: tìm bối cảnh kinh doanh ở đâu và tìm các nguyên tắc ở đâu
Đặt mọi thứ chỉ cần khi có yêu cầu vào bộ não thứ hai:
- Sản phẩm, đối tượng khách hàng, kinh tế và mục tiêu
- Đối thủ cạnh tranh và thị trường
- Các quyết định trước đây và lý do đưa ra chúng
- Ví dụ và đánh giá của khách hàng
- Nguyên tắc và phương pháp luận
Anthropic cũng phân biệt tương tự trong tài liệu:
CLAUDE.md được tải trong mọi phiên, vì vậy chỉ đưa vào đó những gì áp dụng rộng rãi. Với kiến thức chuyên môn hoặc quy trình chỉ thỉnh thoảng mới cần, hãy dùng Skills. Claude tải chúng theo yêu cầu mà không làm phình mọi cuộc trò chuyện.
Skills là một cách để lưu kiến thức theo từng tình huống. Thư mục business/ bên cạnh dự án là một cách khác. Tôi dùng cả hai và sẽ giải thích kỹ hơn bên dưới.
Bộ não dự án gồm những gì - 5 phần cộng thêm cỗ máy thời gian
Điểm chính
Bộ não dự án gồm năm thư mục, với git ở trên. CLAUDE.md thiết lập quy tắc và định tuyến. ai-clone/ lưu hình ảnh số của bạn: nguyên tắc, giọng điệu và phản hồi sau sai lầm. business/ lưu kiến thức về dự án. plans/ chứa các kế hoạch kỹ thuật theo giai đoạn. retrospectives/ lưu những suy ngẫm sau các phiên làm việc. Git biến tất cả thành cỗ máy thời gian: một năm sau, bạn có thể mở bất kỳ tệp nào và xem nó chứa gì vào thời điểm một quyết định được đưa ra.
Ví dụ kiến trúc từ trải nghiệm được tác giả mô tả:
| Thư mục | Nội dung | Mục đích |
|---|---|---|
CLAUDE.md | Quy tắc dự án, stack, cấu trúc tệp, định tuyến thư mục, ngôn ngữ giao tiếp | Đây là sổ tay hướng dẫn của tác nhân. Được tải trong mọi phiên. Dưới 200 dòng, lý tưởng là 80-120. |
ai-clone/ | Tôi là ai, nguyên tắc, giọng điệu, phong cách ra quyết định, phản hồi sau sai lầm | Hình ảnh số của tôi với tư cách người ra quyết định. Nó biết điều gì tôi sẽ lập tức từ chối, phong cách tôi dùng để đề xuất điều gì đó và những quy tắc tôi rút ra từ sai lầm. |
business/ | Sản phẩm, đối tượng khách hàng, mục tiêu, kinh tế, tiếp thị, quyết định trước đây, ví dụ | Các tệp markdown được liên kết bằng wiki link. Mỗi tệp kết nối với tệp khác qua liên kết [[...]]. Tác nhân tìm đến đó khi có câu hỏi cụ thể. |
plans/ | Mỗi tính năng một kế hoạch. Tệp YYYY-MM-DD-feature.md có các giai đoạn và ô đánh dấu | Plan Mode tồn tại trong một cuộc trò chuyện và mất sau /clear. Thư mục plans/ nằm trong kho mã - bất kỳ tác nhân nào cũng có thể tiếp tục kế hoạch bất cứ lúc nào. |
retrospectives/ | Suy ngẫm sau mỗi phiên: đã làm gì, cần ghi nhớ gì, điều gì có thể tốt hơn | Hệ thống tự học. Sai lầm trở thành quy tắc trong ai-clone/feedback/. |
+ git | Lịch sử phiên bản của mọi tệp | Cỗ máy thời gian. Mở bất kỳ tệp nào và chạy git log để xem nó thay đổi khi nào và vì sao. |
Điểm quan trọng về phương pháp luận là phải tách riêng ai-clone/ và business/.
business/ trả lời câu hỏi “chúng ta làm gì?” Sản phẩm, đối tượng khách hàng, giá cả, đối thủ. Nó thuộc về dự án. Nếu ngày mai bạn bàn giao dự án cho một đối tác, thư mục này sẽ đi cùng dự án.
ai-clone/ trả lời câu hỏi “tôi đưa ra quyết định như thế nào?” Nguyên tắc, giọng điệu, tay nghề và những từ cần tránh của tôi. Nó thuộc về tôi. Nếu ngày mai tôi bắt đầu dự án mới, thư mục này sẽ đi theo tôi.
Kết hợp lại, chúng tạo thành thứ tôi gọi là Công ty Một người. Một người cộng với ngữ cảnh có cấu trúc cộng với AI đọc ngữ cảnh đó.
Bạn muốn không chỉ thiết lập một thư mục thứ hai mà còn xây dựng một hệ thống giúp Claude nhất quán? Chỉ vậy thôi thì chưa đủ. Không có ai-clone/, tác nhân trả lời cho mọi người chứ không phải cho bạn. Không có context engineering, nó lang thang trong cả thư mục và đốt token. Nên kết nối cả ba thứ: bộ não thứ hai + bản sao AI + context engineering. Đây là ba trụ cột mà nếu thiếu thì AI sẽ ảo giác.
Nên đưa gì vào business/, và không nên đưa gì?
Điểm chính
Đưa vào business/ các thông tin dự án thay đổi không thường xuyên hơn mỗi tuần một lần: định vị, đối tượng khách hàng, sản phẩm và giá, mục tiêu theo quý cùng các quyết định quan trọng. Không đưa thư từ trò chuyện, tài liệu thô chưa xử lý, thông tin đã có trong mã nguồn, ảnh chụp màn hình và các con số biến động. Thay số liệu bằng dấu LIVE cùng liên kết đến truy vấn SQL - tôi giải thích điều này trong một phần riêng bên dưới.
Cấu trúc cấp cao nhất của business/ trong dự án được tác giả mô tả:
business/
├── INDEX.md ← sơ đồ thư mục, đọc trước
├── company/ ← sứ mệnh, pháp nhân, giá trị, chính sách pháp lý
├── products/ ← sản phẩm, chương trình, giá
├── audience/ ← hồ sơ khách hàng, phân khúc, phản đối
├── goals/ ← mục tiêu năm, quý, tháng, chỉ số
├── economics/ ← kinh tế đơn vị, thu nhập, chi phí, dự báo
├── marketing/ ← kênh, phễu, tài liệu, đối thủ
├── execution/ ← lập kế hoạch hằng tuần, backlog
└── assets/ ← hệ thống thiết kế, đánh giá, ngân hàng nội dung quảng cáo
Đây là ví dụ từ dự án được tác giả mô tả, không phải quy tắc cứng. Tôi tạo thư mục khi cần. Ban đầu tôi chỉ có ba thư mục (products/, audience/, goals/); các thư mục còn lại được thêm sau 2-3 tháng, khi không rõ nên đặt nội dung mới ở đâu.
Tệp chính của thư mục là INDEX.md. Đó là bản đồ. Nó chứa bảng “câu hỏi → tệp” mà Claude dùng để biết cần tìm ở đâu. Nếu không có bảng này, tác nhân sẽ tốn token để đọc lần lượt mọi tệp.
Ví dụ trích đoạn từ INDEX.md:
### Tìm nội dung ở đâu
| Bạn cần gì | Xem ở đâu |
|---|---|
| Khách hàng của chúng ta là ai và họ gặp vấn đề gì | `business/audience/avatar.md` |
| Sản phẩm, gói và giá | `business/products/` |
| Mục tiêu và chỉ số | `business/goals/` |
| Kinh tế (thu nhập, chi phí, kinh tế đơn vị) | `business/economics/` |
| Kênh và tài liệu quảng bá | `business/marketing/` |
Chỉ cần một dòng trong CLAUDE.md: “Với các câu hỏi kinh doanh, hãy đọc business/INDEX.md và làm theo bản đồ.” Tác nhân không tải cả thư mục vào ngữ cảnh. Nó tải bản đồ, chọn đúng tệp rồi chỉ đọc tệp đó.
Danh sách kiểm tra những gì không nên đưa vào business/:
- Thư từ trò chuyện thô chưa xử lý. Nếu có thông tin hữu ích, hãy chắt lọc và ghi lại. Nếu không, đừng đưa vào.
- Thông tin bị trùng lặp trong mã nguồn. Không cần ghi “Thanh toán qua CloudPayments”; tác nhân có thể thấy điều này trong mã nguồn.
- Ảnh chụp màn hình và hình ảnh. Chúng làm thư mục phình to và mô hình văn bản không phân tích được nếu không có thêm bước xử lý.
- Số liệu biến động. “Hôm nay có 423 khoản thanh toán cho sản phẩm” sẽ lỗi thời sau một tuần. Dùng dấu LIVE và liên kết đến truy vấn cơ sở dữ liệu.
- Thông tin nhạy cảm hoặc đáng ngờ. Nếu ngày mai kho mã được đăng lên YouTube trước 100 nghìn người lạ, chỉ giữ lại những gì bạn sẵn sàng cho họ xem. Nhân viên, tác nhân và đôi khi cả nhà thầu bên ngoài đọc thư mục này.
Cảnh báo
Nếu kho mã ở chế độ công khai, thư mục business/ cũng công khai. Tôi xem bộ não thứ hai như thể kho mã có thể được công khai vào ngày mai, ngay cả khi hiện tại nó ở chế độ riêng tư. Không có tên khách hàng khi chưa được đồng ý, không có số doanh thu hằng tháng, không có mật khẩu. Thói quen này giúp giảm rất nhiều căng thẳng.
Vì sao cần thư mục ai-clone riêng, và vì sao không nên trộn nó với business?
Điểm chính
ai-clone/ lưu hình ảnh số của bạn: nguyên tắc, giọng điệu, những từ cần tránh và phản hồi sau sai lầm. Mỗi lỗi của tác nhân trở thành quy tắc trong ai-clone/feedback/ theo công thức “quy tắc → lý do → cách áp dụng”. Thư mục này đi theo bạn từ dự án này sang dự án khác. business/ ở lại với dự án. Hãy giữ chúng riêng biệt: trong dự án mới, business/ sẽ thay đổi, còn nguyên tắc và phong cách của bạn vẫn như cũ.
Ý tưởng rất đơn giản: bộ phận kinh doanh biết chúng ta làm gì. Bản sao biết tôi đưa ra quyết định như thế nào.
Cấu trúc ai-clone/ trong dự án được tác giả mô tả:
ai-clone/
├── INDEX.md ← sơ đồ thư mục
├── role.md ← tôi là ai, xuất thân, điều gì quan trọng
├── identity/ ← giá trị, tầm nhìn, sứ mệnh
├── thinking/ ← mô hình tư duy từ các buổi trò chuyện
├── voice/ ← giọng điệu, từ vựng, phong cách
├── principles/ ← niềm tin về sản phẩm, mã nguồn, kinh doanh
├── feedback/ ← quy tắc rút ra từ sai lầm ← thư mục chính
├── style/ ← từ cần tránh, định dạng Telegram
└── reference/ ← công cụ, môi trường
Thư mục hữu ích nhất là feedback/. Nó chứa các quy tắc cụ thể tôi rút ra từ sai lầm của tác nhân. Mỗi quy tắc được đặt trong một tệp riêng theo định dạng sau:
---
name: short-name
description: one line - what’s in the file and when to apply it
type: feedback
---
Một quy tắc ngắn gọn trong một câu.
**Lý do:** vì sao quy tắc này tồn tại. Bối cảnh, sự cố, quan sát.
**Cách áp dụng:** các trường hợp cụ thể để áp dụng quy tắc.
Không có mục “Lý do”, quy tắc sẽ vô dụng - tác nhân sẽ không áp dụng được nó vào tình huống tương tự. Không có mục “Cách áp dụng”, sẽ không rõ khi nào cần dùng quy tắc.
Một ví dụ từ thư mục của tôi là quy tắc “dùng dấu gạch nối, không dùng dấu gạch ngang dài.” Quy tắc này xuất phát từ việc dấu gạch ngang dài — là dấu hiệu hình thức then chốt của văn bản do AI tạo ra. Quy tắc áp dụng cho mọi văn bản hướng đến công chúng. Tệp nằm tại ai-clone/feedback/no-em-dashes.md.
Tôi làm hơi khác: tôi viết quy tắc trong ai-clone/feedback/, không phải trong CLAUDE.md. CLAUDE.md là tệp của dự án, nhưng quy tắc về giọng điệu và phong cách là cá nhân. Chúng đi theo tôi sang dự án tiếp theo. CLAUDE.md ở lại với dự án.
Lưu ý
Một thước đo mức độ trưởng thành của cách tiếp cận này là: mỗi tuần bạn phải nói với tác nhân “không, không phải như vậy” về cùng một việc bao nhiêu lần? Trong một hệ thống trưởng thành, câu trả lời là không lần nào. Mỗi sai lầm biến thành quy tắc trong feedback/, và tác nhân không lặp lại nó vào lần sau.
Chỉ số trực tiếp là gì, và vì sao không nên ghi cứng số liệu trong tệp?
Điểm chính
Số liệu trong các tệp của bộ não thứ hai sẽ lỗi thời chỉ sau vài ngày. “Hôm nay có 1,000 khách hàng” sẽ thành 1,050 vào ngày mai và 2,000 sau một tháng. Nếu ghi cứng con số, một tháng sau tác nhân sẽ đề xuất dựa trên dữ liệu của ngày hôm qua. Giải pháp là dùng dấu LIVE trong tệp và một tài liệu live-metrics.md riêng chứa các truy vấn SQL có thể chạy ngay. Khi thấy LIVE, tác nhân đi đến cơ sở dữ liệu, lấy con số hiện tại và lập luận dựa trên dữ liệu cập nhật.
Một trong những cạm bẫy chính khi bắt đầu xây dựng bộ não thứ hai là đưa vào đó các số liệu lỗi thời. Bạn viết “chúng ta có 320 khách hàng”, rồi hai tuần sau đã là 410. Bạn viết “doanh thu hằng tháng là 4.7 triệu”, rồi một tháng sau không còn bối cảnh cho con số nữa: đó là mục tiêu, thực tế hay dự báo?
Trong ví dụ của tác giả, cách này hoạt động như sau. Trong tệp business/products/practicum.md, thay vì con số, có một dấu đánh dấu:
## Các khóa học
> **LIVE** - chạy các truy vấn trong `live-metrics.md`, mục “Sales”
> để xem các khoản thanh toán hiện tại theo khóa học.
| Khóa học | Ngày | Đã thanh toán |
|-------|------|------------|
| 1 | March 10-12, 2026 | LIVE |
| 2 | March 24-26, 2026 | LIVE |
Một tệp live-metrics.md riêng chứa các truy vấn SQL có thể chạy ngay và mô tả kết quả trả về:
## Doanh số (thanh toán theo khóa học)
```sql
SELECT c.name, COUNT(p.id) AS paid, SUM(p.amount) AS revenue
FROM purchases p
JOIN cohorts c ON c.id = p.cohort_id
WHERE p.status = 'paid'
GROUP BY c.name
ORDER BY c.starts_at DESC;
```
Khi tôi hỏi tác nhân “khóa học thứ hai có bao nhiêu khoản thanh toán?”, nó sẽ:
- Đọc
business/products/practicum.md - Thấy dấu LIVE bên cạnh con số
- Mở
live-metrics.md - Tìm mục “Sales”
- Chạy truy vấn với cơ sở dữ liệu sản xuất
- Trả lời bằng dữ liệu mới
Cách này giải quyết hai vấn đề cùng lúc. Số liệu không bị lỗi thời. Và quyết định được đưa ra dựa trên bức tranh hiện tại, không phải của năm ngoái.
Cảnh báo
Trong cách tiếp cận được tác giả mô tả, chỉ những tác nhân đáng tin cậy mới có quyền truy cập cơ sở dữ liệu sản xuất. Chúng chỉ được cấp quyền đó thông qua một wrapper ghi nhật ký truy vấn và không để lộ mật khẩu. Đưa lệnh psql trực tiếp kèm mật khẩu văn bản thuần vào live-metrics.md là ý tưởng tồi. Hãy tạo wrapper lấy mật khẩu từ biến môi trường và không để lộ nó trong đầu ra. Đây là một lớp kỹ thuật riêng, nhưng nếu không có nó thì LIVE sẽ trở thành lỗ hổng bảo mật.
AI điều hướng bộ não thứ hai như thế nào cho một yêu cầu đơn lẻ?
Điểm chính
Luồng xử lý yêu cầu luôn giống nhau: Claude đọc CLAUDE.md, thấy các bản đồ (business/INDEX.md, ai-clone/INDEX.md), mở INDEX thích hợp, đi theo đường dẫn đến một tệp cụ thể và nếu cần thì lấy số liệu qua LIVE. Đó là 5-6 thao tác đọc thay vì nhồi cả thư mục vào ngữ cảnh. Cửa sổ vẫn dành chỗ cho suy luận và token không bị lãng phí vào những tệp không liên quan.
Một yêu cầu cụ thể, ví dụ: “soạn email gửi người tham gia về khóa học mới.”
- Claude bắt đầu với cửa sổ trống. Nó tải CLAUDE.md (quy tắc, stack, định tuyến).
- Từ phần định tuyến trong CLAUDE.md, nó thấy: “
ai-clone/INDEX.md- luôn đọc khi bắt đầu phiên.” Nó mở tệp và biết tôi là ai, giọng điệu của tôi ra sao và tôi dùng những từ cần tránh nào. - Nó thấy trong phần định tuyến: “mẫu email -
src/lib/email/layout.ts.” Nó mở tệp và hiểu định dạng. - Nó thấy: “bối cảnh sản phẩm -
business/products/practicum.md.” Nó mở tệp và đọc về sản phẩm. - Nó thấy dấu LIVE trong tệp và tham chiếu đến
live-metrics.md. Nó mở tệp và tìm câu lệnh SQL có thể chạy ngay. Nếu cần con số hiện tại, nó chạy truy vấn. Nếu không, nó đánh dấu “lấy con số này tại thời điểm gửi.” - Nó thấy quy tắc giọng điệu trong
ai-clone/style/telegram-format.md, lệnh cấm dùng dấu gạch ngang dài trongai-clone/feedback/no-em-dashes.mdvà tỷ lệ chuyển đổi phễu trongbusiness/marketing/funnel.md.
Nó viết email theo giọng điệu của tôi, với số liệu cập nhật và không có dấu gạch ngang dài hay dấu hiệu văn bản AI.
Anthropic gọi cách tiếp cận này là ngữ cảnh đúng lúc trong blog kỹ thuật của họ:
Các tác nhân được xây dựng theo cách tiếp cận 'đúng lúc' giữ lại các định danh gọn nhẹ (đường dẫn tệp, truy vấn đã lưu, liên kết, v.v.) và dùng những liên kết này để lấy dữ liệu vào ngữ cảnh một cách linh hoạt khi chạy thông qua các công cụ.
Nói cách khác, Claude mang theo các con trỏ đến dữ liệu chứ không mang dữ liệu. Cách này tiết kiệm token hơn nhiều và chính xác hơn nhiều, vì chỉ thông tin liên quan mới đi vào ngữ cảnh. Cửa sổ vẫn rộng rãi cho việc suy luận.
5 kiểu chống mẫu của bộ não thứ hai - cần tránh điều gì?
Điểm chính
Các lỗi chính mà người mới thường mắc với bộ não thứ hai: 1) CLAUDE.md phình to hơn 500 dòng thay vì là bộ định tuyến ngắn; 2) thư mục lưu trữ đủ thứ biến thành nơi đổ mọi thứ vào; 3) sao chép những điều Claude đã biết từ ngôn ngữ hoặc mã nguồn; 4) ghi cứng các con số rồi để chúng lỗi thời mà không dùng LIVE; 5) để ngữ cảnh ngoài quyền tác nhân hoặc thiếu chỉ dẫn tới nó, dù cùng kho hay nơi riêng tư khác.
Chống mẫu 1. CLAUDE.md phình to. 500 dòng chỉ dẫn “thay vì đặt mọi thứ vào một nơi”. Anthropic nói thẳng:
Hãy giữ tài liệu ngắn gọn. Với mỗi dòng, hãy hỏi: 'Nếu xóa dòng này, Claude có bắt đầu mắc lỗi không?' Nếu không, hãy xóa nó. Tệp CLAUDE.md cồng kềnh khiến Claude bỏ qua những chỉ dẫn thực sự của bạn!
Độ dài mục tiêu là 80-120 dòng. Đưa mọi thứ khác vào các tệp riêng và định tuyến đến chúng.
Chống mẫu 2. Thư mục chứa đủ thứ. Bạn ném mọi thứ vào bộ não thứ hai: thư từ trò chuyện thô, ảnh chụp màn hình vô ích, báo cáo chẳng ai đọc. Một tháng sau, thư mục phình to, tác nhân lãng phí token đọc nội dung rác, còn bạn không nhớ thứ gì ở đâu. Quy tắc: mỗi tệp trong bộ não thứ hai phải trả lời một câu hỏi cụ thể. Nếu sáu tháng không ai mở tệp, hãy xóa hoặc chuyển nó vào kho lưu trữ.
Chống mẫu 3. Trùng lặp. “Thanh toán đi qua CloudPayments, trong src/lib/payment/cloudpayments.ts; nhà cung cấp được cấu hình trong .env.” Tác nhân có thể thấy tất cả những điều này trong mã nguồn. Đừng lặp lại trong business/. Nội dung trùng lặp sẽ lỗi thời: mã nguồn thay đổi, business/ không được cập nhật, và tác nhân làm việc dựa trên thông tin cũ.
Chống mẫu 4. Ghi cứng số liệu. “Chúng ta có 1,247 khách hàng, tỷ lệ chuyển đổi là 6.3%” - hãy tưởng tượng đây là số liệu của một công ty fintech trừu tượng nào đó. Tất cả những số liệu như vậy sẽ lỗi thời sau một tuần. Dùng dấu LIVE và live-metrics.md. Phần nói về việc này nằm ở trên.
Chống mẫu 5. Ngữ cảnh thiếu đường truy cập. Nếu bộ não thứ hai ở nơi khác mà tác nhân thiếu quyền hoặc chỉ dẫn, khởi từ mã chưa đủ. Với ghi chú chung không nhạy cảm, business/ và ai-clone/ trong kho cạnh src/, prisma/ là tiện. Với ngữ cảnh riêng, giữ nơi kiểm soát riêng, cấu hình rõ quyền được phép và đường dẫn. Tiện thư mục không vượt tính bảo mật.
Mẹo
Nhánh riêng (context hoặc business-context) tổ chức công việc nhưng không là ranh giới quyền: tệp vẫn là Git object cùng kho, có thể xuất cùng nhánh/lịch sử. Với bối cảnh riêng, dùng kho riêng tư hoặc nơi ngoài có kiểm soát truy cập và đường tác nhân được phép. Submodule trỏ kho riêng nhưng quyền kho đó tạo riêng tư, không phải submodule. Có thể dùng thư mục cục bộ chủ động ignore với backup riêng; ignore không xóa tệp đã theo dõi hay lịch sử đã công bố. Chỉ giữ bối cảnh chia sẻ được cùng mã.
Cách xây dựng bộ não thứ hai trong một giờ - hướng dẫn từng bước
Điểm chính
Bạn có thể thiết lập bộ não thứ hai tối thiểu trong một giờ: tạo các thư mục gốc business/ và ai-clone/, tạo bản đồ INDEX.md trong mỗi thư mục, thêm mô tả sản phẩm ngắn trong business/products/, mô tả khách hàng trong audience/ và mô tả về bạn trong ai-clone/role.md. Thêm định tuyến đến các thư mục này trong CLAUDE.md. Sau đó mở rộng khi làm việc: sau mỗi lỗi của tác nhân, thêm quy tắc vào ai-clone/feedback/; sau mỗi quyết định, thêm ghi chú vào business/.
Tạo hai thư mục gốc
Trong thư mục gốc của dự án, bên cạnh
src/:mkdir -p business/{products,audience,goals,economics,marketing} mkdir -p ai-clone/{identity,voice,principles,feedback,style}Tạo INDEX.md làm bản đồ thư mục
business/INDEX.mdlà bảng “câu hỏi → tệp”. Bắt đầu với ít nhất 5 dòng và bổ sung khi làm việc. Làm tương tự vớiai-clone/INDEX.md.Thêm mô tả ngắn về sản phẩm và khách hàng
business/products/main.md- sản phẩm là gì, dành cho ai, giá bao nhiêu và điều gì làm nó khác biệt. 30-50 dòng.business/audience/avatar.md- khách hàng là ai, họ gặp khó khăn gì và mua những gì. 30-50 dòng. Đừng mô tả khách hàng lý tưởng - hãy mô tả một khách hàng thật. Nếu chưa biết điều gì, hãy đánh dấu “cần làm rõ” rồi tiếp tục.Mô tả bản thân trong ai-clone/role.md
Bạn là ai, bạn làm gì và điều gì quan trọng với bạn. 20-30 dòng. Như vậy là đủ để bắt đầu. Thêm giọng điệu, nguyên tắc và các từ cần tránh khi bạn nhận thấy tác nhân viết theo phong cách không giống mình.
Thêm định tuyến vào CLAUDE.md
Mở
CLAUDE.mdvà thêm một mục:## Bản đồ dự án - Bối cảnh kinh doanh → `business/INDEX.md` - Bối cảnh về tôi → `ai-clone/INDEX.md` - Kế hoạch kỹ thuật → `plans/YYYY-MM-DD-*.md` - Suy ngẫm về các phiên trước → `retrospectives/` Luôn đọc `ai-clone/INDEX.md` và `business/INDEX.md` khi bắt đầu phiên.Khởi chạy Claude Code và kiểm tra
Mở tác nhân. Hỏi: “hãy kể cho tôi về sản phẩm và đối tượng khách hàng của tôi.” Nếu nó trả lời dựa trên ngữ cảnh trong thư mục thì hệ thống đang hoạt động. Nếu nó bịa thông tin, hãy kiểm tra các thư mục có nằm cạnh dự án không, tên tệp có chính xác không và phần định tuyến trong
CLAUDE.mdcó được viết rõ ràng không.
Sau đó, bộ não thứ hai phát triển theo hai nguyên tắc.
Thứ nhất: mỗi khi tác nhân mắc lỗi, hãy thêm một quy tắc. Sau 3-4 tuần, ai-clone/feedback/ sẽ có 15-20 tệp quy tắc và tác nhân sẽ không mắc hầu hết các lỗi phổ biến nữa.
Thứ hai: mỗi khi bạn đưa ra quyết định kinh doanh, hãy ghi lại trong business/. Nếu tăng giá, hãy thêm ghi chú vào business/products/pricing.md kèm ngày và lý do. Nếu thay đổi định vị, hãy thêm ghi chú vào business/company/about.md. Sáu tháng sau, bạn sẽ có một kho lưu trữ ghi nhớ được “lý do”.
Câu lệnh: Mẫu câu lệnh sẵn dùng để cập nhật bộ não thứ hai vào buổi tối
Chúng ta đã cùng nhau làm một lượng lớn công việc trong tuần này.
Hãy phân tích tất cả thay đổi mã nguồn trong tuần này, tất cả các commit chúng ta đã thực hiện.
Thông tin giá trị nào trong số đó nên nằm trong business/ - hãy ghi vào các tệp thích hợp
với wiki link đến các tệp lân cận để không làm mất ngữ cảnh.
Nếu có quyết định trong mã nguồn mà tôi chưa giải thích, hãy hỏi tôi lý do
và ghi lại lý do đó trong tệp thích hợp, kèm ngày tháng.
Đừng lặp lại những gì đã rõ ràng từ mã nguồn. Chỉ đưa vào những gì tác nhân
sẽ không biết ở phiên tiếp theo nếu không có business/.
Tiếp theo là gì - Skills, Subagents và context engineering
Điểm chính
Bộ não thứ hai cùng CLAUDE.md là nền tảng. Trên đó, hãy bổ sung Skills (kiến thức quy trình được tải theo yêu cầu dựa trên mô tả nhiệm vụ), Subagents (các phiên Claude riêng biệt với cửa sổ ngữ cảnh riêng để xử lý nhiệm vụ nặng) và context engineering (quản lý nội dung được đưa vào cửa sổ). Đây là ba tầng trên cùng. Chúng không hoạt động nếu thiếu nền tảng - tác nhân không có gì để đọc.
Khi đã có bộ não thứ hai, còn ba công cụ nữa mà Anthropic mô tả là ba cấp độ tối ưu hóa ngữ cảnh khác nhau.
Skills là kiến thức quy trình. Nếu bạn có một quy trình lặp lại (viết hướng dẫn học tập, soạn bài đăng Telegram, kiểm tra website), bạn có thể mã hóa nó trong tệp SKILL.md cùng mô tả nhiệm vụ. Khi bắt đầu phiên, Claude quét tên và mô tả kỹ năng rồi chỉ tải những kỹ năng phù hợp với nhiệm vụ hiện tại. Điều này tiết kiệm token và giữ đúng trọng tâm.
Subagents là các phiên Claude riêng biệt có cửa sổ ngữ cảnh riêng. Hãy giao một nhiệm vụ đòi hỏi nhiều công sức cho một subagent (đọc 30 tệp và soạn bản tóm tắt); nó làm việc trong cửa sổ riêng và chỉ trả về kết quả. Cửa sổ chính của bạn vẫn thoáng. Anthropic viết:
Các sub-agent chuyên biệt có thể giải quyết nhiệm vụ tập trung trong cửa sổ ngữ cảnh sạch. [...] Mỗi subagent có thể khám phá rộng, tiêu tốn hàng chục nghìn token hoặc nhiều hơn, nhưng chỉ trả lại bản tóm tắt cô đọng, đã chắt lọc về công việc của mình (thường là 1,000-2,000 token).
Context engineering là quản lý những gì được đưa vào cửa sổ ngay từ đầu. Anthropic gọi đây là kỹ năng nền tảng khi làm việc với tác nhân vào năm 2025, cao hơn prompt engineering một cấp. Prompt engineering là chọn cách diễn đạt. Context engineering là chọn tệp, đường dẫn, kỹ năng và subagent.
Bộ não thứ hai là khối xây dựng đầu tiên của context engineering. Không có nó, Skills đọc một khoảng trống, Subagents không có nơi để tìm đến và cửa sổ của tác nhân đầy thông tin ngẫu nhiên. Khi có bộ não thứ hai, cả ba công cụ đều bắt đầu hoạt động.
Bước tiếp theo. Tạo hai thư mục bên cạnh dự án: business/ và ai-clone/. Thêm INDEX.md vào mỗi thư mục với 5 dòng làm bản đồ. Thêm bốn dòng định tuyến vào CLAUDE.md. Trong một giờ, bạn sẽ có khung bộ não thứ hai hoạt động được. Sau đó, hãy phát triển nó theo quy tắc “sau mỗi lỗi của tác nhân, thêm một dòng vào ai-clone/feedback/.” Tôi giải thích đầy đủ mẫu CLAUDE.md dùng để định tuyến đến bộ não thứ hai trong hướng dẫn Cách thiết lập CLAUDE.md cho đúng.
Nguồn tham khảo
- Tài liệu về bộ nhớ Claude Code - hệ thống phân cấp bộ nhớ Claude Code chính thức của Anthropic
- Các phương pháp hay nhất của Claude Code - hướng dẫn chính thức về cách làm việc với CLAUDE.md
- Context engineering hiệu quả cho tác nhân AI - Anthropic Engineering, giải thích về suy giảm ngữ cảnh, ngân sách chú ý và ngữ cảnh đúng lúc
- Giải thích về Skills - blog Anthropic: phân biệt Skills, Memory, Subagents và MCP
Tiếp tục khám phá Ailoot tại ailoot.ai.
Xem thêm chi tiết
Câu hỏi thường gặp
Để bối cảnh kinh doanh trên nhánh Git khác có giữ riêng tư không?
Không. Nhánh thuộc cùng kho, tệp có thể chia sẻ qua object và lịch sử. Dùng nơi lưu riêng có kiểm soát hoặc thư mục cục bộ chủ động ignore có sao lưu; ignore không xóa lịch sử đã theo dõi.
Tác nhân tìm bối cảnh riêng ngoài kho mã thế nào?
Cấp đường dẫn rõ và chỉ quyền cần cho việc. Giữ chỉ mục ngắn trỏ tài liệu liên quan, rồi xác minh tác nhân đọc được tệp cho phép; nơi riêng tư không tự cung cấp ngữ cảnh nếu thiếu chỉ dẫn.