DeepMind đã tạo một Hệ thống AI có tên AlphaCode rằng nó nói “viết các chương trình máy tính ở mức độ cạnh tranh.” Công ty con của Alphabet đã thử nghiệm hệ thống của mình trước những thách thức về mã hóa được sử dụng trong các cuộc thi của con người và nhận thấy rằng chương trình của họ đã đạt được “thứ hạng ước tính”, nằm trong số 54% người viết mã hàng đầu. DeepMind cho biết kết quả là một bước tiến đáng kể cho mã hóa tự động, mặc dù các kỹ năng của AlphaCode không nhất thiết phải đại diện cho loại nhiệm vụ lập trình mà các lập trình viên trung bình phải đối mặt.
Oriol Vinyals, nhà khoa học nghiên cứu chính tại DeepMind, nói với The Verge qua email rằng nghiên cứu vẫn đang ở giai đoạn đầu nhưng kết quả đã đưa công ty đến gần hơn với việc tạo ra một AI giải quyết vấn đề linh hoạt – một chương trình có thể tự giải quyết các thách thức mã hóa hiện chỉ thuộc về con người. “Về lâu dài, chúng tôi rất vui mừng bởi [AlphaCode’s] Có khả năng giúp lập trình viên và những người không lập trình viết mã, cải thiện năng suất hoặc tạo ra những cách thức mới để làm phần mềm, ”Vinyals cho biết.
AlphaCode đã được thử nghiệm với các thử thách được sắp xếp bởi Codeforces, một nền tảng mã hóa cạnh tranh chia sẻ các vấn đề hàng tuần và đưa ra bảng xếp hạng cho các lập trình viên tương tự như hệ thống xếp hạng Elo được sử dụng trong cờ vua. Đây là những thách thức khác với các loại nhiệm vụ mà một lập trình viên có thể phải đối mặt khi tạo ra một ứng dụng thương mại. Chúng khép kín hơn và yêu cầu kiến thức rộng hơn về cả thuật toán và khái niệm lý thuyết trong khoa học máy tính. Hãy coi chúng là những câu đố rất chuyên biệt kết hợp logic, toán học và kiến thức chuyên môn về mã hóa.
Trong một thử thách ví dụ mà AlphaCode đã được thử nghiệm, các đối thủ cạnh tranh được yêu cầu tìm cách chuyển đổi một chuỗi ngẫu nhiên, lặp lại S và t các chữ cái thành một chuỗi khác có cùng các chữ cái bằng cách sử dụng một bộ đầu vào giới hạn. Ví dụ, đối thủ cạnh tranh không thể chỉ nhập các ký tự mới mà thay vào đó phải sử dụng lệnh “xóa lùi” để xóa một số ký tự trong chuỗi ban đầu. Bạn có thể đọc mô tả đầy đủ về thử thách bên dưới:
Mười trong số những thử thách này đã được đưa vào AlphaCode theo đúng định dạng mà chúng dành cho con người. Sau đó, AlphaCode đã tạo ra một số lượng lớn hơn các câu trả lời có thể có và khắc phục những điều này bằng cách chạy mã và kiểm tra đầu ra giống như đối thủ cạnh tranh của con người. “Toàn bộ quy trình là tự động, không có sự lựa chọn của con người về các mẫu tốt nhất,” Yujia Li và David Choi, đồng dẫn của bài báo AlphaCode, cho biết The Verge qua email.
AlphaCode đã được thử nghiệm trên 10 thử thách đã được giải quyết bởi 5.000 người dùng trên trang Codeforces. Trung bình, nó được xếp hạng trong số 54,3 phần trăm phản hồi hàng đầu và DeepMind ước tính rằng điều này mang lại cho hệ thống Codeforces Elo là 1238, đưa hệ thống vào top 28 phần trăm người dùng đã cạnh tranh trên trang web trong sáu tháng qua.
“Tôi có thể nói một cách an toàn rằng kết quả của AlphaCode đã vượt quá mong đợi của tôi,” người sáng lập Codeforces Mike Mirzayanov cho biết trong một tuyên bố được DeepMind chia sẻ. “Tôi đã hoài nghi [sic] Bởi vì ngay cả trong các bài toán cạnh tranh đơn giản, nó thường không chỉ được yêu cầu thực hiện thuật toán, mà còn (và đây là phần khó nhất) để phát minh ra nó. AlphaCode đã quản lý để hoạt động ở cấp độ của một đối thủ cạnh tranh mới đầy hứa hẹn. ”
DeepMind lưu ý rằng bộ kỹ năng hiện tại của AlphaCode hiện chỉ có thể áp dụng trong lĩnh vực lập trình cạnh tranh nhưng khả năng của nó mở ra cánh cửa để tạo ra các công cụ trong tương lai giúp lập trình dễ tiếp cận hơn và một ngày nào đó hoàn toàn tự động.
Nhiều công ty khác đang làm việc trên các ứng dụng tương tự. Ví dụ: Microsoft và phòng thí nghiệm AI OpenAI đã điều chỉnh chương trình tạo ngôn ngữ GPT-3 của hãng này để hoạt động như một chương trình tự động hoàn thành kết thúc chuỗi mã. (Giống như GPT-3, AlphaCode cũng dựa trên kiến trúc AI được gọi là máy biến áp, đặc biệt thành thạo trong việc phân tích cú pháp văn bản tuần tự, cả ngôn ngữ tự nhiên và mã). Đối với người dùng cuối, các hệ thống này hoạt động giống như tính năng Soạn thư thông minh của Gmail – đề xuất các cách để hoàn thành bất cứ điều gì bạn đang viết.
Đã có rất nhiều tiến bộ trong việc phát triển các hệ thống mã hóa AI trong những năm gần đây, nhưng những hệ thống này vẫn chưa sẵn sàng để tiếp nhận công việc của các lập trình viên con người. Mã do họ sản xuất thường có lỗi và vì hệ thống thường được đào tạo trên các thư viện mã công cộng, nên đôi khi chúng sao chép tài liệu có bản quyền.
Trong một nghiên cứu của một công cụ lập trình AI có tên Copilot được phát triển bởi kho lưu trữ mã GitHub, các nhà nghiên cứu phát hiện ra rằng khoảng 40% sản lượng của nó chứa các lỗ hổng bảo mật. Nhà phân tích bảo mật thậm chí đã đề xuất rằng những kẻ xấu có thể cố ý viết và chia sẻ mã với các cửa hậu ẩn trực tuyến, sau đó có thể được sử dụng để đào tạo các chương trình AI có thể chèn những lỗi này vào các chương trình trong tương lai.
Những thách thức như thế này có nghĩa là các hệ thống mã hóa AI có thể sẽ được tích hợp từ từ vào công việc của các lập trình viên – bắt đầu với tư cách là những trợ lý mà các đề xuất của họ bị nghi ngờ trước khi họ được tin tưởng để thực hiện công việc của riêng mình. Nói cách khác: họ có một quá trình học việc để thực hiện. Nhưng cho đến nay, các chương trình này đang học nhanh.