Dasar‐dasar GitHub Copilot - nurkomarhidaya/pemrograman-AI GitHub Wiki

Memahami pemrogram pasangan AI

Jelajahi dasar-dasar GitHub Copilot dan potensinya untuk meningkatkan produktivitas dan mendorong inovasi bagi pengembang individu dan bisnis. Temukan cara menerapkannya dalam organisasi Anda dan lepaskan kekuatannya untuk proyek Anda sendiri.

Dalam jalur pembelajaran ini, Anda akan:

  • Dapatkan pemahaman yang komprehensif tentang perbedaan antara GitHub Copilot Individuals, GitHub Copilot Business, dan GitHub Copilot Enterprise.
  • Pahami cara memanfaatkan GitHub Copilot di berbagai lingkungan secara bertanggung jawab dan aman.
  • Pelajari fungsionalitas lanjutan GitHub Copilot dan cara menggunakannya dengan sebaik-baiknya.

Modul ini mengeksplorasi penggunaan AI yang bertanggung jawab dalam konteks GitHub Copilot, alat AI generatif untuk pengembang. Ini membekali Anda dengan pengetahuan dan keterampilan untuk menggunakan Copilot secara efektif sambil memitigasi potensi risiko etika dan operasional yang terkait dengan penggunaan AI.

Pada akhir modul ini, Anda akan dapat:

  • Memahami dan menerapkan prinsip-prinsip penggunaan AI yang bertanggung jawab.
  • Identifikasi keterbatasan dan mitigasi risiko yang terkait dengan AI.
  • Pelajari praktik terbaik untuk memastikan kode yang dihasilkan AI selaras dengan standar etika dan persyaratan khusus proyek.
  • Menyadari pentingnya transparansi dan akuntabilitas dalam sistem AI dalam membangun kepercayaan dan menjaga kepercayaan pengguna.

Mengurangi risiko AI

image

Kecerdasan Buatan (AI) menghadirkan banyak peluang untuk inovasi dan efisiensi, tetapi juga disertai dengan risiko signifikan yang perlu dikelola dengan hati-hati.

Salah satu kekhawatiran utama adalah bahwa sistem AI terkadang dapat membuat keputusan yang sulit ditafsirkan, yang menyebabkan kurangnya transparansi dan akuntabilitas. Selain itu, AI dapat mengakibatkan hasil yang tidak diinginkan dan berbahaya, seperti pengambilan keputusan yang bias atau pelanggaran privasi.

Untuk mengurangi risiko ini, penting untuk menerapkan kerangka kerja tata kelola yang kuat, memastikan transparansi dalam proses AI, dan menggabungkan pengawasan manusia. Dengan demikian, organisasi dapat memanfaatkan manfaat AI sekaligus meminimalkan potensi dampak negatif.

Di bagian selanjutnya, kita akan membahas konsep AI yang bertanggung jawab dan bagaimana menerapkan prinsip-prinsipnya untuk mengurangi risiko yang terkait dengan alat AI seperti GitHub Copilot.

Apa itu AI yang Bertanggung Jawab?

AI yang bertanggung jawab adalah pendekatan untuk mengembangkan, menilai, dan menerapkan sistem kecerdasan buatan dengan cara yang aman, dapat dipercaya, dan etis. Sistem AI adalah produk dari banyak keputusan yang dibuat oleh orang-orang yang mengembangkan dan menerapkannya. Dari tujuan sistem hingga bagaimana orang berinteraksi dengan sistem AI, AI yang Bertanggung Jawab dapat membantu secara proaktif memandu keputusan ini menuju hasil yang lebih bermanfaat dan adil. Itu berarti menjaga orang dan tujuan mereka di pusat keputusan desain sistem dan menghormati nilai-nilai abadi seperti keadilan, keandalan, dan transparansi.

Enam prinsip AI yang bertanggung jawab Microsoft dan GitHub

image

Microsoft adalah pemimpin global dalam AI yang Bertanggung Jawab, mengidentifikasi enam prinsip utama yang harus memandu pengembangan dan penggunaan AI. Prinsip-prinsip ini adalah:

  • Keadilan: Sistem AI harus memperlakukan semua orang secara adil.
  • Keandalan dan keamanan: Sistem AI harus bekerja dengan andal dan aman.
  • Privasi dan keamanan: Sistem AI harus aman dan menghormati privasi.
  • Inklusivitas: Sistem AI harus memberdayakan semua orang dan melibatkan orang.
  • Transparansi: Sistem AI harus dapat dimengerti.
  • Akuntabilitas: Orang-orang harus bertanggung jawab atas sistem AI.

Sekarang, mari kita jelajahi masing-masing prinsip ini secara lebih rinci untuk memahami bagaimana prinsip-prinsip tersebut memandu praktik AI yang bertanggung jawab.

Keadilan: Sistem AI harus memperlakukan semua orang secara adil

Sistem AI harus memperlakukan semua orang secara adil, menghindari dampak diferensial pada kelompok yang berada sama. Dalam konteks seperti perawatan medis, aplikasi pinjaman, atau pekerjaan, AI harus memberikan rekomendasi yang konsisten kepada individu dengan gejala, situasi keuangan, atau kualifikasi yang serupa.

Menggunakan teknik untuk mendeteksi bias dan mengurangi dampak yang tidak adil seperti:

  • Meninjau data pelatihan.
  • Model pengujian dengan sampel demografis yang seimbang.
  • Menggunakan debias permusuhan.
  • Memantau performa model di seluruh segmen pengguna.
  • Menerapkan kontrol untuk mengganti skor model yang tidak adil.

Melatih model AI pada data yang beragam dan seimbang dapat membantu mengurangi bias, yang pada akhirnya mempromosikan keadilan.

Keandalan dan keamanan: Sistem AI harus bekerja dengan andal dan aman

Untuk membangun kepercayaan, sistem AI harus beroperasi dengan andal, aman, dan konsisten.

Sistem ini perlu berfungsi seperti yang dirancang, merespons dengan aman terhadap kondisi yang tidak terduga, dan menahan manipulasi berbahaya. Perilaku mereka dan berbagai kondisi yang mereka tangani mencerminkan pandangan ke depan pengembang selama desain dan pengujian.

Keselamatan dalam AI mengacu pada meminimalkan bahaya yang tidak diinginkan, termasuk kerugian fisik, emosional, dan finansial bagi individu dan masyarakat. Keandalan berarti bahwa sistem AI bekerja secara konsisten sebagaimana mestinya tanpa variabilitas atau kesalahan yang tidak diinginkan. Sistem yang aman dan andal kuat, akurat, dan berperilaku dapat diprediksi dalam kondisi normal.

Privasi dan keamanan: Sistem AI harus aman dan menghormati privasi

Karena kecerdasan buatan (AI) menjadi lebih umum, penting untuk melindungi privasi pengguna dan keamanan data. Microsoft dan GitHub menyadari prinsip ini dan kedua perusahaan memasukkan privasi dan keamanan sebagai bagian penting dari rencana AI yang Bertanggung Jawab mereka. Rencana ini berfokus pada penggunaan prinsip-prinsip untuk memandu praktik data.

