Karpathy skills: một file CLAUDE.md giúp Claude Code bớt sai

andrej-karpathy-skills là file CLAUDE.md gói bốn nguyên tắc từ nhận xét của Andrej Karpathy, giúp Claude Code hỏi trước khi làm và sửa code gọn hơn.

AI lập trình9 phút đọc
Minh họa một tờ hướng dẫn phát sáng tỏa ra bốn luồng sáng dẫn vào các khối code gọn gàng

Thử hình dung anh chị gọi thợ tới sửa cái vòi nước rỉ trong bếp. Chiều về, vòi hết rỉ thật, nhưng thợ còn tiện tay thay luôn bồn rửa, đổi màu gạch ốp và tháo cái kệ "trông không cần thiết". Ý tốt, nhưng giờ anh chị phải đi tìm lại cái kệ.

Ai dùng agent lập trình đủ lâu đều từng gặp người thợ đó. andrej-karpathy-skills là một file CLAUDE.md duy nhất giúp Claude Code bớt các lỗi quen thuộc khi viết code: tự đoán ý, viết dài dòng, sửa lan sang chỗ không được nhờ. Repo ra mắt ngày 27/01/2026 dưới tên forrestchang/andrej-karpthy-skills, một ngày sau khi Andrej Karpathy đăng trên X nhận xét về những thói xấu của mô hình ngôn ngữ khi lập trình.

Đọc nhanh trong 30 giây

  • andrej-karpathy-skills là một file CLAUDE.md do cộng đồng tổng hợp từ bài đăng ngày 26/01/2026 của Karpathy. Karpathy không phải tác giả repo.
  • File gói bốn nguyên tắc: nghĩ trước khi code, đơn giản trước, sửa đúng chỗ, bám mục tiêu.
  • Cài bằng một lệnh curl tải file về thư mục dự án.
  • Hợp với nhóm nhỏ mới đưa agent vào dự án có sẵn và hay phải gỡ lại những thay đổi agent tự ý làm.

File CLAUDE.md của Karpathy skills là gì?

andrej-karpathy-skills là bộ luật hành xử viết sẵn cho agent lập trình, đặt trong file CLAUDE.md để Claude Code đọc ở đầu mỗi phiên. Repo do cộng đồng tổng hợp, nội dung diễn giải từ bài đăng của Karpathy chứ không phải lời ông viết cho Claude Code.

Ví von cho dễ hình dung: CLAUDE.md giống tờ dặn dò dán trên tủ lạnh khi anh chị nhờ người trông nhà vài hôm. Không cần dài, chỉ cần đúng mấy điều hay bị làm sai: tưới cây nào, đừng mở phòng nào, có gì lạ thì gọi hỏi. Người trông nhà nào cũng đọc tờ đó trước khi bắt tay vào việc.

Trong bài đăng, Karpathy chỉ ra mấy kiểu lỗi: mô hình tự đặt giả định rồi chạy luôn mà không hỏi lại; thích làm phức tạp, dựng khung trừu tượng thừa, viết cả nghìn dòng khi trăm dòng là đủ; và tiện tay sửa hay xóa những đoạn code, chú thích nó chưa hiểu hết.

Bốn nguyên tắc trong file CLAUDE.md của andrej-karpathy-skills, mỗi nguyên tắc chữa một kiểu lỗi Karpathy nêu

Bốn nguyên tắc, mỗi cái kèm một phép thử để agent tự kiểm.

Nguyên tắc Chữa lỗi gì
Nghĩ trước khi code Tự giả định, giấu chỗ chưa hiểu, không nêu các lựa chọn
Đơn giản trước Code phình to, khung trừu tượng thừa
Sửa đúng chỗ Sửa lan sang phần không liên quan
Bám mục tiêu Không có tiêu chí xong, phải hỏi đi hỏi lại

Bốn nguyên tắc nói gì, dịch ra lời thường?

Bốn nguyên tắc trong andrej-karpathy-skills đều ngắn, mỗi cái kèm một phép thử để agent tự kiểm.

