- Claude Code dùng sai chỉ là ChatGPT xịn hơn, dùng đúng là kỹ sư bạn điều phối được.
- Sự khác biệt nằm ở cách bạn brief task: 4 yếu tố mục tiêu, yêu cầu chi tiết, trạng thái dự án và tiêu chí nghiệm thu quyết định 80% chất lượng output.
- CLAUDE.md là hợp đồng hành vi cứng - không phải gợi ý, phải giữ dưới 200 dòng và chỉ viết hard constraints.
TL;DR
Sai lầm phổ biến nhất khi dùng Claude Code không phải là không biết dùng - mà là dùng nó như ChatGPT thông minh hơn. Bài đầu trong series 7 tips sẽ giải quyết 2 nền tảng quan trọng nhất: mindset đồng nghiệp khi giao việc và cấu trúc CLAUDE.md đúng cách.
Vấn đề với "vibe coding"
Bạn đã từng rơi vào vòng lặp này chưa?
Gõ 1 câu vague như
"thêm tính năng xóa"Xem Claude viết code, thấy không đúng
Sửa, lại sai, sửa tiếp
2 tiếng sau vẫn chưa xong và bạn đã mệt
Đây không phải lỗi của Claude Code. Đây là lỗi briefing. AI không có bản đồ sản phẩm trong đầu bạn, không biết tuần trước bạn bàn gì với PM, không hiểu module xóa trong project này đang implement ra sao. Nó chỉ có thể đoán - và đoán sai.
Brief như leader, không phải như user
Hãy tưởng tượng bạn là lead engineer, hôm nay cần giao task cho developer mới. Bạn sẽ không chỉ nói "thêm cái nút xóa" rồi đi. Bạn sẽ ngồi explain:
Mục tiêu: Sau khi làm xong, user thấy gì? Hệ thống thay đổi ra sao?
Yêu cầu chi tiết: Xóa gì? Xóa cứng hay soft delete? Có cần confirm popup? Ai có quyền xóa?
Trạng thái dự án: Stack đang dùng là gì? Module liên quan ở đâu? Pattern tương tự đã implement ở đâu trong codebase?
Tiêu chí nghiệm thu: Test nào phải pass? Edge case nào cần cover?
Claude Code cần đúng y như vậy. Đây không phải overhead - 5 phút brief rõ ràng là 5 phút có ROI cao nhất trong cả task.
Thước đo đơn giản: Chuột và bàn phím của bạn đang bận hơn hay nhàn hơn? Dùng đúng thì phải ngày càng nhàn hơn.
CLAUDE.md - hợp đồng hành vi, không phải wiki
CLAUDE.md là file Claude Code đọc đầu mỗi cuộc hội thoại. Vì "load mỗi cuộc hội thoại" nên nó chiếm token budget. Vì "phải tuân thủ tuyệt đối" nên nó không phải chỗ viết suggestions mơ hồ.
Một session mới tốn khoảng 20,000 tokens chỉ để load system prompt + tools + CLAUDE.md trước khi bạn gõ gì. Mỗi dòng thừa trong CLAUDE.md là tiền bạn đốt mà không cần.
Nên viết vào CLAUDE.md:
Engineering red lines: ngôn ngữ comment, chuẩn commit, "không chắc thì search không được đoán"
Quy tắc output file: report viết vào đâu, test đặt ở thư mục nào
Ràng buộc format response: dùng ngôn ngữ nào, cuối response phải có gì
Không nên viết vào CLAUDE.md:
Code style chi tiết - đó là việc của linter và formatter
Kiến trúc project và business logic - đó là việc của Design Doc
Thứ bạn muốn AI "đôi khi" làm - viết vào cũng không reliable, còn làm loãng red lines
Đoạn giải thích dài với ví dụ - tốn token, dùng bullet point imperative là đủ
Global CLAUDE.md vs Project CLAUDE.md
Nhầm chỗ viết là lãng phí. Nguyên tắc đơn giản:
~/.claude/CLAUDE.md(global): Thói quen cá nhân xuyên project - commit language, response format, memory repo location. Đây là quy tắc của "bạn là người như thế nào", chuyển project nào cũng áp dụng../CLAUDE.md(project root): Thứ đặc thù của project này thôi - tech stack, cách chạy test, cách deploy, thư mục cấm, đường dẫn Design Doc.
Rule of thumb: Nếu copy rule này sang project khác vẫn có nghĩa, không nên viết vào project-level.

Xây CLAUDE.md từ pain, không từ dự đoán
Sai lầm phổ biến là ngồi design CLAUDE.md từ đầu, cố nghĩ mọi trường hợp có thể xảy ra. Kết quả: file dài 500 dòng, Claude bỏ qua nửa vì quá nhiều nội dung lẫn lộn.
Cộng đồng hiện đồng thuận giữ CLAUDE.md dưới 200 dòng - một số team production chỉ giữ 60 dòng. Đây là lý do:
Mỗi dòng trong CLAUDE.md cạnh tranh attention với actual work
Model bắt đầu deprioritize nội dung khi file quá dài
Wrap critical rules trong
<important>tags để model treat chúng là must-follow
Cách đúng: CLAUDE.md version 1 rất ngắn. Mỗi lần Claude làm sai thứ gì khiến bạn thực sự bực, về thêm 1 dòng. Sau 1 tháng bạn có file mật độ cao, toàn là rules từ pain thực tế - không có dòng nào thừa.
Kết
2 nền tảng này - mindset brief đúng và CLAUDE.md súc tích - là gốc rễ của mọi thứ. Bài tiếp theo sẽ đi vào Skills và Memory Repository: cách đóng gói workflow lặp thành slash command và xây hệ thống nhớ cross-conversation cho AI.