Pendekatan Microsoft dan GitHub terhadap AI yang Bertanggung Jawab bertujuan untuk menghentikan penyalahgunaan dan menjaga kepercayaan pengguna. Poin-poin penting meliputi:

  • Mendapatkan izin pengguna sebelum mengumpulkan data mereka. Jelaskan dengan jelas bagaimana AI menggunakan data mereka dan dapatkan persetujuan mereka. Jangan mengumpulkan data secara diam-diam. Izinkan pengguna memilih apakah mereka ingin membagikan data pribadi dan memberi tahu mereka melalui petunjuk dan kebijakan yang jelas.
  • Mengumpulkan hanya data yang diperlukan agar AI bekerja. Hindari mengumpulkan informasi tambahan dan hapus data sensitif setelah AI digunakan. Periksa input data secara teratur untuk memastikan hanya data penting yang dikumpulkan.
  • Menganonimkan data pribadi. Gunakan metode seperti nama samaran dan agregasi untuk melindungi identitas. Nama samaran menggantikan detail pribadi dengan pengidentifikasi acak, sementara agregasi mengelompokkan data ke dalam ringkasan, menghapus detail individu tertentu.

Enkripsi data sensitif baik selama transfer maupun saat disimpan. Gunakan metode enkripsi yang kuat dan kunci aman melalui:

  • Modul Keamanan Perangkat Keras (HSM) yang menyimpan kunci di lingkungan anti-tamper.
  • Brankas aman seperti Microsoft Azure untuk penyimpanan kunci dengan akses terkontrol.
  • Enkripsi amplop, yang menggunakan dua kunci untuk keamanan tambahan.
  • Organisasi harus mengontrol siapa yang dapat mengakses kunci dan model, memutar kunci secara teratur, dan mencadangkan kunci dengan aman. Mereka juga harus membatasi akses karyawan ke model dan data sensitif, mengklasifikasikannya berdasarkan sensitivitas, dan melakukan audit keamanan rutin untuk mencegah akses yang tidak sah.

Inklusivitas: Sistem AI harus memberdayakan semua orang dan melibatkan orang

Inklusivitas berarti memastikan bahwa sistem AI adil, dapat diakses, dan memberdayakan semua orang. Standar AI yang Bertanggung Jawab Microsoft mengakui bahwa pembuat AI (termasuk GitHub) harus secara proaktif merancang AI untuk mencakup semua orang, komunitas, dan geografi - terutama area masyarakat yang secara historis kurang terwakili.

Standar AI yang Bertanggung Jawab Microsoft untuk inklusivitas berarti:

  • Sistem AI bekerja dengan baik untuk beragam pengguna dan kelompok. Mereka tidak merugikan beberapa orang.
  • Sistem AI dapat diakses. Siapa pun dapat menggunakan sistem AI dengan mudah, terlepas dari kemampuan fisik atau mental.
  • Sistem AI tersedia di seluruh dunia, bahkan di negara berkembang. Sistem AI tidak dapat mengecualikan geografi tertentu.
  • Orang-orang dari berbagai latar belakang dan komunitas memberikan masukan ke dalam pengembangan sistem AI.
  • Sistem AI memungkinkan semua pengguna untuk mendapatkan manfaat yang sama dari kemampuan mereka. Mereka harus memberdayakan semua orang.

Contoh AI inklusif meliputi:

  • Pengenalan wajah yang bekerja di seluruh warna kulit, usia, dan jenis kelamin.
  • Antarmuka yang mendukung pembaca layar untuk tunanetra.
  • Terjemahan bahasa yang mendukung dialek daerah kecil.
  • Tim yang mencari perspektif yang beragam saat merancang sistem.

Standar AI yang Bertanggung Jawab Microsoft mengharuskan setiap orang dapat mengakses sistem AI, terlepas dari hambatan disabilitas, bahasa, atau infrastruktur mereka. Solusi AI yang bertanggung jawab harus memungkinkan inklusi global penuh dengan:

  • Menawarkan mode interaksi alternatif seperti kontrol suara, teks, dan pembaca layar.
  • Mendukung adaptasi ke dalam berbagai bahasa dan konteks budaya lokal.
  • Bekerja secara offline dan dengan konektivitas dan sumber daya komputasi yang terbatas.

Transparansi: Sistem AI harus dapat dimengerti

Prinsip Transparansi AI yang Bertanggung Jawab Microsoft menekankan bahwa sistem AI harus dapat dipahami dan ditafsirkan. Kreator AI harus:

  • Jelaskan bagaimana sistem mereka beroperasi dengan jelas melalui kerangka kerja validasi yang jelas.
  • Membenarkan pilihan desain di balik sistem AI.
  • Jujurlah tentang kemampuan dan keterbatasan sistem AI.
  • Aktifkan kemampuan audit dengan kemampuan logging, pelaporan, dan audit.

Transparansi sangat penting untuk membangun kepercayaan, memastikan akuntabilitas, mempromosikan keadilan, meningkatkan keselamatan, dan mendukung inklusivitas. Menerapkan transparansi melibatkan pendokumentasian data dan model, membuat antarmuka penjelasan, menggunakan alat debugging AI, membangun dasbor pengujian, dan mengaktifkan pencatatan dan audit. Dengan bersikap transparan, pembuat AI dapat menumbuhkan kepercayaan dan penggunaan AI yang bertanggung jawab.

Akuntabilitas: Orang-orang harus bertanggung jawab atas sistem AI

Prinsip Akuntabilitas menyatakan bahwa pembuat AI harus bertanggung jawab atas bagaimana sistem mereka beroperasi. Mereka perlu terus memantau kinerja sistem dan mengurangi risiko. Akuntabilitas dalam industri AI menjadi masalah yang mendesak karena kasus-kasus profil tinggi tentang bahaya, bias, dan penyalahgunaan algoritmik terungkap. Kritikus semakin berpendapat bahwa tanpa akuntabilitas, pencipta AI memegang terlalu banyak kekuasaan atas sistem buram yang memengaruhi kehidupan.

Microsoft menekankan akuntabilitas dalam pengembangan dan penyebaran AI melalui Standar AI yang Bertanggung Jawab, yang menganggap akuntabilitas sebagai prinsip dasar. Menurut Microsoft, sistem AI harus bertanggung jawab kepada orang-orang, dan perusahaan yang menerapkan sistem AI harus bertanggung jawab atas operasi mereka.

image

Ringkasan

Sebagai pemimpin dan inovator di ruang AI, Microsoft dan GitHub berkomitmen untuk memastikan bahwa sistem AI dikembangkan dan digunakan dengan cara yang aman, dapat dipercaya, dan sehat secara etis.

Pendekatan kami dipandu oleh enam prinsip inti: keadilan, keandalan dan keselamatan, privasi dan keamanan, inklusivitas, transparansi, dan akuntabilitas.

Tujuan kami adalah untuk memastikan bahwa sistem AI memprioritaskan orang dan menjunjung tinggi nilai-nilai dasar seperti keadilan, keandalan, dan transparansi.

Kami juga mendorong organisasi lain untuk mengadopsi standar ini, dan kami berharap dengan menyediakan sumber daya seperti modul ini, kami dapat membantu pengembang menciptakan solusi AI yang efektif, aman, dan transparan.

Kami sangat senang Anda memulai perjalanan AI Anda sendiri dan mendesak Anda untuk mendekatinya dengan tanggung jawab.

Untuk merangkum, dalam modul ini, kami membahas:

  • Memahami dan menerapkan prinsip-prinsip penggunaan AI yang bertanggung jawab.
  • Identifikasi keterbatasan dan mitigasi risiko yang terkait dengan AI.
  • Pelajari praktik terbaik untuk memastikan kode yang dihasilkan AI selaras dengan standar etika dan persyaratan khusus proyek.
  • Kenali pentingnya transparansi dan akuntabilitas dalam sistem AI untuk membangun kepercayaan dan menjaga kepercayaan pengguna.

Untuk informasi lebih lanjut tentang AI yang Bertanggung Jawab, lihat sumber daya berikut:

