Berbagi Pengalaman Penggunaan Mode Agent GitHub Copilot

Artikel ini merangkum cara menggunakan mode Agent GitHub Copilot, dan berbagi pengalaman praktis.

Artikel ini merangkum cara menggunakan mode Agent GitHub Copilot, dan berbagi pengalaman praktis.

Pengaturan Prerequisite

  1. Gunakan VSCode Insider;
  2. Instal plugin GitHub Copilot (Preview);
  3. Pilih model Claude 3.7 Sonnet (Preview), model ini unggul dalam penulisan code, sementara model lainnya memiliki keunggulan dalam kecepatan, multimodal (seperti pengenalan gambar), dan kemampuan penalaran;
  4. Pilih mode kerja Agent.

Pengaturan Prerequisite

Langkah-langkah Operasi

  1. Buka tab “Copilot Edits”;
  2. Tambahkan lampiran, seperti “Codebase”, “Get Errors”, “Terminal Last Commands”, dll;
  3. Tambahkan file “Working Set”, secara default berisi file yang sedang dibuka, Anda juga dapat memilih file lain secara manual (seperti “Open Editors”);
  4. Tambahkan “Instructions”, masukkan petunjuk yang perlu diperhatikan oleh Copilot Agent;
  5. Klik tombol “Send” untuk memulai percakapan, amati kinerja Agent.

Penjelasan Lainnya

  • VSCode melalui fitur lint yang disediakan oleh plugin bahasa dapat menghasilkan petunjuk Error atau Warning, Agent dapat secara otomatis memperbaiki code berdasarkan petunjuk tersebut.
  • Seiring perkembangan percakapan, modifikasi code yang dihasilkan oleh Agent mungkin tidak sesuai harapan. Disarankan untuk fokus pada satu topik yang jelas dalam setiap sesi, hindari percakapan yang terlalu panjang; setelah mencapai tujuan jangka pendek, akhiri sesi saat ini, lalu mulai tugas baru.
  • “Add Files” di bawah “Working Set” menyediakan opsi “Related Files”, yang dapat merekomendasikan file terkait.
  • Perhatikan untuk mengontrol jumlah baris dalam satu file code, agar konsumsi token tidak terlalu cepat.
  • Disarankan untuk menghasilkan code dasar terlebih dahulu, kemudian menulis kasus uji, sehingga Agent dapat debug dan validasi sendiri berdasarkan hasil tes.
  • Untuk membatasi lingkup modifikasi, Anda dapat menambahkan konfigurasi berikut di settings.json, hanya mengubah file di direktori tertentu, hanya sebagai referensi:
 "github.copilot.chat.codeGeneration.instructions": [
        {
            "text": "只需修改 ./script/ 目录下的文件,不修改其他目录下的文件."
        },
        {
            "text": "若目标代码文件行数超过 1000 行,建议将新增函数置于新文件中,通过引用调用;如产生的修改导致文件超长,可暂不严格遵守此规则."
        }
    ],
    "github.copilot.chat.testGeneration.instructions": [
        {
            "text": "在现有单元测试文件中生成测试用例."
        },
        {
            "text": "代码修改后务必运行测试用例验证."
        }
    ],

Pertanyaan Umum

Masukan kebutuhan tidak mendapatkan code bisnis yang diinginkan

Perlu memecah tugas besar menjadi tugas yang lebih kecil, setiap sesi hanya menangani satu tugas kecil. Ini disebabkan oleh terlalu banyak konteks model besar yang menyebarkan perhatian.

Konteks yang diberikan dalam satu percakapan perlu dipertimbangkan sendiri, terlalu banyak atau terlalu sedikit akan menyebabkan tidak memahami kebutuhan.

Model DeepSeek memecahkan masalah persebaran perhatian, tetapi perlu menggunakan DeepSeek API di cursor. Tidak jelas bagaimana efeknya.

Masalah respons lambat

Perlu memahami mekanisme konsumsi token, token input murah dan membutuhkan waktu lebih sedikit, token output jauh lebih mahal dan jelas lebih lambat.

Jika satu file code sangat besar, baris code yang perlu diubah sebenarnya hanya tiga baris, tetapi karena banyak konteks, output juga banyak, akan menyebabkan konsumsi token cepat dan respons lambat.

Oleh karena itu, perlu mempertimbangkan untuk mengontrol ukuran file, jangan menulis file yang sangat besar dan fungsi yang sangat besar. Bagi file besar dan fungsi besar secara tepat waktu, melalui panggilan referensi.

Masalah pemahaman bisnis

Pemahaman mungkin bergantung pada komentar dalam code, serta file tes, menambahkan komentar yang cukup dalam code, serta kasus uji, dapat membantu Copilot Agent memahami bisnis dengan lebih baik.

Code bisnis yang dihasilkan oleh Agent sendiri memiliki cukup banyak komentar, dengan meninjau komentar tersebut, Anda dapat dengan cepat menilai apakah Agent memahami kebutuhan dengan benar.

Menghasilkan banyak code membutuhkan debug yang lama

Pertimbangkan untuk menghasilkan code dasar dari suatu fitur terlebih dahulu, kemudian menghasilkan kasus uji, kemudikan menyesuaikan logika bisnis, dengan cara ini Agent dapat debug sendiri dan validasi sendiri.

Agent akan menanya apakah izin untuk menjalankan perintah tes, setelah selesai akan membaca output terminal secara sendiri, untuk menilai apakah code tersebut benar. Jika tidak benar, akan diubah berdasarkan informasi kesalahan. Berulang-ulang, hingga tes lolos.

Yaitu perlu memahami bisnis lebih banyak, tidak perlu menulis secara manual terlalu banyak, jika kasus uji code dan code bisnis tidak benar, Agent tidak dapat menulis kasus uji yang benar berdasarkan bisnis, juga tidak dapat menulis code bisnis yang benar berdasarkan kasus uji, hanya dalam situasi inilah debug yang lama terjadi.

Kesimpulan

Pahami mekanisme konsumsi token model besar, konteks input murah, code output lebih mahal, bagian code yang tidak diubah dalam file mungkin juga dihitung sebagai output, buktinya adalah bahwa code yang tidak perlu diubah juga akan output secara lambat.

Oleh karena itu, harus mengontrol ukuran file sebisa mungkin, Anda dapat merasakan perbedaan kecepatan respons Agent saat menangani file besar dan file kecil, perbedaan ini sangat jelas.