Thống trị GitHub, hướng dẫn phải đọc cho người dùng Claude Code
Cung cấp cho Claude Code một bản mô tả công việc

Tiêu đề gốc: CLAUDE.md của Karpathy đạt vị trí số 1 trên GitHub với 82.000 sao. Hầu hết các nhà phát triển vẫn chưa đọc nó.
Tác giả gốc: Dep
Lưu ý của biên tập viên: Khi nhiều người sử dụng Claude Code, vấn đề lớn nhất không phải là mô hình không đủ mạnh mà là họ luôn bắt đầu lại từ đầu.
Bạn cần phải cho nó biết nhiều lần về nền tảng dự án, ngăn xếp công nghệ, thông số kỹ thuật mã, những vị trí nào không thể di chuyển và giải pháp nào đã được thử trước đó. Miễn là thông tin này không được sửa, Claude sẽ làm việc bằng cách phỏng đoán, điều này có thể dẫn đến việc thay đổi các tệp không nên thay đổi, tái cấu trúc mã không yêu cầu tái cấu trúc hoặc thậm chí đề xuất các 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 là hướng dẫn sử dụng Claude Code. Bạn chỉ cần đặt nó vào thư mục gốc của dự án và Claude sẽ tự động đọc nó mỗi khi nó khởi động. Nó có thể cho Claude biết trước: cách trả lời, cách viết mã, khi nào bạn phải hỏi trước, những thao tác nào không thể thực hiện mà không được phép, công nghệ nào mà dự án sử dụng và những quyết định quan trọng nào đã được đưa ra trong quá khứ.
Nói một cách đơn giản, chức năng của CLAUDE.md là giảm bớt những lời giải thích lặp đi lặp lại, hạn chế các ngoại lệ của mô hình và làm cho việc lập trình AI ổn định và dễ kiểm soát hơn.
Nếu bạn đang sử dụng Mã Claude, bạn có thể bắt đầu với 4 quy tắc được Karpathy tóm tắt: hỏi trước nếu bạn không chắc chắn, thực hiện giải pháp đơn giản nhất trước, không chạm vào mã không liên quan và giải thích rõ ràng sự không chắc chắn. Đầu tiên hãy viết những mục này vào CLAUDE.md, sau đó thêm dần chúng theo dự án của riêng bạn, bạn có thể cải thiện đáng kể trải nghiệm người dùng.
Sau đây là văn bản gốc:
Một tệp có tên CLAUDE.md đã đứng đầu danh sách Xu hướng của GitHub.
82.000 sao, 7.800 nĩa.
Nó bắt đầu với Andrej Karpathy. Ông từng là giám đốc AI tại Tesla và là thành viên sáng lập của OpenAI. Ông tóm tắt 4 hành vi có thể khiến Claude Code thất bại và viết chúng vào một tập hồ sơ.
Sau đó, một nhà phát triển đã mở rộng 4 quy tắc này và phát hành tài liệu một cách công khai. Nó hóa ra là một hit ngay lập tức.
Lý do rất đơn giản: độ chính xác mã hóa 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 đều chưa bao giờ thực hiện cài đặt này. Họ bắt đầu lại từ đầu trong mỗi phiên: diễn giải lại cùng một bối cảnh, loại bỏ các thay đổi phạm vi không cần thiết, khôi phục các hoạt động tái cấu trúc mà không ai yêu cầu.
Tài liệu đầy đủ ở bên dưới.

