OpenAI Codex đã viết một trò chơi DOS phong cách Asteroids hoàn chỉnh bằng ngôn ngữ Assembly x86 16-bit, cung cấp 18 tệp mã nguồn và khoảng 2.500 dòng mã mà không cần đến một dòng mã Assembly nào do con người viết. Thí nghiệm này cho thấy AI có thể điều phối toàn bộ vòng đời phần mềm—từ lập kế hoạch đến gỡ lỗi—mà không cần sự can thiệp trực tiếp của lập trình viên, một bước tiến xa hơn các bản demo "hoàn thiện mã" (code-completion) thông thường.
Tại sao thử nghiệm này lại quan trọng
Hầu hết các buổi trình diễn lập trình bằng AI công khai chỉ dừng lại ở các đoạn mã nhỏ hoặc các tiện ích đơn giản. Để thăm dò giới hạn cao nhất, thí nghiệm đã buộc Codex phải làm việc trong môi trường hạn chế nhất có thể tưởng tượng được: Assembly x86 16-bit trên DOS, không có engine trò chơi, không có thư viện đồ họa hay sự hỗ trợ từ các ngôn ngữ bậc cao. Mục tiêu là để xem liệu một AI không chỉ có thể tạo mã mà còn có thể quản lý các tác vụ kỹ thuật xung quanh hay không.
Cách phân chia vai trò
Trách nhiệm của con người được giới hạn trong ba hành động:
- Xác định mục tiêu tổng thể của dự án (một trò chơi bắn súng phong cách Asteroids).
- Trả lời bất kỳ câu hỏi nào liên quan đến lối chơi phát sinh.
- Chơi thử từng bản build và báo cáo các lỗi quan sát được.
Trách nhiệm của Codex bao gồm tất cả những việc còn lại:
- Phác thảo kế hoạch và kiến trúc dự án.
- Viết các tệp mã nguồn Assembly.
- Gỡ lỗi (debug), tái cấu trúc (refactor) và sắp xếp lại mã nguồn.
- Duy trì kho lưu trữ Git, bao gồm việc commit và quản lý nhánh.
- Biên dịch tệp nhị phân và chạy nó trong trình giả lập DOS.
Con người chưa bao giờ gõ một lệnh Assembly nào, chưa bao giờ gọi trình biên dịch, và chưa bao giờ khởi chạy trò chơi trong quá trình phát triển. Sự tương tác chỉ dừng lại ở việc mô tả các triệu chứng của lỗi; AI đã tự mình tìm ra và khắc phục nguyên nhân gốc rễ.
Quy trình làm việc lặp lại
Mỗi chu kỳ bắt đầu với việc Codex đề xuất một cột mốc (ví dụ: "triển khai chuyển động của tàu người chơi"). Sau đó, nó tạo ra các tệp mã nguồn tương ứng, commit chúng, biên dịch tệp thực thi và bàn giao bản build có thể chạy được cho người kiểm thử. Codex phân tích triệu chứng, truy vết qua toàn bộ mã nguồn và đưa ra bản vá mà không cần thêm sự hướng dẫn nào từ con người.
Sản phẩm cuối cùng bao gồm những gì
- 18 tệp mã nguồn Assembly, được tổ chức theo cấu trúc kho lưu trữ thông thường.
- ≈2.500 dòng mã Assembly, bao gồm xử lý đầu vào, vẽ sprite, phát hiện va chạm và hệ thống tính điểm cao.
- Một tệp thực thi DOS có thể chơi được, chạy trong môi trường DOS tiêu chuẩn và mô phỏng lối chơi Asteroids cổ điển.
- Không có mã Assembly nào do con người viết, xác nhận AI đã xử lý tất cả các tác vụ lập trình cấp thấp.
Các rủi ro và hệ quả
Nếu AI có thể tự chủ dẫn dắt một dự án từ ý tưởng đến một tệp nhị phân hoạt động, vai trò truyền thống của lập trình viên với tư cách là người điều phối chính của một cơ sở mã nguồn sẽ thay đổi. Các công ty có thể cắt giảm thời gian dành cho việc thiết lập các phần mã mẫu (boilerplate), viết tài liệu và gỡ lỗi định kỳ, giúp các kỹ sư tập trung vào thiết kế và chiến lược sản phẩm.
Thí nghiệm cũng làm nổi bật những hạn chế. Môi trường thử nghiệm được cố tình thu hẹp: một trò chơi DOS chơi đơn với các cơ chế đã được hiểu rõ. Việc mở rộng phương pháp này sang các hệ thống lớn, đa mô-đun với các phụ thuộc bên ngoài, các ràng buộc bảo mật hoặc các luồng mã quan trọng về hiệu suất vẫn chưa được chứng minh. Hơn nữa, người kiểm thử vẫn đóng vai trò là chốt chặn chất lượng cuối cùng; một lỗi logic không được phát hiện có thể đã lọt qua nếu không có sự giám sát đó.
Các lập luận phản bác và câu hỏi mở
- Độ tin cậy: Lập trình Assembly rất khắt khe; chỉ một lỗi sai lệch một đơn vị (off-by-one error) cũng có thể làm sập toàn bộ chương trình. Codex đã sửa các lỗi mà nó thấy, nhưng nó có thể bỏ lỡ các vấn đề tinh vi về thời gian (timing issues) vốn chỉ xuất hiện khi kiểm thử áp lực (stress testing).
- Khả năng bảo trì: Mã được tạo ra mà không có các hướng dẫn về phong cách của con người có thể khiến các nhà phát triển trong tương lai khó đọc hoặc mở rộng hơn, đặc biệt nếu các quy ước đặt tên của AI khác với tiêu chuẩn của nhóm.
- Sở hữu trí tuệ: Ai sở hữu mã nguồn khi AI viết nó? Các khung cấp phép hiện tại giả định quyền tác giả thuộc về con người, để lại một vùng xám cho các sản phẩm do AI tạo ra.
Những điều cần theo dõi tiếp theo
- Các tiêu chuẩn đánh giá rộng hơn: Áp dụng cùng một quy trình làm việc tự chủ cho các ứng dụng mạng, ứng dụng di động hoặc các dự án C/C++ hiện đại sẽ kiểm tra xem phương pháp này có thể mở rộng ra ngoài các trò chơi phong cách retro hay không.
- Tích hợp công cụ: Việc nhúng Codex vào các đường ống CI/CD có thể tự động hóa không chỉ việc tạo mã mà còn cả việc kiểm thử, quét bảo mật và triển khai.
- Sự phát triển của chính sách: Khi mã do AI tạo ra trở nên phổ biến, các chính sách pháp lý và doanh nghiệp sẽ cần giải quyết các vấn đề về quyền sở hữu, trách nhiệm pháp lý và sự tuân thủ.
Kết luận rút ra rất rõ ràng: AI hiện có thể đóng vai trò như một kỹ sư phần mềm độc lập cho các dự án có phạm vi và định nghĩa rõ ràng, cung cấp các mã nguồn cấp thấp có khả năng hoạt động mà không cần con người phải viết mã thủ công. Việc liệu khả năng đó có tái định hình quá trình phát triển phần mềm chính thống hay không sẽ phụ thuộc vào tốc độ mà hệ sinh thái có thể giải quyết các vấn đề về độ tin cậy, khả năng bảo trì và các mối quan ngại về pháp lý.