GitHub Copilot, pemrogram pasangan AI Anda

Perkenalan

GitHub Copilot adalah alat pengembang AI skala besar pertama di dunia yang dapat membantu Anda menulis kode lebih cepat dengan lebih sedikit pekerjaan. GitHub Copilot menarik konteks dari komentar dan kode untuk menyarankan baris individual dan seluruh fungsi secara instan.

Penelitian menemukan bahwa ketika GitHub Copilot membantu pengembang membuat kode lebih cepat, mereka dapat fokus pada pemecahan masalah yang lebih besar, tetap berada dalam alur lebih lama, dan merasa lebih puas dengan pekerjaan mereka.

OpenAI membuat model bahasa pralatih generatif di GitHub Copilot, yang didukung oleh OpenAI Codex. Ekstensi tersedia untuk Visual Studio Code (VS Code), Visual Studio, Neovim, dan rangkaian lingkungan pengembangan terintegrasi (IDE) JetBrains.

Tujuan pembelajaran

Di akhir modul ini, Anda akan:

  • Pahami bagaimana GitHub Copilot dapat membantu Anda membuat kode dengan menawarkan saran bergaya pelengkapan otomatis.
  • Pahami berbagai cara untuk memicu GitHub Copilot.
  • Pahami perbedaan antara GitHub Copilot Free, Pro, Business, dan Enterprise.
  • Ketahui cara mengonfigurasi GitHub Copilot.
  • Ketahui cara memecahkan masalah GitHub Copilot.

Prasyarat

  • Akun GitHub
  • Pemahaman dasar tentang dasar-dasar GitHub

GitHub Copilot, pemrogram pasangan AI Anda

Bukan rahasia lagi bahwa AI mengganggu lanskap teknologi. AI sangat mengubah cara dunia bekerja dan cara setiap organisasi dan tim beroperasi. Kemajuan dalam AI ini berfungsi sebagai katalis dan dapat secara dramatis meningkatkan produktivitas pengembang di seluruh dunia karena mereka menggunakan dan menerapkannya dengan baik.

Penambahan fitur AI ke alat pengembang yang Anda gunakan dan sukai membantu Anda berkolaborasi, mengembangkan, menguji, dan mengirimkan produk Anda lebih cepat dan lebih efisien daripada sebelumnya. GitHub Copilot adalah layanan yang memberi Anda pemrogram pasangan AI yang bekerja dengan semua bahasa pemrograman populer.

Dalam penelitian terbaru, GitHub dan Microsoft menemukan bahwa pengembang mengalami peningkatan produktivitas yang signifikan ketika mereka menggunakan GitHub Copilot untuk mengerjakan proyek dan tugas dunia nyata. Faktanya, dalam tiga tahun sejak diluncurkan, pengembang telah merasakan manfaat berikut saat menggunakan GitHub Copilot:

  • 46% kode baru sekarang ditulis oleh AI
  • Produktivitas pengembang secara keseluruhan 55% lebih cepat
  • 74% developer merasa lebih fokus pada pekerjaan yang memuaskan

Microsoft mengembangkan GitHub Copilot bekerja sama dengan OpenAI. GitHub Copilot didukung oleh sistem OpenAI Codex. OpenAI Codex memiliki pengetahuan luas tentang bagaimana orang menggunakan kode dan lebih mampu daripada GPT-3 dalam pembuatan kode. OpenAI Codex lebih mampu, sebagian, karena dilatih pada kumpulan data yang mencakup konsentrasi kode sumber publik yang lebih besar.

GitHub Copilot tersedia sebagai ekstensi untuk VS Code, Visual Studio, Vim/Neovim, dan rangkaian IDE JetBrains.

Fitur GitHub Copilot

GitHub Copilot memulai era baru pengembangan perangkat lunak sebagai pemrogram pasangan AI yang membuat pengembang tetap dalam arus dengan melengkapi komentar dan kode secara otomatis. Tetapi pelengkapan otomatis bertenaga AI hanyalah titik awal.

Berikut adalah beberapa fitur GitHub Copilot yang benar-benar menjadikannya alat pengembang masa depan. Dengan fitur-fitur ini, GitHub Copilot lebih dari sekadar editor. Ini menjadi asisten AI yang mudah diakses di seluruh siklus hidup pengembangan.

Copilot untuk obrolan

GitHub Copilot menghadirkan antarmuka obrolan seperti ChatGPT ke editor. Antarmuka obrolan berfokus pada skenario pengembang dan terintegrasi secara native dengan VS Code dan Visual Studio. Ini tertanam dalam IDE, dan mengenali kode apa yang telah diketik pengembang dan pesan kesalahan apa yang muncul. Seorang pengembang bisa mendapatkan analisis dan penjelasan mendalam tentang apa yang dimaksudkan untuk dilakukan blok kode, menghasilkan pengujian unit, dan bahkan mendapatkan perbaikan yang diusulkan untuk bug.

Copilot untuk permintaan pull

Model GPT-4 OpenAI menambahkan dukungan di GitHub Copilot untuk tag bertenaga AI dalam deskripsi permintaan tarik melalui aplikasi GitHub yang dapat diinstal oleh admin organisasi dan pemilik repositori individu. GitHub Copilot secara otomatis mengisi tag ini berdasarkan kode yang diubah. Pengembang kemudian dapat meninjau atau memodifikasi deskripsi yang disarankan.

Copilot untuk CLI

Di sebelah editor dan pull request, terminal adalah tempat di mana pengembang menghabiskan waktu paling banyak. Namun, bahkan pengembang yang paling mahir pun perlu menggulir banyak halaman untuk mengingat sintaks yang tepat dari banyak perintah. Antarmuka baris perintah (CLI) GitHub Copilot dapat menyusun perintah dan loop, dan dapat dan melemparkan bendera yang tidak jelas untuk memenuhi kueri Anda.find

Paket berlangganan

Layanan ini tersedia melalui akun pribadi GitHub dengan GitHub Copilot Free dan GitHub Copilot Pro, melalui akun organisasi dengan GitHub Copilot Business, atau melalui akun perusahaan dengan GitHub Copilot Enterprise.

Bisnis GitHub Copilot

GitHub Copilot Business memungkinkan Anda mengontrol siapa yang dapat menggunakan GitHub Copilot di perusahaan Anda. Setelah Anda memberikan akses ke organisasi, adminnya dapat memberikan akses kepada individu dan tim.

Dengan GitHub Copilot Business, GitHub Copilot terbuka untuk setiap pengembang, tim, organisasi, dan perusahaan.

Dengan fitur-fitur berikut, GitHub Copilot Business difokuskan untuk membuat organisasi lebih produktif, aman, dan terpenuhi:

  • Penyelesaian kode
  • Chat di IDE dan seluler
  • Filter kerentanan keamanan
  • Referensi kode
  • Filter untuk kode publik
  • Ganti rugi IP
  • Keamanan, keselamatan, dan privasi tingkat perusahaan

Perusahaan Copilot GitHub

GitHub Copilot Enterprise tersedia untuk organisasi melalui GitHub Enterprise Cloud. Paket langganan ini memungkinkan tim pengembang Anda untuk:

  • Cepat pelajari basis kode Anda.
  • Cari dan buat dokumentasi.
  • Dapatkan saran berdasarkan kode internal dan privat.
  • Tinjau permintaan pull dengan cepat.

GitHub Copilot Enterprise menyertakan semua yang ada di GitHub Copilot Business, ditambah lapisan personalisasi untuk organisasi. Ini menyediakan integrasi ke dalam GitHub sebagai antarmuka obrolan, sehingga pengembang dapat berbicara tentang basis kode mereka. Ini juga menyediakan tombol tindakan di seluruh platform.

