GitHub Copilot dari Microsoft mengejar ‘waktu ke nilai’ absolut dari AI dalam pemrograman.

Maria Diaz/ZDNET

Sengketa tentang sejauh mana AI generatif dapat membantu para coder sedang berlangsung. David Gewirtz dari ZDNET sendiri menemukan dari percobaan langsungnya bahwa ChatGPT dari OpenAI “dapat menulis kode yang cukup baik.” Namun, beberapa penelitian menemukan bahwa model bahasa besar seperti GPT-4 jauh di bawah coder manusia dalam hal kualitas kode secara keseluruhan.

Namun, beberapa berpendapat bahwa perdebatan tentang apakah AI dapat menjadi seorang coder atau tidak mungkin melewatkan inti masalahnya. Mereka mengatakan bahwa esensi bantuan coding melalui otomasi terletak pada perubahan sifat pekerjaan seorang programmer.

“Jika Anda bertanya kepada saya apa perubahan besar yang terjadi, apa yang terjadi dengan dunia generative AI adalah kita telah menciptakan lapisan abstraksi lain di atas AI,” kata Inbal Shani, chief product officer untuk GitHub, situs pengembang yang dimiliki oleh Microsoft, dalam sebuah wawancara dengan ZDNET. Lapisan abstraksi tersebut, yaitu bahasa alami, awalnya hanya digunakan untuk melengkapi kode. “Itulah lapisan dasar yang telah kita lihat,” katanya. Kelebihan dari lapisan abstraksi ini, menurut Shani, adalah bahwa itu dapat meluas ke banyak penggunaan AI lainnya di luar melengkapi kode.

GitHub memperkenalkan versi bantuan kode mereka, GitHub Copilot, pada bulan Juni 2021. Tahun ini telah menjadi “tahun transformasi” bagi AI dalam pemrograman, kata Shani. Seperti yang diumumkan oleh CEO Microsoft Satya Nadella pada bulan Oktober, GitHub memiliki lebih dari satu juta pelanggan berbayar yang menggunakan Copilot, dan lebih dari 37.000 organisasi yang menggunakannya.

Shani menyebut pengguna Copilot terkemuka seperti Accenture, yang telah menempatkan ratusan pengembang di Copilot. “Mereka melihat bahwa ada banyak penggunaan untuk mengurangi apa yang kita sebut sebagai kode boilerplate, yaitu kode yang berulang yang tidak disukai oleh para pengembang, tetapi harus ditulis karena merupakan bagian dari dasar mereka.” Accenture telah mempertahankan 88,5% kode yang ditulis oleh Copilot, kata Shani. “Jadi ini berarti Copilot dapat memberikan jawaban dengan akurasi tinggi kepada pengembang mereka sehingga mereka memilih untuk menyimpan kode tersebut dan tidak perlu menulis ulang.”

MEMBACA  Debat misoginis dipicu oleh TikTok viral 'Gen Z Boss dan Mini' dari merek perawatan kulit

Berdasarkan satu ukuran produktivitas, jumlah permintaan pull yang diselesaikan tepat waktu, ketika kode baru digabungkan dengan sumber utama proyek, meningkat sebesar 15% dengan menggunakan Copilot di Accenture. Selain itu, “Mereka melihat pengembang lebih cenderung melalui proses build,” tugas mengonversi kode menjadi binary yang berjalan.

“Terkadang, para pengembang menghambat diri mereka sendiri” dalam melakukan build, katanya. “Mereka mengatakan, saya tidak percaya, saya perlu menguji lagi, tetapi menggunakan Copilot, itu membantu membangun kepercayaan untuk melakukan deploy lebih banyak kode ke produksi.”

Prospek perubahan-perubahan kecil tersebut – lebih banyak permintaan pull, lebih banyak build, penulisan kode boilerplate yang lebih sedikit – memiliki manfaat kualitatif langsung dalam perubahan sehari-hari seorang pengembang.

“Jika kita dapat meningkatkan tingkat build secara konsisten, itu akan membantu pengembang menghabiskan lebih sedikit waktu menunggu build, sehingga memiliki lebih banyak waktu untuk fokus pada arsitektur dan sebagainya,” kata Shani. “Penemuan mengejutkan yang saya temukan adalah bahwa pengembang memiliki kurang dari dua jam sehari untuk menulis kode,” rata-rata, kata Shani. “Mereka perlu melakukan banyak hal yang berhubungan dengan siklus pengembangan perangkat lunak, tetapi bukan tentang coding – mereka melakukan build, menulis tes, menghadiri rapat, berinteraksi dengan orang lain, menulis PR (pull request).”

Dengan mengotomatisasi beberapa tugas tersebut, atau sebagian dari tugas tersebut, ada prospek “kami memberikan lebih banyak bandwidth kepada pengembang untuk berinvestasi di bidang-bidang lain.”

Namun, semua ini belum sepenuhnya diukur secara ketat dalam hal peningkatan produktivitas, kata Shani. “Saya pikir kita sedang berada di tengah-tengah itu,” katanya tentang proses pengukuran produktivitas. Copilot dan sejenisnya “belum diadopsi cukup lama bagi kita untuk mendapatkan data nyata dan substansial yang dapat kita katakan, inilah bagaimana kita telah mengubah hidup selamanya.”

