Nếu bạn cảm thấy chán với công việc viết code cho các phần mềm mới, AI đã có thể làm việc đó thay bạn.
Ảnh: Futurism
BAYOU là một công cụ học sâu (deep learning)1, về cơ bản có thể hoạt động như một công cụ tìm kiếm (search engine) hỗ trợ viết code. Nó sẽ gợi ý thể loại chương trình mà lập trình viên muốn viết chỉ bằng một vài từ khóa, hay tiết lộ đoạn mã Java mà người đó tìm kiếm để giải quyết vấn đề, nhờ vào năng lực phán đoán tuyệt vời.
Công cụ trên được phát triển bởi một nhóm các nhà khoa học máy tính tại Đại học Rice – cho một dự án được nhận tài trợ từ cả quân đội Mỹ lẫn Google. Trong một công bố hồi đầu tháng trên arXiv, họ đã mô tả cách xây dựng BAYOU và nêu lên một số vấn đề mà nó có thể giúp các lập trình viên giải quyết.
Về căn bản, BAYOU được cho đọc mã nguồn của khoảng 1500 ứng dụng Android, có thể lên đến 100 triệu dòng lệnh bằng ngôn ngữ lập trình Java. Tất cả các đoạn code sẽ được đưa vào xử lý qua mạng nơ-ron của BAYOU, dẫn tới kết quả là AI này có thể lập trình các phần mềm khác.
Nếu những dòng code được BAYOU đọc có chứa thông tin về mục đích để hoàn thành tác vụ gì, máy sau đó cũng sẽ tìm cách học xem chương trình đang viết được định hướng để làm gì và với cơ chế ra sao. Chính thông tin theo ngữ cảnh như vậy đã giúp AI có khả năng viết những phần mềm chức năng, chỉ dựa trên một vài từ khóa và thông tin căn bản mà lập trình viên tìm kiếm.
Đây cũng là một tin mừng đối với ngành khoa học máy tính khi nhiệm vụ hoàn thành bài tập về nhà có thể trở nên nhẹ nhàng hơn. Nhiệm vụ dạy người học viết code cũng sẽ dễ dàng và thiên về trực giác nhiều hơn, khi một ngày nào đó họ có thể sử dụng công cụ AI mới cho mục đích tạo ra những dòng code mẫu, hay thậm chí để check lỗi bài tập. Hiện tại, BAYOU mới chỉ đang ở giai đoạn đầu, và nhóm nghiên cứu vẫn cần chứng minh công nghệ này thực sự hiệu quả.
Đây không phải thời điểm mà AI đã có khả năng tự sao chép, BAYOU đơn giản chỉ tạo ra thứ mà các nhà nghiên cứu vẫn gọi là bản “phác thảo” (sketch) của chương trình phần mềm, liên quan đến những gì mà người lập trình mong muốn viết. Các bản phác thảo này vẫn cần phải được chắp nối và chỉnh sửa trong cả dự án ở quy mô lớn hơn.
Tuy nhiên, ngay cả khi công nghệ mới vẫn đang chỉ ở giai đoạn sơ khởi, đây thực sự là một bước tiến quan trọng trong lĩnh vực nghiên cứu AI biết lập trình – mục tiêu bấy lâu nay của các nhà khoa học máy tính. Một số nỗ lực khác nhằm tạo ra các công cụ như BAYOU đòi hỏi cần có những giới hạn hẹp và chuyên sâu để hướng lập trình viên đến với các đoạn code chính xác mà họ muốn tìm. Và nhìn chung, bởi BAYOU chỉ cần một vài từ khóa để làm việc, cho nên việc vận hành nó có thể sẽ tốn ít thời gian và dễ dàng hơn đối với người sử dụng.
1. Theo gợi ý của Giáo sư Hồ Tú Bảo, nên dịch deep learning thành "học nhiều tầng"
Phạm Nhật theo Futurism