GitHub Copilot Enterprise dapat mengindeks basis kode organisasi untuk pemahaman yang lebih dalam dan untuk saran yang lebih disesuaikan. Ini menawarkan akses ke kustomisasi GitHub Copilot untuk menyempurnakan model pribadi untuk penyelesaian kode.

Di unit berikutnya, Anda akan belajar tentang cara memulai GitHub Copilot dan beberapa konfigurasi umum.

Berinteraksi dengan Copilot

Unit ini mengeksplorasi cara Anda dapat memaksimalkan interaksi Anda dengan GitHub Copilot di lingkungan pengembangan Anda. Dengan memahami fitur dan kemampuan layanan, Anda akan belajar cara menggunakannya secara efektif.

Bagian berikut menjelaskan berbagai cara untuk memicu dan menggunakan GitHub Copilot, bersama dengan contoh dan pintasan untuk membantu Anda mendapatkan hasil maksimal darinya.

Saran sebaris

Saran inline adalah bentuk bantuan paling langsung di Copilot. Saat Anda mengetik, Copilot menganalisis kode dan konteks Anda untuk menawarkan penyelesaian kode secara real-time. Fitur ini memprediksi apa yang mungkin ingin Anda tulis selanjutnya dan menampilkan saran dengan cara yang halus dan tidak mencolok.

Saran yang ditawarkan Copilot muncul sebagai teks berwarna abu-abu di depan kursor Anda.

  • Untuk menerima saran, pilih tombol atau tombol (panah kanan).Tab>
  • Untuk menolak saran, terus ketik atau pilih tombol.Esc

Saran sebaris sangat berguna saat Anda mengerjakan tugas berulang atau Anda memerlukan kode boilerplate cepat.

Berikut contohnya:

def calculate_average(numbers): # Start typing here and watch Copilot suggest the function body

Palet perintah

Palet perintah menyediakan akses cepat ke berbagai fungsi di Copilot, sehingga Anda dapat melakukan tugas kompleks hanya dengan beberapa penekanan tombol.

  1. Buka palet perintah dengan memilih (Windows atau Linux) atau (Mac).Ctrl+Shift+PCmd+Shift+P
  2. Masukkan Copilot untuk melihat perintah yang tersedia.
  3. Pilih tindakan seperti Jelaskan Ini atau Buat Pengujian Unit untuk mendapatkan bantuan.

Obrolan kopilot

Obrolan Copilot adalah fitur interaktif yang memungkinkan Anda berkomunikasi dengan Copilot dengan menggunakan bahasa alami. Anda dapat mengajukan pertanyaan atau meminta cuplikan kode, dan Copilot memberikan respons berdasarkan masukan Anda.

  1. Buka panel obrolan Copilot di IDE Anda.
  2. Masukkan pertanyaan atau permintaan dalam bahasa alami, lalu evaluasi respons Copilot.

Misalnya, Anda dapat memasukkan: "Bagaimana cara mengimplementasikan pencarian biner di Python?" Obrolan Copilot sangat ideal untuk menjelajahi konsep pengkodean baru atau mendapatkan bantuan dengan sintaks yang tidak dikenal.

Copilot mungkin merespons dengan:

def binary_search(arr, target): left, right = 0, len(arr) - 1 while left <= right: mid = (left + right) // 2 if arr[mid] == target: return mid elif arr[mid] < target: left = mid + 1 else: right = mid - 1 return -1

image

Obrolan sebaris

Obrolan inline memungkinkan percakapan khusus konteks dengan Copilot langsung dalam editor kode Anda. Anda dapat menggunakan fitur ini untuk meminta modifikasi atau penjelasan kode tanpa beralih konteks.

  1. Tempatkan kursor Anda di tempat yang Anda inginkan bantuan.
  2. Gunakan pintasan keyboard (Windows atau Linux) atau (Mac) untuk membuka obrolan sebaris.Ctrl+ICmd+I
  3. Ajukan pertanyaan atau minta perubahan khusus untuk lokasi kode tersebut.

Obrolan inline membantu Anda fokus pada bagian tertentu dari kode Anda dan mendapatkan saran yang ditargetkan.

Komentar ke kode

Copilot menggunakan pemrosesan bahasa alami untuk mengubah komentar menjadi kode. Anda dapat menjelaskan fungsionalitas yang Anda inginkan dalam komentar. Saat Anda memilih kunci, Copilot akan menghasilkan kode berdasarkan deskripsi Anda.Enter

Berikut contohnya:

#Function to reverse a string def reverse_string(s): #Copilot suggests the function body here

// Function to reverse a string def reverse_string(s): return s[::-1]

image

Pendekatan ini bermanfaat untuk menyusun kode dengan cepat, terutama jika tugas Anda mudah.

Beberapa saran

Untuk cuplikan kode yang kompleks, Copilot dapat menawarkan beberapa alternatif.

  1. Saat Copilot menawarkan saran, cari ikon bola lampu.
  2. Pilih ikon atau gunakan (Windows/Linux) atau (Mac) untuk menelusuri alternatif.Alt+]Option+]

Beberapa saran membantu Anda menjelajahi berbagai pendekatan pengkodean dan memilih yang paling tepat.

Penjelasan

Memahami kode yang ada sangat penting, terutama dalam proyek besar. Anda dapat menggunakan fitur Jelaskan Ini untuk mendapatkan penjelasan cuplikan kode.

  1. Pilih blok kode.
  2. Klik kanan blok kode, lalu pilih Copilot: Jelaskan Ini pada menu pintasan.
  3. Baca penjelasan yang diberikan Copilot untuk kode yang dipilih.

Fitur ini berguna untuk tujuan pembelajaran dan saat Anda meninjau kode yang ditulis orang lain.

Pembuatan pengujian otomatis

Pengujian unit sangat penting untuk memastikan kualitas dan keandalan kode. Copilot dapat menghemat waktu dan tenaga Anda dengan membuat pengujian unit untuk fungsi atau kelas Anda.

  1. Pilih fungsi atau kelas.
  2. Gunakan palet perintah untuk memilih Copilot: Hasilkan Pengujian Unit.
  3. Tinjau kasus pengujian yang disarankan Copilot untuk kode Anda.

Berikut contohnya:

def add(a, b): return a + b

#Copilot might generate a test like this: def test_add(): assert add(2, 3) == 5 assert add(-1, 1) == 0 assert add(0, 0) == 0

image

Pembuatan pengujian otomatis membantu Anda menjaga integritas kode dan menangkap bug di awal proses pengembangan.

Perlu diingat bahwa Copilot belajar dari konteks. Menjaga kode Anda terstruktur dan dikomentari dengan baik membantu Copilot memberikan bantuan yang lebih akurat dan relevan. Semakin banyak Anda berinteraksi dengan Copilot, semakin baik Anda memahami gaya dan preferensi pengkodean Anda.

Menyiapkan, mengonfigurasi, dan memecahkan masalah GitHub Copilot

Unit ini menjelaskan cara mendaftar ke GitHub Copilot, cara mengonfigurasi GitHub Copilot dengan menggunakan VS Code, dan cara memecahkan masalah GitHub Copilot dengan menggunakan VS Code.

Daftar ke GitHub Copilot

Sebelum dapat mulai menggunakan GitHub Copilot, Anda perlu menyiapkan uji coba atau langganan gratis untuk akun Anda.

