Apa Yang Membuat Saya Menjadi Pelanggan Berbayar Di Github Copilot
Saya awalan mencoba GitHub Copilot, pada tahun 2022. Waktu itu, menurut saya gagasannya menarik, tapi manfaat produknya tidak demikian memberikan kepuasan: baik dari sisi kecepatan atau kualitas pembangkitan. Saya mulai memakainya kembali sekitaran 3 bulan lalu, dan saat ini jadi penting untuk saya dan berharga tiap sen dari $10/bulan yang saya bayarkan.
Apa yang membuat saya jadi konsumen setia yang berbahagia? Silahkan kita cari info.
Apa yang Diharap dari Seorang Copilot?
Bahkan juga dengan teknologi otomasi sekarang ini, fly big planes ialah tugas yang berat yang mengikutsertakan navigasi, komunikasi, penilaian cuaca, penataan instrument, menuntaskan daftar periksa, dan lain-lain. Beban kerja demikian besar di saat repot hingga kapten memerlukan pendamping untuk membagikan dengannya pastikan keamanan. Tersebut fungsinya Copilot: share beban kegiatan rutin dan diamkan kapten konsentrasi pada beberapa hal yang paling kritis.
Begitupun pengembangan software kekinian. Ingat semua tools, library, dan kerangka kerja, ada banyak kegiatan rutin yang tidak penting untuk dikodekan. Bahkan juga sebagai programmer ekspert, sering kali tidak menulisnya dengan prima karena kebanyakan yang perlu Anda bereskan.
Seorang Copilot yang bagus harus mempunyai beberapa ciri seperti berikut:
- Tolong, jangan mendominasi
- Bisa dipercayai untuk beberapa tugas yang diatasinya
- Pengetahuan sembunyi-sembunyi yang bagus dengan kapten
GitHub Copilot mendemokan beberapa karakter ini sepanjang tiga bulan bekerja buat saya.
Komposisi
Salah satunya keelokan dari Copilot ialah Anda tak perlu mengonfigurasikan apa pun itu untuk memulai memakainya. Seperti Copilot manusia, Anda tak perlu menekerangkan appliance Anda padanya. Ia sudah menyaksikan banyak sekali dan menerbangkan banyak sekali, dan sepintas, ia mengetahui penataan apakah yang ia temui.
Demikian pula, GitHub Copilot tidak memerlukan komposisi. Anda tak perlu memberitahu bahasa dan kerangka kerja apa yang Anda pakai, dan itu sesuaikan dianya dengan lumayan baik. Saya anggap (tapi tidak bisa memverifikasi) jika Copilot secara eksklusif lakukan evaluasi extra dari repositori GitHub Anda, dan kemungkinan tersebut penyebabnya, misalkan, bahkan juga dalam persiapan baru tanpa penempatan TailwindCSS, saat ini masih hasilkan penuntasan automatis yang menargetnya.
Perubahan Kerangka Lebih Sedikit, Konsentrasi Lebih Baik
Manusia pada intinya ialah mesin pokok tunggal, dan berpindah antara kerangka itu mahal. Dalam riwayat penerbangan, banyak musibah muncul karena pilot berpindah dari kerangka "menerbangkan appliance" ke hal-hal lain dan tidak berhasil berpindah ke periode kemarin.
Untuk pemrogram, harus tinggalkan IDE untuk mengopi kode dari StackOverflow ialah masalah yang berarti dan perubahan kerangka yang mahal. Sesudah masa break-in dengan Copilot, saya merasakan diri saya lakukan semakin sedikit dari itu serta lebih konsentrasi pada IDE saya - dorongan riil untuk efektivitas.
Faedah tambahan yang diusung oleh jalinan di antara Copilot dan saya ini ialah jika saya saat ini lebih memerhatikan untuk menulis dokumentasi fungsi yang bagus dan memberikan nama dengan lebih bagus hingga lebih gampang untuk partner saya untuk hasilkan . Maka ini ialah keadaan win-win.
Benar-benar Peka Kerangka
Dibanding lewat pendekatan lain, satu keuntungan yang besar dari model generatif (pendekatan evaluasi mesin dibalik Copilot, ChatGTP, dan lain-lain.) ialah jika mereka tak terbatas pada korpus yang dipakai sepanjang training dan bisa berimprovisasi berdasar kondisi tertentu.
Copilot, sebagai model generatif, benar-benar sensitif pada kerangka dan luar biasa dalam pelajari rutinitas dan menarik ringkasan. Ini menjadikan penolong yang luar biasa untuk menulis perulangan yang tidak terelak itu, seperti pada tatanan letak UI dan kasus perubahan besar dari kode penting.
Saksikan begitu cerdasnya mengaitkan sektor berikut harus "E-mail" berdasar pengertian tipe data formulir saya. Itu membuat fantasi yang kuat jika itu betul-betul pahami kode dan niat saya.
Bekerja Bahkan juga untuk Bahasa Tidak Dikenali
Copilot Didorong oleh apa yang disebutkan Model Bahasa Besar — sebuah teknik untuk latih model hibrida dengan memadankan korpus dari banyak bahasa berlainan . Maka dalam makna tertentu, kita bisa menjelaskan itu tidak betul-betul pahami satu bahasa benar-benar, tapi keluguan ini bawa faedah yang kuat; itu berperan bahkan juga untuk bahasa yang tidak pernah disaksikan awalnya.
Saat membuat project ZenStack, kami membuat DSL untuk pola pangkalan data pemodelan. DSL didasari pada Prisma ORM tapi dengan beberapa perpanjangan. Copilot terang sukses manfaatkan kenalannya dengan Prisma dan bekerja baik sekali dalam bahasa di luar pengetahuannya. Ini ibarat pilot Boeing 737 yang ekspert akan mempunyai peluang yang pantas untuk landingkan Airbus 320 dengan aman bahkan juga bila ia tak pernah dilatih karena itu. Beberapa pengetahuan bisa ditransfer.
Lebih dari Kode
Didorong oleh tipe model yang serupa seperti ChatGPT, Copilot luar biasa dalam menuntaskan komentar kode dan text biasa yang lain. Harus saya mengakui jika cukup kerap, dia menulis komentar lebih bagus dibanding yang dapat saya kerjakan. Saksikan perumpamaan ini mengenai bagaimana "pahami" semua lika-liku dalam komentar saya yang dicatat dengan manual dan hasilkan lanjutan yang prima:
Itu juga pemasar hebat yang dengan hangat membuat ide bisnis, nama domain, dan slogan untuk saya
Pemrograman Berbantuan AI — Karena atau Sumpah?
Saya sudah memakai Copilot manusia sebagai metafora, dan dalam beberapa hal, GitHub Copilot pas dengannya.
Tetapi, ada ketidaksamaan besar, Anda (sering) bisa mempercayai pendamping manusia untuk penuhi kerjanya, tapi Anda tidak bisa mempercayai Copilot AI. Periksa ulangi kode yang dibuat dan yakinkan untuk menulis pengetesan untuk menutupinya saat sebelum Anda mengaplikasikannya ke produk Anda. Sama dengan Anda tidak tutup mata saat memakai Tesla, Anda tidak bisa demikian saja memercayai GitHub Copilot. AI kita belum sampai, menjadi tetap siaga dan pantau!
Saya berpikir pembicaraan apa AI akan gantikan programmer tidak penting. Terang jika, pada tahapan ini, ini tidak lebih dari tools yang hebat, dan saya akan menerimanya untuk keproduktifan saya. Tetapi, saat siap untuk gantikan programmer, tidak ada yang dapat menghentikannya.