Claude Code nhìn được nhiều tệp và terminal nên rất hữu ích khi lỗi đi qua nhiều lớp. Nhưng khả năng đọc rộng cũng khiến nó dễ hình thành câu chuyện hợp lý từ dữ kiện thiếu. Hãy buộc quá trình debug dựa trên quan sát: lỗi tái hiện, log tối thiểu, đường đi dữ liệu và test đỏ trước khi sửa.
Kết quả sau bài học: Bạn sẽ xử lý lỗi nút Save không phản hồi khi tên có khoảng trắng, đồng thời tạo bằng chứng để lỗi không quay lại.
Tư duy quan trọng trước khi bắt đầu
AI coding agent là cộng sự có khả năng thao tác, không phải nguồn chân lý. Bạn vẫn chịu trách nhiệm về mã được đưa vào dự án. Hãy giữ nhiệm vụ nhỏ, cung cấp bối cảnh vừa đủ, yêu cầu bằng chứng và không phê duyệt điều mình chưa hiểu.
Hướng dẫn từng bước
Bước 1: Khóa một kịch bản tái hiện
Viết Given–When–Then: dữ liệu đầu, thao tác và kết quả mong muốn. Ghi phiên bản trình duyệt/runtime. Tắt các thay đổi không liên quan để tránh nhiễu.
Bước 2: Cung cấp ngữ cảnh bằng selection và @-mention
Chọn handler, @-mention component, service và test liên quan. Dán stack trace đã xóa dữ liệu nhạy cảm. Yêu cầu Claude mô tả luồng sự kiện từ click đến request.
Bước 3: Điều tra trong Plan Mode
Không cho edit. Yêu cầu ba giả thuyết, mỗi giả thuyết có dấu hiệu ủng hộ/phản bác và kiểm tra nhỏ nhất. Loại giả thuyết không phù hợp trước khi viết mã.
Bước 4: Tạo test thất bại
Thêm test cho tên có khoảng trắng và tên chỉ gồm khoảng trắng. Chạy test để xác nhận lỗi. Nếu test xanh ngay, test chưa bắt hành vi hoặc giả thuyết sai.
Bước 5: Sửa đúng ranh giới
Chuẩn hóa dữ liệu tại boundary phù hợp, không rải trim ở nhiều nơi. Giới hạn tệp sửa, xem inline diff và từ chối refactor phụ.
Bước 6: Xác minh và ghi lại nguyên nhân
Chạy test mới, suite liên quan, lint/type-check và thử UI. Yêu cầu tóm tắt nguyên nhân gốc, vì sao bản vá đúng và rủi ro còn lại để reviewer kiểm tra nhanh.
Bài thực hành có đầu ra rõ ràng
Bài tập: form cho phép tên “ ” vượt validation. Tạo hai test, sửa một chỗ duy nhất và kiểm tra thông báo lỗi vẫn truy cập được bằng bàn phím/screen reader.
Tiêu chuẩn nộp bài: lưu prompt đã dùng, ảnh hoặc log kết quả trước/sau, diff cuối cùng, lệnh kiểm tra và ba điều bạn tự học được từ mã. Nếu test không chạy được, ghi lý do thay vì coi như đã đạt.
Prompt mẫu có thể sao chép
Chỉ điều tra lỗi này trong Plan Mode. Vẽ luồng dữ liệu và nêu ba giả thuyết kèm bằng chứng cần kiểm tra.
Tạo test tối thiểu tái hiện lỗi và chạy nó. Chưa thay đổi mã production.
Sửa nguyên nhân gốc với diff nhỏ nhất. Sau đó chạy regression suite và liệt kê điều chưa xác minh.
Lỗi người mới thường gặp
- Cho sửa ngay khi chưa có bước tái hiện
- Dán log chứa cookie/authorization
- Chỉ kiểm tra happy path
- Để Claude thay nhiều lớp cho một lỗi nhỏ
Checklist hoàn thành
- Given–When–Then rõ
- Giả thuyết có bằng chứng
- Test đỏ trước sửa
- Diff nhỏ
- Có regression và kiểm thử tay
Cách tự học để không phụ thuộc AI
- Trước khi hỏi, tự dự đoán tệp và nguyên nhân trong năm phút.
- Sau câu trả lời, yêu cầu giải thích một khái niệm bạn chưa hiểu bằng ví dụ nhỏ.
- Tự viết lại phần cốt lõi hoặc test mà không nhìn câu trả lời.
- Lưu lỗi và bài học vào ghi chú dự án, không lưu bí mật.
- Một tuần sau, làm lại bài tập với yêu cầu hơi khác.
Kết luận: dùng tác nhân AI tốt không nằm ở việc tạo nhiều code, mà ở khả năng đặt mục tiêu rõ, kiểm soát phạm vi và chứng minh kết quả. Nếu giữ được vòng lặp đọc → kế hoạch → thay đổi nhỏ → test → review, người mới vừa đi nhanh hơn vừa thực sự tiến bộ.
Nguồn tham khảo chính thức: tài liệu sản phẩm dành cho nhà phát triển. Giao diện và tính năng có thể thay đổi; hãy đối chiếu tài liệu hiện hành khi cài đặt.