Untuk memulai, pilih foto profil GitHub Anda, lalu pilih Pengaturan. Copilot ada di menu sebelah kiri di bawah Kode, perencanaan, dan otomatisasi.

Setelah mendaftar, Anda perlu menginstal ekstensi untuk lingkungan pilihan Anda. GitHub Copilot mendukung GitHub.com (yang tidak memerlukan ekstensi), VS Code, Visual Studio, JetBrains IDE, dan Neovim sebagai ekstensi yang tidak mengganggu.

Untuk modul ini, Anda hanya akan meninjau ekstensi dan konfigurasi untuk VS Code. Latihan yang akan Anda selesaikan di unit berikutnya menggunakan VS Code.

Jika Anda menggunakan lingkungan yang berbeda, Anda dapat menemukan tautan khusus untuk menyiapkan lingkungan lain di bagian "Referensi" di akhir modul ini.

Mengonfigurasi GitHub Copilot di VS Code

Menambahkan ekstensi VS Code untuk GitHub Copilot

  1. Di Visual Studio Marketplace, buka halaman ekstensi GitHub Copilot dan pilih Instal.
  2. Dialog popup meminta Anda untuk membuka VS Code. Pilih Buka.
  3. Di VS Code, pada tab Ekstensi: GitHub Copilot, pilih Instal.
  4. Jika sebelumnya Anda tidak mengotorisasi VS Code di akun GitHub Anda, Anda akan diminta untuk masuk ke GitHub di VS Code. Pilih Masuk ke GitHub.

Latihan - Kembangkan dengan saran kode yang didukung AI dengan menggunakan GitHub Copilot dan VS Code

Latihan ini memandu Anda melalui langkah-langkah berikut:

  • Instal GitHub Copilot dengan menggunakan GitHub Codespaces
  • Minta GitHub Copilot untuk saran kode
  • Terima saran kode dari GitHub Copilot

Peraturan

  1. Pilih tombol Mulai latihan di GitHub di bagian bawah halaman ini. Ini membawa Anda ke repositori templat GitHub publik yang meminta Anda untuk menyelesaikan serangkaian tantangan kecil.

  2. Pilih tombol Mulai kursus atau fitur Gunakan templat ini di repositori templat. Tindakan ini meminta Anda untuk membuat repositori baru. Kami menyarankan Anda membuat repositori publik, karena repositori privat menggunakan menit GitHub Actions.

Setelah Anda membuat repositori Anda sendiri dari template, tunggu sekitar 20 detik dan segarkan.

  1. Ikuti petunjuk pada tab README repositori untuk memahami cara kerja latihan, tujuan pembelajarannya, dan cara menyelesaikan latihan dengan sukses.
  2. Saat Anda menyelesaikan latihan di GitHub, kembali ke modul ini untuk:
  • Pemeriksaan pengetahuan cepat.
  • Ringkasan dari apa yang Anda pelajari.
  • Lencana untuk menyelesaikan modul ini.

image

Ringkasan

GitHub sedang bekerja untuk mempersonalisasi GitHub Copilot untuk setiap tim, proyek, dan repositori yang menggunakannya. Tujuannya adalah untuk meningkatkan siklus hidup pengembangan perangkat lunak, mulai dari menulis kode hingga mengirimkan permintaan tarik dan seterusnya.

Bersama dengan model pengetahuan Microsoft, GitHub memanfaatkan reservoir data dan wawasan yang ada di setiap organisasi untuk memperkuat hubungan antara semua pekerja dan pengembang. Wawasan ini membantu setiap ide untuk beralih dari kode menjadi kenyataan tanpa gesekan. Pada saat yang sama, GitHub terus berinovasi dan memperbarui jantung GitHub Copilot, pemrogram pasangan AI yang memulai semuanya.

GitHub Copilot menggembar-gemborkan generasi baru pengembang yang lebih produktif, terpenuhi, dan bahagia yang mengirimkan perangkat lunak yang lebih baik untuk semua orang.

Sekarang setelah Anda menyelesaikan modul ini, Anda harus dapat:

  • Jelaskan fitur GitHub Copilot dan paket berlangganan (Gratis, Pro, Bisnis, dan Perusahaan).
  • Mulai dan konfigurasikan GitHub Copilot.
  • Kembangkan dengan menggunakan GitHub Copilot dan VS Code.

Referensi

Dasar-dasar GitHub Copilot - Memahami pemrogram pasangan AI

Jelajahi dasar-dasar GitHub Copilot dan potensinya untuk meningkatkan produktivitas dan mendorong inovasi bagi pengembang individu dan bisnis. Temukan cara menerapkannya dalam organisasi Anda dan lepaskan kekuatannya untuk proyek Anda sendiri.

Dalam jalur pembelajaran ini, Anda akan:

  • Dapatkan pemahaman yang komprehensif tentang perbedaan antara GitHub Copilot Individuals, GitHub Copilot Business, dan GitHub Copilot Enterprise.
  • Pahami cara memanfaatkan GitHub Copilot di berbagai lingkungan secara bertanggung jawab dan aman.
  • Pelajari fungsionalitas lanjutan GitHub Copilot dan cara menggunakannya dengan sebaik-baiknya.

Prasyarat

  • Pemahaman dasar tentang dasar-dasar GitHub

Perkenalan

GitHub Copilot, didukung oleh OpenAI, mengubah permainan dalam pengembangan perangkat lunak. GitHub Copilot dapat memahami detail rumit proyek Anda melalui pelatihan data yang berisi bahasa alami dan miliaran baris kode sumber dari sumber yang tersedia untuk umum, termasuk kode di repositori GitHub publik. Hal ini memungkinkan GitHub Copilot memberi Anda saran yang lebih sadar konteks.

Tetapi untuk mendapatkan hasil maksimal dari GitHub Copilot, Anda perlu tahu tentang rekayasa cepat. Rekayasa cepat adalah cara Anda memberi tahu GitHub Copilot apa yang Anda butuhkan. Kualitas kode yang diberikannya kembali tergantung pada seberapa jelas dan akurat perintah Anda.

Dalam modul ini, Anda akan mempelajari tentang: Prinsip rekayasa cepat, praktik terbaik, dan cara GitHub Copilot belajar dari perintah Anda untuk memberikan respons sadar konteks. Alur yang mendasari bagaimana GitHub Copilot memproses perintah pengguna untuk menghasilkan respons atau saran kode. Aliran data untuk saran kode dan obrolan di GitHub Copilot. LLM (Model Bahasa Besar) dan perannya dalam GitHub Copilot dan prompting. Cara membuat perintah efektif yang mengoptimalkan kinerja GitHub Copilot, memastikan presisi dan relevansi dalam setiap saran kode. Hubungan rumit antara petunjuk dan tanggapan Copilot. Cara Copilot menangani data dari perintah dalam situasi yang berbeda, termasuk transmisi aman dan pemfilteran konten.

Fondasi rekayasa yang cepat dan praktik terbaik

Dalam unit ini, kita akan membahas:

  • Apa itu rekayasa cepat?
  • Fondasi rekayasa cepat
  • Praktik terbaik dalam rekayasa cepat
  • Cara Copilot belajar dari perintah Anda

Apa itu rekayasa cepat?

Rekayasa cepat adalah proses menyusun instruksi yang jelas untuk memandu sistem AI, seperti GitHub Copilot, untuk menghasilkan kode yang sesuai dengan konteks yang disesuaikan dengan kebutuhan spesifik proyek Anda. Ini memastikan kode benar secara sintaksis, fungsional, dan kontekstual.

Sekarang setelah Anda tahu apa itu rekayasa cepat, mari kita pelajari beberapa prinsipnya.