1. Nghĩ trước khi code. Nêu giả định ra thành lời. Yêu cầu hiểu được theo nhiều cách thì trình bày các cách, không lặng lẽ chọn một. Có cách đơn giản hơn thì nói, chỗ nào chưa rõ thì dừng lại hỏi.

2. Đơn giản trước. Viết lượng code tối thiểu giải quyết đúng vấn đề. Không thêm tính năng ngoài yêu cầu, không dựng lớp trừu tượng cho code chỉ dùng một lần, không bắt lỗi cho tình huống không thể xảy ra. Phép thử: một kỹ sư lâu năm nhìn vào có thấy rườm rà không.

3. Sửa đúng chỗ. Không "tiện tay" làm đẹp code bên cạnh, giữ đúng phong cách sẵn có. Thấy code chết không liên quan thì nhắc, đừng xóa. Phép thử: mỗi dòng bị sửa phải truy được về yêu cầu của người dùng. Đây chính là luật dành cho anh thợ sửa vòi nước ở đầu bài.

4. Bám mục tiêu. Biến mệnh lệnh thành mục tiêu kiểm chứng được. Thay vì "thêm kiểm tra dữ liệu", hãy là "viết test cho dữ liệu sai rồi làm cho test qua". Việc nhiều bước thì nêu kế hoạch ngắn, mỗi bước kèm cách kiểm.

Nguyên tắc thứ tư lấy từ một ý khác của Karpathy: mô hình rất giỏi lặp đi lặp lại cho tới khi đạt một mục tiêu cụ thể, nên hãy đưa nó tiêu chí thành công thay vì đọc từng bước. Giống như dặn người đi chợ "mua đủ cho sáu người ăn tối" thay vì đọc từng món, từng lạng.

Cài file CLAUDE.md vào dự án

Cài andrej-karpathy-skills chỉ là tải một file Markdown về đúng chỗ. Lệnh dưới chép từ README ngày ra mắt (tên repo lúc đó viết là andrej-karpthy-skills, thiếu chữ "a").

Cửa sổ terminal với ba cách cài file CLAUDE.md của andrej-karpathy-skills

Ba cách cài trong README, cách 1 được khuyên dùng.

  1. Dự án mới, chưa có CLAUDE.md:
curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpthy-skills/main/CLAUDE.md
  1. Dự án đã có CLAUDE.md, nối thêm vào cuối:
echo "" >> CLAUDE.md
curl https://raw.githubusercontent.com/forrestchang/andrej-karpthy-skills/main/CLAUDE.md >> CLAUDE.md
  1. Cách thứ hai trong README là đặt file vào thư mục skill:
mkdir -p .claude/skills
curl -o .claude/skills/karpathy-guidelines.md https://raw.githubusercontent.com/forrestchang/andrej-karpthy-skills/main/.claude/skills/karpathy-guidelines.md

README khuyên dùng cách 1. Tôi cũng chọn cách 1, vì Claude Code nhận diện skill theo dạng thư mục chứa file SKILL.md, còn cách 3 đặt một file .md rời nên có thể không được nạp như skill.

Mẹo

Trên Windows PowerShell, gõ curl.exe thay cho curl. Luật riêng của dự án thì README gợi ý ghi thêm vào một mục "Project-Specific Guidelines" bên dưới, để bốn nguyên tắc chung và luật riêng không lẫn vào nhau.

Nếu anh chị dùng nhiều agent cùng lúc, bài AGENTS.md là gì giải thích cách đặt hướng dẫn chung cho các agent khác.

Agent có luật và không luật khác nhau ra sao?

Khác biệt rõ nhất nằm ở độ dài diff và thời điểm agent đặt câu hỏi. Theo README, dấu hiệu file đang có tác dụng là diff ít thay đổi thừa, câu hỏi làm rõ đến trước khi code chứ không phải sau khi hỏng.

So sánh cùng một yêu cầu sửa lỗi khi Claude Code không có luật và khi có file CLAUDE.md của Karpathy skills

Cùng một lỗi lệch ngày, hai kiểu sửa rất khác nhau.

Việc 1: sửa một lỗi nhỏ trong script báo cáo. Không có luật, agent hay sửa lỗi xong rồi đổi luôn tên biến, gộp hàm, thêm xử lý lỗi cho đẹp. Với file CLAUDE.md này, anh chị giao việc gọn:

