Một nghiên cứu mới được công bố trên nền tảng arXiv (mã số 2607.28271) đã chỉ ra một thực tế đáng ngại: các công cụ trí tuệ nhân tạo (AI) khi được giao nhiệm vụ chuyển đổi mã nguồn COBOL kế thừa sang Java đã vô tình 'di cư' cả những lỗi lập trình sẵn có. Nghiên cứu này nhanh chóng thu hút sự chú ý lớn từ cộng đồng phát triển phần mềm trên Hacker News, dấy lên những lo ngại về tính an toàn của các dự án hiện đại hóa hệ thống legacy bằng AI.
Bối cảnh & Nguyên nhân
Trong nhiều thập kỷ qua, các hệ thống tài chính, ngân hàng và cơ quan chính phủ trên toàn cầu vẫn vận hành dựa trên các dòng mã COBOL được viết từ thế kỷ trước. Việc duy trì các hệ thống này ngày càng trở nên đắt đỏ và khan hiếm nhân lực có chuyên môn. Do đó, việc ứng dụng các mô hình ngôn ngữ lớn (LLM) để dịch tự động COBOL sang các ngôn ngữ hiện đại như Java được coi là một giải pháp cứu cánh đầy hứa hẹn. Tuy nhiên, nguyên nhân cốt lõi khiến AI lặp lại sai lầm của con người nằm ở cách các mô hình này hoạt động. Thay vì hiểu sâu sắc về logic nghiệp vụ để tối ưu hóa, AI thường chỉ thực hiện dịch tương đương về mặt cú pháp và ngữ nghĩa bề mặt, dẫn đến việc tái hiện hoàn hảo cả những đoạn mã lỗi từ hệ thống cũ.
Phân tích kỹ thuật & Công nghệ
Về mặt kỹ thuật, quá trình chuyển đổi mã (code transpilation) bằng AI đối mặt với rào cản lớn do sự khác biệt sâu sắc về kiến trúc giữa COBOL (ngôn ngữ lập trình thủ tục) và Java (ngôn ngữ hướng đối tượng). Các mô hình LLM hiện nay sử dụng cơ chế chú ý (attention mechanism) để dự đoán token tiếp theo dựa trên dữ liệu huấn luyện. Khi đối mặt với các cấu trúc điều khiển phức tạp và lỗi thời của COBOL như các lệnh 'GO TO' hoặc các vùng nhớ chia sẻ (shared memory), AI có xu hướng mô phỏng lại cấu trúc này một cách máy móc trong Java. Kết quả là, Java code đầu ra không chỉ khó bảo trì mà còn mang theo nguyên vẹn các lỗi logic biên (edge cases) và các lỗ hổng tràn bộ đệm cũ mà không hề được lọc hay sửa đổi.
Ý kiến chuyên gia & Nhận định
Trên các diễn đàn công nghệ lớn như Hacker News, nhiều chuyên gia bày tỏ sự hoài nghi về việc phó thác hoàn toàn các dự án di trú mã nguồn quan trọng cho AI. Nhiều ý kiến cho rằng 'việc dịch mã không tương đương với việc hiện đại hóa hệ thống' và nếu không có quy trình kiểm thử nghiêm ngặt, doanh nghiệp chỉ đang chuyển một đống rác công nghệ từ nền tảng này sang nền tảng khác với chi phí đắt đỏ hơn. Giới chuyên môn khuyến cáo các nhà phát triển nên xem AI như một công cụ hỗ trợ sơ khởi, thay vì một giải pháp tự động hóa hoàn toàn từ đầu đến cuối.
Tác động & Tương lai
Nghiên cứu này là một hồi chuông cảnh tỉnh cho các tập đoàn lớn đang có kế hoạch cắt giảm chi phí bằng cách tự động hóa quy trình hiện đại hóa phần mềm. Đối với cộng đồng công nghệ tại Việt Nam, nơi nhiều ngân hàng và tổ chức tài chính cũng đang rục rịch chuyển đổi các hệ thống lõi (core banking) cũ, bài học này nhấn mạnh tầm quan trọng của việc đầu tư vào kiểm thử tự động (automated testing) và rà soát mã nguồn thủ công. Trong tương lai, các công cụ AI thế hệ mới cần phải tích hợp thêm khả năng phân tích tĩnh (static analysis) và hiểu sâu về kiến trúc để có thể chủ động phát hiện và sửa lỗi trong quá trình biên dịch mã nguồn legacy.