Cái giá của code bằng AI: viết code nhanh hơn 20%, nhưng tạo ra lỗi nghiêm trọng nhiều gấp 1,7 lần con người

Nguyễn Hải, vtv.vn 

VTV.vn - Cho dù giúp các lập trình viên tăng tốc quá trình viết code của mình, các đoạn code do AI tạo ra lại gây ra các vấn đề nghiêm trọng khác.

Công ty phân tích mã nguồn CodeRabbit vừa công bố một nghiên cứu gây chấn động về chất lượng code do AI tạo ra. Sau khi xem xét 470 đoạn mã nguồn trên GitHub, bao gồm 320 đoạn có sự tham gia của AI và 150 đoạn chỉ do lập trình viên viết, nhóm nghiên cứu phát hiện rằng mã do AI tạo ra chứa trung bình 10,83 lỗi mỗi đoạn, so với chỉ 6,45 lỗi trong mã của con người. Con số này cho thấy AI tạo ra nhiều vấn đề hơn gấp 1,7 lần, và đây chưa phải là tin xấu duy nhất.

Nghiên cứu cũng trích dẫn một báo cáo khác cho thấy trong khi số lượng mã nguồn mỗi lập trình viên hoàn thành tăng 20% nhờ sự hỗ trợ của AI, thì số lượng sự cố xảy ra lại tăng 23,5%. Nói cách khác, tốc độ có tăng, nhưng chất lượng lại giảm theo cách đáng lo ngại. Đây chính xác là định nghĩa của "cái giá phải trả" trong thời đại lập trình bằng AI.

Cái giá của code bằng AI: viết code nhanh hơn 20%, nhưng tạo ra lỗi nghiêm trọng nhiều gấp 1,7 lần con người - Ảnh 1.

Báo cáo của CodeRabbit cho thấy, các dòng code do AI tạo ra có nhiều lỗi hơn 1,7 lần so với con người

Điều đáng lo ngại hơn nữa là mức độ nghiêm trọng của các lỗi. Mã do AI tạo ra không chỉ có nhiều lỗi hơn về số lượng, mà các lỗi đó cũng nghiêm trọng hơn. Cụ thể, các vấn đề ở mức nghiêm trọng và quan trọng xuất hiện nhiều hơn từ 1,4 đến 1,7 lần trong mã AI. Đây là những lỗi tốn kém nhất để sửa chữa và có khả năng cao nhất gây ra sự cố hệ thống.

Khi đi sâu vào từng loại lỗi cụ thể, bức tranh còn rõ nét hơn. Các vấn đề về logic và tính đúng đắn - bao gồm lỗi logic nghiệp vụ, các thư viện liên quan không chính xác, logic điều khiển sai và cấu hình lỗi - xuất hiện nhiều hơn 75% trong mã AI. Đây là những lỗi đắt đỏ nhất và có khả năng cao nhất gây ra sự cố nghiêm trọng.

Cái giá của code bằng AI: viết code nhanh hơn 20%, nhưng tạo ra lỗi nghiêm trọng nhiều gấp 1,7 lần con người - Ảnh 2.

Hơn thế nữa, các dòng code do AI tạo ra lại có nhiều lỗi nghiêm trọng hơn

Vấn đề về khả năng đọc hiểu cho thấy sự chênh lệch lớn nhất trong toàn bộ nghiên cứu, với mã AI vi phạm các chuẩn mực về đặt tên, rõ ràng và cấu trúc nhiều gấp 3 lần. Mặc dù mã do AI tạo ra trông có vẻ nhất quán, nhưng lại thường vi phạm các quy ước riêng của từng dự án, khiến việc đọc và bảo trì trở nên khó khăn hơn.

Về bảo mật, các lỗ hổng trong mã AI cao hơn tới 2,74 lần, với các vấn đề phổ biến nhất liên quan đến xử lý mật khẩu không đúng cách và tham chiếu đối tượng không an toàn. Mặc dù không có loại lỗ hổng nào là độc nhất của AI, nhưng hầu như tất cả đều được khuếch đại đáng kể.

Khả năng xử lý lỗi là một điểm yếu khác, với mã AI thiếu các biện pháp kiểm tra giá trị rỗng, trả về sớm khi có vấn đề, rào chắn bảo vệ và logic xử lý ngoại lệ toàn diện nhiều gấp 2 lần. Đây là những thiếu sót thường gắn liền chặt chẽ với các sự cố thực tế khi phần mềm hoạt động. Về hiệu năng, mặc dù các vấn đề suy giảm nhỏ về số lượng nhưng lại nghiêng hẳn về phía AI, với các thao tác nhập xuất dữ liệu dư thừa xuất hiện nhiều gấp 8 lần trong mã AI.

Cái giá của code bằng AI: viết code nhanh hơn 20%, nhưng tạo ra lỗi nghiêm trọng nhiều gấp 1,7 lần con người - Ảnh 3.

Đặc biệt nguy hiểm là việc code do AI tạo ra có nhiều vấn đề về bảo mật

Vậy tại sao AI lại tạo ra nhiều lỗi đến vậy? Nguyên nhân chính là AI thiếu hiểu biết về logic nghiệp vụ cụ thể của từng dự án. Các mô hình AI suy luận các mẫu mã nguồn theo thống kê chứ không phải theo ý nghĩa thực sự. Không có các ràng buộc chặt chẽ, chúng bỏ lỡ những quy tắc mà các kỹ sư có kinh nghiệm đã tích lũy qua nhiều năm làm việc với dự án.

Hơn nữa, AI có xu hướng tạo ra mã "đúng về bề ngoài" - nghĩa là mã trông đúng nhưng có thể bỏ qua các biện pháp bảo vệ logic điều khiển hoặc sử dụng sai thứ tự các thư viện liên quan. AI cũng không tuân thủ hoàn hảo các quy ước của dự án, với các chuẩn mực về đặt tên, kiến trúc và định dạng thường trôi về các mặc định chung chung. Các biện pháp bảo mật cũng suy giảm khi không có câu lệnh rõ ràng, khiến mô hình tái tạo lại các thực hành lỗi thời từ dữ liệu huấn luyện.

Phát hiện quan trọng nhất của nghiên cứu là không có loại lỗi nào độc nhất chỉ AI mắc phải. Con người và AI mắc cùng các loại lỗi. Sự khác biệt là AI mắc nhiều hơn và ở quy mô lớn hơn. Đây là điểm mấu chốt mà các nhóm phát triển cần hiểu: vấn đề không phải là AI tạo ra các loại lỗi hoàn toàn mới, mà là nó khuếch đại các vấn đề đã tồn tại.

Kết luận của nghiên cứu rõ ràng: các công cụ lập trình AI là những công cụ tăng tốc mạnh mẽ, nhưng tăng tốc mà không có biện pháp bảo vệ sẽ làm tăng rủi ro. Chất lượng không tự động đến, nó đòi hỏi kỹ thuật có chủ đích, ngay cả khi sử dụng các công cụ AI. Đối với các nhóm muốn có tốc độ của AI mà không gặp bất ngờ, dữ liệu đã nói rõ: họ cần xây dựng các hệ thống, quy trình làm việc và lớp bảo vệ để khuếch đại những gì AI làm tốt trong khi bù đắp cho những gì nó có xu hướng bỏ lỡ.

Tin cùng chuyên mục
Xem theo ngày

NỔI BẬT TRANG CHỦ