
Tự động hóa việc viết mã có thể thay đổi phát triển phần mềm, nhưng các hạn chế và điểm mù của trí tuệ nhân tạo hiện đại có thể mang lại vấn đề mới. Thuật toán học máy có thể hoạt động không dự đoán được, và mã được tạo ra bởi máy có thể chứa lỗi nguy hiểm trừ khi nó được kiểm tra một cách cẩn thận.
GPT-3 là một mạng nơ-ron nhân tạo khổng lồ được huấn luyện trên lượng lớn văn bản được thu thập từ web. Nó không hiểu ý nghĩa của văn bản đó, nhưng nó có thể nắm bắt các mô hình ngôn ngữ đủ tốt để tạo ra bài viết về một chủ đề cụ thể, tóm tắt một đoạn văn một cách ngắn gọn, hoặc trả lời câu hỏi về nội dung của tài liệu.
Việc tự động hóa việc viết mã có thể thay đổi phát triển phần mềm, nhưng các hạn chế và điểm mù của trí tuệ nhân tạo hiện đại có thể mang lại vấn đề mới. Thuật toán học máy có thể hoạt động không dự đoán được, và mã được tạo ra bởi máy có thể chứa lỗi nguy hiểm trừ khi nó được kiểm tra một cách cẩn thận.
“Khi thử nghiệm công cụ, chúng tôi nhận ra rằng nó có thể tạo ra mã,” nói Furkan Bektes, người sáng lập và CEO của SourceAI. “Đó là lúc chúng tôi nảy ra ý tưởng phát triển SourceAI.”
Anh không phải là người đầu tiên nhận thức được tiềm năng. Ngay sau khi GPT-3 được phát hành, một lập trình viên đã chứng minh rằng nó có thể tạo ra ứng dụng web tùy chỉnh, bao gồm các nút, ô nhập văn bản và màu sắc, bằng cách remix các đoạn mã mà nó đã được cung cấp. Công ty khác, Debuild, có kế hoạch thương mại hóa công nghệ này.
SourceAI mục tiêu để người dùng của nó có thể tạo ra một loạt các chương trình trong nhiều ngôn ngữ khác nhau, từ đó giúp tự động hóa việc tạo ra nhiều phần mềm hơn. “Các nhà phát triển sẽ tiết kiệm thời gian trong việc viết mã, trong khi những người không có kiến thức về lập trình cũng có thể phát triển ứng dụng,” Bektes nói.
Một công ty khác, TabNine, đã sử dụng phiên bản trước đó của mô hình ngôn ngữ GPT-2 của OpenAI, mà OpenAI đã phát hành, để xây dựng một công cụ cung cấp tính năng tự động hoàn chỉnh một dòng hoặc một hàm khi một nhà phát triển bắt đầu gõ.
Một số ông lớn trong ngành phần mềm cũng có vẻ quan tâm. Microsoft đã đầu tư 1 tỷ đô la vào OpenAI vào năm 2019 và đã đồng ý cấp phép sử dụng GPT-3. Tại hội nghị Build của tập đoàn phần mềm vào tháng 5, Sam Altman, một trong những người sáng lập OpenAI, đã thể hiện cách GPT-3 có thể tự động hoàn thành mã cho một nhà phát triển. Microsoft từ chối bình luận về cách nó có thể sử dụng trí tuệ nhân tạo trong các công cụ phát triển phần mềm của mình.
Brendan Dolan-Gavitt, giáo sư trợ giảng tại Bộ môn Khoa học và Kỹ thuật Máy tính tại Đại học NYU, cho biết mô hình ngôn ngữ như GPT-3 có thể sẽ được sử dụng để giúp nhà phát triển chương trình. Các sản phẩm khác sẽ sử dụng mô hình để “xác định các lỗi có thể xảy ra trong mã của bạn khi bạn viết nó, bằng cách tìm kiếm những điều mà mô hình ngôn ngữ coi là ‘bất ngờ’,” anh ta nói.
Tuy nhiên, việc sử dụng trí tuệ nhân tạo để tạo ra và phân tích mã có thể gặp vấn đề. Trong một bài báo được đăng trực tuyến vào tháng 3, các nhà nghiên cứu tại MIT đã chỉ ra rằng một chương trình trí tuệ nhân tạo được đào tạo để xác nhận rằng mã sẽ chạy an toàn có thể bị đánh lừa bằng cách thay đổi một số biến cẩn thận, như thay thế một số biến, để tạo ra một chương trình có hại. Shashank Srikant, một sinh viên nghiên cứu tiến sĩ liên quan đến công việc, nói rằng không nên phụ thuộc quá nhiều vào các mô hình nhân tạo. “Một khi những mô hình này được triển khai, mọi thứ có thể trở nên khá nguy hiểm nhanh chóng,” anh ta nói.
Dolan-Gavitt, giáo sư tại NYU, cho biết bản chất của các mô hình ngôn ngữ được sử dụng để tạo ra các công cụ viết mã cũng gây ra vấn đề. “Tôi nghĩ việc sử dụng trực tiếp các mô hình ngôn ngữ có thể kết thúc việc tạo ra mã lỗi và thậm chí là mã không an toàn,” anh ta nói. “Cuối cùng, chúng được đào tạo trên mã được viết bởi con người, thường xuyên là mã có lỗi và không an toàn.”
Dolan-Gavitt đã tạo ra trang web This Code Does Not Exist, nơi yêu cầu khách truy cập đánh giá xem một đoạn mã có phải do con người viết hay bởi một phiên bản chuyên biệt của GPT-2. Anh ta hiện đang phát triển mã được tạo bởi trí tuệ nhân tạo để tạo ra lỗi cho việc kiểm thử phần mềm an ninh.
Những nhà khoa học máy tính đã nghiên cứu cách tự động tạo mã trong nhiều thập kỷ, nhưng trí tuệ nhân tạo hiện đại đã làm nổi lên sự quan tâm mới về các khả năng.
Các nhà nghiên cứu tại Facebook vào tháng 4 năm 2019 đã công bố chi tiết về Aroma, một công cụ sử dụng học máy để xác định các đoạn mã có chức năng tương tự, điều này có thể giúp nhà phát triển viết các chương trình nhanh hơn và tránh lỗi. Một đội tại DeepMind đã trình diễn một chương trình trí tuệ nhân tạo vào tháng 10 năm 2020 có thể tạo ra các phiên bản hiệu quả hơn của các thuật toán được viết bởi con người. Intel có dự án có tên Machine Inferred Code Similarity sử dụng trí tuệ nhân tạo để xác định mã làm gì, điều này có thể giúp tự động hóa việc xây dựng các chương trình phức tạp. Học máy cũng đã xuất hiện như một cách để tự động hóa một số công việc cần thiết để xây dựng và điều chỉnh các thuật toán học máy khác.
Vấn đề còn lại là xem công cụ của SourceAI thực sự hoạt động như thế nào. Hiện chưa có bản demo công khai về công nghệ này, nhưng Bektes, người sáng lập, cho biết đối với các lệnh đơn giản, nó hoạt động từ 80 đến 90 phần trăm thời gian. Anh ta có vẻ tự tin rằng nó có thể thay đổi một số khía cạnh của phát triển phần mềm. “Sinh viên sẽ sử dụng nó để làm bài tập nhanh chóng,” anh ta nói đùa.
Những điều tuyệt vời khác của MYTOUR
- 📩 Thông tin mới nhất về công nghệ, khoa học và nhiều hơn nữa: Nhận bản tin của chúng tôi!
- Khi ông chủ của tất cả các ứng dụng hẹn hò gặp đại dịch
- Phục vụ thực phẩm ở những nhà hàng ở xa—ngay từ sofa của bạn
- Vi khuẩn mới tinh vi trên ISS có thể xây dựng tương lai trên Sao Hỏa
- Hãy thừa nhận rằng Stadia thực sự ổn
- Sức mạnh chữa lành của JavaScript
- 👁️ Khám phá trí tuệ nhân tạo như chưa bao giờ có với cơ sở dữ liệu mới của chúng tôi
- 🎮 MYTOUR Games: Nhận các mẹo, đánh giá và nhiều hơn nữa
- 📱 Bị lạc lõng giữa các chiếc điện thoại mới nhất? Đừng lo sợ—hãy kiểm tra hướng dẫn mua iPhone và các điện thoại Android yêu thích của chúng tôi
