Menggunakan chat berbasis agen sebagai programmer berpasangan

Dokumen ini menjelaskan cara mengonfigurasi dan menggunakan mode agen Gemini Code Assist sebagai programmer berpasangan di lingkungan pengembangan terintegrasi (IDE) Anda.

Mode agen tersedia di VS Code.

Beberapa cara Anda dapat menggunakan Gemini Code Assist dalam mode agen adalah:

  • Mengajukan pertanyaan tentang kode Anda.
  • Gunakan alat dan konteks bawaan dalam mode agen untuk meningkatkan kualitas konten yang dihasilkan.
  • Konfigurasi server MCP untuk memperluas kemampuan agen.
  • Dapatkan solusi untuk tugas kompleks dengan beberapa langkah.
  • Buat kode dari dokumen desain, masalah, TODO komentar.
  • Mengontrol perilaku agen dengan mengomentari, mengedit, dan menyetujui rencana dan penggunaan alat selama eksekusi.

Cara kerja mode agen

Dalam mode agen, perintah Anda dikirim ke Gemini API dengan daftar alat yang tersedia. Gemini API memproses perintah dan menampilkan respons. Respons dapat berupa jawaban langsung atau permintaan untuk menggunakan alat yang tersedia.

Saat alat diminta, agen akan bersiap menggunakan alat dan memeriksa apakah alat tersebut diizinkan untuk digunakan tanpa izin eksplisit. Untuk permintaan alat yang mengubah sistem file, atau melakukan operasi mutasi pada resource apa pun, Gemini akan meminta Anda untuk mengizinkan operasi tersebut kecuali Anda telah mengonfigurasi Gemini agar selalu mengizinkan alat atau alat-alat tersebut. Permintaan alat yang bersifat hanya baca mungkin tidak meminta izin sebelum menyelesaikan tugas. Saat diminta untuk mengizinkan penggunaan alat, Anda dapat memilih untuk mengizinkan atau menolak operasi. Agen juga dapat memberi Anda opsi untuk selalu mengizinkan alat atau server atau mengizinkan operasi serupa.

Setelah izin untuk menggunakan alat diberikan, agen akan menggunakan alat tersebut untuk menyelesaikan tindakan yang diperlukan, dan hasil tindakan akan dikirim kembali ke Gemini API. Gemini memproses hasil tindakan alat dan membuat respons lain. Siklus tindakan dan evaluasi ini berlanjut hingga tugas selesai.

Untuk tugas yang kompleks, Gemini mungkin menampilkan rencana tingkat tinggi untuk mendapatkan persetujuan Anda. Anda dapat menyesuaikan rencana dan mengajukan pertanyaan di chat sebelum memulai prosesnya. Setelah puas dengan rencana tersebut, Anda dapat menyetujuinya. Agen mulai mengerjakan tugas pertama, dan akan meminta klarifikasi atau izin kepada Anda sesuai kebutuhan saat menjalankan rencana.

Konteks mode agen

Konteks memungkinkan agen menghasilkan respons yang lebih baik untuk perintah tertentu. Konteks dapat diambil dari file di IDE Anda, file di folder sistem lokal Anda, respons alat, dan detail perintah Anda.

Bergantung pada IDE dan setelan Anda, konteks yang berbeda mungkin tersedia untuk agen.

Metode berikut untuk mendapatkan konteks biasanya tersedia untuk Gemini Code Assist dalam mode agen:

  • Informasi di ruang kerja IDE Anda.
  • Respons alat dari alat bawaan seperti grep, terminal, pembacaan file, atau penulisan file.
  • Respons Google Penelusuran.
  • Konten dari URL tertentu yang diberikan dalam perintah atau oleh alat.
  • File konteks yang Anda buat di Markdown dicakup ke semua project, project tertentu, atau petunjuk khusus untuk komponen, modul, atau subbagian tertentu dari project Anda. File konteks dapat berisi petunjuk, panduan, atau konteks yang Anda inginkan agar Gemini mengetahuinya selama interaksi dalam mode agen.

