Bolehkah Copilot AI GitHub mengembalikan keseronokan menjadi pembangun?


Penyelidik GitHub membandingkan seberapa pantas pembangun boleh membuat kod dengan bantuan AI Copilot berbanding kumpulan yang bergantung pada amalan pembangun standard.

Dalam misi untuk mengukur produktiviti pembangun yang dibantu AI, penyelidik di GitHub baru-baru ini menjalankan eksperimen membandingkan kelajuan pengekodan kumpulan menggunakan alat pelengkap kod Copilotnya berbanding kumpulan yang bergantung pada keupayaan manusia sahaja. 

GitHub Copilot ialah perkhidmatan pengaturcaraan pasangan AI yang dilancarkan secara terbuka awal tahun ini dengan harga $10 setiap pengguna sebulan atau $100 setiap pengguna setahun. Sejak dilancarkan, penyelidik ingin tahu sama ada alat AI ini benar-benar diterjemahkan kepada rangsangan kepada produktiviti pembangun. Tangkapannya ialah bukan mudah untuk mengenal pasti metrik yang betul untuk mengukur perubahan prestasi. 

Copilot digunakan sebagai sambungan kepada editor kod, seperti Microsoft VS Code. Ia menjana cadangan kod dalam pelbagai bahasa pengaturcaraan yang boleh diterima, ditolak atau diedit oleh pengguna. Cadangan disediakan oleh Codex OpenAI, sistem yang menterjemahkan bahasa semula jadi kepada kod dan berdasarkan model bahasa GPT-3 OpenAI. 

LIHAT: Apa itu Pengekodan dan Untuk Apa Ia Digunakan? Panduan Pemula

Penyelidikan Google dan Pasukan Otak Google membuat kesimpulan pada bulan Julai, selepas mengkaji kesan cadangan kod AI terhadap lebih 10,000 produktiviti pembangunnya sendiri, bahawa perdebatan mengenai kelajuan prestasi relatif kekal sebagai "soalan terbuka". Itu walaupun menyimpulkan bahawa gabungan enjin semantik berasaskan peraturan tradisional dan model bahasa yang besar, seperti Codex/Copilot, "boleh digunakan untuk meningkatkan produktiviti pembangun dengan ketara dengan penyiapan kod yang lebih baik". 

Tetapi bagaimana anda mengukur produktiviti? Penyelidik lain awal tahun ini, menggunakan sampel kecil 24 pembangun, mendapati bahawa Copilot tidak semestinya meningkatkan masa penyiapan tugas atau kadar kejayaan. Walau bagaimanapun, ia mendapati Copilot menjimatkan usaha pembangun mencari coretan kod dalam talian untuk menyelesaikan masalah tertentu. Ini ialah penunjuk penting tentang sejauh mana alat AI seperti Copilot boleh mengurangkan suis konteks, apabila pembangun melompat keluar daripada editor untuk menyelesaikan masalah.    

GitHub juga meninjau lebih 2,600 pembangun, bertanya soalan seperti, "Adakah orang merasakan GitHub Copilot menjadikan mereka lebih produktif?" Penyelidiknya juga mendapat manfaat akses unik kepada data telemetri berskala besar dan menerbitkan penyelidikan pada bulan Jun. Antara lain, para penyelidik mendapati bahawa antara 60% hingga 75% pengguna berasa lebih puas dengan pekerjaan mereka apabila menggunakan Copilot, berasa kurang kecewa apabila pengekodan dan dapat memberi tumpuan kepada kerja yang lebih memuaskan.

"Dalam penyelidikan kami, kami melihat bahawa GitHub Copilot menyokong masa penyiapan yang lebih pantas, menjimatkan tenaga mental pembangun, membantu mereka menumpukan pada kerja yang lebih memuaskan dan akhirnya mencari lebih banyak keseronokan dalam pengekodan yang mereka lakukan," kata GitHub.

Penyelidik GitHub, Dr. Eirini Kalliamvakou, menjelaskan pendekatan itu: "Kami menjalankan beberapa pusingan penyelidikan termasuk data kualitatif (persepsi) dan kuantitatif (pemerhatian) untuk mengumpulkan gambaran penuh. Kami ingin mengesahkan: (a) Adakah pengalaman sebenar pengguna mengesahkan perkara yang kami simpulkan daripada telemetri? (b) Adakah maklum balas kualitatif kami menyamaratakan kepada pangkalan pengguna kami yang besar?"

Kalliamvakou, yang terlibat dalam kajian asal, kini telah membinanya dengan eksperimen yang melibatkan 95 pembangun yang memfokuskan pada persoalan kelajuan pengekodan dengan Copilot dan tanpa.