Cài đặt mà hầu hết các nhà phát triển nhớ
Mỗi lần mở Claude Code, nó mặc định không biết gì cả.
Nó không biết công nghệ của bạn, thông số kỹ thuật mã, nền tảng dự án của bạn hoặc những gì bạn đã thử, chưa nói đến những gì bạn đã quyết định rõ ràng là không làm ba phiên trước.
Cho nên nó chỉ có thể đoán thôi. Và một khi nó bắt đầu đoán, nó có thể cấu trúc lại mã mà bạn không yêu cầu nó di chuyển, đề xuất các khung sẽ phá hủy kiến trúc hiện có, xóa các tệp mà không cần xác nhận và thậm chí đảo ngược các quyết định bạn đã đưa ra trước đó.
CLAUDE.md là một tệp văn bản đơn giản được đặt trong thư mục gốc của dự án. Mã Claude tự động đọc nó vào đầu mỗi phiên.
Đặt một lần, không phải giải thích lại và sửa ba loại lỗi tốn kém.
Mặc định: Bạn chi 375 đô la một tuần chỉ để giải thích đi giải thích lại về bản thân
Nhà phát triển trung bình dành khoảng 30 phút mỗi ngày để giải thích lại bối cảnh cho Claude.
Ngăn xếp công nghệ, tiêu chuẩn mã hóa, nền tảng dự án, các phương pháp đã được thử - trừ khi bạn viết thông tin này xuống một lần và để Claude tự động đọc nó mỗi lần, chúng sẽ không được giữ lại giữa các phiên.
Giả sử mức lương của nhà phát triển là 150 USD mỗi giờ:
·30 phút mỗi ngày, tức là 75 USD;
· Tức là 375 USD mỗi tuần.
·Với một nhóm 5 người, chi phí ẩn là $1875 mỗi tuần.

7 quy tắc sau nên được đặt ở vị trí đầu tiên phía trước tệp CLAUDE.md.
→ Loại bỏ những điều vô nghĩa
Khi trả lời, đừng bắt đầu bằng "câu hỏi hay", "tất nhiên", "không vấn đề gì" hoặc những câu mở đầu tương tự. Đưa ra câu trả lời trực tiếp. Đừng nói chuyện nhỏ hoặc lặp lại câu hỏi.
→ So khớp độ dài câu trả lời với nhiệm vụ
Độ dài câu trả lời phải phù hợp với độ phức tạp của nhiệm vụ. Những câu hỏi đơn giản được trả lời trực tiếp và ngắn gọn; nhiệm vụ phức tạp được đưa ra lời giải thích đầy đủ và chi tiết. Đừng điền vào trang những nhận xét kết luận nhằm nhắc lại câu hỏi hoặc lặp lại kết luận.
→ Đưa ra kế hoạch 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 và đợi tôi chọn trước khi tiếp tục.
→ Thừa nhận sự không chắc chắn trước khi sự không chắc chắn gây ra thiệt hại
Nếu bạn không chắc chắn về bất kỳ sự kiện, dữ liệu, ngày tháng hoặc thông tin kỹ thuật nào, vui lòng nêu rõ điều này trước khi trích dẫn. Đừng lấp đầy lỗ hổng kiến thức bằng những thông tin có vẻ hợp lý. Nếu bạn không chắc chắn, chỉ cần nói rằng bạn không chắc chắn.
→ Tôi là ai và tôi biết gì
Giới thiệu về tôi: [name] / Vai trò: [vai trò của bạn] / Bối cảnh: [lĩnh vực].
Tôi giỏi: [nội dung bạn quen thuộc].
Tôi vẫn đang học: [khoảng trống kiến thức].
Vui lòng điều chỉnh độ sâu của từng 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 hoặc bỏ qua bối cảnh tôi cần.
→ Bối cảnh dự án hiện tại
Tôi đang thực hiện: [Tên dự án] / Mục tiêu: [Kết quả cụ thể] / Đối tượng: [Ai sẽ sử dụng nó] / Nền tảng ngăn xếp công nghệ: [Các ràng buộc liên quan] / Cần tránh: [Danh sách].
Áp dụng những bối cảnh này cho từng nhiệm vụ. Nếu một yêu cầu không phù hợp với ngữ cảnh, hãy chỉ ra điều đó trước khi thực hiện.
→ Khóa chặt phong cách diễn đạt của bạn
Phong cách viết của tôi là: [Miêu tả phong cách diễn đạt của bạn].
Độ dài câu: [sở thích].
Những từ tôi thường sử dụng: [ví dụ].
Những từ tôi sẽ không bao giờ sử dụng: [ví dụ].
Định dạng: [văn xuôi hoặc có cấu trúc].
Bất cứ khi nào bạn viết bất cứ điều gì thay mặt tôi, bạn phải tuân thủ nghiêm ngặt phong cách này và không được mặc định phương thức diễn đạt của riêng bạn.
Thời gian giải thích ngữ cảnh nhiều lần mỗi ngày: 30 phút
Với giá $150/giờ dành cho nhà phát triển: $75/ngày
Hàng tuần: $375 mỗi nhà phát triển
Nhóm 5 người: $1875 mỗi tuần
Thời gian thiết lập CLAUDE.md cho phần này: tổng cộng 45 phút
Những sai lầm cần tránh: Đừng viết từ đầu CLAUDE.md. Trước tiên, hãy sử dụng lời nhắc này, sau đó chỉnh sửa kết quả:
Viết một tệp CLAUDE.md hoàn chỉnh cho tôi dựa trên những gì tôi đã kể cho bạn về bản thân, dự án của tôi và cách tôi muốn làm việc. 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à các hành vi mặc định cần tuân thủ trong mọi cuộc trò chuyện. Các yêu cầu là văn bản cụ thể, đơn giản và trong vòng 500 từ.
Ràng buộc về hành vi: Những thay đổi "$150 một giờ" mà bạn không cho phép
Bạn yêu cầu Claude sửa một chức năng.
Kết quả là nó đã tái cấu trúc ba tệp, đổi tên các biến, sắp xếp lại quá trình nhập và viết lại các nhận xét mà bạn đã dành thời gian viết.
Và tất cả điều này chưa được bạn xác nhận.
Việc xem xét và khôi phục những thay đổi không cần thiết này có thể mất một giờ hoặc 150 USD. Điều đó xảy ra ba lần một tuần và đó là 450 đô la. Đối với một nhóm 5 người, số tiền đó là 2.250 USD mỗi tuần để xử lý những thay đổi mà không được ai cho phép.