Memori mode agen

Mode agen Gemini Code Assist memanfaatkan layanan penemuan memori Gemini CLI untuk menemukan dan memuat file GEMINI.md yang memberikan konteks bagi agen. Layanan penemuan memori menelusuri file secara hierarkis, mulai dari direktori kerja saat ini dan bergerak ke root project dan direktori beranda Anda. Perintah ini juga menelusuri di subdirektori.

Anda dapat memiliki file konteks global, tingkat project, dan tingkat komponen, yang semuanya digabungkan untuk memberikan informasi yang paling relevan kepada model.

Anda dapat menggunakan perintah /memory show untuk melihat gabungan konten semua file GEMINI.md yang dimuat, dan perintah /memory refresh untuk memuat ulang file tersebut.

Ekstensi CLI Gemini

Di VS Code, Anda dapat menggunakan ekstensi Gemini CLI untuk mengonfigurasi dan memperluas fungsi mode agen Gemini Code Assist.

Agen mencari ekstensi di dua lokasi:

  • WORKSPACE/.gemini/extensions dengan WORKSPACE adalah ruang kerja Anda saat ini.
  • ~/.gemini/extensions dengan ~ adalah direktori home Anda.

Agen memuat semua ekstensi dari kedua lokasi, tetapi jika ekstensi dengan nama yang sama ada di keduanya, ekstensi di direktori ruang kerja akan lebih diutamakan. Setiap ekstensi adalah direktori yang berisi file gemini-extension.json. File ini berisi konfigurasi untuk ekstensi.

Untuk mengetahui informasi selengkapnya, lihat Ekstensi Gemini CLI.

Batasan

Batasan berikut berlaku saat menggunakan mode agen:

  • Agen tidak dapat memanggil alat Gemini Code Assist. Anda harus keluar dari mode agen untuk menggunakan alat ini.
  • Agen tidak dapat menggunakan penyesuaian kode. Anda harus keluar dari mode agen untuk menggunakan penyesuaian kode.
  • Project dengan beberapa root tidak didukung dalam mode agen. Jika Anda menggunakan mode agen dalam project dengan beberapa direktori root, agen hanya memiliki akses ke direktori root pertama yang ditemuinya.
  • Log Google Cloud Gemini untuk tidak didukung dalam mode agen.

Sebelum memulai

  1. Siapkan Gemini Code Assist.
  2. Setel saluran rilis Gemini Code Assist Anda ke build Insiders:
    1. Buka Palet perintah (Cmd + Shift + P), lalu pilih Open User Settings JSON.
    2. Tambahkan baris berikut ke JSON setelan pengguna Anda:
      "geminicodeassist.updateChannel": "Insiders",

Menggunakan mode agen

Dalam mode agen, Anda dapat meminta Gemini menyelesaikan tujuan tingkat tinggi dan tugas yang kompleks.

Untuk mendapatkan hasil maksimal dari mode agen, ikuti praktik terbaik perintah dan berikan detail sebanyak mungkin.

Untuk beralih ke mode agen:

VS Code

  1. Untuk membuka percakapan Gemini Code Assist, di panel aktivitas IDE, klik spark Gemini Code Assist.
  2. Klik tombol Agen untuk masuk ke mode agen. Tombol beralih akan ditandai saat dialihkan ke mode agen dan berwarna abu-abu saat berada dalam chat reguler.
  3. Di chat Gemini Code Assist, masukkan perintah Anda.

Gemini akan memberikan respons terhadap perintah Anda, atau meminta izin untuk menggunakan alat.

Untuk menghentikan agen, klik Berhenti.

Untuk menggunakan chat Gemini Code Assist standar, klik Chat baru untuk membuat chat baru.

Mode agen Gemini Code Assist didukung oleh Gemini CLI.

IntelliJ

