Lời biên tập: Vấn đề lớn nhất của nhiều người khi sử dụng Claude Code không phải là mô hình không đủ mạnh, mà là mỗi lần đều phải bắt đầu lại từ đầu.
Bạn cần lặp đi lặp lại việc giải thích cho nó ngữ cảnh dự án, công nghệ sử dụng, quy tắc viết code, những chỗ nào không được động đến, những giải pháp nào đã thử trước đó. Chỉ cần những thông tin này chưa được cố định lại, Claude sẽ làm việc dựa trên phỏng đoán, kết quả có thể là sửa những file không nên sửa, tái cấu trúc code không yêu cầu, thậm chí đề xuất công cụ không phù hợp với dự án hiện tại.
CLAUDE.md được giới thiệu trong bài viết này, chính là một bản hướng dẫn sử dụng viết cho Claude Code. Bạn chỉ cần đặt nó ở thư mục gốc của dự án, mỗi lần khởi động Claude sẽ tự động đọc nó. Nó có thể cho Claude biết trước: cách trả lời thế nào, viết code ra sao, khi nào thì phải hỏi trước, thao tác nào không được tự ý thực hiện, dự án sử dụng công nghệ gì, và những quyết định quan trọng nào đã được đưa ra trong quá khứ.
Nói đơn giản, tác dụng của CLAUDE.md là: giảm giải thích lặp lại, hạn chế mô hình vượt quá phạm vi, giúp lập trình AI ổn định và kiểm soát hơn.
Nếu bạn đang dùng Claude Code, có thể bắt đầu từ 4 quy tắc mà Karpathy tổng kết: không rõ thì hỏi trước, làm giải pháp đơn giản nhất trước, không chạm vào code không liên quan, nói rõ sự không chắc chắn. Hãy viết mấy điều này vào CLAUDE.md trước, sau đó dần dần bổ sung theo dự án của bạn, trải nghiệm sử dụng sẽ được cải thiện rõ rệt.
Dưới đây là bài viết gốc:
Một file có tên CLAUDE.md đã đứng đầu danh sách GitHub Trending.
8.2 nghìn sao, 7800 lần fork.
Chuyện này bắt đầu từ Andrej Karpathy. Ông từng là trưởng phụ trách AI của Tesla, cũng là một trong những thành viên sáng lập OpenAI. Ông đã tổng kết 4 hành vi khiến Claude Code không hiệu quả, và viết chúng vào một file.
Sau đó, một nhà phát triển tiếp tục mở rộng dựa trên 4 quy tắc này, và công khai phát hành file này. Kết quả là nó nhanh chóng trở nên phổ biến.
Lý do rất trực tiếp: tỷ lệ chính xác khi viết code đã tăng từ 65% lên 94%.
Nhưng hầu hết các nhà phát triển sử dụng Claude Code hàng ngày, thực ra chưa từng làm cài đặt này. Mỗi phiên làm việc của họ đều bắt đầu từ số không: giải thích lại ngữ cảnh tương tự, dọn dẹp những thay đổi phạm vi không cần thiết, khôi phục những tái cấu trúc không ai yêu cầu.
Dưới đây là file hoàn chỉnh.
Thiết lập mà hầu hết nhà phát triển bỏ lỡ
Mỗi lần bạn mở Claude Code, mặc định nó không biết gì cả.
Nó không biết công nghệ bạn dùng, không biết quy tắc viết code của bạn, không biết ngữ cảnh dự án, cũng không biết bạn đã thử những gì, càng không biết ba phiên trước bạn đã quyết định rõ ràng không làm gì.
Vì vậy nó chỉ có thể đoán. Và một khi nó bắt đầu đoán, nó có thể tái cấu trúc code mà bạn không yêu cầu động đến, đề xuất framework có thể phá vỡ kiến trúc hiện có, xóa file mà không xác nhận, thậm chí lật ngược quyết định mà bạn đã đưa ra trước đó.
CLAUDE.md là một file văn bản thuần túy đặt ở thư mục gốc của dự án. Claude Code sẽ tự động đọc nó mỗi khi bắt đầu một phiên làm việc.
Cài đặt một lần, không phải giải thích lặp lại, và có thể sửa ba loại lỗi tốn kém.
Thiết lập mặc định: Bạn chi 375 đô la mỗi tuần, chỉ để giải thích lại bản thân
Nhà phát triển bình thường mỗi ngày mất khoảng 30 phút để giải thích lại ngữ cảnh cho Claude.
Công nghệ sử dụng, quy tắc viết code, ngữ cảnh dự án, phương pháp đã thử - trừ khi bạn viết những thông tin này một lần, và để Claude tự động đọc mỗi lần, nếu không chúng sẽ không được lưu giữ giữa các phiên làm việc khác nhau.
Nếu tính theo mức lương theo giờ 150 đô la của nhà phát triển:
· 30 phút mỗi ngày, tức là 75 đô la;
· Mỗi tuần là 375 đô la.
· Nếu là nhóm 5 người, mỗi tuần là 1875 đô la chi phí ẩn.
7 quy tắc dưới đây, nên đặt ở phần đầu của file CLAUDE.md.
→ Bỏ lời vô ích
Khi trả lời, đừng dùng câu mở đầu như "Câu hỏi hay", "Tất nhiên có thể", "Không vấn đề gì" hoặc tương tự. Hãy đưa ra câu trả lời trực tiếp. Đừng chào hỏi xã giao, đừng kể lại vấn đề.
→ Khớp độ dài câu trả lời với nhiệm vụ
Độ dài câu trả lời nên phù hợp với độ phức tạp của nhiệm vụ. Câu hỏi đơn giản trả lời trực tiếp, ngắn gọn; nhiệm vụ phức tạp đưa ra giải thích đầy đủ, chi tiết. Đừng dùng lời kết thúc lặp lại vấn đề hay kết luận để lấp đầy nội dung.
→ Đưa ra phương án trước khi hành động
Trước khi bắt đầu bất kỳ nhiệm vụ quan trọng nào, hãy đưa ra 2-3 con đường khả thi, đợi tôi lựa chọn rồi mới tiếp tục thực hiện.
→ Trước khi không chắc chắn gây ra thiệt hại, hãy thừa nhận trước
Nếu bạn không chắc chắn về bất kỳ sự thật, dữ liệu, ngày tháng hay thông tin kỹ thuật nào, hãy nói rõ trước khi trích dẫn. Đừng dùng thông tin có vẻ hợp lý để lấp đầy khoảng trống kiến thức. Khi không chắc, hãy nói thẳng là không chắc.
→ Tôi là ai, tôi biết gì
Về tôi: [Tên] / Vai trò: [Vai trò của bạn] / Nền tảng: [Lĩnh vực].
Tôi giỏi về: [Nội dung bạn quen thuộc].
Tôi đang học: [Khoảng trống kiến thức].
Vui lòng điều chỉnh độ sâu của mỗi câu trả lời dựa trên thông tin này. Đừng giải thích quá mức những gì tôi đã biết, cũng đừng bỏ qua bối cảnh tôi cần.
→ Ngữ cảnh dự án hiện tại
Tôi đang làm: [Tên dự án] / Mục tiêu: [Kết quả cụ thể] / Đối tượng: [Ai sẽ sử dụng] / Nền tảng công nghệ: [Ràng buộc liên quan] / Cần tránh: [Danh sách].
Hãy áp dụng những ngữ cảnh này vào từng nhiệm vụ. Nếu yêu cầu nào đó không phù hợp với ngữ cảnh, vui lòng chỉ ra trước khi thực hiện.
→ Cố định phong cách diễn đạt của bạn
Phong cách viết của tôi là: [Mô tả phong cách diễn đạt của bạn].
Độ dài câu: [Sở thích].
Từ tôi thường dùng: [Ví dụ].
Từ tôi tuyệt đối không dùng: [Ví dụ].
Định dạng: [Văn xuôi hay cấu trúc].
Khi bạn đại diện tôi viết bất kỳ nội dung nào, phải khớp nghiêm ngặt phong cách này, đừng mặc định sử dụng chế độ diễn đạt của riêng bạn.
Thời gian lặp lại giải thích ngữ cảnh mỗi ngày: 30 phút
Tính theo mức lương theo giờ 150 đô la của nhà phát triển: 75 đô la / ngày
Mỗi tuần: Mỗi nhà phát triển 375 đô la
Nhóm 5 người: Mỗi tuần 1875 đô la
Thời gian thiết lập phần CLAUDE.md này: Tổng cộng 45 phút
Lỗi cần tránh: Đừng viết CLAUDE.md từ đầu. Hãy sử dụng prompt dưới đây trước, sau đó chỉnh sửa kết quả đầu ra:
Dựa trên những gì tôi đã nói với bạn về bản thân tôi, dự án của tôi, và cách tôi muốn làm việc, hãy viết cho tôi một file CLAUDE.md hoàn chỉnh. Nội dung bao gồm: tôi là ai, nền tảng kỹ thuật của tôi, sở thích giao tiếp của tôi, và hành vi mặc định nên tuân thủ trong mỗi phiên. Yêu cầu cụ thể, văn bản thuần túy, trong vòng 500 từ.
Ràng buộc hành vi: Những thay đổi "150 đô la mỗi giờ" mà bạn không ủy quyền
Bạn bảo Claude sửa một hàm.
Kết quả nó tái cấu trúc ba file, đổi tên biến, tổ chức lại imports, và viết lại chú thích mà bạn đã mất thời gian viết.
Và tất cả những điều này đều không có sự xác nhận của bạn.
Xem xét và khôi phục những thay đổi không cần thiết này, có thể mất 1 giờ, tức là 150 đô la. Xảy ra ba lần mỗi tuần, là 450 đô la. Đối với nhóm 5 người, mỗi tuần là 2250 đô la, dùng để dọn dẹp những thay đổi không ai ủy quyền.
7 quy tắc dưới đây, nên đưa vào phần ràng buộc hành vi của CLAUDE.md.
→ Kiểm soát chặt chẽ phạm vi
Chỉ sửa những file, hàm và dòng code có liên quan trực tiếp đến nhiệm vụ hiện tại. Đừng tái cấu trúc, đổi tên, tổ chức lại, định dạng lại, hay "tối ưu hóa" bất kỳ nội dung nào tôi không yêu cầu rõ ràng bạn sửa.
Nếu bạn phát hiện chỗ khác đáng sửa, hãy ghi chú ở cuối. Đừng động vào nó, tuyệt đối không.
→ Hỏi trước khi có thay đổi lớn
Trước khi thực hiện thay đổi lớn đối với nội dung tôi đã tạo, bao gồm viết lại phần, xóa đoạn văn, tái cấu trúc, thay đổi giọng điệu, v.v., phải dừng lại, nói rõ bạn chuẩn bị sửa gì, và tại sao sửa. Đợi tôi xác nhận rồi mới tiếp tục.
→ Phải xác nhận trước bất kỳ thao tác phá hủy nào
Trước khi xóa bất kỳ file nào, ghi đè code đã có, xóa bản ghi cơ sở dữ liệu, hoặc loại bỏ phụ thuộc, phải dừng lại, liệt kê cụ thể sẽ ảnh hưởng đến nội dung nào, và yêu cầu tôi xác nhận rõ ràng. Chỉ khi tôi nói "có" trong tin nhắn hiện tại, bạn mới được tiếp tục.
"Bạn đã đề cập trước đó" không bằng xác nhận.
→ Thao tác môi trường sản xuất phải buộc dừng
Các thao tác sau phải nhận được xác nhận rõ ràng trong phiên hiện tại, không có ngoại lệ:
· Triển khai hoặc đẩy lên bất kỳ môi trường nào;
· Chạy migration hoặc thay đổi cấu trúc cơ sở dữ liệu;
· Gửi bất kỳ lời gọi API bên ngoài nào;
· Thực hiện bất kỳ lệnh nào có tác dụng phụ không thể đảo ngược.
· Tôi phải nói rõ "có" trong tin nhắn hiện tại.
→ Luôn hiển thị đã sửa gì
Sau khi hoàn thành bất kỳ nhiệm vụ viết code nào, kết thúc phải bao gồm:
Các file đã sửa: Liệt kê tất cả file đã động đến;
Nội dung sửa: Mỗi file giải thích bằng một câu;
Các file cố ý chưa sửa;
Các việc cần xử lý tiếp theo.
→ Không được đại diện tôi hành động nếu chưa xác nhận rõ ràng
Nếu chưa có xác nhận rõ ràng của tôi trong tin nhắn hiện tại, không được đại diện tôi gửi, đăng, chia sẻ hoặc sắp xếp bất kỳ nội dung nào. Bao gồm email, lời mời lịch, chia sẻ tài liệu, hoặc bất kỳ thao tác nào xảy ra bên ngoài cuộc trò chuyện hiện tại. Tôi phải nói rõ "có" trong tin nhắn hiện tại.
→ Suy nghĩ trước khi viết code
Đối với nhiệm vụ liên quan đến quyết định kiến trúc, gỡ lỗi vấn đề phức tạp, hoặc phát triển chức năng không đơn giản, hãy sắp xếp vấn đề từng bước trước, rồi mới viết code. Hiển thị quá trình suy luận của bạn, chỉ ra những điểm không chắc chắn, sau đó mới thực hiện.
Chi phí khôi phục thay đổi phạm vi không cần thiết mỗi tuần: 150 đô la
Kiểm tra diff thủ công mỗi tuần: 75 đô la
Lãng phí liên quan đến hành vi cho mỗi nhà phát triển: 225 đô la / tuần
Nhóm 5 người: 1125 đô la / tuần
Thời gian thiết lập phần hành vi CLAUDE.md: 30 phút
Trí nhớ và công nghệ sử dụng: Thiết lập để Claude Code thực sự đáng tin cậy
Claude sẽ quên mọi thứ giữa các phiên làm việc khác nhau.
Mỗi quyết định bạn đã đưa ra, mỗi phương án đã thất bại, sáu tháng trước tại sao chọn Prisma thay vì Drizzle, và ràng buộc nào đó tại sao đến từ yêu cầu khách hàng cụ thể - nó sẽ quên.
Sau đó, nó sẽ đề xuất lại những phương án mà bạn đã loại trừ từ lâu.
Phần này tương đương với việc cung cấp cho Claude cơ chế "trí nhớ thực" gần nhất hiện tại, đồng thời khóa chặt công nghệ bạn sử dụng, tránh nó tiếp tục đề xuất công cụ có thể phá vỡ kiến trúc hiện có.
→ Nhật ký quyết định MEMORY.md
Duy trì một file tên là MEMORY.md trong dự án. Mỗi khi đưa ra quyết định quan trọng, hãy thêm một bản ghi:
· Đã quyết định gì;
· Tại sao quyết định như vậy;
· Đã loại trừ gì, tại sao loại trừ.
Mỗi khi bắt đầu phiên làm việc, hãy đọc MEMORY.md trước. Nếu không được nhắc, không được xung đột với quyết định đã ghi.
→ Tổng kết khi kết thúc phiên
Khi tôi nói "session end", "wrapping up" hoặc "let's stop here", hãy ghi vào MEMORY.md một bản tổng kết phiên, bao gồm:
· Lần này đã xử lý gì;
· Đã hoàn thành gì;
· Vẫn đang tiến hành gì;
· Đã đưa ra những quyết định nào;
· Ưu tiên cho phiên tiếp theo.
→ Nhật ký thất bại ERRORS.md
Duy trì một file tên là ERRORS.md. Khi một phương án thử quá hai lần vẫn chưa thành công, hãy ghi lại:
· Cái gì không hiệu quả;
· Cuối cùng phương án nào hiệu quả;
· Lần sau cần chú ý gì.
Trước khi đề xuất phương án cho nhiệm vụ tương tự, hãy kiểm tra ERRORS.md trước.
→ Danh sách sự thật vĩnh viễn
Các sự thật sau luôn đúng với dự án này, và phải được áp dụng không ngoại lệ cho mỗi phiên:
[Ràng buộc vĩnh viễn, quyết định kiến trúc và quy tắc của bạn]
Nếu nhiệm vụ nào đó xung đột với những sự thật này, vui lòng chỉ ra trước khi thực hiện.
→ Khóa chặt công nghệ sử dụng
Công nghệ sử dụng của dự án này như sau, luôn sử dụng các công cụ này. Trừ khi tôi yêu cầu rõ ràng, đừng đề xuất giải pháp thay thế:
Ngôn ngữ: [Ví dụ: TypeScript]
Framework: [Ví dụ: Next.js 14]
Trình quản lý gói: [Ví dụ: pnpm]
Cơ sở dữ liệu: [Ví dụ: PostgreSQL với Prisma]
Kiểm thử: [Ví dụ: Vitest]
Kiểu dáng: [Ví dụ: Tailwind CSS]
Nếu công cụ nào đó có vẻ không phù hợp, có thể chỉ ra. Nhưng trừ khi tôi nói rõ, phải sử dụng công nghệ đã định nghĩa.
→ Bật chế độ suy nghĩ mở rộng cho quyết định khó
Đối với vấn đề liên quan đến kiến trúc hệ thống, đánh đổi hiệu suất, thiết kế cơ sở dữ liệu, hoặc quyết định kỹ thuật dài hạn, hãy sử dụng chế độ suy nghĩ mở rộng.
Phân tích vấn đề từng bước, đề xuất những đánh đổi tôi có thể chưa xem xét, chỉ ra những giả định có thể không đúng khi mở rộng quy mô, sau đó đưa ra đề xuất của bạn.
→ 4 quy tắc nổi tiếng đó
Karpathy đã tổng kết 4 hành vi khiến Claude Code thất bại. Một nhà phát triển đã tinh luyện chúng thành 4 dòng quy tắc dưới đây. Tỷ lệ chính xác khi viết code nhờ đó đã tăng từ 65% lên 94%.
Hỏi trước, đừng giả định.
Nếu có bất kỳ điểm nào không rõ, hãy hỏi trước khi viết dòng code đầu tiên. Đừng đưa ra giả định thầm lặng về ý định, kiến trúc hoặc yêu cầu.
Làm giải pháp đơn giản nhất trước.
Luôn thực hiện giải pháp đơn giản nhất có thể hoạt động trước. Đừng thêm lớp trừu tượng hoặc tính linh hoạt chưa được yêu cầu rõ ràng.
Đừng chạm vào code không liên quan.
Nếu một file hoặc hàm không liên quan trực tiếp đến nhiệm vụ hiện tại, đừng sửa nó. Ngay cả khi bạn nghĩ nó có thể được tối ưu hóa, cũng đừng động vào.
Đánh dấu rõ ràng sự không chắc chắn.
Nếu bạn không chắc chắn về một phương án hoặc chi tiết kỹ thuật nào đó, hãy nói rõ trước khi tiếp tục. Tự tin khi không có sự chắc chắn gây thiệt hại lớn hơn việc thừa nhận khoảng trống kiến thức.
· Chi phí phục hồi do quên quyết định và đề xuất sai mỗi tuần: Mỗi nhà phát triển 300 đô la
· Đề xuất công nghệ sai và công cụ không tương thích: Mỗi tuần 75 đô la
· Lãng phí liên quan đến trí nhớ cho mỗi nhà phát triển: 375 đô la / tuần
· Nhóm 5 người: 1875 đô la / tuần
· Thời gian thiết lập MEMORY.md + ERRORS.md + công nghệ: 20 phút
Kết luận
Tổng chi phí như sau:
· Lặp lại giải thích ngữ cảnh mỗi tuần: 375 đô la
· Khôi phục thay đổi chưa ủy quyền mỗi tuần: 225 đô la
· Xử lý vấn đề do quên quyết định mỗi tuần: 375 đô la
· Tổng lãng phí mỗi tuần cho mỗi nhà phát triển: 975 đô la.
Nếu là nhóm phát triển 5 người: Mỗi tuần 4875 đô la. Một năm 253,500 đô la.
Mà việc thiết lập CLAUDE.md tổng cộng chỉ cần 2 giờ.
Chỉ 4 quy tắc của Karpathy, đã nâng tỷ lệ chính xác khi viết code từ 65% lên 94%.
Một file văn bản thuần túy, 21 quy tắc, hai giờ làm việc.
Nhà phát triển hoàn thành thiết lập này, thực chất đang sử dụng một Claude đáng tin cậy hơn: Nó nhớ quyết định, kiểm soát phạm vi nhiệm vụ, yêu cầu xác nhận trước thao tác phá hủy, cũng không đề xuất framework có thể phá vỡ kiến trúc hiện có.
Còn người chưa thiết lập, mỗi tuần vẫn đang chi 975 đô la để giải thích lại bản thân.
Ghi chú: Hãy bắt đầu từ 4 quy tắc của Karpathy. Chỉ cần 4 quy tắc này. Ngay bây giờ hãy dán chúng vào một file mới tên là CLAUDE.md ở thư mục gốc dự án, chỉ mất 2 phút. Sau đó mỗi tuần dần bổ sung theo khoảng trống bạn phát hiện.
Trước khi nó bị chìm trong dòng thông tin, hãy lưu lại trước. Nếu bạn thấy hữu ích, cũng có thể chia sẻ cho một người thực sự cần nó.












