Trong bối cảnh nhiều người tin rằng AI có thể sớm thay thế lập trình viên, một nghiên cứu mới từ Microsoft đã đưa ra cái nhìn thực tế hơn. Dù các công cụ như GitHub Copilot hay nhiều startup AI đang cho thấy khả năng sinh mã nhanh và gợi ý khá thông minh, nhưng khi đến bước xử lý lỗi – một phần không thể thiếu trong phát triển phần mềm – AI lại thể hiện rõ giới hạn.
Nghiên cứu của Microsoft chỉ ra rằng, những công cụ AI hiện nay chủ yếu đề xuất ví dụ hoặc đoạn mã có sẵn, nhưng không thực sự có khả năng tương tác với quá trình thực thi mã hoặc tự đi tìm thông tin mới khi mọi thứ không hoạt động như mong đợi. Trong khi đó, lập trình viên con người lại làm điều này một cách gần như bản năng, đặc biệt khi phải truy tìm và xử lý lỗi trong một hệ thống lớn.
Để đánh giá rõ hơn, Microsoft đã xây dựng một nền tảng thử nghiệm có tên debug-gym, cho phép các mô hình ngôn ngữ lớn tham gia vào quá trình debug với môi trường và công cụ gần giống như con người sử dụng. Thử nghiệm với một AI agent đơn giản dựa trên mô hình ngôn ngữ hiện tại cho thấy kết quả khả quan ở một vài điểm, nhưng vẫn còn rất hạn chế: ngay cả khi được cấp quyền truy cập vào công cụ debug tương tác, các AI này hiếm khi giải quyết được quá nửa số bài test trong bộ benchmark.
Theo nhóm nghiên cứu, nguyên nhân chính nằm ở việc các mô hình ngôn ngữ hiện tại không được huấn luyện với đủ dữ liệu mô phỏng hành vi xử lý lỗi theo chuỗi – tức cách con người tiếp cận, thử, quan sát, điều chỉnh và khắc phục từng bước. Thêm vào đó, bản thân các mô hình cũng chưa thực sự biết cách sử dụng công cụ debug một cách linh hoạt và hiệu quả như con người.
Dù vậy, Microsoft vẫn tin rằng AI hoàn toàn có thể cải thiện nếu được đào tạo theo hướng chuyên sâu hơn. Họ đề xuất xây dựng một mô hình có khả năng “tìm kiếm thông tin” – tự động thu thập bối cảnh liên quan đến lỗi rồi chuyển dữ liệu này cho một mô hình sinh mã mạnh hơn để xử lý. Đây là hướng tiếp cận hứa hẹn giúp AI đến gần hơn với tư duy giải quyết vấn đề thực sự.
Tổng thể, nghiên cứu này một lần nữa khẳng định rằng dù AI có thể viết code, nó vẫn chưa thể đảm nhiệm những phần quan trọng nhất của nghề lập trình – là xử lý lỗi, bảo mật và ra quyết định trong những tình huống không hoàn hảo. Cho đến khi làm được điều đó, AI vẫn sẽ chỉ là công cụ hỗ trợ chứ chưa thể thay thế hoàn toàn con người.
![]() ![]() ![]() |