Infomalangraya.com –
“Belajar kode.” Peyoratif tiga kata itu terus-menerus ada di bibir dan di ujung jari troll internet dan teknisi setiap kali PHK media diumumkan. Sentimen yang tidak berguna dalam dirinya sendiri, tetapi dengan munculnya AI penghasil kode baru-baru ini, mengetahui seluk beluk bahasa pemrograman seperti Python dapat segera berguna seperti mengetahui bagaimana berbicara bahasa mati seperti bahasa Sansekerta dengan lancar. Faktanya, genAI ini telah membantu pengembang perangkat lunak profesional membuat kode lebih cepat dan lebih efektif dengan menangani sebagian besar pekerjaan kasar pemrograman.
Cara kerja pengkodean
Dua dari bahasa pengkodean yang paling banyak didistribusikan dan ditulis saat ini adalah Java dan Python. Mantan hampir sendirian merevolusi operasi lintas platform ketika dirilis pada pertengahan tahun 90-an dan sekarang menggerakkan “segala sesuatu mulai dari kartu pintar hingga kendaraan luar angkasa,” menurut Majalah Jawa pada tahun 2020 — belum lagi fungsi pencarian Wikipedia dan semua Minecraft. Yang terakhir sebenarnya mendahului Java beberapa tahun dan berfungsi sebagai basis kode untuk banyak aplikasi modern seperti Dropbox, Spotify, dan Instagram.
Mereka berbeda secara signifikan dalam operasinya karena Java perlu dikompilasi (memiliki kode yang dapat dibaca manusia diterjemahkan ke dalam kode mesin yang dapat dieksekusi komputer) sebelum dapat dijalankan, sementara Python adalah bahasa yang ditafsirkan yang berarti bahwa kode manusianya diubah menjadi kode mesin. baris demi baris saat program dijalankan, memungkinkannya berjalan tanpa dikompilasi terlebih dahulu. Metode interpretasi memungkinkan kode menjadi lebih mudah ditulis untuk berbagai platform sementara kode yang dikompilasi cenderung difokuskan pada jenis prosesor tertentu. Terlepas dari bagaimana mereka berjalan, proses penulisan kode yang sebenarnya hampir identik antara keduanya: seseorang harus duduk, membuka editor teks atau Integrated Development Environment (IDE) dan benar-benar menulis semua baris instruksi tersebut. Dan sampai saat ini, seseorang itu biasanya adalah manusia.
Proses penulisan “pemrograman klasik” saat ini tidak jauh berbeda dengan proses ENIAC, dengan seorang insinyur perangkat lunak mengambil masalah, memecahnya menjadi serangkaian sub-masalah, menulis kode untuk menyelesaikan setiap sub-masalah tersebut secara berurutan, dan kemudian berulang kali men-debug dan mengkompilasi ulang kode hingga berjalan. “Pemrograman otomatis”, di sisi lain, menghilangkan programmer dengan tingkat pemisahan. Alih-alih manusia menulis setiap baris kode satu per satu, orang tersebut membuat abstraksi tingkat tinggi dari tugas untuk komputer kemudian menghasilkan kode tingkat rendah untuk ditangani. Ini berbeda dari pemrograman “interaktif”, yang memungkinkan Anda membuat kode program saat sedang berjalan.
Sistem pengkodean AI percakapan hari ini, seperti yang kita lihat di Copilot Github atau ChatGPT OpenAI, menghapus programmer lebih jauh dengan menyembunyikan proses pengkodean di balik lapisan bahasa alami. Pemrogram memberi tahu AI apa yang mereka ingin diprogram dan bagaimana, dan mesin dapat secara otomatis menghasilkan kode yang diperlukan.
Di antara yang pertama dari generasi baru AI pengkodean percakapan ini adalah Codex, yang dikembangkan oleh OpenAI dan dirilis pada akhir 2021. OpenAI telah menerapkan GPT-3 (pendahulu GPT-3.5 yang memberdayakan publik BingChat) pada saat ini, bahasa besar model sangat mahir meniru ucapan dan tulisan manusia setelah dilatih tentang miliaran kata dari web publik. Perusahaan kemudian menyempurnakan model itu menggunakan 100 gigabyte lebih data GitHub untuk membuat Codex. Itu mampu menghasilkan kode dalam 12 bahasa berbeda dan dapat menerjemahkan program yang ada di antara keduanya.
Codex mahir menghasilkan aset kecil, sederhana, atau berulang, seperti “tombol merah besar yang mengguncang layar sebentar saat diklik” atau fungsi biasa seperti validator alamat email di Formulir Web Google. Tapi tidak peduli seberapa produktif prosa Anda, Anda tidak akan menggunakannya untuk proyek-proyek kompleks seperti pengkodean program load balancing sisi server — itu permintaan yang terlalu rumit.
DeepMind Google mengembangkan AlphaCode khusus untuk mengatasi tantangan tersebut. Seperti Codex, AlphaCode pertama kali dilatih pada beberapa gigabyte arsip kode GitHub yang ada, tetapi kemudian diberi makan ribuan tantangan pengkodean yang ditarik dari kompetisi pemrograman online, seperti mencari tahu berapa banyak string biner dengan panjang tertentu yang tidak mengandung angka nol berturut-turut.
Untuk melakukan ini, AlphaCode akan menghasilkan sebanyak satu juta kandidat kode, lalu menolak semua kecuali 1 persen teratas untuk lulus kasus pengujiannya. Sistem kemudian akan mengelompokkan program yang tersisa berdasarkan kesamaan keluarannya dan mengujinya secara berurutan hingga menemukan kandidat yang berhasil menyelesaikan masalah yang diberikan. Per studi tahun 2022 yang diterbitkan di Sains, AlphaCode berhasil menjawab pertanyaan tantangan tersebut dengan benar 34 persen dari waktu (dibandingkan dengan kesuksesan satu digit Codex pada tolok ukur yang sama, itu tidak buruk). DeepMind bahkan memasukkan AlphaCode dalam kontes pemrograman online 5.000 pesaing, yang melampaui hampir 46 persen pesaing manusia.
Sekarang bahkan AI punya catatan
Sama seperti GPT-3.5 yang berfungsi sebagai model dasar untuk ChatGPT, Codex berfungsi sebagai dasar untuk GitHub’s Copilot AI. Terlatih dengan miliaran baris kode yang dikumpulkan dari web publik, Copilot menawarkan fitur pelengkapan otomatis pengkodean berbantuan AI berbasis cloud melalui plugin langganan untuk lingkungan pengembangan terintegrasi (IDE) Visual Studio Code, Visual Studio, Neovim, dan JetBrains.
Awalnya dirilis sebagai pratinjau pengembang pada Juni 2021, Copilot adalah salah satu AI berkemampuan pengkodean pertama yang menjangkau pasar. Lebih dari satu juta pengembang telah memanfaatkan sistem dalam dua tahun sejak itu, Wakil Presiden Produk GitHub Ryan J Salva, mengatakan kepada Engadget selama wawancara baru-baru ini. Dengan Copilot, pengguna dapat menghasilkan kode yang dapat dijalankan dari input teks bahasa alami serta pelengkapan otomatis bagian kode yang sering diulang dan fungsi pemrograman.
Salva mencatat bahwa sebelum rilis Copilot, saran pengkodean buatan mesin GitHub sebelumnya hanya diterima oleh pengguna 14 – 17 persen dari waktu, “tidak apa-apa. Itu berarti itu membantu pengembang. Dalam dua tahun sejak debut Copilot, angka itu telah tumbuh menjadi 35 persen, “dan itu menjaring di bawah setengah dari jumlah kode yang ditulis. [on GitHub] — tepatnya 46 persen oleh AI.”
“[It’s] bukan hanya masalah persentase kode yang ditulis, ”jelas Salva. “Ini benar-benar tentang produktivitas, fokus, kepuasan pengembang yang membuat.”
Seperti output generator bahasa alami seperti ChatGPT, kode yang berasal dari Copilot sebagian besar dapat dibaca, tetapi seperti model bahasa besar mana pun yang dilatih di internet terbuka, GitHub memastikan untuk memasukkan perlindungan tambahan terhadap sistem yang secara tidak sengaja menghasilkan kode yang dapat dieksploitasi.
“Antara saat model menghasilkan saran dan saat saran itu diberikan kepada pengembang,” kata Salva, “kami saat runtime melakukan … analisis kualitas kode untuk pengembang, mencari kesalahan umum atau kerentanan dalam kode seperti skrip lintas situs atau jalur injeksi.”
Langkah audit itu dimaksudkan untuk meningkatkan kualitas kode yang direkomendasikan dari waktu ke waktu daripada memantau atau mengawasi untuk apa kode itu digunakan. Kopilot dapat membantu pengembang membuat kode yang menyusun malware, sistem tidak akan mencegahnya. “Kami telah mengambil posisi bahwa Copilot hadir sebagai alat untuk membantu pengembang menghasilkan kode,” kata Salva, menunjuk ke banyak aplikasi White Hat untuk sistem semacam itu. “Menempatkan alat seperti Copilot di tangan mereka … menjadikan mereka peneliti keamanan yang lebih mumpuni,” lanjutnya.
Ketika teknologi terus berkembang, Salva melihat pengkodean AI generatif berkembang jauh melampaui batas teknologinya saat ini. Itu termasuk “mengambil taruhan besar” pada AI percakapan. “Kami juga melihat pengembangan yang dibantu oleh AI benar-benar meresap ke bagian lain dari siklus hidup pengembangan perangkat lunak,” katanya, seperti menggunakan AI untuk secara mandiri memperbaiki kesalahan pembuatan CI/CD, menambal kerentanan keamanan, atau meminta AI meninjau tulisan manusia kode.
“Sama seperti kita menggunakan kompiler untuk menghasilkan kode tingkat mesin hari ini, saya pikir mereka pada akhirnya akan mendapatkan lapisan abstraksi lain dengan AI yang memungkinkan pengembang untuk mengekspresikan diri mereka dalam bahasa yang berbeda,” kata Salva. “Mungkin itu bahasa alami seperti Inggris atau Prancis, atau Korea. Dan itu kemudian ‘dikompilasi’ menjadi sesuatu yang dapat dipahami oleh mesin,” membebaskan para insinyur dan pengembang untuk fokus pada pertumbuhan proyek secara keseluruhan daripada pada konstruksinya.
Dari coder hingga gabbers
Dengan pengambilan keputusan manusia yang masih terjepit kuat dalam lingkaran pemrograman AI, setidaknya untuk saat ini, kita tidak perlu takut memiliki perangkat lunak pembuat perangkat lunak. Seperti yang dicatat Salva, komputer sudah melakukan ini sampai taraf tertentu ketika menyusun kode, dan goos abu-abu digital belum mengambil alih karenanya. Alih-alih, tantangan paling langsung yang dihadapi pemrograman AI mencerminkan AI generatif secara umum: bias bawaan yang membelokkan data pelatihan, keluaran model yang melanggar hak cipta, dan kekhawatiran seputar privasi data pengguna saat melatih model bahasa besar.
GitHub tidak sendirian dalam upayanya membangun teman pemrograman AI. ChatGPT OpenAI mampu menghasilkan kode — seperti juga varian indie yang sudah tak terhitung jumlahnya yang dibangun di atas platform GPT. Begitu juga dengan sistem AWS CodeWhisperer Amazon, yang menyediakan banyak fungsi pelengkapan otomatis yang sama dengan Copilot, tetapi dioptimalkan untuk digunakan dalam kerangka kerja AWS. Setelah beberapa permintaan dari pengguna, Google juga memasukkan pembuatan kode dan kemampuan debugging ke dalam Bard April lalu, menjelang poros seluruh ekosistemnya untuk merangkul AI di I/O 2023 dan rilis Codey, jawaban Alphabet untuk Copilot. Kami belum bisa memastikan seperti apa sistem pengkodean generatif pada akhirnya atau bagaimana hal itu dapat memengaruhi industri teknologi – kami dapat melihat iterasi paling awal dari teknologi demokratisasi transformatif, atau bisa juga Clippy untuk generasi baru.
Semua produk yang direkomendasikan oleh Engadget dipilih oleh tim editorial kami, terlepas dari perusahaan induk kami. Beberapa cerita kami menyertakan tautan afiliasi. Jika Anda membeli sesuatu melalui salah satu tautan ini, kami dapat memperoleh komisi afiliasi. Semua harga adalah benar pada saat penerbitan.