Kopilot GitHub vs. Amazon CodeWhisperer
Pertempuran untuk asisten pengkodean bertenaga AI terbaik telah resmi dimulai!
GitHub Copilot dan Amazon CodeWhisperer adalah asisten pengkodean bertenaga AI yang membawa pelengkapan otomatis ke tingkat yang benar-benar baru. Yang terbaik, mereka dapat menulis potongan kode fungsi yang lengkap hanya berdasarkan teks deskriptif kecil yang diberikan oleh pengembang. Ini dapat membuat Anda lebih efisien sebagai pengembang,
dan — menurut saya — membuat pengembangan jauh lebih menyenangkan!✨
Jadi tanpa basa-basi lagi, mari kita mulai!
Apa itu asisten pengkodean bertenaga AI?
GitHub Copilot dan Amazon CodeWhisperer adalah layanan yang terintegrasi dengan editor kode Anda dan membantu Anda menulis kode lebih cepat. Namun tidak seperti alat pelengkapan otomatis umum seperti misalnya “IntelliSense”, Copilot dan CodeWhisperer menggunakan model pembelajaran mesin yang dilatih pada kode sumber dan bahasa alami, yang memungkinkan mereka memahami bahasa pemrograman dan bahasa manusia. Hal ini memungkinkan mereka memahami komentar yang ditulis dalam bahasa Inggris sederhana, menghasilkan kode berdasarkan maksud pengembang, dan mencocokkan pola dan gaya pengembang. Saat Anda mengetik, mereka bahkan memberikan rekomendasi untuk melengkapi komentar awal itu sendiri. Anda dapat menerima rekomendasi teratas, melihat lebih banyak rekomendasi, atau terus menulis kode Anda sendiri.
Habiskan lebih sedikit waktu untuk membuat boilerplate dan pola kode berulang, dan lebih banyak waktu untuk hal yang penting: membangun perangkat lunak yang hebat (GitHub Copilot)
Apa itu Kopilot GitHub?
GitHub Copilot dikembangkan oleh GitHub dan OpenAI. Ini didukung oleh model Codex OpenAI, yang dilatih pada kode sumber yang tersedia untuk umum, termasuk repositori publik di GitHub. Kopilot secara resmi diumumkan "keluar dari pratinjau teknis" pada Juni 2022.
Copilot sangat mudah digunakan, dan menawarkan integrasi yang disederhanakan dengan semua editor kode utama. GitHub Copilot dioptimalkan untuk tujuh bahasa pemrograman utama (lihat bagan di bawah untuk detailnya), tetapi juga dapat menghasilkan saran dalam bahasa lain dan beragam kerangka kerja.
Copilot gratis selama tahap pratinjau, tetapi GitHub baru-baru ini mengumumkan bahwa mereka akan beralih ke model berbasis langganan. Anda masih bisa mendapatkan uji coba gratis selama 60 hari, dan akan tetap gratis untuk siswa terverifikasi dan pengelola proyek sumber terbuka populer.
Apa itu Amazon CodeWhisperer?
Amazon CodeWhisper dikembangkan oleh Amazon. Model ML-nya dilatih pada berbagai sumber data, termasuk kode internal Amazon dan kode sumber terbuka.
CodeWhisperer masih dalam pratinjau dan mendukung lebih sedikit bahasa dan lebih sedikit editor kode utama daripada GitHub Copilot. Namun, dukungan bahasa dan IDE yang luas bukanlah daya tarik utamanya. Alih-alih, CodeWhisperer berfokus pada penyediaan dukungan kelas satu untuk API AWS yang memberikan rekomendasi kode untuk API AWS di seluruh layanan paling populer, termasuk Amazon Elastic Compute Cloud (EC2), AWS Lambda, dan Amazon Simple Storage Service (S3). Kualitas diatas kuantitas?
Menurut posting blog Amazon ini , pengguna harus dapat menulis "unggah file ke S3.", dan CodeWhisperer akan secara otomatis menentukan layanan cloud dan perpustakaan umum mana yang paling cocok untuk tugas yang ditentukan, membuat kode spesifik dengan cepat, dan merekomendasikan cuplikan kode yang dihasilkan langsung di IDE.
Selama periode pratinjau, pengembang dapat menggunakan CodeWhisperer tanpa biaya dengan mendaftar di sini .
Perbandingan
Mana yang lebih populer?
Mengingat masa pakai CodeWhisperer yang singkat (dirilis bulan lalu), saya tidak dapat menemukan data apa pun yang terkait dengan jumlah pengguna. Namun, mungkin aman untuk mengatakan bahwa GitHub Copilot, dengan awal satu tahun, saat ini adalah pemain dominan. Menurut GitHub sendiri , lebih dari 1,2 juta pengembang menggunakan pratinjau teknis Copilot dalam 12 bulan terakhir. Penelitian mereka sendiri menunjukkan bahwa pengguna menerima rata-rata 26% dari semua penyelesaian yang ditampilkan oleh GitHub Copilot, dan hingga 40% file kode pengembang dibuat oleh GitHub Copilot.
Bagaimana dengan privasi?
Untuk meningkatkan performanya, baik Copilot maupun CodeWhisperer mengumpulkan data dari penggunanya. Apakah Anda membahayakan basis kode atau data organisasi Anda dengan menggunakan alat ini di tempat kerja? Ini adalah pertanyaan penting dan potensi dealbreaker bagi sebagian besar perusahaan.
Untuk memberikan saran kode, GitHub Copilot mengirimkan kode dan komentar Anda ke layanan GitHub Copilot. Layanan ini bergantung pada konten file yang mirip konteks, baik dalam file yang sedang Anda edit, maupun file yang berdekatan atau terkait dalam suatu proyek. Itu juga dapat mengumpulkan URL repositori atau jalur file untuk mengidentifikasi konteks yang relevan. Bagian dari pengumpulan data dapat dinonaktifkan di pengaturan telemetri. Bagian lain, seperti informasi penggunaan, diperlukan untuk penggunaan Copilot dan tidak dapat dimatikan. Ini mungkin termasuk data pribadi, sebagaimana dirujuk dalam Pernyataan Privasi GitHub .
GitHub juga menyatakan bahwa dari pengujian internal mereka, mereka menemukan bahwa saran GitHub Copilot jarang memasukkan data pribadi secara verbatim dari set pelatihan ("jarang"..? ). Namun, beberapa saran ini mungkin tampak seperti data pribadi — alamat email, nomor telepon, dll. — tetapi sebenarnya merupakan informasi fiktif yang disintesis dari pola dalam data pelatihan.
Amazon CodeWhisperer juga mengumpulkan informasi tertentu seperti informasi kontekstual (termasuk konten file), umpan balik, metrik telemetri, dan informasi lingkungan pengguna. Dalam Ketentuan Layanan mereka, Amazon menyatakan bahwa selama fase pratinjau, mereka mungkin menawarkan Anda opsi untuk mengaktifkan atau menonaktifkan berbagi konten.
Bagaimana dengan risiko dan kerentanan?
Kedua asisten dilatih tentang kode publik yang mungkin berisi pola pengkodean yang tidak aman, bug, atau referensi ke API atau idiom yang sudah ketinggalan zaman. Studi “Tertidur di Keyboard? Assessing the Security of GitHub Copilot's Code Contributions ” menemukan bahwa sebanyak 40% dari skenario pengujian mereka menggunakan Copilot mengandung kode yang rentan.
GitHub mengakui bahwa Copilot terkadang menyarankan penggunaan perpustakaan dan bahasa yang lama atau sudah tidak digunakan lagi, dan dapat mensintesis kode yang berisi pola yang tidak diinginkan. Untuk mengurangi ini, mereka menyarankan untuk menggunakan produk mereka bersama dengan alat seperti GitHub Actions, Dependabot, dan CodeQL untuk membantu meningkatkan kualitas kode.
Hal yang sama berlaku untuk Amazon, meskipun untuk penghargaan mereka, Amazon telah mengambil langkah besar untuk mengatasi hal ini dengan menyediakan pemindaian keamanan untuk mendeteksi kerentanan dalam proyek Java dan Python.
Karena itu, Anda harus selalu menggunakan asisten pengkodean bertenaga AI Anda bersama dengan pengujian yang tepat, praktik peninjauan kode yang baik, dan alat keamanan yang andal, serta penilaian Anda sendiri!
Bagaimana dengan (salah) penggunaan kode publik?
Telah ada peningkatan kesadaran mengenai penggunaan substansial kode publik dalam set pelatihan. Idealnya, seorang asisten harus secara konsisten menghasilkan kode yang belum pernah terlihat sebelumnya. Jika asisten malah membacakan kode langsung dari set pelatihan, hal itu berpotensi mendiskualifikasinya dari dianggap sebagai penggunaan wajar dan dapat melanggar hak cipta pemilik asli.
Untuk memitigasi hal ini, Copilot memiliki filter bawaan yang mencoba mendeteksi dan menyembunyikan instance di mana saran GitHub Copilot berisi kode yang cocok dengan kode publik di GitHub. Filter ini bersifat opsional dan dapat dimatikan. Menurut GitHub sendiri, Copilot akan menampilkan potongan kode verbatim lebih dari ~150 karakter sekitar 1% dari waktu. Mereka menyalahkan ini pada kasus di mana GitHub Copilot tidak dapat memperoleh konteks yang memadai dari kode yang Anda tulis, atau ketika ada solusi umum, bahkan mungkin universal, untuk masalah tersebut.
Mirip dengan Copilot, CodeWhisperer juga dilengkapi dengan pelacak referensi yang dapat mendeteksi kapan keluaran yang dihasilkan mungkin mirip dengan data pelatihan tertentu. Mengenai pengumpulan kode yang ditulis pengguna, Amazon menyatakan bahwa mereka tidak akan menggunakan kode yang ditulis pengembang untuk melatih modelnya lebih lanjut selama fase pratinjau. Namun, CodeWhisperer menyimpan data aktivitas pengguna terkait tanggapan pengembang terhadap rekomendasi kode, seperti menerima atau menolak rekomendasi. Layanan menggunakan umpan balik ini untuk membuat model ML-nya lebih akurat sehingga CodeWhisperer dapat meningkatkan rekomendasi di masa mendatang.
Pemenangnya adalah..?
GitHub Copilot adalah pemenang dalam hal dukungan bahasa dan IDE. Itu juga sudah ada lebih lama dan secara resmi keluar dari pratinjau, memberi pengembangnya lebih banyak waktu untuk memperbaiki bug dan menghaluskan gundukan di jalan. Menggunakannya membutuhkan investasi finansial kecil, tetapi Anda mendapatkan produk yang berfungsi penuh yang siap digunakan.
Namun, jika Anda bekerja di lingkungan AWS, Amazon CodeWhisperer mungkin cocok untuk Anda. Saya sangat mengagumi upaya Amazon untuk menjadi Penyedia Layanan Cloud pertama yang menawarkan asisten pengkodean cerdas yang sebagian besar ditujukan untuk produk mereka sendiri, dan saya berharap lebih banyak penyedia akan mengikuti (saya melihat Anda, Azure!). Selain itu, deteksi kerentanan terintegrasi mereka mungkin juga menjadi alasan yang bagus untuk mempertimbangkannya. Terakhir, fakta bahwa saat ini gratis adalah insentif yang kuat untuk setidaknya mencobanya saat sedang dalam pratinjau. Namun, ini akan mengharuskan Anda untuk mendaftar dan dengan sabar menunggu giliran Anda. ⏳
Akhirnya, mari kita luangkan waktu sejenak untuk mengapresiasi sejauh mana teknologi ini telah berkembang, dan alat luar biasa apa yang sekarang dapat kita manfaatkan sebagai pengembang! Baik GitHub Copilot dan Amazon CodeWhisperer adalah teknologi luar biasa yang saya perkirakan akan menjadi alat yang harus dimiliki oleh semua pengembang serius dalam waktu yang tidak lama lagi. Dan karena aktor lain seperti Google dan Salesforce mulai terjun ke dalam air, rasanya kita akan segera memasuki era baru dalam hal pengembangan kode.
Saya harap artikel ini bermanfaat bagi Anda. Terima kasih sudah membaca!
Catatan Editor:
GitHub Copilot sangat berharga dalam pekerjaan saya sebagai ilmuwan data. Melakukan analisis data sering mengharuskan saya menguji hipotesis dengan cepat. Karena saya biasanya tidak tahu sebelumnya apa hasilnya, saya sering menulis banyak kode yang hampir identik yang hanya akan saya jalankan sekali, untuk mengkonfirmasi atau menolak hipotesis saya. GitHub Copilot telah menjadi alat yang hebat untuk mempercepat proses ini, dan juga terintegrasi dengan baik dengan IDE favorit setiap data scientist, yaitu Jupyter Notebook (dalam VS Code) !
REFERENSI
- GitHub, Pemrogram pasangan AI Anda (2022), github.com
- Amazon, pendamping pengkodean bertenaga ML — Amazon CodeWhisperer — Amazon Web Services (2022), aws.amazon.com
- Amazon, AWS mengumumkan Amazon CodeWhisperer (Pratinjau) (2022), aws.amazon.com
- A. Desai dan A. Deo, Memperkenalkan Amazon CodeWhisperer, pendamping pengodean yang didukung ML (2022), Blog Pembelajaran Mesin AWS
- S. Bhattacharyya, Pertempuran asisten pembuat kode AI: GitHub Copilot vs Amazon CodeWhisperer (2022), analyticsindiamag.com
- B. Dickson, GitHub Copilot sekarang bersifat publik — inilah yang perlu Anda ketahui (2022), venturebeat.com
- F. Lardinois, Amazon meluncurkan CodeWhisperer, alat pemrograman pasangan AI seperti GitHub Copilot (2022), techcrunch.com
- D. Gershgorn, alat pengkodean otomatis GitHub berdasarkan landasan hukum yang belum teruji (2021), theverge.com

![Apa itu Linked List? [Bagian 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































