Một báo cáo bug tốt gửi cho AI cũng giống như báo cáo bug tốt gửi cho con người: cung cấp đủ ngữ cảnh để nó tái hiện vấn đề trong đầu, và loại bỏ nhiễu. AI chỉ có thể suy luận trên những gì bạn dán vào — mô tả mơ hồ sẽ cho ra phỏng đoán mơ hồ.
Một báo cáo bug tốt gửi cho AI cũng giống như báo cáo bug tốt gửi cho con người: cung cấp đủ ngữ cảnh để nó tái hiện vấn đề trong đầu, và loại bỏ nhiễu. AI chỉ có thể suy luận trên những gì bạn dán vào — mô tả mơ hồ sẽ cho ra phỏng đoán mơ hồ.
Các file không liên quan, toàn bộ config, secret/API key, và những giả thuyết kiểu "Tôi nghĩ có thể là X" làm thiên lệch chẩn đoán. Hãy đưa sự thật, không phải linh cảm.
❌ YẾU: "Login của tôi bị hỏng, nó báo lỗi. Tại sao?"
→ không có nội dung lỗi, không code, không cách tái hiện → AI chỉ có thể đoán
✅ MẠNH:
Lỗi (nguyên văn):
TypeError: Cannot read properties of undefined (reading 'id')
at getUser (auth.js:42)
Code (auth.js:40-43):
function getUser(token) {
const session = sessions.find(s => s.token === token); // trả về undefined nếu không tìm thấy
return session.user.id; // dòng 42: crash khi session là undefined
}
Mong đợi: trả về null cho token không xác định.
Thực tế: ném TypeError ở trên.
Tái hiện: gọi getUser('expired-token').
Môi trường: Node 20, không framework.
Với phiên bản mạnh, AI có thể chỉ thẳng vào việc thiếu kiểm tra undefined và đề xuất một guard, vì mọi sự thật nó cần đều có sẵn trên trang.
Một AI assistant không có quyền truy cập vào hệ thống đang chạy của bạn — nó chỉ suy luận từ những gì bạn cung cấp. Một báo cáo yếu buộc nó phải đoán cùng lúc cả lỗi, code, lẫn môi trường, và một phỏng đoán sai làm lãng phí một vòng trao đổi. Một báo cáo mạnh (trace chính xác + code liên quan + mong đợi/thực tế + tái hiện + phiên bản) biến chẩn đoán thành một tác vụ tập trung và thường cho ra cách sửa đúng ngay lần đầu. Học cách viết báo cáo bug súc tích cũng giúp bạn debug giỏi hơn, vì nó buộc bạn cô lập các sự thật trước khi hỏi.