Prinsip rekayasa cepat

Sebelum kita mengeksplorasi strategi tertentu, pertama-tama mari kita pahami prinsip-prinsip dasar rekayasa cepat, yang dirangkum dalam 4 Ss di bawah ini. Aturan inti ini adalah dasar untuk membuat perintah yang efektif.

  • Single: Selalu fokuskan prompt Anda pada satu tugas atau pertanyaan yang terdefinisi dengan baik. Kejelasan ini sangat penting untuk mendapatkan tanggapan yang akurat dan bermanfaat dari Copilot.
  • Spesifik: Pastikan instruksi Anda eksplisit dan terperinci. Kekhususan mengarah pada saran kode yang lebih dapat diterapkan dan tepat.
  • Singkat: Meskipun spesifik, jaga agar petunjuk tetap ringkas dan to the point. Keseimbangan ini memastikan kejelasan tanpa membebani Copilot atau mempersulit interaksi.
  • Surround: Gunakan nama file deskriptif dan biarkan file terkait tetap terbuka. Ini memberi Copilot konteks yang kaya, yang mengarah ke saran kode yang lebih disesuaikan.

Prinsip-prinsip inti ini meletakkan dasar untuk membuat petunjuk yang efisien dan efektif. Dengan mengingat 4 Ss, mari selami lebih dalam praktik terbaik tingkat lanjut yang memastikan setiap interaksi dengan GitHub Copilot dioptimalkan.

Praktik terbaik dalam rekayasa cepat

Praktik lanjutan berikut, berdasarkan 4 Ss, menyempurnakan dan meningkatkan keterlibatan Anda dengan Copilot, memastikan bahwa kode yang dihasilkan tidak hanya akurat tetapi juga selaras dengan kebutuhan dan konteks spesifik proyek Anda.

Memberikan kejelasan yang cukup

Membangun prinsip 'Tunggal' dan 'Spesifik', selalu bertujuan untuk eksplisit dalam petunjuk Anda. Misalnya, prompt seperti "Tulis fungsi Python untuk memfilter dan mengembalikan angka genap dari daftar yang diberikan" bersifat tunggal dan spesifik.

image

Berikan konteks yang cukup dengan detail

Perkaya pemahaman Copilot dengan konteks, mengikuti prinsip 'Surround'. Semakin banyak informasi kontekstual yang diberikan, semakin cocok dengan saran kode yang dihasilkan. Misalnya, dengan menambahkan beberapa komentar di bagian atas kode untuk memberikan detail lebih lanjut tentang apa yang Anda inginkan, Anda dapat memberikan lebih banyak konteks kepada Copilot untuk memahami perintah Anda, dan memberikan saran kode yang lebih baik.

image

Pada contoh di atas, kami menggunakan langkah-langkah untuk memberikan lebih banyak detail sambil membuatnya singkat. Praktik ini mengikuti prinsip 'Pendek', menyeimbangkan detail dengan keringkasan untuk memastikan kejelasan dan ketepatan dalam komunikasi.

Nota Copilot juga menggunakan tab terbuka paralel di editor kode Anda untuk mendapatkan lebih banyak konteks tentang persyaratan kode Anda.

Berikan contoh untuk belajar

Menggunakan contoh dapat memperjelas persyaratan dan harapan Anda, mengilustrasikan konsep abstrak, dan membuat petunjuk lebih nyata untuk Copilot.

image

Tegaskan dan ulangi

Salah satu kunci untuk membuka potensi penuh GitHub Copilot adalah praktik iterasi. Prompt pertama Anda mungkin tidak selalu menghasilkan kode yang sempurna, dan itu tidak apa-apa. Jika output pertama tidak sesuai dengan yang Anda cari, anggap sebagai langkah dalam dialog. Hapus kode yang disarankan, perkaya komentar awal Anda dengan detail dan contoh tambahan, dan minta Copilot lagi.

Sekarang setelah Anda mempelajari praktik terbaik untuk meningkatkan keterampilan prompting Anda, mari kita lihat lebih dekat bagaimana Anda dapat memberikan contoh yang dapat dipelajari Copilot.

Cara Copilot belajar dari perintah Anda

GitHub Copilot beroperasi berdasarkan model AI yang dilatih pada data dalam jumlah besar. Untuk meningkatkan pemahamannya tentang konteks kode tertentu, para insinyur sering memberikannya contoh. Praktik ini, yang umumnya ditemukan dalam pembelajaran mesin, mengarah pada pendekatan pelatihan yang berbeda seperti:

Pembelajaran tanpa tembakan

Di sini, GitHub Copilot menghasilkan kode tanpa contoh spesifik, hanya mengandalkan pelatihan dasarnya. Misalnya, Anda ingin membuat fungsi untuk mengonversi suhu antara Celcius dan Fahrenheit. Anda dapat memulai dengan hanya menulis komentar yang menjelaskan apa yang Anda inginkan, dan Copilot mungkin dapat membuat kode untuk Anda, berdasarkan pelatihan sebelumnya, tanpa contoh lain.

image

Pembelajaran satu kali

Dengan pendekatan ini, satu contoh diberikan, membantu model dalam menghasilkan respons yang lebih sadar konteks. Berdasarkan contoh zero-shot sebelumnya, Anda dapat memberikan contoh fungsi konversi suhu dan kemudian meminta Copilot untuk membuat fungsi serupa lainnya. Begini tampilannya:

image

Pembelajaran beberapa tembakan

Dalam metode ini, Copilot disajikan dengan beberapa contoh, yang mencapai keseimbangan antara ketidakpastian zero-shot dan presisi fine-tuning. Katakanlah Anda ingin membuat kode yang mengirimi Anda salam tergantung pada waktu dalam sehari. Berikut adalah versi beberapa tembakan dari prompt itu:

image

Sekarang setelah Anda mengetahui bagaimana Copilot menggunakan perintah Anda untuk belajar, mari kita lihat secara mendalam bagaimana Copilot benar-benar menggunakan perintah Anda untuk menyarankan kode untuk Anda.

Alur proses perintah pengguna GitHub Copilot

Dalam unit ini, kami akan menguraikan bagaimana GitHub Copilot mengubah perintah Anda menjadi kode yang cerdas dan dapat digunakan. Umumnya, GitHub Copilot menerima perintah dan mengembalikan saran kode atau respons dalam aliran datanya. Proses ini menyarankan alur masuk dan keluar.

image

Mari kita telusuri semua langkah yang diambil Copilot untuk memproses perintah pengguna menjadi saran kode.

1. Transmisi cepat dan pengumpulan konteks yang aman

Prosesnya dimulai dengan transmisi aman dari prompt pengguna melalui HTTPS. Ini memastikan bahwa komentar bahasa alami Anda dikirim ke server GitHub Copilot dengan aman dan rahasia, melindungi informasi sensitif.

GitHub Copilot dengan aman menerima perintah pengguna, yang dapat berupa obrolan Copilot atau komentar bahasa alami yang Anda berikan dalam kode Anda.

Secara bersamaan, Copilot mengumpulkan detail konteks:

  • Kode sebelum dan sesudah posisi kursor, yang membantunya memahami konteks langsung dari prompt.
  • Nama file dan jenis file yang sedang diedit, memungkinkannya menyesuaikan saran kode dengan jenis file tertentu.
  • Informasi tentang tab terbuka yang berdekatan, memastikan bahwa kode yang dihasilkan selaras dengan segmen kode lain dalam proyek yang sama.
  • Informasi tentang struktur proyek dan jalur file
  • Informasi tentang bahasa pemrograman dan kerangka kerja
  • Pra-pemrosesan menggunakan teknik Fill-in-the-Middle (FIM) untuk mempertimbangkan konteks kode sebelumnya dan berikutnya, secara efektif memperluas pemahaman model yang memungkinkan Copilot menghasilkan saran kode yang lebih akurat dan relevan dengan memanfaatkan konteks yang lebih luas.

