Trong thời đại AI, nên code review như thế nào?
(flowkater.io)- Bài luận khởi đầu từ kinh nghiệm 15 năm làm CTO, tổng hợp tranh luận về code review trong thời đại AI theo mô hình chính-phản-hợp
- Code review luôn là một vấn đề — thiếu thời gian, thiếu người, thiếu cả quy trình
- AI đã làm sản lượng code tăng vọt, nhưng năng lực review vẫn giữ nguyên → nút thắt cổ chai càng lớn hơn
Chính — Lập luận rằng review bởi con người là bắt buộc
- Simon Willison: "Đừng đẩy đoạn code chưa được kiểm chứng cho cộng tác viên của bạn"
- Kent Beck: khi chi phí tạo sinh tiến gần về 0, giá trị sẽ chuyển từ tạo ra sang xác minh
- Addy Osmani: "Vấn đề chưa được giải quyết không nằm ở tạo sinh mà nằm ở xác minh"
- Dù AI có làm tốt đến đâu, trách nhiệm vẫn thuộc về con người → phải xác minh → phải review
Phản — Lập luận rằng thời đại review bởi con người đã kết thúc
- Bryan Finster: áp dụng định lý Nyquist-Shannon — nếu chỉ tăng tần số sản xuất mà giữ nguyên tần số phản hồi thì sẽ bỏ sót một cách có hệ thống
- Dữ liệu SmartBear: vượt quá 400 dòng thì tỷ lệ phát hiện lỗi giảm mạnh, trong khi AI có thể tạo 600 dòng trong một lần
- StrongDM "software factory": con người không viết code và cũng không đọc code. Chỉ định nghĩa ý đồ + tuyển chọn kịch bản
- Stanford CodeX: "Nếu agent tạo ra và kiểm thử, thì ai có thể tin được?"
- Salesforce Prizm: bản thân mô hình review xoay quanh diff không còn hoạt động trong thời đại AI → tái cấu trúc ý đồ
Hợp — Cần review điều gì
- latent.space: code review → intent review
- Spec là nguồn chân lý, code là sản phẩm đầu ra
- Xây dựng niềm tin bằng 5 lớp chồng lên nhau (mô hình phô mai Thụy Sĩ)
- Mô hình Qodo: ưu tiên ngữ cảnh, dựa trên mức độ nghiêm trọng, review bằng agent chuyên gia
- Bryan Finster: chặn bởi con người chỉ còn hai trường hợp — thiếu tri thức và lộ trình tuân thủ quy định
Kết
- Tác giả không trực tiếp review code do AI tạo ra → chuyển sang vai trò QA
- Kỹ sư AI-native = phải tự đảm nhiệm vai trò PM của thời kỳ trước
- "Bạn có thể chịu trách nhiệm cho đoạn code của chính mình không?"
4 bình luận
https://app.devin.ai/review
Hiện vẫn chưa rõ đây có phải sẽ lại là một cách tiếp cận thoáng qua như lỗi ở điểm trung gian hay không,
nhưng mình chia sẻ một công cụ có thể giúp hiểu code và sửa bug khi review PR cùng với AI.
Mình dùng nó khi làm side project và không hiểu phần chỉnh sửa code mà AI đã thực hiện.
Ngụy biện điểm giữa (Argument to Moderation): đây là kiểu lập luận khẳng định rằng khi có hai quan điểm cực đoan (A và Z), thì điểm ở giữa (M) sẽ là sự thật hoặc là giải pháp tốt nhất.
Từ góc nhìn ngược lại, việc con người đánh giá cuối cùng cũng trở thành nút thắt cổ chai.
Mình nghĩ việc bán phần, hay thậm chí hợp nhất hoàn toàn, hiện vẫn còn khá phi thực tế. Mã nguồn là thứ được sử dụng liên tục, còn LLM thì mang tính xác suất, nên con người vẫn cần phải tự đọc toàn bộ đoạn mã mình viết ra (ít nhất là ở thời điểm hiện tại). Để việc review dễ dàng hơn, vẫn cần có những thứ như tự động viết template PR hoặc ghi thành ADR để giúp hiểu được bối cảnh và ý đồ.