Trí tuệ nhân tạo có thực sự lập trình được không? Nghiên cứu chỉ ra các rào cản đối với kỹ thuật phần mềm tự động
Ngày 17 tháng 7, 2025
Tóm tắt
AI có thực sự có thể lập trình? Nghiên cứu vẽ bản đồ các rào cản đối với kỹ thuật phần mềm tự động
Bởi Rachel Gordon, Viện Công nghệ Massachusetts (MIT)
Biên tập bởi Lisa Lock, xem xét bởi Andrew Zinin
Hình ảnh minh họa trí tuệ nhân tạo và mã nguồn (Ảnh: Pixabay/CC0 Public Domain)
Hãy tưởng tượng tương lai nơi trí tuệ nhân tạo (AI) âm thầm gánh vác công việc nhàm chán trong phát triển phần mềm: tái cấu trúc mã rối rắm, di chuyển các hệ thống cũ, và săn tìm các lỗi race condition, để kỹ sư con người có thể tập trung vào kiến trúc, thiết kế và giải quyết những vấn đề thực sự mới mẻ mà máy móc chưa làm được.
Những tiến bộ gần đây dường như đã đưa tương lai đó đến rất gần, nhưng một bài báo mới của các nhà nghiên cứu tại Phòng thí nghiệm Khoa học Máy tính và Trí tuệ Nhân tạo MIT (CSAIL) cùng một số tổ chức hợp tác cho rằng thực tế tương lai này đòi hỏi phải nhìn nhận nghiêm túc các thách thức hiện tại.
Bài báo mang tên "Challenges and Paths Towards AI for Software Engineering" phân tích các nhiệm vụ kỹ thuật phần mềm vượt ra ngoài việc tạo ra mã, xác định các nút thắt hiện tại và nêu bật các hướng nghiên cứu để vượt qua chúng, nhằm giúp con người tập trung vào thiết kế cấp cao trong khi công việc lặp đi lặp lại được tự động hóa. Công trình này được trình bày tại Hội nghị Quốc tế về Học máy (ICML 2025) tại Vancouver.
Giáo sư Armando Solar-Lezama, điều tra viên chính CSAIL và tác giả chính của nghiên cứu, cho biết: "Mọi người đều nói rằng chúng ta không còn cần lập trình viên nữa vì giờ có đủ loại tự động hóa sẵn có".
"Một mặt, lĩnh vực này đã tiến bộ rất nhiều với các công cụ mạnh mẽ hơn bao giờ hết. Nhưng mặt khác, còn rất nhiều việc phải làm để đạt được toàn bộ lời hứa của tự động hóa mà chúng ta mong đợi."
Solar-Lezama nhấn mạnh rằng các quan niệm phổ biến thường thu hẹp kỹ thuật phần mềm chỉ còn là "phần lập trình đại học: ai đó giao cho bạn yêu cầu nhỏ rồi bạn viết hàm đó hoặc giải các bài tập kiểu LeetCode." Trong thực tế, công việc rộng lớn hơn rất nhiều, bao gồm tái cấu trúc hàng ngày để hoàn thiện thiết kế, di chuyển khối lượng mã từ ngôn ngữ cũ sang mới, liên tục kiểm thử và phân tích để phát hiện lỗi đồng thời và vá lỗi bảo mật, cũng như duy trì mã cũ, tài liệu hóa và đánh giá các yêu cầu cập nhật.
Các kỹ thuật tối ưu hóa mã quy mô công nghiệp vẫn rất khó đánh giá. Tiêu chuẩn hiện tại như SWE-Bench chỉ yêu cầu mô hình sửa một vấn đề trên GitHub - hữu ích nhưng chỉ như bài tập lập trình nhỏ, bỏ qua các kịch bản phức tạp hơn như tái cấu trúc hỗ trợ AI, lập trình đôi người-máy hay viết lại đòi hỏi hiệu năng cao trên hàng triệu dòng mã.
Khi đo lường là một thách thức thì giao tiếp giữa con người và máy cũng vậy. Tác giả đầu tiên Alex Gu, sinh viên MIT, mô tả tương tác hiện tại chỉ là "đường dây liên lạc mỏng manh". Khi yêu cầu hệ thống tạo mã, anh thường nhận được các file lớn chưa được cấu trúc kèm theo bộ kiểm thử đơn giản. AI cũng chưa biết sử dụng hiệu quả các công cụ kỹ thuật phần mềm như trình gỡ lỗi hay công cụ phân tích tĩnh mà con người dựa vào.
Quy mô càng làm mọi thứ khó khăn hơn khi các mô hình AI hiện nay gặp khó với các cơ sở mã lớn, phong cách và quy ước riêng biệt của mỗi công ty thường không nằm trong phạm vi dữ liệu đào tạo.
Kết quả là mã do AI sinh ra có thể trông hợp lý nhưng thực tế gọi các hàm không tồn tại, vi phạm quy tắc nội bộ hoặc thất bại trong các quy trình tích hợp liên tục, dẫn đến hiện tượng "ảo giác" - tạo ra nội dung tưởng hợp lý nhưng không phù hợp với tiêu chuẩn cụ thể.
Các tác giả kêu gọi nỗ lực cộng đồng mở rộng quy mô, bao gồm thu thập dữ liệu chi tiết quá trình phát triển phần mềm, bộ đánh giá chung đo chất lượng tái cấu trúc và độ bền của sửa lỗi, cùng công cụ minh bạch giúp AI biểu thị sự không chắc chắn và cho phép người dùng kiểm soát.
Gu coi đây là "lời kêu gọi hành động" cho các hợp tác mã nguồn mở lớn hơn mà không một phòng thí nghiệm nào có thể làm một mình. Solar-Lezama dự đoán các bước tiến dần dần từng phần sẽ cải thiện các công cụ thương mại, biến AI từ trợ thủ tự động hoàn thành mã thành đối tác kỹ thuật thực thụ.
"Tại sao điều này quan trọng? Phần mềm đã là nền tảng của tài chính, giao thông, y tế và cuộc sống hàng ngày, và nỗ lực con người để xây dựng duy trì phần mềm một cách an toàn đang trở thành nút thắt cổ chai. AI nếu đảm nhận được các công việc vất vả mà không gây lỗi tiềm ẩn sẽ giải phóng các nhà phát triển để tập trung vào sáng tạo, chiến lược và đạo đức," Gu nói.
"Tương lai đó phụ thuộc vào việc thừa nhận rằng việc hoàn thành mã chỉ là phần dễ, còn phần khó là tất cả những việc khác. Mục đích của chúng tôi không phải thay thế lập trình viên mà là tăng cường khả năng của họ. Khi AI xử lý được những thứ tẻ nhạt và khó khăn, người kỹ sư sẽ dành thời gian cho những việc chỉ con người mới làm được."
Baptiste Rozière, nhà khoa học AI tại Mistral AI chưa tham gia nghiên cứu, nhận xét: "Tôi thích bài báo này vì nó cung cấp cái nhìn tổng quan rõ ràng về các nhiệm vụ và thách thức chính trong AI cho kỹ thuật phần mềm, đồng thời đưa ra hướng nghiên cứu đầy hứa hẹn trong tương lai."
Thông tin thêm:
Alex Gu và cộng sự, Challenges and Paths Towards AI for Software Engineering, arXiv (2025). DOI: 10.48550/arxiv.2503.22625
Thông tin tạp chí: arXiv
Cung cấp bởi Viện Công nghệ Massachusetts
Câu chuyện này được đăng lại với sự cho phép từ MIT News (web.mit.edu/newsoffice/), một trang tin nổi tiếng về nghiên cứu, đổi mới và giảng dạy tại MIT.
Trích dẫn:
AI có thực sự có thể lập trình? Nghiên cứu vẽ bản đồ các rào cản đối với kỹ thuật phần mềm tự động (17/7/2025)
Truy cập ngày 18 tháng 7 năm 2025 từ https://techxplore.com/news/2025-07-ai-code-roadblocks-autonomous-software.html