Langkah-langkah ini menerjemahkan permintaan tingkat tinggi pengguna menjadi tugas pengkodean yang konkret.

2. Filter proxy

Setelah konteks dikumpulkan dan perintah dibuat, konteks akan diteruskan dengan aman ke server proksi yang dihosting di penyewa Microsoft Azure milik GitHub. Proxy memfilter lalu lintas, memblokir upaya untuk meretas prompt atau memanipulasi sistem untuk mengungkapkan detail tentang bagaimana model menghasilkan saran kode.

3. Penyaringan toksisitas

Copilot menggabungkan mekanisme pemfilteran konten sebelum melanjutkan ekstraksi intent dan pembuatan kode, untuk memastikan bahwa kode dan respons yang dihasilkan tidak menyertakan atau mempromosikan:

  • Ujaran kebencian dan konten yang tidak pantas: Copilot menggunakan algoritme untuk mendeteksi dan mencegah masuknya ujaran kebencian, bahasa yang menyinggung, atau konten yang tidak pantas yang dapat berbahaya atau menyinggung.
  • Data pribadi: Copilot secara aktif menyaring data pribadi apa pun, seperti nama, alamat, atau nomor identifikasi, untuk melindungi privasi pengguna dan keamanan data.

4. Pembuatan kode dengan LLM

Terakhir, prompt yang difilter dan dianalisis diteruskan ke Model LLM, yang menghasilkan saran kode yang sesuai. Saran ini didasarkan pada pemahaman Copilot tentang prompt dan konteks sekitarnya, memastikan bahwa kode yang dihasilkan relevan, fungsional, dan selaras dengan persyaratan khusus proyek.

image

5. Pasca-pemrosesan dan validasi respons

Setelah model menghasilkan responsnya, filter toksisitas akan menghapus konten yang dihasilkan berbahaya atau menyinggung. Server proxy kemudian menerapkan lapisan terakhir pemeriksaan untuk memastikan kualitas kode, keamanan, dan standar etika. Pemeriksaan ini meliputi:

  • Kualitas kode: Respons diperiksa untuk bug atau kerentanan umum, seperti skrip lintas situs (XSS) atau injeksi SQL, memastikan bahwa kode yang dihasilkan kuat dan aman.
  • Kode publik yang cocok (opsional): Secara opsional, administrator dapat mengaktifkan filter yang mencegah Copilot mengembalikan saran lebih dari ~150 karakter jika sangat mirip dengan kode publik yang ada di GitHub. Ini mencegah kecocokan kebetulan disarankan sebagai konten asli. Jika ada bagian dari respons yang gagal dalam pemeriksaan ini, itu akan terpotong atau dibuang.

6. Penyampaian saran dan inisiasi loop umpan balik

Hanya respons yang melewati semua filter yang dikirimkan ke pengguna. Copilot kemudian memulai loop umpan balik berdasarkan tindakan Anda untuk mencapai hal berikut:

  • Kembangkan pengetahuannya dari saran yang diterima.
  • Belajar dan tingkatkan melalui modifikasi dan penolakan sarannya.

7. Ulangi untuk petunjuk berikutnya

Proses ini diulang saat Anda memberikan lebih banyak perintah, dengan Copilot terus menangani permintaan pengguna, memahami maksudnya, dan membuat kode sebagai tanggapan. Seiring waktu, Copilot menerapkan umpan balik kumulatif dan data interaksi, termasuk detail konteks, untuk meningkatkan pemahamannya tentang maksud pengguna dan menyempurnakan kemampuan pembuatan kodenya.

Data GitHub Copilot

Dalam unit ini, kita akan membahas bagaimana GitHub Copilot menangani data untuk berbagai lingkungan, fitur, dan konfigurasi.

Penanganan data untuk saran kode GitHub Copilot

GitHub Copilot di editor kode tidak menyimpan perintah apa pun seperti kode atau konteks lain yang digunakan untuk tujuan memberikan saran untuk melatih model dasar. Ini membuang petunjuk setelah saran dikembalikan.

Pelanggan GitHub Copilot Individual dapat memilih untuk tidak membagikan perintah mereka dengan GitHub yang sebaliknya akan digunakan untuk menyempurnakan model dasar GitHub.

Penanganan data untuk obrolan GitHub Copilot

GitHub Copilot Chat beroperasi sebagai platform interaktif, memungkinkan pengembang untuk terlibat dalam interaksi percakapan dengan asisten AI untuk menerima bantuan pengkodean. Berikut adalah langkah-langkah yang dilakukannya yang mungkin berbeda dari fitur lain seperti penyelesaian kode:

  • Pemformatan: Copilot dengan cermat memformat respons yang dihasilkan untuk presentasi yang optimal dalam antarmuka obrolan. Ini menyoroti cuplikan kode untuk meningkatkan keterbacaan dan dapat menyertakan opsi untuk integrasi langsung ke dalam kode Anda. Copilot menampilkan respons yang diformat di jendela Obrolan Copilot dalam IDE, memungkinkan Anda meninjau dan berinteraksi dengan informasi yang diberikan dengan mudah.
  • Keterlibatan pengguna: Anda dapat secara aktif terlibat dengan tanggapan dengan mengajukan pertanyaan lanjutan, meminta klarifikasi, atau memberikan masukan tambahan. Antarmuka obrolan memelihara riwayat percakapan untuk memfasilitasi pemahaman kontekstual dalam interaksi berikutnya.
  • Retensi data: Untuk Obrolan Copilot yang digunakan di luar editor kode, GitHub biasanya mempertahankan petunjuk, saran, dan konteks pendukung selama 28 hari. Kebijakan retensi khusus untuk Obrolan Copilot dalam editor kode dapat bervariasi.

Hal yang sama berlaku untuk CLI, Mobile, dan GitHub Copilot Chat di GitHub.com.

Jenis perintah yang didukung oleh GitHub Copilot Chat

GitHub Copilot Chat memproses berbagai petunjuk terkait pengkodean, menunjukkan keserbagunaannya sebagai asisten pengkodean percakapan. Berikut adalah beberapa jenis input umum:

  • Pertanyaan Langsung: Anda dapat mengajukan pertanyaan spesifik tentang konsep pengkodean, pustaka, atau pemecahan masalah masalah. Misalnya, "Bagaimana cara mengimplementasikan algoritma pengurutan cepat di Python?" atau "Mengapa komponen React saya tidak dirender?"
  • Permintaan Terkait Kode: Anda dapat meminta pembuatan, modifikasi, atau penjelasan kode. Contohnya termasuk "Tulis fungsi untuk menghitung faktorial", "Perbaiki error ini dalam kode saya", atau "Jelaskan cuplikan kode ini".
  • Kueri Terbuka: Anda dapat menjelajahi konsep pengkodean atau mencari panduan umum dengan mengajukan pertanyaan terbuka seperti "Apa praktik terbaik untuk menulis kode yang bersih?" atau "Bagaimana cara meningkatkan performa aplikasi Python saya?"
  • Perintah Kontekstual: Anda dapat memberikan cuplikan kode atau menjelaskan skenario pengkodean tertentu untuk mencari bantuan yang disesuaikan. Misalnya, "Ini bagian dari kode saya, dapatkah Anda menyarankan perbaikan?" atau "Saya sedang membangun aplikasi web, dapatkah Anda membantu saya dengan alur otentikasi?"