7 quy tắc sau đây nên được áp dụng được đặt trong 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 đổi các tệp, chức năng và dòng mã liên quan trực tiếp đến nhiệm vụ hiện tại. Không cấu trúc lại, đổi tên, sắp xếp lại, định dạng lại hoặc "tối ưu hóa" bất kỳ thứ gì mà tôi chưa yêu cầu bạn thay đổi một cách rõ ràng.
Nếu bạn thấy có chỗ nào khác đáng sửa, vui lòng ghi chú vào cuối. Đừng bao giờ chạm vào nó.
→ Hỏi trước những thay đổi lớn
Trước khi thực hiện những thay đổi lớn đối với nội dung tôi đã tạo, bao gồm viết lại chương, xóa đoạn văn, sắp xếp lại, thay đổi giọng điệu, v.v., trước tiên bạn phải dừng lại và giải thích chính xác những gì bạn đang thay đổi và tại sao. Chờ xác nhận của tôi trước khi tiếp tục.
→ Cần phải xác nhận trước bất kỳ hoạt động phá hoại nào
Trước khi xóa bất kỳ tệp nào, ghi đè mã hiện có, xóa bản ghi cơ sở dữ liệu hoặc xóa phần phụ thuộc, bạn phải dừng lại, liệt kê nội dung cụ thể sẽ bị ảnh hưởng và yêu cầu tôi xác nhận rõ ràng. Bạn chỉ có thể tiếp tục nếu tôi nói "có" với tin nhắn hiện tại.
"Bạn đã đề cập đến nó trước đây" không có nghĩa là xác nhận.
→ Các hoạt động trong môi trường sản xuất phải tạm dừng
Các hoạt động sau phải đượ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 sang bất kỳ môi trường nào;
Chạy di chuyển hoặc thay đổi cấu trúc cơ sở dữ liệu;
Gửi bất kỳ lệnh gọi API bên ngoài nào;
Thực thi bất kỳ lệnh nào với các tác dụng phụ không thể khắc phục được.
·Tôi phải nói rõ ràng là "có" trong tin nhắn hiện tại.
→ Luôn hiển thị những gì đã được thay đổi
Sau khi hoàn thành bất kỳ nhiệm vụ mã hóa nào, phần cuối phải bao gồm:
Các tệp đã sửa đổi: liệt kê tất cả các tệp đã được thay đổi;
Nội dung sửa đổi: mô tả một câu cho mỗi tệp;
Các tệp không được sửa đổi có chủ ý;
Những điều cần giải quyết trong tương lai.
→ Đừng thay mặt tôi mà không có xác nhận rõ ràng
Không gửi, đăng, chia sẻ hoặc lên lịch bất cứ điều gì thay mặt tôi mà không có xác nhận rõ ràng của tôi trong tin nhắn hiện tại. Điều này bao gồm email, lời mời lịch, chia sẻ tài liệu hoặc bất kỳ điều gì xảy ra bên ngoài cuộc trò chuyện hiện tại. Tôi phải nói đồng ý rõ ràng trong tin nhắn hiện tại.
→ Hãy suy nghĩ trước khi viết mã
Đối với các 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 phân loại vấn đề từng bước trước khi viết mã. Hãy đưa ra lý luận của bạn, chỉ ra những điều không chắc chắn và sau đó thực hiện.
Hủy bỏ các thay đổi phạm vi không cần thiết hàng tuần: $150
Kiểm tra khác biệt thủ công hàng tuần: $75
Lãng phí liên quan đến hành vi cho mỗi nhà phát triển: $225/tuần
Nhóm 5 người: $1125/tuần
Thời gian thiết lập phần hành vi CLAUDE.md: 30 phút
Ngăn xếp bộ nhớ và công nghệ: Hãy để Claude Code A thực sự đáng tin cậy thiết lập
Claude quên mọi thứ giữa các phiên.
Mọi quyết định bạn đưa ra, mọi giải pháp thất bại, tại sao bạn chọn Prisma thay vì Drizzle sáu tháng trước và tại sao một hạn chế nhất định lại xuất phát từ nhu cầu cụ thể của khách hàng - điều đó sẽ bị lãng quên.
Sau đó, nó sẽ đưa ra các lựa chọ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ế hiện tại gần nhất với "bộ nhớ thực", đồng thời khóa ngăn xếp công nghệ của bạn để ngăn nó tiếp tục đề xuất các công cụ phá hủy kiến trúc hiện có.

