GitHub meluncurkan sistem pembelajaran mesin Copilot yang menghasilkan kode

GitHub mengumumkan selesainya pengujian asisten cerdas GitHub Copilot, yang mampu menghasilkan konstruksi standar saat menulis kode. Sistem ini dikembangkan bersama dengan proyek OpenAI dan menggunakan platform pembelajaran mesin OpenAI Codex, yang dilatih pada sejumlah besar kode sumber yang dihosting di repositori GitHub publik. Layanan ini gratis untuk pengelola proyek sumber terbuka populer dan pelajar. Untuk kategori pengguna lainnya, akses ke GitHub Copilot berbayar ($10 per bulan atau $100 per tahun), tetapi akses uji coba gratis disediakan selama 60 hari.

Pembuatan kode didukung dalam bahasa pemrograman Python, JavaScript, TypeScript, Ruby, Go, C# dan C++ menggunakan berbagai kerangka kerja. Modul tersedia untuk mengintegrasikan GitHub Copilot dengan lingkungan pengembangan Neovim, JetBrains IDE, Visual Studio, dan Visual Studio Code. Dilihat dari telemetri yang dikumpulkan selama pengujian, layanan ini memungkinkan Anda menghasilkan kode dengan kualitas yang cukup tinggi - misalnya, 26% rekomendasi yang diusulkan di GitHub Copilot diterima oleh pengembang apa adanya.

GitHub Copilot berbeda dari sistem penyelesaian kode tradisional dalam kemampuannya menghasilkan blok kode yang cukup kompleks, hingga fungsi siap pakai yang disintesis dengan mempertimbangkan konteks saat ini. GitHub Copilot beradaptasi dengan cara pengembang menulis kode dan memperhitungkan API dan kerangka kerja yang digunakan dalam program. Misalnya, jika ada contoh struktur JSON di komentar, saat Anda mulai menulis fungsi untuk mengurai struktur ini, GitHub Copilot akan menawarkan kode yang sudah jadi, dan saat menulis daftar rutin deskripsi berulang, itu akan menghasilkan sisanya posisi.

GitHub meluncurkan sistem pembelajaran mesin Copilot yang menghasilkan kode

Kemampuan GitHub Copilot untuk menghasilkan blok kode siap pakai telah menimbulkan kontroversi terkait potensi pelanggaran lisensi copyleft. Saat membentuk model pembelajaran mesin, teks sumber nyata dari repositori proyek sumber terbuka yang terletak di GitHub digunakan. Banyak dari proyek-proyek ini disediakan di bawah lisensi copyleft, seperti GPL, yang mengharuskan kode karya turunannya didistribusikan di bawah lisensi yang kompatibel. Dengan memasukkan kode yang ada seperti yang disarankan oleh Copilot, tanpa disadari pengembang dapat melanggar lisensi proyek dari mana kode tersebut dipinjam.

Belum jelas apakah pekerjaan yang dihasilkan oleh sistem pembelajaran mesin dapat dianggap turunan. Pertanyaan juga muncul mengenai apakah model pembelajaran mesin tunduk pada hak cipta dan, jika demikian, siapa yang memiliki hak-hak ini dan bagaimana kaitannya dengan hak atas kode yang menjadi dasar pembuatan model tersebut.

Di satu sisi, blok yang dihasilkan dapat mengulangi bagian teks dari proyek yang ada, namun di sisi lain, sistem membuat ulang struktur kode daripada menyalin kode itu sendiri. Menurut studi GitHub, hanya 1% dari rekomendasi Copilot yang mungkin menyertakan cuplikan kode dari proyek yang sudah ada yang panjangnya lebih dari 150 karakter. Dalam kebanyakan situasi, pengulangan terjadi ketika Copilot tidak dapat menentukan konteks dengan tepat atau menawarkan solusi standar terhadap suatu masalah.

Untuk mencegah substitusi kode yang ada, filter khusus telah ditambahkan ke Copilot yang tidak mengizinkan perpotongan dengan proyek yang sudah ada. Saat menyiapkan, pengembang dapat mengaktifkan atau menonaktifkan filter ini sesuai kebijaksanaannya. Di antara masalah lainnya, ada kemungkinan bahwa kode yang disintesis dapat mengulangi kesalahan dan kerentanan yang ada dalam kode yang digunakan untuk melatih model.

Sumber: opennet.ru

Tambah komentar