Kemampuan Copilot Chat untuk memproses beragam jenis input meningkatkan kegunaannya sebagai pendamping pengkodean yang komprehensif.

image

Meskipun GitHub Copilot Chat unggul dalam memahami dan menanggapi petunjuk, penting untuk mengakui keterbatasan jendela konteks. Ini mengacu pada jumlah kode dan teks di sekitarnya yang dapat diproses model secara bersamaan untuk menghasilkan saran. Jendela konteks GitHub Copilot biasanya berkisar dari sekitar 200-500 baris kode atau hingga beberapa ribu token. Batasan ini dapat bervariasi tergantung pada implementasi spesifik dan versi Copilot yang digunakan.

Copilot Chat saat ini beroperasi dengan jendela konteks token 4k, memberikan cakupan yang lebih luas untuk memahami dan menanggapi pertanyaan pengguna dibandingkan dengan Copilot standar.

Terlepas dari kemajuan ini, Anda harus memperhatikan keterbatasan jendela konteks saat membuat perintah. Memecah masalah kompleks menjadi kueri yang lebih kecil dan lebih terfokus atau memberikan cuplikan kode yang relevan dapat secara signifikan meningkatkan kemampuan model untuk memberikan respons yang akurat dan bermanfaat.

Model Bahasa Besar (LLM) GitHub Copilot

GitHub Copilot didukung oleh Model Bahasa Besar (LLM) untuk membantu Anda menulis kode dengan mulus. Dalam unit ini, kami fokus untuk memahami integrasi dan dampak LLM di GitHub Copilot. Mari kita tinjau topik-topik berikut:

  • Apa itu LLM?
  • Peran LLM di GitHub Copilot dan dorongan
  • Menyempurnakan LLM
  • Penyetelan halus LoRA

Apa itu LLM?

Model Bahasa Besar (LLM) adalah model kecerdasan buatan yang dirancang dan dilatih untuk memahami, menghasilkan, dan memanipulasi bahasa manusia. Model-model ini tertanam dengan kemampuan untuk menangani berbagai tugas yang melibatkan teks, berkat banyaknya data teks yang mereka latih. Berikut adalah beberapa aspek inti yang perlu dipahami tentang LLM:

Volume data pelatihan

LLM terpapar pada sejumlah besar teks dari berbagai sumber. Paparan ini membekali mereka dengan pemahaman yang luas tentang bahasa, konteks, dan seluk-beluk yang terlibat dalam berbagai bentuk komunikasi.

Pemahaman kontekstual

Mereka unggul dalam menghasilkan teks yang relevan dan koheren secara kontekstual. Kemampuan mereka untuk memahami konteks memungkinkan mereka untuk memberikan kontribusi yang bermakna, baik itu menyelesaikan kalimat, paragraf, atau bahkan menghasilkan seluruh dokumen yang sesuai secara kontekstual.

Pembelajaran mesin dan integrasi AI

LLM didasarkan pada pembelajaran mesin dan prinsip kecerdasan buatan. Mereka adalah jaringan saraf dengan jutaan, atau bahkan miliaran, parameter yang disesuaikan selama proses pelatihan untuk memahami dan memprediksi teks secara efektif.

Fleksibilitas

Model ini tidak terbatas pada jenis teks atau bahasa tertentu. Mereka dapat disesuaikan dan disesuaikan untuk melakukan tugas-tugas khusus, menjadikannya sangat serbaguna dan dapat diterapkan di berbagai domain dan bahasa.

Peran LLM di GitHub Copilot dan dorongan

GitHub Copilot menggunakan LLM untuk memberikan saran kode yang sadar konteks. LLM tidak hanya mempertimbangkan file saat ini tetapi juga file dan tab terbuka lainnya di IDE untuk menghasilkan penyelesaian kode yang akurat dan relevan. Pendekatan dinamis ini memastikan saran yang disesuaikan, meningkatkan produktivitas Anda.

Menyempurnakan LLM

Fine-tuning adalah proses penting yang memungkinkan kita menyesuaikan model bahasa besar (LLM) yang telah dilatih sebelumnya untuk tugas atau domain tertentu. Ini melibatkan pelatihan model pada kumpulan data khusus tugas yang lebih kecil, yang dikenal sebagai kumpulan data target, sambil menggunakan pengetahuan dan parameter yang diperoleh dari kumpulan data besar yang telah dilatih sebelumnya, yang disebut sebagai model sumber.

image

Penyetelan sangat penting untuk mengadaptasi LLM untuk tugas-tugas tertentu, meningkatkan kinerjanya. Namun, GitHub melangkah lebih jauh dengan menggunakan metode fine tuning LoRA, yang akan kita bahas selanjutnya.

Penyetelan halus LoRA

Penyetelan penuh tradisional berarti melatih semua bagian jaringan saraf, yang bisa lambat dan sangat bergantung pada sumber daya. Tapi penyesuaian LoRA (Low-Rank Adaptation) adalah alternatif yang cerdas. Ini digunakan untuk membuat model bahasa (LLM) yang telah dilatih sebelumnya bekerja lebih baik untuk tugas-tugas tertentu tanpa mengulang semua pelatihan.

Begini cara kerja LoRA:

  • LoRA menambahkan bagian yang lebih kecil yang dapat dilatih ke setiap lapisan model yang telah dilatih sebelumnya, alih-alih mengubah semuanya.
  • Model aslinya tetap sama, yang menghemat waktu dan sumber daya.

Apa yang hebat tentang LoRA:

  • Ini mengalahkan metode adaptasi lain seperti adaptor dan penyetelan awalan.
  • Ini seperti mendapatkan hasil yang bagus dengan lebih sedikit bagian yang bergerak.

Secara sederhana, penyesuaian LoRA adalah tentang bekerja lebih cerdas, bukan lebih keras, untuk membuat LLM lebih baik untuk persyaratan pengkodean spesifik Anda saat menggunakan Copilot.

image

image

Ringkasan

Dalam modul ini, kami mengungkapkan seluk-beluk pengoptimalan GitHub Copilot melalui prompting yang efektif. Memanfaatkan potensi maksimum alat terletak pada seni dan ilmu rekayasa cepat. Sekarang, Anda dilengkapi dengan keterampilan dan wawasan yang disempurnakan untuk meningkatkan pengalaman dan output pengkodean Anda. Dengan selesainya modul ini, Anda telah mempelajari:

Prinsip rekayasa cepat, praktik terbaik, dan cara GitHub Copilot belajar dari perintah Anda untuk memberikan respons sadar konteks. Alur yang mendasari bagaimana GitHub Copilot memproses perintah pengguna untuk menghasilkan respons atau saran kode. Aliran data untuk saran kode dan obrolan di GitHub Copilot. LLM (Model Bahasa Besar) dan perannya dalam GitHub Copilot dan prompting. Cara membuat perintah efektif yang mengoptimalkan kinerja GitHub Copilot, memastikan presisi dan relevansi dalam setiap saran kode. Hubungan rumit antara petunjuk dan tanggapan Copilot. Cara Copilot menangani data dari perintah dalam situasi yang berbeda, termasuk transmisi aman dan pemfilteran konten.

Referensi

Memberikan umpan balik Kirim umpan balik konten atau perubahan yang disarankan untuk modul Microsoft Learn ini. GitHub memelihara konten dan anggota tim akan melakukan triase permintaan. Terima kasih telah meluangkan waktu untuk meningkatkan konten kami!