MEMBACA  Seorang karyawan toko Apple memberikan alasan mengejutkan bagi saya untuk mencintai Vision Pro

Definisi-definisi selalu menjadi tantangan untuk produktivitas, katanya. “Anda dapat menulis kode yang buruk dengan cepat,” jadi, mempercepat kode melalui melengkapi kode “tidak selalu merupakan indikator keberhasilan.” Lebih tepatnya, kata Shani, “pekerjaan yang sedang kami lakukan adalah, apa itu time to value yang sebenarnya? Apa dampaknya? Bagaimana kita mengukur dampak dari alat-alat ini yang telah kita adopsi sepanjang jalan? Itu masih sedang berlangsung.”

Elemen penting lainnya yang perlu diukur adalah “bagaimana mendefinisikan kebahagiaan pengembang,” kata Shani. “Sangat penting bagi pengembang untuk diakui, dan saat ini, pengakuan tersebut datang dari beberapa perusahaan dengan mengukur berapa banyak baris kode yang saya tulis.” Namun, kepanjangan seorang programmer mungkin bukan indikator terbaik dari seberapa baik seorang programmer itu, katanya.

Salah satu elemen yang lebih dalam dari lapisan abstraksi baru yang sedang terbentuk di AI adalah pengurangan kebutuhan untuk beralih antara berbagai alat.

“Biasanya, jika saya mencari sesuatu yang tidak saya ketahui cara menulisnya, saya akan pergi ke mesin pencari,” jelas Shani. “Copilot dapat membawa semuanya ke dalam lingkungan yang sama.” Antarmuka, prompt-nya, “ada di IDE Anda (lingkungan pengembangan terpadu),” sehingga “Anda tidak perlu pergi ke alat-alat yang berbeda, Anda tidak perlu menyalin-tempel, Anda tidak perlu melakukan semua itu; Anda tetap berada di tempat Anda menulis kode.”

Akibatnya, katanya, “Pengembang bahagia karena mereka memiliki lebih sedikit pergantian konteks antara alat-alat.”

Copilot sedang menyebar ke bidang lain dalam tim pemrograman. Salah satu pengguna Copilot yang besar, perusahaan e-commerce Shopify, menggunakan Copilot untuk melakukan wawancara coding, untuk menilai karyawan baru, kata Shani. Mereka juga menggunakan Copilot untuk onboarding pemrogram baru, sebagai “rekan pemrogram” atau pendidik untuk mempercepat kecepatan pemrogram baru.

MEMBACA  Pandangan Pertama pada Konsep Mobil Terbang Xpeng AeroHT - Video

Dalam situasi-situasi di mana Copilot dan alat serupa belum menghasilkan hasil yang diinginkan, banyak hal mungkin disebabkan oleh kurva pembelajaran prompt engineering, kata Shani. “Anda masih perlu tahu cara mengajukan pertanyaan yang tepat,” katanya. “Semakin Anda mengajukan pertanyaan yang lebih luas [pada prompt], semakin umum solusi yang akan Anda dapatkan yang mungkin tidak dapat diterapkan untuk situasi Anda,” sedangkan “semakin Anda tahu cara mengajukan pertanyaan yang tepat, semakin baik Anda mendapatkan jawaban dari Copilot.”

Microsoft sedang bekerja sama dengan pelanggan seperti Accenture tentang “pengelolaan perubahan,” katanya, tentang cara menulis “prompt yang tepat,” dan “cara berpikir tentang pertanyaan yang Anda ajukan kepada Copilot untuk mendapatkan jawaban yang tepat yang dapat diterapkan.”

Masih banyak hal yang perlu dikembangkan dalam Copilot itu sendiri yang kemungkinan akan berdampak besar pada utilitas dan akurasinya. Program ini secara bertahap mendapatkan kemampuan untuk menjadi “personalized” untuk pengembang individu. “Salah satu aspek yang sedang kami kembangkan adalah bagaimana kami dapat membantu model-model ini memahami gaya kodin Anda,” kata Shani, “untuk memahami elemen-elemen mana yang kritis bagi Anda sebagai pengembang perangkat lunak, untuk menyesuaikan rekomendasi yang kami berikan kepada Anda.”

Pada bulan Februari, GitHub akan membuat Copilot versi perusahaan tersedia secara umum. “Ini khusus tentang model-model yang lebih disesuaikan untuk perusahaan yang ingin memiliki implementasi mereka sendiri,” kata Shani. Dalam edisi perusahaan, “Anda akan memiliki kemampuan untuk merangkum PR atau menambahkan komentar ke kode menggunakan Copilot, atau mencari dokumen Anda dan mendapatkan dokumen yang Anda cari.” Juga akan diberikan penekanan yang lebih besar pada penanganan pengujian dan pengujian stres oleh Copilot.

Pemikiran umumnya adalah “mengentralisasi segalanya dengan model aliran AI yang sama,” kata Shani, “di seluruh pengembangan perangkat lunak, dari konsepsi hingga produksi