Chúng ta

Trí tuệ nhân tạo gợi ý lập trình mượt như coder

Chủ nhật, 28/7/2019 | 10:21 GMT+7

Deep TabNine gây ấn tượng mạnh với giới lập trình viên bởi khả năng đề xuất câu lệnh giống như đọc từ trong não người.

Trong vài năm trở lại đây, công nghệ trí tuệ nhân tạo (AI) đang ngày càng cho thấy khả năng to lớn. Bằng cách quét một lượng dữ liệu khổng lồ, các phần mềm học máy giờ đây đã có khả năng sáng tạo nhiều hơn, từ viết truyện ngắn cho đến lời bài hát. Cách đây không lâu, Google đã ứng dụng AI vào Gmail giúp gợi ý cũng như hoàn thành các câu văn cho người dùng. Giờ đây, nó không chỉ giúp soạn email, công nghệ AI đã bắt đầu tham gia vào cả việc lập trình.

Phần mềm lập trình tự động này đươc biết đến với tên Deep TabNine, theo The Verge. Các lập trình viên có thể cài đặt Deep TabNine như một tiện ích bổ sung cho việc gõ code. Lúc này, nhiệm vụ của Deep TabNine là liên tục đưa ra những dòng lệnh gợi ý cho coder.

khong-chi-viet-nhac-viet-van-a-1646-7001

Nhiều lập trình viên khẳng định Deep TabNine có khả năng gợi ý vô cùng chính xác và ấn tượng, giống như đọc được suy nghĩ của người dùng. Ảnh: The Verge

Deep TabNine có chức năng tự động hoàn thành các câu lệnh trong lập trình. Thực chất, nó là một add-on và các lập trình viên có tải và tích hợp vào các Text editor hay IDE (Integrated Development Environment) mà họ sử dụng để lập trình. Khi các lập trình viên bắt đầu code, nó sẽ đưa ra các gợi ý để hoàn thành các dòng lệnh.

Jacob Jackson, người đã tốt nghiệp ngành khoa học máy tính tại đại học Waterloo, đã tạo ra Deep TabNine. Jackson cho biết các chương trình phần mềm như vậy không mới, tuy nhiên công nghệ học máy (machine learning) trong Deep TabNine đã được cải tiến rất nhiều.

Jackson bắt đầu tạo ra bản đầu tiên TabNine của chương trình này từ tháng 2/2018. Trước ngày ra mắt một tháng, Jackson đã tung ra một phiên bản cập nhật của Deep TabNine sử dụng thuật toán deep learning text-generation có tên gọi là GPT-2. Đây là thuật toán này được thiết kế và xây dựng bởi phòng nghiên cứu của OpenAI, ngay lập tức công cụ này đã làm nhiều lập trình viên bất ngờ vì độ chính xác của nó.

Để tăng chính chính xác, Jackson đã cho Deep TabNine rèn luyện với một khối lượng dữ liệu rất lớn. Cụ thể, nó đã được học hỏi từ hơn hai triệu files mã nguồn từ GitHub và giờ nó có thể hoạt động tương thích với gần 20 ngôn ngữ lập trình khác nhau bao gồm: Python, JavaScript, Java, C++, C, PHP, Go, C#, Ruby, Objective-C, Rust, Swift, TypeScript, Haskell, OCaml, Scala, Kotlin, Perl, SQL, HTML, CSS, và Bash.

Với bản cập nhật mới nhất, Deep TabNine được cải thiện khả năng bằng việc sử dụng thuật toán văn bản học sâu GPT-2. Bản cập nhật này ngay sau đó đã gây được ấn tượng với giới lập trình viên, những người gọi đây là sáng tạo điên rồ, không thể tưởng tượng nổi.

Chia sẻ trên The Verge, lập trình viên Frank Nijhof cho biết trong một giờ đầu sử dụng, anh không hoàn thành được gì bởi đầu óc cứ quanh quẩn ý nghĩ về Deep TabNine. Nijhof tỏ ra hết sức ngạc nhiên trước khả năng gợi ý như đọc được suy nghĩ của chương trình này. “Có không ít công cụ gợi ý dòng lệnh, tuy nhiên, khả năng đề xuất của Deep TabNine chính xác hơn rất nhiều. Trước đây tôi đã từng thử các phần mềm khác nhưng chỉ thấy phiền toái, Deep TabNine thì khác”, Nijhof nói.

Theo Jackson, khả năng gợi ý tốt hơn hẳn của Deep TabNine là nhờ chương trình này hoạt động dựa trên cơ sở dự đoán. Hầu hết các chương trình khác dựa vào những gì mà người dùng đã viết để đưa ra đề xuất, giống như lựa chọn bước đi tiếp theo trong một công thức toán học. Với Deep TabNine, nó hoạt động bằng cách so sánh, dựa vào các mẫu thống kê và khả năng học máy để đưa ra đề xuất.

Để sử dụng Deep TabNine, người dùng sẽ phải trả mức phí 49 USD cho một tài khoản cá nhân và 99 USD nếu mua dưới dạng doanh nghiệp. Theo Jackson, Deep TabNine không phải không có điểm yếu. Khả năng hữu ích của chương trình này đến từ việc người dùng sử dụng ngôn ngữ nào và đang làm sản phẩm gì. Ít nhất, những đề xuất của Deep TabNine cũng giúp các lập trình viên rút ngắn thời gian gõ các câu lệnh, từ đó tối ưu hơn hiệu quả làm việc. 

>> iKhiến: CodeLean - hệ thống dạy code, thi lập trình trực tuyến

Hải Ninh

Ý kiến

()