Fitur ini tidak didukung di Gemini Code Assist untuk IntelliJ atau IDE JetBrains lainnya.

Mengonfigurasi alat untuk mode agen

Alat adalah kategori layanan luas yang dapat digunakan agen untuk konteks dan tindakan dalam responsnya terhadap perintah Anda. Beberapa contoh alat yang digunakan adalah alat bawaan seperti grep dan pembacaan atau penulisan file, server Model Context Protocol (MCP) lokal atau jarak jauh, atau penerapan layanan khusus.

Mengonfigurasi server MCP

Untuk mengontrol server mana yang tersedia dalam mode agen, tambahkan server tersebut ke JSON setelan Gemini Anda sesuai dengan dokumentasi server.

VS Code

  1. Instal dependensi apa pun yang diperlukan oleh server MCP Anda.
  2. Buka JSON setelan Gemini Anda yang berada di ~/.gemini/settings.json dengan ~ adalah direktori beranda Anda.
  3. Tambahkan server MCP lokal atau jarak jauh ke JSON setelan Gemini Anda sesuai dengan petunjuk server.

    Contoh berikut menambahkan server MCP Cloudflare jarak jauh, dan menginstal server GitHub dan GitLab di komputer lokal.

    {
        "mcpServers": {
        "github": {
          "command": "npx",
          "args": [
            "-y",
            "@modelcontextprotocol/server-github"
          ],
          "env": {
            "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345"
          }
        },
        "gitlab": {
          "command": "npx",
          "args": [
              "-y",
              "@modelcontextprotocol/server-gitlab"
          ]
        },
            "cloudflare-observability": {
                "command": "npx",
                "args": ["mcp-remote", "https://observability.mcp.cloudflare.com/sse"]
            },
            "cloudflare-bindings": {
                "command": "npx",
                "args": ["mcp-remote", "https://bindings.mcp.cloudflare.com/sse"]
            }
        }
    }
    

  4. Buka palet perintah dan pilih Developer: Reload Window.

Server MCP yang dikonfigurasi tersedia untuk digunakan agen dalam mode agen.

IntelliJ

Fitur ini tidak didukung di Gemini Code Assist untuk IntelliJ atau IDE JetBrains lainnya.

Autentikasi server MCP

Untuk server MCP yang memerlukan autentikasi, Anda dapat menambahkannya ke JSON setelan Gemini.

Contoh berikut menambahkan token akses pribadi untuk GitHub:

{
//other settings...

"github": {
  "command": "/Users/username/code/github-mcp-server/cmd/github-mcp-server/github-mcp-server",
  "args": ["stdio"],
  "env": {
    "GITHUB_PERSONAL_ACCESS_TOKEN": "ACCESS_TOKEN"
  }
},

// other settings...
}

Dengan ACCESS_TOKEN adalah token akses pengguna.

Membuat file konteks

VS Code

  1. Buat file bernama GEMINI.md di lokasi yang cocok dengan cakupan yang Anda inginkan untuk penerapan konteks. Tabel berikut menjelaskan lokasi file konteks untuk cakupan yang berbeda:

    Cakupan Lokasi
    Semua project Anda ~/.gemini/GEMINI.md
    Project tertentu Direktori kerja Anda atau direktori induk hingga root project Anda (diidentifikasi oleh folder .git) atau direktori beranda Anda.
    Komponen, modul, atau subbagian tertentu dari project Subdirektori direktori kerja Anda.

    Sistem memori agen dibuat dengan memuat file konteks dari beberapa lokasi. Konteks dari file yang lebih spesifik, seperti file untuk komponen atau modul tertentu, menggantikan atau melengkapi konten dari file konteks yang lebih umum seperti file konteks global di ~/.gemini/GEMINI.md.

  2. Tulis aturan, informasi panduan gaya, atau konteks yang ingin Anda gunakan oleh agen dalam Markdown, lalu simpan file. Untuk mengetahui informasi selengkapnya, lihat file konteks contoh di GitHub.