Cột ngày trong file report.py bị lệch một ngày khi xuất Excel. Nêu giả định của bạn trước khi sửa, viết một test tái hiện lỗi, rồi sửa đúng chỗ gây lỗi. Không đụng phần khác.

Kỳ vọng: agent hỏi lại múi giờ nếu chưa rõ, diff chỉ vài dòng, có test đi kèm.

Việc 2: việc nhiều bước. Yêu cầu agent nêu kế hoạch theo mẫu trong README: mỗi bước một dòng, kèm cách kiểm tra. Duyệt kế hoạch xong mới cho làm.

Lưu ý

  • Chậm hơn với việc vặt: README nói rõ bộ luật thiên về cẩn thận hơn tốc độ. Sửa lỗi chính tả hay việc một dòng thì không cần đủ quy trình.
  • Chỉ là lời dặn: CLAUDE.md không phải cơ chế ép buộc. Agent vẫn có lúc quên, nhất là phiên dài.
  • Giấy phép: README ghi MIT, nhưng lúc ra mắt repo chưa có file LICENSE riêng.
  • Luật chọi luật: dán thêm mà không đọc có thể mâu thuẫn với luật cũ, ví dụ luật cũ bảo agent tự dọn code còn luật mới bảo không xóa. Khi đó agent hành xử khó đoán.

Nhận xét của chuyên gia

Trong các lớp đào tạo AI cho doanh nghiệp, câu tôi nghe nhiều nhất từ người mới dùng agent lập trình là "nó sửa nhiều quá, tôi không dám nhận". Bốn nguyên tắc này chạm đúng nỗi lo đó, và cái hay là nó ngắn: đọc trong năm phút, ai cũng hiểu, kể cả người không viết code.

Hợp với ai: nhóm nhỏ mới đưa agent vào dự án có sẵn; người không chuyên lập trình nhờ agent sửa script nội bộ; trưởng nhóm muốn một bộ luật chung cho cả đội.

Chưa hợp với ai: dự án làm mẫu nhanh cần tốc độ hơn độ cẩn thận; đội đã có CLAUDE.md chi tiết, khi đó nên chọn lọc ý để ghép chứ không dán nguyên file.

Cách bắt đầu của tôi: thêm file vào một dự án, làm ba tới năm việc thật, so độ dài diff trước và sau. Thấy ổn thì đưa thành mẫu chuẩn cho các dự án khác.

Một câu để nhớ: Agent giỏi không phải agent làm nhiều, mà là agent chỉ làm đúng việc được nhờ.

Câu hỏi thường gặp

Andrej Karpathy có viết repo này không?

Không. Repo andrej-karpathy-skills do cộng đồng tạo, tổng hợp từ bài đăng trên X ngày 26/01/2026 của Karpathy về các lỗi khi để mô hình ngôn ngữ viết code.

File CLAUDE.md này dùng với Cursor hay Codex được không?

File là Markdown thường nên đọc được ở mọi agent nhận file hướng dẫn. README chỉ hướng dẫn cho Claude Code; với agent khác anh chị chép nội dung vào file luật của agent đó.

Có làm Claude Code chậm đi không?

Có thể, vì agent sẽ hỏi lại nhiều hơn và nêu kế hoạch trước khi làm. README chấp nhận đánh đổi này để giảm lỗi tốn kém ở việc lớn.

Đã có CLAUDE.md thì làm sao?

Dùng lệnh nối thêm vào cuối file như README hướng dẫn, rồi đọc lại toàn bộ để xóa những luật cũ mâu thuẫn với bốn nguyên tắc.

Bài này nằm trong chuỗi dòng thời gian AI 2025 tới 2026.

Nguồn: andrej-karpathy-skills trên GitHub (lúc ra mắt là forrestchang/andrej-karpthy-skills), 27/01/2026.

Nguồn tham khảo: https://github.com/multica-ai/andrej-karpathy-skills

Zalo

TA-Assistant

System Online
Xin chào! Tôi là trợ lý AI của Tuấn Anh. Tôi có thể giúp gì cho bạn hôm nay?