Dùng AI review code: checklist phát hiện lỗi thay vì chỉ sửa style
Cách dùng AI để review code có trọng tâm: kiểm tra logic, trường hợp biên, bảo mật, khả năng tương thích và xác minh từng nhận xét.
AI có thể rà soát một diff nhanh, nhưng một danh sách nhận xét dài không đồng nghĩa với một lần review tốt. Hãy giao phạm vi rõ và yêu cầu công cụ nêu bằng chứng cho từng vấn đề. Mục tiêu là phát hiện lỗi có ảnh hưởng, không phải viết lại toàn bộ code theo sở thích của mô hình.
Chuẩn bị diff nhỏ và đủ ngữ cảnh
Trước khi yêu cầu review, cho biết mục đích của thay đổi, hành vi mong đợi và phần nào nằm ngoài phạm vi. Nếu diff quá lớn, chia theo chức năng. Gửi đoạn code tối thiểu cần thiết; không đưa khóa API, dữ liệu người dùng hoặc mã nguồn không được phép chia sẻ.
Checklist review code với AI
Yêu cầu AI kiểm tra lần lượt:
- Logic: điều kiện và luồng dữ liệu có đáp ứng yêu cầu không?
- Trường hợp biên: đầu vào rỗng, dữ liệu lớn, giá trị thiếu hoặc lỗi mạng được xử lý thế nào?
- Tương thích: thay đổi có làm hỏng API, định dạng dữ liệu hoặc caller hiện có không?
- Bảo mật: có nguy cơ injection, lộ thông tin, bỏ qua kiểm tra quyền hoặc ghi log dữ liệu nhạy cảm không?
- Vận hành: lỗi có được xử lý và ghi nhận đủ để chẩn đoán không?
Yêu cầu mỗi phát hiện gồm vị trí, điều kiện gây lỗi, tác động và một cách kiểm tra. Nếu không nêu được cách tái hiện hoặc bằng chứng trong diff, hãy xem đó là giả thuyết cần xác minh.
Prompt mẫu
Review diff dưới đây theo mục tiêu: [mục tiêu]. Chỉ báo lỗi có thể gây sai hành vi, lỗi bảo mật hoặc lỗi tương thích. Với mỗi nhận xét, nêu vị trí, điều kiện tái hiện và tác động. Không tự sửa code và không đề xuất thay đổi style nếu không ảnh hưởng chức năng. Nếu không thấy vấn đề, nói rõ phạm vi đã xem.
Xác minh từng nhận xét
Đọc lại code liên quan, kiểm tra yêu cầu gốc và tạo test hoặc ví dụ tái hiện nếu phù hợp. AI có thể nhầm luồng dữ liệu, hiểu sai ràng buộc sản phẩm hoặc báo lỗi giả. Đừng chấp nhận một nhận xét chỉ vì nó nghe hợp lý.
Quyết định cuối cùng vẫn là của reviewer
AI nên bổ sung thêm một góc nhìn, không thay thế người hiểu hệ thống. Với phần xác thực, phân quyền, thanh toán hoặc xử lý dữ liệu nhạy cảm, cần review theo quy trình bảo mật của nhóm và kiểm thử trong môi trường phù hợp.
Một lần AI review tốt thường ngắn, có căn cứ và dễ kiểm chứng. Nếu kết quả chỉ tập trung vào tên biến hoặc định dạng, hãy thu hẹp prompt vào các loại lỗi quan trọng với thay đổi hiện tại.