→ MEMORY.md Quyết định Nhật ký
Duy trì tệp có tên MEMORY.md trong dự án. Bất cứ khi nào một quyết định quan trọng được đưa ra, một bản ghi mới sẽ được thêm vào:
·Điều gì đã được quyết định;
·Tại sao quyết định đó được quyết định;
·Điều gì đã bị loại trừ và tại sao.
Vào đầu mỗi phiên, MEMORY.md được đọc đầu tiên. Không xung đột với một quyết định đã được ghi lại mà không được nhắc nhở.
→ Tóm tắt kết thúc phiên
Khi tôi nói "kết thúc phiên", "kết thúc" hoặc "hãy dừng ở đây", vui lòng báo cáo cho MEMORY.md Viết tóm tắt về phiên, bao gồm:
·Những gì đã được giải quyết lần này;
·Những gì đã được hoàn thành;
·Những gì vẫn đang diễn ra;
·Những quyết định nào đã được đưa ra;
·Ưu tiên cho phiên tiếp theo.
→ Nhật ký lỗi ERRORS.md
Duy trì một tệp có tên ERRORS.md. Khi một giải pháp không thành công sau hơn hai lần thử, hãy ghi lại:
·Điều gì không hiệu quả;
·Cuối cùng phương án nào đã hiệu quả;
·Điều gì cần chú ý vào lần sau.
Kiểm tra ERRORS.md trước khi đề xuất giải pháp cho nhiệm vụ tương tự.
→ Danh sách thông tin cố định
Các thông tin sau luôn đúng với dự án này và phải được áp dụng cho mọi phiên mà không có ngoại lệ:
[Các 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 một nhiệm vụ xung đột với các thông tin này, vui lòng cho biết điều đó trước khi thực hiện.
→ Khóa ngăn xếp công nghệ
Ngăn xếp công nghệ của dự án này như sau, hãy luôn sử dụng các công cụ này. Không đề xuất các lựa chọn thay thế trừ khi tôi yêu cầu rõ ràng:
Ngôn ngữ: [like TypeScript]
Framework: [like Next.js 14]
Trình quản lý gói: [like pnpm]
Cơ sở dữ liệu: [like PostgreSQL với Prisma]
Kiểm tra: [like Vitest]
Style: [like Tailwind CSS]
Nếu một công cụ có vẻ không phù hợp, hãy chấm nó ra ngoài. Nhưng trừ khi tôi có tuyên bố rõ ràng khác, phải sử dụng ngăn xếp công nghệ đã xác định.
→ Cho phép tư duy mở rộng khi đưa ra các quyết định khó khăn
Sử dụng chế độ tư duy mở rộng cho các vấn đề liên quan đến kiến trúc hệ thống, sự đánh đổi hiệu suất, thiết kế cơ sở dữ liệu hoặc các quyết định công nghệ dài hạn.
Phân tích vấn đề theo từng bước, đề xuất những sự đánh đổi mà tôi có thể chưa cân nhắc, chỉ ra các giả định có thể không đúng trên quy mô lớn và sau đó đưa ra đề xuất của bạn.
→ 4 Quy tắc phổ biến đó
Karpathy tóm tắt 4 hành vi sẽ khiến Claude Code thất bại. Một nhà phát triển đã chắt lọc nó thành 4 dòng quy tắc sau. Do đó, độ chính xác mã hóa tăng từ 65% lên 94%.
Hãy hỏi trước, đừng giả định.
Nếu có điều gì chưa rõ ràng, hãy hỏi trước khi viết dòng mã đầu tiên. Đừng đưa ra những giả định thầm lặng về mục đích, kiến trúc hoặc yêu cầu.
Hãy thực hiện giải pháp đơn giản nhất trước.
Luôn triển khai giải pháp đơn giản nhất và hiệu quả trước tiên. Không thêm các lớp trừu tượng hoặc linh hoạt không được yêu cầu rõ ràng.
Đừng chạm vào mã không liên quan.
Nếu một tệp hoặc chức năng không liên quan trực tiếp đến tác vụ hiện tại thì đừng sửa đổi nó. Ngay cả khi bạn nghĩ rằng nó có thể được tối ưu hóa, đừng di chuyển.
Đánh dấu rõ ràng những điều không chắc chắn.
Nếu bạn không chắc chắn về giải pháp hoặc chi tiết kỹ thuật, vui lòng giải thích trước khi tiếp tục. Hành động tự tin mà không chắc chắn có thể gây ra nhiều tổn hại hơn là thừa nhận những lỗ hổng kiến thức.
· Chi phí khôi phục hàng tuần từ các quyết định bị lãng quên và lời khuyên tồi: $300 cho mỗi nhà phát triển
· Đề xuất ngăn xếp sai và các công cụ không tương thích: $75 mỗi tuần
· Lãng phí liên quan đến bộ nhớ cho mỗi nhà phát triển: $375/tuần
·Nhóm 5 người: $1875/tuần
·MEMORY.md + ERRORS.md + Thời gian thiết lập ngăn xếp công nghệ: 20 phút
Kết luận
Tài khoản chi phí đầy đủ như sau:
· Lặp lại bối cảnh giải thích hàng tuần: $375
· Hoàn tác hàng tuần các thay đổi trái phép: $225
· Xử lý hàng tuần các quyết định bị lãng quên: $375
· Tổng lượng lãng phí hàng tuần cho mỗi nhà phát triển: $975.
Đối với nhóm phát triển 5 người: $4875 mỗi tuần. $253,500 một năm.
Việc thiết lập CLAUDE.md chỉ mất tổng cộng 2 giờ.
Chỉ 4 quy tắc của Karpathy đã tăng độ chính xác mã hóa từ 65% lên 94%.
Một tệp văn bản thuần túy, 21 quy tắc, hai giờ làm việc.
Các nhà phát triển hoàn thành quá trình thiết lập này thực sự đang sử dụng Claude đáng tin cậy hơn: nó ghi nhớ các quyết định, kiểm soát phạm vi nhiệm vụ, yêu cầu xác nhận trước các hoạt động phá hoại và không đề xuất các khuôn khổ sẽ phá vỡ kiến trúc hiện có.
Và những người chưa thiết lập nó vẫn phải chi 975 USD mỗi tuần để giải thích đi giải thích lại.
PS: Bắt đầu với 4 quy tắc của Karpathy. Chỉ cần 4 cái này thôi. Bây giờ hãy dán chúng vào một tệp mới có tên CLAUDE.md trong thư mục gốc của dự án của bạn, chỉ mất 2 phút. Sau đó dần dần bổ sung nó mỗi tuần dựa trên những khoảng trống bạn tìm thấy.
Hãy thu thập nó trước khi nó bị mất đi trong dòng thông tin. Nếu thấy hữu ích hãy chia sẻ cho người thực sự cần nhé.
