AI Dapat Menulis Kode Seperti Manusia—Bug dan Semua


Beberapa pengembang perangkat lunak sekarang membiarkan kecerdasan buatan membantu menulis kode mereka. Mereka menemukan bahwa AI sama cacatnya dengan manusia.

Juni lalu, GitHub, anak perusahaan Microsoft yang menyediakan alat untuk hosting dan berkolaborasi dalam kode, merilis versi beta dari program yang menggunakan AI untuk membantu pemrogram. Mulai ketik perintah, kueri database, atau permintaan ke API, dan program, yang disebut Copilot, akan menebak maksud Anda dan menulis sisanya.

Alex Naka, seorang ilmuwan data di sebuah perusahaan biotek yang mendaftar untuk menguji Copilot, mengatakan program ini bisa sangat membantu, dan itu telah mengubah cara dia bekerja. “Ini memungkinkan saya menghabiskan lebih sedikit waktu melompat ke browser untuk mencari dokumen API atau contoh di Stack Overflow,” katanya. “Rasanya sedikit seperti pekerjaan saya telah bergeser dari pembuat kode menjadi pembedanya.”

Tetapi Naka menemukan bahwa kesalahan dapat menyusup ke dalam kodenya dengan cara yang berbeda. “Ada saat-saat di mana saya melewatkan semacam kesalahan halus ketika saya menerima salah satu proposalnya,” katanya. “Dan bisa sangat sulit untuk melacaknya, mungkin karena sepertinya itu membuat kesalahan yang memiliki rasa yang berbeda dari jenis yang akan saya buat.”

Risiko AI menghasilkan kode yang salah mungkin sangat tinggi. Para peneliti di NYU baru-baru ini menganalisis kode yang dihasilkan oleh Copilot dan menemukan bahwa, untuk tugas-tugas tertentu di mana keamanan sangat penting, kode tersebut mengandung kelemahan keamanan sekitar 40 persen.

Angka tersebut “sedikit lebih tinggi dari yang saya duga,” kata Brendan Dolan-Gavitt, seorang profesor di NYU yang terlibat dalam analisis tersebut. “Tapi cara Copilot dilatih sebenarnya bukan untuk menulis kode yang baik—itu hanya untuk menghasilkan jenis teks yang akan mengikuti perintah yang diberikan.”

Terlepas dari kekurangan seperti itu, Copilot dan alat bertenaga AI serupa dapat menandai perubahan besar dalam cara pengembang perangkat lunak menulis kode. Ada minat yang tumbuh dalam menggunakan AI untuk membantu mengotomatiskan pekerjaan yang lebih biasa. Tapi Copilot juga menyoroti beberapa jebakan teknik AI saat ini.

Saat menganalisis kode yang disediakan untuk plugin Copilot, Dolan-Gavitt menemukan bahwa itu termasuk daftar frasa terbatas. Ini tampaknya diperkenalkan untuk mencegah sistem mengeluarkan pesan ofensif atau menyalin kode terkenal yang ditulis oleh orang lain.

Oege de Moor, wakil presiden penelitian di GitHub dan salah satu pengembang Copilot, mengatakan bahwa keamanan telah menjadi perhatian sejak awal. Dia mengatakan persentase kode cacat yang dikutip oleh para peneliti NYU hanya relevan untuk subset kode di mana kelemahan keamanan lebih mungkin terjadi.

De Moor menemukan CodeQL, alat yang digunakan oleh para peneliti NYU yang secara otomatis mengidentifikasi bug dalam kode. Dia mengatakan GitHub merekomendasikan agar pengembang menggunakan Copilot bersama dengan CodeQL untuk memastikan pekerjaan mereka aman.

Program GitHub dibangun di atas model AI yang dikembangkan oleh OpenAI, perusahaan AI terkemuka yang melakukan pekerjaan mutakhir dalam pembelajaran mesin. Model itu, yang disebut Codex, terdiri dari jaringan saraf tiruan besar yang dilatih untuk memprediksi karakter berikutnya dalam teks dan kode komputer. Algoritme menyerap miliaran baris kode yang disimpan di GitHub—tidak semuanya sempurna—untuk mempelajari cara menulis kode.

OpenAI telah membangun alat pengkodean AI sendiri di atas Codex yang dapat melakukan beberapa trik pengkodean yang menakjubkan. Itu dapat mengubah instruksi yang diketik, seperti “Buat array variabel acak antara 1 dan 100 dan kemudian kembalikan yang terbesar,” menjadi kode kerja dalam beberapa bahasa pemrograman.

Versi lain dari program OpenAI yang sama, yang disebut GPT-3, dapat menghasilkan teks yang koheren pada subjek tertentu, tetapi juga dapat memuntahkan bahasa yang menyinggung atau bias yang dipelajari dari sudut web yang lebih gelap.

Copilot dan Codex telah membuat beberapa pengembang bertanya-tanya apakah AI dapat mengotomatiskan mereka dari pekerjaan. Faktanya, seperti yang ditunjukkan oleh pengalaman Naka, pengembang membutuhkan keterampilan yang cukup untuk menggunakan program ini, karena mereka sering kali harus memeriksa atau mengubah sarannya.


Diposting oleh : Lagutogel