Khi AI giỏi sinh mã, nhưng kém gỡ lỗi
Trí tuệ nhân tạo (AI) đang trở thành “trợ lý” lập trình không thể thiếu tại các công ty công nghệ lớn. Theo CEO Google Sundar Pichai, 25% lượng mã mới tại Google đã được AI tạo ra, và CEO Meta Mark Zuckerberg cũng khẳng định tham vọng triển khai rộng rãi các mô hình AI trong quy trình lập trình.
Tuy nhiên, một nghiên cứu mới từ Microsoft Research – bộ phận R&D của Microsoft – đã làm dội một gáo nước lạnh vào sự kỳ vọng này. Báo cáo cho thấy, ngay cả những mô hình AI tiên tiến như Claude 3.7 Sonnet của Anthropic hay o3-mini của OpenAI vẫn gặp khó khăn đáng kể trong việc xử lý các lỗi phần mềm cơ bản mà lập trình viên có kinh nghiệm dễ dàng giải quyết.
300 bài toán gỡ lỗi – AI vẫn loay hoay
Trong thử nghiệm, nhóm nghiên cứu đã đánh giá 9 mô hình AI khác nhau bằng cách sử dụng chúng như "tác nhân một bước lệnh duy nhất" (single prompt-based agent). Những mô hình này được cấp quyền truy cập vào các công cụ gỡ lỗi như Python debugger và phải xử lý 300 bài toán gỡ lỗi phần mềm trong bộ dữ liệu SWE-bench Lite.
Kết quả? Mô hình có tỷ lệ thành công cao nhất – Claude 3.7 Sonnet – cũng chỉ đạt 48,4%. Các mô hình khác như OpenAI o1 và o3-mini lần lượt đạt 30,2% và 22,1%.

Một trong những vấn đề lớn được chỉ ra là AI không biết sử dụng công cụ gỡ lỗi một cách hiệu quả. Bên cạnh đó, dữ liệu huấn luyện thiếu dấu vết hành vi gỡ lỗi thực tế từ con người – khiến AI khó có khả năng suy luận theo từng bước như một lập trình viên.
“Chúng tôi tin rằng mô hình có thể cải thiện năng lực gỡ lỗi nếu được huấn luyện với dữ liệu đặc thù hơn – chẳng hạn như dữ liệu ghi lại hành trình tương tác giữa người dùng và trình debugger,” nhóm nghiên cứu chia sẻ.
Không chỉ là chuyện “chưa giỏi”, mà là... nguy hiểm?
Vấn đề ở đây không chỉ là AI chưa hoàn hảo, mà còn có thể tạo ra lỗi và rủi ro bảo mật nghiêm trọng. Nhiều nghiên cứu trước đây cũng đã chỉ ra rằng các mô hình sinh mã thường dễ tạo ra lỗ hổng an ninh, do thiếu năng lực suy luận logic lập trình.
Ví dụ, trong một đánh giá gần đây, công cụ AI lập trình nổi tiếng Devin chỉ hoàn thành 3/20 bài kiểm tra lập trình – một tỷ lệ thất vọng với một công cụ được kỳ vọng cao.
AI chưa thể thay thế lập trình viên – và đó là tin tốt
Mặc dù kết quả nghiên cứu khá bi quan, nhưng không đồng nghĩa với việc AI không có chỗ đứng. Những công cụ như GitHub Copilot, Amazon CodeWhisperer hay Replit AI vẫn giúp tiết kiệm thời gian viết mã lặp đi lặp lại. Tuy nhiên, để AI “đứng mũi chịu sào” hoàn toàn trong quá trình phát triển phần mềm – vẫn là điều bất khả thi hiện nay.
May mắn thay, nhiều nhà lãnh đạo trong ngành công nghệ đã khẳng định tương lai của nghề lập trình vẫn rất vững chắc:
Bill Gates – đồng sáng lập Microsoft: “Lập trình sẽ không bị thay thế bởi AI.”
CEO Replit – Amjad Masad, CEO Okta – Todd McKinnon, và CEO IBM – Arvind Krishna: Tất cả đều ủng hộ vai trò không thể thiếu của con người trong việc xây dựng phần mềm.
Kết luận: AI là công cụ, không phải người thay thế
Nghiên cứu từ Microsoft là lời nhắc nhở cần thiết rằng: AI chưa đủ sức thay thế con người trong các nhiệm vụ mang tính phân tích và giải quyết vấn đề phức tạp, đặc biệt là trong lĩnh vực lập trình. Thay vì đặt niềm tin mù quáng, chúng ta cần xem AI là một người đồng hành thông minh – hỗ trợ, không thay thế.
Để các mô hình AI thực sự trở thành công cụ gỡ lỗi hiệu quả, ngành công nghệ cần đầu tư vào dữ liệu huấn luyện thực tế hơn, xây dựng các pipeline học có hướng dẫn, và thiết kế môi trường tương tác đa bước thay vì chỉ đơn thuần là "prompt & trả lời".
Viết bình luận