IntelliJ

Fitur ini tidak didukung di Gemini Code Assist untuk IntelliJ atau IDE JetBrains lainnya.

Menggunakan perintah

Untuk melihat perintah CLI Gemini yang tersedia dalam mode agen Gemini Code Assist, masukkan / dalam percakapan Gemini.

Anda dapat menggunakan perintah Gemini CLI berikut dalam mode agen:

  • /tools: Menampilkan daftar alat yang tersedia di sesi mode agen Anda. Subperintah mencakup hal berikut:
    • desc atau descriptions: Menampilkan deskripsi mendetail setiap alat.
    • nodesc atau nodescriptions: Menyembunyikan deskripsi alat dan hanya menampilkan nama alat.
  • /memory: Mengelola konteks instruksional agen yang dimuat dari file GEMINI.md. Subperintah mencakup hal berikut:
    • show: Menampilkan konten lengkap dan digabungkan dari memori saat ini yang dimuat dari semua file GEMINI.md yang tersedia.
    • refresh: Memuat ulang memori dari semua file GEMINI.md di lokasi yang tersedia. Untuk mengetahui informasi tentang bagaimana file GEMINI.md berkontribusi pada memori hierarkis agen, lihat dokumentasi Konfigurasi Gemini CLI.
  • /mcp: Mencantumkan server Model Context Protocol (MCP) yang dikonfigurasi, status koneksinya, detail server, dan alat yang tersedia. Subperintah mencakup hal berikut:
    • desc atau descriptions: Menampilkan deskripsi mendetail tentang server dan alat MCP.
    • nodesc atau nodescriptions: Menyembunyikan deskripsi server MCP dan hanya menampilkan nama server MCP.
    • schema: Menampilkan skema JSON lengkap untuk parameter yang dikonfigurasi server MCP.
  • /stats: Menampilkan statistik dan durasi sesi mode agen yang mendetail.

Untuk mengetahui informasi selengkapnya tentang perintah Gemini CLI, lihat Perintah Gemini CLI. Perhatikan bahwa tidak semua perintah Gemini CLI tersedia dalam mode agen.

Mode Yolo

Anda dapat menggunakan mode yolo untuk mengizinkan semua tindakan agen secara otomatis.

Untuk mengonfigurasi mode yolo:

  1. Buka file JSON setelan pengguna VS Code Anda:

    1. Buka Command palette (ctrl/command + Shift + P).
    2. Pilih Preferences: Open User Settings (JSON).
  2. Tambahkan kode berikut ke file JSON setelan pengguna VS Code Anda:

    //other settings...
    
    "geminicodeassist.agentYoloMode": "true",
    //other settings...
    
  3. Buka palet perintah dan pilih Developer: Reload Window.

Mode agen menggunakan mode yolo, dan tidak akan meminta izin sebelum mengambil tindakan saat Anda mengirimkan perintah.

Perintah tambahan

Cobalah perintah berikut dengan informasi Anda sendiri:

  • "Apa fungsi repositori ini? Bantu saya memahami arsitekturnya."
  • "Apa fungsi [class/function] ini?"
  • "Tambahkan fitur ke codebase ini - "[link-or-path-to-codebase]"."
  • "Faktorkan ulang fungsi [A] dan [B] untuk menggunakan metode umum [C]."
  • "Perbaiki masalah GitHub [link-to-github-issue]."
  • "Buat aplikasi untuk melakukan [tujuan] dengan UI yang memungkinkan pengguna melakukan [tugas] di [lingkungan]."
  • "Migrasikan versi library di repositori ini dari [X] ke [Y]."
  • "Optimalkan performa kode Go ini agar berjalan lebih cepat."
  • "Gunakan [nama-API] untuk membuat fitur ini."
  • "Terapkan algoritma untuk melakukan [x], [Y], dan [Z]."

Langkah berikutnya