Penggunaan GitHub Copilot Cloud Agent yang bertanggung jawab di GitHub.com

Selesai

Pelajari cara menggunakan Copilot Cloud Agent pada GitHub.com secara bertanggung jawab dengan memahami tujuan, kemampuan, dan batasannya.

Pada akhir unit ini, Anda akan dapat:

  • Pahami tujuan, kemampuan, dan batasan Copilot Cloud Agent di GitHub.com.
  • Menerapkan praktik penggunaan yang bertanggung jawab: tugas cakupan, mengamankan lingkungan, dan memvalidasi hasil.
  • Kenali langkah-langkah keamanan, risiko, dan mitigasi, dan di mana meningkatkan performa.

Tentang Copilot Cloud Agent di GitHub.com

Copilot Cloud Agent adalah agen pengembangan perangkat lunak otonom dan asinkron yang terintegrasi ke dalam GitHub. Agen dapat mengambil tugas dari masalah atau dari Obrolan Copilot, membuat cabang, menjelajahi basis kode, menghasilkan rencana implementasi, dan kode draf—memungkinkan Anda memutuskan apakah dan kapan harus membuka permintaan pull.

Copilot Cloud Agent dapat menghasilkan perubahan yang disesuaikan berdasarkan deskripsi dan konfigurasi Anda, termasuk tugas seperti perbaikan bug, menerapkan fitur baru bertahap, prototipe, dokumentasi, dan pemeliharaan basis kode. Jika Anda memutuskan untuk membuat pull request, agen kemudian dapat melakukan iterasi dengan Anda berdasarkan umpan balik serta ulasan Anda.

Saat mengerjakan tugas Anda, agen memiliki akses ke lingkungan pengembangan sementaranya sendiri di mana agen dapat membuat perubahan pada kode Anda, menjalankan pengujian otomatis, dan menjalankan linter. Agen telah dievaluasi di berbagai bahasa pemrograman, dengan bahasa Inggris sebagai bahasa utama yang didukung.

Cara kerja agen (ujung-ke-ujung)

  • Pemrosesan perintah

    Tugas yang diberikan kepada Copilot melalui issue, komentar pull request, atau pesan Copilot Chat dikombinasikan dengan informasi relevan lainnya yang kontekstual untuk membentuk prompt. Input dapat berbentuk bahasa alami biasa, cuplikan kode, atau gambar.

  • Analisis model bahasa

    Perintah kemudian diteruskan melalui model bahasa besar, yang menganalisis input untuk membantu alasan agen pada tugas dan memanfaatkan alat yang diperlukan.

  • Pembuatan respons

    Model bahasa menghasilkan respons berdasarkan analisis permintaannya. Respons ini dapat berbentuk saran bahasa alami dan saran kode.

  • Pemformatan output

    Setelah agen menyelesaikan eksekusi pertamanya, ia akan memperbarui deskripsi pull request dengan perubahan yang dibuatnya. Agen dapat menyertakan informasi tambahan tentang sumber daya yang tidak dapat diakses dan memberikan saran tentang langkah-langkah untuk mengatasinya.

    Anda dapat memberikan umpan balik kepada agen dengan mengomentari dalam permintaan pull atau secara eksplisit menyebutkan agen (@copilot). Agen kemudian akan mengirimkan kembali umpan balik tersebut ke model bahasa untuk analisis lebih lanjut. Setelah agen menyelesaikan perubahan berdasarkan umpan balik, agen akan merespons komentar Anda dengan perubahan yang diperbarui.

Copilot dimaksudkan untuk memberi Anda solusi yang paling relevan untuk resolusi tugas. Namun, mungkin tidak selalu memberikan jawaban yang Anda cari. Anda bertanggung jawab untuk meninjau dan memvalidasi respons yang dihasilkan oleh Copilot untuk memastikan respons tersebut akurat dan sesuai. Selain itu, sebagai bagian dari proses pengembangan produk kami, GitHub melakukan red teaming (pengujian) untuk memahami dan meningkatkan keamanan agen.

Kasus penggunaan untuk Copilot Cloud Agent

  • Pemeliharaan basis kode: Perbaikan keamanan, peningkatan dependensi, dan refaktor yang ditargetkan.
  • Dokumentasi: Memperbarui dan membuat dokumentasi baru.
  • Pengembangan fitur: Menerapkan permintaan fitur inkremental.
  • Meningkatkan cakupan pengujian: Mengembangkan suite pengujian tambahan untuk manajemen kualitas.
  • Membuat prototipe proyek baru: Mengembangkan konsep baru dari awal.

Meningkatkan performa untuk Copilot Cloud Agent

Untuk meningkatkan kinerja dan mengatasi keterbatasan, gunakan langkah-langkah berikut:

Pastikan tugas Anda tercakup dengan baik dengan menyediakan:

  • Deskripsi yang jelas tentang masalah yang harus diselesaikan atau pekerjaan yang diperlukan.
  • Kriteria penerimaan lengkap tentang seperti apa solusi yang baik (misalnya, haruskah ada pengujian unit?).
  • Petunjuk atau penunjuk tentang file apa yang perlu diubah.

Menyesuaikan pengalaman Anda dengan konteks tambahan

Copilot Cloud Agent memanfaatkan permintaan, komentar, dan kode repositori Anda sebagai konteks saat menghasilkan perubahan yang disarankan. Tingkatkan hasil dengan menambahkan instruksi Copilot kustom sehingga agen memahami cara membuat, menguji, dan memvalidasi perubahannya.

Penyesuaian bermanfaat lainnya:

  • Menyesuaikan lingkungan pengembangan untuk GitHub Copilot Cloud Agent
  • Menyesuaikan atau menonaktifkan firewall untuk GitHub Copilot Cloud Agent
  • Memperluas GitHub Copilot Cloud Agent dengan Model Context Protocol (MCP)

Gunakan Copilot Cloud Agent sebagai alat, bukan pengganti

Selalu tinjau dan uji konten yang dihasilkan oleh agen untuk memastikan konten memenuhi persyaratan Anda dan bebas dari kesalahan atau masalah keamanan sebelum penggabungan.

Menggunakan praktik pengodean dan peninjauan kode yang aman

Meskipun Copilot Cloud Agent dapat menghasilkan kode yang benar secara sintetis, kode tersebut mungkin tidak selalu aman. Terus ikuti praktik terbaik untuk pengodean aman (hindari rahasia yang dikodekan secara permanen, cegah kerentanan injeksi) dan terapkan pengujian ketat, pemindaian IP, dan pemeriksaan kerentanan.

Berikan umpan balik

Jika Anda mengalami masalah atau batasan, gunakan ikon thumbs-down di bawah respons agen atau bagikan umpan balik di forum diskusi komunitas.

Selalu terkini

Copilot Cloud Agent berkembang. Pantau risiko keamanan baru dan praktik terbaik saat muncul.

Langkah-langkah keamanan untuk Copilot Cloud Agent

Menghindari eskalasi hak istimewa

  • Copilot Cloud Agent hanya akan merespons interaksi dari pengguna dengan akses tulis .
  • Alur kerja tindakan yang dipicu oleh PR agen memerlukan persetujuan dari pengguna dengan akses tulis sebelum dijalankan.
  • Karakter tersembunyi (tidak dirender pada GitHub.com) difilter untuk mengurangi risiko injeksi perintah.

Membatasi izin Copilot

  • Agen hanya mengakses repositori yang dicakup olehnya; agen tidak dapat mengakses repositori lain.
  • Pembaruan terbatas pada cabang dengan nama yang dimulai dengan copilot/ (bukan cabang default Anda).
  • Agen tidak memiliki akses ke rahasia atau variabel Actions org/repo pada waktu runtime. Hanya rahasia/variabel yang ditambahkan ke lingkungan copilot yang diteruskan ke agen.

Mencegah penyelundupan data

Firewall diaktifkan secara default untuk mencegah eksfiltrasi kode atau data sensitif yang tidak disengaja atau berbahaya. Lihat Menyesuaikan atau menonaktifkan firewall untuk GitHub Copilot Cloud Agent .

Keterbatasan Copilot Cloud Agent

Bergantung pada basis kode dan input Anda, performa dapat bervariasi. Ingatlah batasan ini:

  • Cakupan & kualitas terbatas: LLM mungkin tidak menangani struktur kode tertentu atau bahasa yang tidak jelas; kualitas bervariasi menurut cakupan bahasa.
  • Potensi bias: Data pelatihan dan konteks yang diambil dapat mencakup bias; agen dapat condong ke bahasa atau gaya tertentu.
  • Risiko keamanan: Kode yang dihasilkan didasarkan pada konteks repositori dan dapat mengekspos info sensitif jika tidak ditinjau; Tinjauan menyeluruh diperlukan.
  • Kode yang tidak akurat: Kode mungkin tampak benar tetapi secara semantik/secara sintis salah atau tidak selaras dengan niat. Validasi kecocokan, pola, dan gaya.
  • Kode publik: Agen mungkin menciptakan kecocokan atau kemiripan pada kode publik meskipun opsi "Blokir" diaktifkan; referensi bisa jadi tidak disediakan.
  • Hukum/peraturan: Memastikan kepatuhan terhadap kewajiban yang berlaku; hindari penggunaan yang dilarang berdasarkan ketentuan layanan dan kode etik.