AI Mengubah Pengkodean Program Komputer – Generative Pre-Trained Transformer 3, untuk memberikan nama lengkapnya, adalah model bahasa yang dikembangkan oleh OpenAI, laboratorium kecerdasan buatan (AI) sebagian komersial, sebagian nirlaba di San Francisco.
AI Mengubah Pengkodean Program Komputer
binaryjs – GPT-3 dilatih pada banyak teks yang belum pernah ada sebelumnya untuk mengajarkan kemungkinan bahwa kata tertentu akan mengikuti kata-kata sebelumnya. Ketika diberi teks pendek “prompt”, itu menghasilkan prosa koheren yang menakjubkan yang ditulis dengan gaya yang sama.
Akses ke GPT-3 dibatasi. Untuk satu hal, kata Jack Clark, mantan kepala kebijakan di organisasi tersebut, hal itu mungkin digunakan untuk memproduksi berita palsu secara massal atau membanjiri media sosial dengan pesan-pesan “mengejek dan berduka”.
Baca Juga : Interweaving Poetic Code Terwujud Untuk Menggabungkan Tekstil Dan Coding Robot
Tetapi OpenAI juga tahu bahwa GPT-3 bernilai komersial. Tahun lalu laboratorium mulai membiarkan perusahaan yang diperiksa membeli hasilnya untuk penggunaan yang disetujui. Ini termasuk menghasilkan jawaban atas pertanyaan yang diketik tentang produk, dan memperkuat pidato karakter fiksi di dunia virtual. Tapi mungkin yang paling penting, GPT-3 juga bisa digunakan untuk menulis kode komputer.
Beberapa perusahaan sudah menggunakan GPT-3 dan pendahulunya GPT-2 untuk menambahkan AI ke perangkat lunak yang digunakan pemrogram mereka untuk menulis kode. Banyak dari apa yang diketik oleh programmer ini telah ditulis di tempat lain di beberapa titik di masa lalu.
Ini berarti bahwa dengan memasukkan banyak sekali kode yang sudah ada sebelumnya ke dalam paket-paket tersebut, mereka dapat dilatih untuk memprediksi baris yang dibutuhkan programmer selanjutnya. Saat seorang programmer mengetik, “penyelesaian kode” potensial dari satu atau beberapa baris muncul di layar.
Memprediksi dan menyediakan
Salah satu perusahaan yang telah menciptakan fitur penyelesaian AI seperti itu adalah Tabnine, dari Tel Aviv. Tabnine menggunakan GPT-2 untuk memasukkan begitu banyak kode ke perangkat lunak pemrogramannya, juga bernama Tabnine, sehingga perangkat lunak ini memperoleh semacam “pengetahuan dunia”, kata Eran Yahav, teknolog top perusahaan.
Dr Yahav menggambarkan ini sebagai “gagasan yang cukup bagus tentang bagaimana dunia berperilaku”, setidaknya ketika berbicara tentang pemrograman. Perangkat lunak Tabnine dapat mendeteksi bahwa pengguna telah mulai mengetik kode untuk menangani, katakanlah, pesanan pembelian.
Kemudian akan menyarankan kode untuk menampilkan nama dan harga produk, serta kode untuk membuat kolom untuk diisi dengan jumlah, pembayaran dan data pengiriman. Ia bekerja meskipun Tabnine tidak pernah secara khusus diperintahkan untuk melakukan itu.
Beberapa urutan pengkodean jarang terjadi. Dalam kasus ini, Tabnine memperpanjang daftar pop-up penyelesaian yang disarankan untuk meningkatkan kemungkinan menawarkan yang bermanfaat. Dengan mengklik salah satu yang sesuai, programmer mengajarkan Tabnine untuk tampil lebih baik. Versi profesional Tabnine tampaknya “hampir cerdas” dalam kemampuannya untuk memahami maksud programmer, menurut Dror Weiss, bos perusahaan.
Tabin tidak sendirian. Pada tanggal 17 Juni Microsoft, raksasa perangkat lunak Amerika, merilis versi baru dari fitur penyelesaian AI yang disematkan dalam perangkat lunak pengkodean yang disebut Visual Studio. Versi aslinya, dirilis pada tahun 2018 dan diberi nama IntelliCode, dilatih pada beberapa ribu repositori online tempat kode untuk proyek pemrograman disimpan.
Microsoft melatih sistemnya yang ditingkatkan pada lebih dari setengah juta repositori semacam itu. Amanda Silver, salah satu eksekutif yang bertanggung jawab atas Visual Studio, mengatakan bahwa tumpukan pelatihan tambahan ini memungkinkan versi baru untuk mendapatkan maksud yang lebih baik dari petunjuk dalam kode yang telah ditulis oleh seorang programmer.
Tujuan dari semua ini, tentu saja, adalah untuk menghemat waktu. Kite, sebuah perusahaan di San Francisco, mengklaim produk AI-completion-nya memangkas jumlah penekanan tombol yang diperlukan untuk beberapa tugas hingga hampir setengahnya. Keuntungan efisiensi keseluruhan, bagaimanapun, lebih rendah.
Vitaly Khudobakhshov, kepala produk AI di kantor JetBrains St Petersburg, pengembang perangkat lunak pemrograman Ceko, melihat penghematan waktu sebesar 10% hingga 20%. Dalam pandangan Sharif Shameem, bos Debuild, sebuah perusahaan di San Francisco yang menggunakan GPT-3 untuk membantu membangun situs web, teknologi ini juga mengurangi “overhead kognitif”. Memilih dari beberapa pilihan kurang melelahkan daripada merancang solusi dari awal.
Bug dan sistem
Mereka yang menulis kode juga bukan satu-satunya penerima manfaat. Pengembang menghabiskan hampir banyak waktu untuk mencari bug dalam apa yang telah mereka tulis seperti halnya menulisnya di tempat pertama. Model pembelajaran mesin yang sedang dibangun oleh Brendan Dolan-Gavitt dari Universitas New York dapat mempercepat proses debug.
Untuk melatihnya, Dr Dolan-Gavitt mengumpulkan kode yang diberi label buggy oleh GitHub, anak perusahaan Microsoft yang menampung koleksi kode “sumber terbuka” non-eksklusif terbesar di dunia. Menurut satu perkiraan, GitHub menyimpan setidaknya satu miliar cuplikan kode yang diidentifikasi sebagai menyembunyikan bug. Model Dr Dolan-Gavitt, sementara disebut GPT-CSRC, akan melahap kode itu musim panas ini.
Model bug-spotting lainnya sedang dikembangkan di Massachusetts Institute of Technology (MIT). Shashank Srikant, seorang mahasiswa PhD yang mengerjakan proyek tersebut, mengatakan tujuannya adalah untuk melatih model untuk mengenali tidak hanya bug yang tidak disengaja, tetapi juga kerentanan yang dimasukkan secara jahat.
Karyawan nakal terkadang berada di balik tipu daya semacam ini, yang dimaksudkan untuk melakukan hal-hal seperti secara diam-diam mendapatkan akses ke kata sandi. Namun, praktik ini paling umum dalam proyek pemrograman sumber terbuka yang dapat disumbangkan oleh siapa saja. Peninjau manusia biasanya berjuang untuk menemukan “suntikan kerentanan” ini, seperti yang kadang-kadang dikenal.
Alasannya, kata Srikant, adalah bahwa, dalam upaya untuk menyelipkan hasil kerja mereka melewati pengulas, pembuat kode yang licik sering menggunakan nama yang menipu tetapi murni kosmetik untuk hal-hal seperti variabel yang ditangani oleh sebuah program.
Oleh karena itu, tim di MIT melatih modelnya untuk menandai perbedaan antara label cuplikan dan fungsi sebenarnya. Kesulitannya adalah bahwa contoh yang baik dari kerusakan seperti itu jauh lebih jarang daripada kesalahan biasa.
Namun, ada tanda tambahan bahwa injeksi kerentanan mungkin mengintai. Pembuat kode jahat sering menyembunyikan ini dengan menulis kode berlebihan yang dimaksudkan untuk membuat pengulas, jadi Mr Srikant juga memberi makan model MIT dengan contoh jenis kode yang berpotensi sebagai tanda, yang ia gambarkan sebagai “menggantung” dan “mati”.
Tujuan yang jelas dari semua aktivitas ini adalah penciptaan pemrogram perangkat lunak yang dapat, seperti keragaman manusia, mengambil ide dan mengubahnya menjadi kode. Sebuah firasat tentang hal-hal yang akan datang disediakan oleh situs web yang dibuat oleh Dr Dolan-Gavitt.
Dinamakan “Kode Ini Tidak Ada”, kode ini meminta pemrogram untuk menentukan apakah bagian kode yang panjangnya puluhan baris ditulis oleh manusia atau model berdasarkan GPT-2 yang dia buat. Dari lebih dari 329.200 penilaian yang dilakukan, kurang dari 51% yang benar. Itu hanya bayangan yang lebih baik daripada acak.
Mesin, ternyata, sekarang dapat menulis urutan kode yang berfungsi bahkan agak panjang. Seperti yang ditweet oleh John Carmack, seorang insinyur komputer Amerika yang terkenal, merenungkan perkembangan ini “menghasilkan sedikit getaran”. Tidak mengherankan, sejumlah perusahaan melihat peluang.
Salah satunya adalah perusahaan Paris bernama SourceAI. Ini merancang perangkat lunak tempat pengguna mengetik, dalam bahasa alami, permintaan kode—seperti sesuatu yang akan menghitung nilai angka dalam rumus matematika yang disebut deret Fibonacci. Dengan memanfaatkan GPT-3, perangkat lunak eponim SourceAI menghasilkan baris kode yang diinginkan dalam berbagai bahasa pemrograman.
Debuild sedang menguji ide yang sama. Ia mencoba membuat perangkat lunak yang memungkinkan non-programmer menggambarkan, dalam bahasa Inggris sederhana, sebuah program yang ingin mereka buat, dan kemudian akan menulisnya.
Permintaan untuk, katakanlah, aplikasi pangkas rambut yang memungkinkan pelanggan memilih tukang cukur dan slot janji temu sudah dapat menghasilkan lebih atau kurang hanya itu. Mr Shameem mengatakan tujuannya adalah untuk menghapus hal-hal kecil dari mengetik kode, sehingga orang dapat fokus pada apa yang ingin mereka lakukan, bukan bagaimana menginstruksikan komputer untuk melakukannya.
Untuk bagiannya, Microsoft juga menggunakan GPT-3 untuk mendukung apa yang disebutnya pemrograman “tanpa kode/kode rendah”. Charles Lamanna, yang memimpin pekerjaan tersebut, membayangkan masa depan yang cerah dari perangkat lunak yang lebih murah yang dibuat oleh “pengembang warga” yang tidak terlatih.
Beberapa orang takut akan hasil alternatif yang lebih gelap. Mungkinkah AI pada akhirnya menulis kode apa pun yang ingin mereka jalankan? Tidak ada loop umpan balik pelarian seperti itu di tikungan. Tapi andalan fiksi ilmiah itu sekarang tampaknya tidak terlalu mengada-ada.