Penyelidikan ini mendapati bahawa kumpulan yang menggunakan Copilot (45 pembangun) menyelesaikan tugas secara purata dalam masa 1 jam dan 11 minit. Kumpulan yang tidak menggunakan Copilot (50 pembangun) menyelesaikannya secara purata dalam masa 2 jam dan 41 minit. Jadi, kumpulan dengan Copilot adalah 55% lebih pantas daripada kumpulan tanpa itu. 

Kalliamvakou juga mendapati peratusan yang lebih tinggi daripada kumpulan dengan Copilot menyelesaikan tugas - 78% daripada kumpulan Copilot berbanding 70% dalam kumpulan tanpa Copilot.

Kajian ini bersifat terhad kerana ia hanya membandingkan kelajuan pembangun apabila mengekod pelayan web dalam JavaScript dan tiada tugas lain yang melibatkan bahasa lain seperti Python atau Java. Selain itu, ia tidak menilai kualiti kod. 

Dan eksperimen itu tidak melihat faktor yang menyumbang kepada produktiviti seperti penukaran konteks. Walau bagaimanapun, kajian awal GitHub mendapati bahawa 73% pembangun melaporkan bahawa Copilot membantu mereka kekal dalam aliran. 

Dalam e-mel, Kalliamvakou menjelaskan kepada ZDNET maksud angka ini dari segi penukaran konteks dan produktiviti pembangun.  

"Melaporkan 'kekal dalam aliran' pastinya membayangkan kurang pertukaran konteks, dan kami mempunyai bukti tambahan. 77% daripada mereka yang ditinjau melaporkan bahawa, apabila menggunakan GitHub Copilot, mereka menghabiskan lebih sedikit masa untuk mencari," tulisnya.

"Kenyataan itu mengukur suis konteks yang diketahui untuk pembangun, seperti mencari dokumentasi, atau melawati tapak Soal Jawab seperti Stack Overflow untuk mencari jawapan atau bertanya soalan. Dengan GitHub Copilot membawa maklumat ke dalam editor, pembangun tidak perlu bertukar daripada IDE dengan kerap'," jelasnya. 

Tetapi menggunakan penukaran konteks sahaja untuk mengukur produktiviti yang lebih baik daripada cadangan kod AI tidak dapat menunjukkan gambaran penuh. Terdapat juga penukaran konteks "baik" dan "buruk", yang menyukarkan untuk mengukur kesan penukaran konteks. 

LIHAT: Saintis data vs jurutera data: Bagaimana permintaan untuk peranan ini berubah

Semasa tugas biasa, pembangun banyak bertukar antara aktiviti, alatan dan sumber maklumat yang berbeza, jelas Kalliamvakou.  

Dia menunjuk kepada kajian yang diterbitkan pada 2014 yang mendapati pembangun menghabiskan purata 1.6 minit untuk aktiviti sebelum bertukar, atau bertukar secara purata 47 kali sejam. 

"Itu hanya kerana sifat kerja mereka dan pelbagai alatan yang mereka gunakan, jadi ia dianggap sebagai penukaran konteks yang "baik". Sebaliknya, terdapat penukaran konteks "buruk" kerana kelewatan atau gangguan," katanya.

"Kami mendapati dalam penyelidikan awal kami bahawa ini sangat menjejaskan produktiviti, serta rasa kemajuan pembangun sendiri. Penukaran konteks sukar untuk diukur, kerana kami tidak mempunyai cara yang baik untuk membezakan secara automatik antara kejadian "baik" dan "buruk" - atau apabila suis adalah sebahagian daripada menyelesaikan tugas berbanding menyebabkan gangguan kepada aliran dan produktiviti pembangun. Walau bagaimanapun, terdapat cara untuk mengukur peralihan konteks melalui laporan kendiri dan pemerhatian yang kami gunakan dalam penyelidikan kami." 

Mengenai prestasi Copilot dengan bahasa lain, Kalliamvakou berkata dia berminat untuk menjalankan eksperimen pada masa hadapan.

"Ia sememangnya percubaan yang menyeronokkan untuk dilakukan. Eksperimen terkawal ini agak memakan masa kerana kami cuba menjadikannya lebih besar atau lebih komprehensif, tetapi saya ingin meneroka ujian untuk bahasa lain pada masa hadapan'," katanya. 

Kalliamvakou menyiarkan penemuan utama lain daripada tinjauan berskala besar GitHub dalam catatan blog yang memperincikan usahanya untuk mencari metrik yang paling sesuai untuk mengukur produktiviti pembangun.