Menggunakan mode agen Gemini Code Assist

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

Dengan mode agen, Anda dapat melakukan hal berikut dan lainnya:

  • Mengajukan pertanyaan tentang kode Anda.
  • Menggunakan konteks dan alat bawaan untuk meningkatkan kualitas konten yang dibuat.
  • Mengonfigurasi server MCP untuk memperluas kemampuan agen.
  • Mendapatkan solusi untuk tugas kompleks dengan beberapa langkah.
  • Membuat kode dari dokumen desain, masalah, dan komentar TODO.
  • Mengontrol perilaku agen dengan mengomentari, mengedit, dan menyetujui rencana serta penggunaan alat selama eksekusi.

Batasan

Beberapa fitur chat Gemini Code Assist standar mungkin tidak tersedia dalam mode agen atau mungkin berfungsi berbeda dengan chat standar.

Pengulangan tidak tersedia dalam mode agen. Saat dalam mode agen, Gemini tidak mengutip sumber dan Anda tidak dapat menonaktifkan saran kode yang cocok dengan sumber yang dikutip.

Sebelum memulai

  1. Siapkan Gemini Code Assist.

Menggunakan mode agen

Dalam mode agen, Anda dapat meminta Gemini untuk menyelesaikan sasaran tingkat tinggi dan tugas kompleks.

Untuk mengoptimalkan mode agen, ikuti praktik terbaik perintah dan berikan detail sebanyak mungkin.

Untuk beralih ke mode agen:

VS Code

  1. Untuk membuka chat Gemini Code Assist, di panel aktivitas IDE Anda, klik spark Gemini Code Assist.
  2. Klik tombol Agent untuk masuk ke mode agen. Tombol akan disorot saat dialihkan ke mode agen dan berwarna abu-abu saat 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 Stop.

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

IntelliJ

  1. Klik spark Gemini di kolom jendela alat. Login jika Anda diminta untuk melakukannya.
  2. Pilih tab Agent.
  3. Jelaskan tugas yang ingin Anda minta agen untuk dilakukan.
  4. Saat agen melalui langkah-langkah untuk menyelesaikan tugas, Anda akan memiliki opsi untuk meninjau dan menyetujui perubahan apa pun.

  5. Opsional: Untuk menyetujui perubahan secara otomatis, pilih settings Agent options dan klik kotak centang di samping Auto-approve changes.

Mengonfigurasi alat untuk mode agen

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

Mengontrol penggunaan alat bawaan

Mode agen memiliki akses ke alat bawaan Anda seperti penelusuran file, baca file, tulis file, perintah terminal, dan lainnya.

VS Code

Anda dapat menggunakan setelan coreTools dan excludeTools untuk mengontrol alat yang dapat diakses Gemini dalam mode agen.

coreTools
Memungkinkan Anda menentukan daftar alat yang ingin Anda sediakan untuk model. Anda juga dapat menentukan batasan khusus perintah untuk alat yang mendukungnya. Misalnya—menambahkan kode berikut ke JSON setelan Gemini hanya akan mengizinkan perintah shell ls -l dieksekusi:"coreTools": ["ShellTool(ls -l)"].
excludeTools
Memungkinkan Anda menentukan daftar alat yang tidak ingin Anda sediakan untuk model. Anda juga dapat menentukan batasan khusus perintah untuk alat yang mendukungnya. Misalnya—menambahkan kode berikut ke JSON setelan Gemini akan memblokir penggunaan perintah rm -rf: "excludeTools": ["ShellTool(rm -rf)"].

Alat yang tercantum di excludeTools dan coreTools akan dikecualikan.

Untuk mengonfigurasi alat bawaan yang tersedia dalam mode agen, lakukan hal berikut:

  1. Buka JSON setelan Gemini yang terletak di ~/.gemini/settings.json dengan ~ adalah direktori utama Anda.
  2. Untuk membatasi penggunaan alat agen ke daftar alat yang disetujui, tambahkan baris berikut ke JSON setelan Gemini Anda:

    "coreTools": ["TOOL_NAME_1,TOOL_NAME_2"]
    

    Ganti TOOL_NAME_1 dan TOOL_NAME_2 dengan nama alat bawaan yang ingin Anda berikan aksesnya kepada agen.

    Anda dapat mencantumkan alat bawaan sebanyak yang Anda inginkan. Secara default, semua alat bawaan tersedia untuk agen.

  3. Untuk membatasi penggunaan alat agen ke perintah alat tertentu, tambahkan baris berikut ke JSON setelan Gemini Anda:

    "coreTools": ["TOOL_NAME(COMMAND)"]
    

    Ganti kode berikut:

    • TOOL_NAME: nama alat bawaan
    • COMMAND: nama perintah alat bawaan yang ingin Anda izinkan untuk digunakan oleh agen.
  4. Untuk mengecualikan alat dari penggunaan agen, tambahkan baris berikut ke JSON setelan Gemini Anda:

    "excludeTools": ["TOOL_NAME_1,TOOL_NAME_2"]
    

    Ganti TOOL_NAME_1 dan TOOL_NAME_2 dengan nama alat bawaan yang ingin Anda kecualikan dari penggunaan agen.

  5. Untuk mengecualikan perintah alat dari penggunaan agen, tambahkan baris berikut ke JSON setelan Gemini Anda:

    "excludeTools": ["TOOL_NAME(COMMAND)"]
    

    Ganti kode berikut:

    • TOOL_NAME: nama alat bawaan
    • COMMAND: nama perintah alat bawaan yang ingin Anda kecualikan dari penggunaan agen.

Untuk mengetahui informasi selengkapnya tentang setelan konfigurasi coreTools dan excludeTools, lihat dokumentasi konfigurasi Gemini CLI.

IntelliJ

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

Mengonfigurasi server MCP

Petunjuk berikut menunjukkan cara menyediakan server MCP untuk digunakan dalam mode agen di IDE Anda. Setelah Anda menyediakan server MCP, Gemini Code Assist akan otomatis memutuskan kapan dan cara menggunakan alat server yang terdapat dalam server MCP tersebut.

VS Code

Untuk menyediakan server MCP untuk digunakan dalam mode agen, tambahkan konfigurasi untuk setiap server di file JSON setelan Gemini Anda, sesuai dengan dokumentasi setiap server.

  1. Instal dependensi apa pun yang diperlukan oleh server MCP yang Anda tambahkan.
  2. Buka file JSON setelan Gemini Anda, yang terletak di ~/.gemini/settings.json dengan ~ adalah direktori utama Anda.
  3. Konfigurasi setiap server MCP lokal atau jarak jauh di file JSON setelan Gemini, sesuai dengan petunjuk setiap server.

    Contoh file JSON setelan Gemini berikut mengonfigurasi dua server MCP Cloudflare jarak jauh, satu server MCP GitLab jarak jauh, dan satu server MCP GitHub lokal untuk digunakan dengan Gemini Code Assist di VS Code.

    {
      "mcpServers": {
        "github": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-github"],
          "env": {
            "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345"
          }
        },
        "gitlab": {
          "command": "npx",
          "args": ["mcp-remote", "https://your-gitlab-instance.com/api/v4/mcp"]
        },
        "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 Anda konfigurasi tersedia untuk digunakan oleh agen dalam mode agen.

IntelliJ

Untuk menyediakan server MCP untuk digunakan dalam mode agen, tambahkan konfigurasi untuk setiap server dalam file mcp.json dan tempatkan file mcp.json di direktori konfigurasi untuk IDE Anda.

  1. Instal dependensi apa pun yang diperlukan oleh server MCP yang Anda tambahkan.
  2. Buat file bernama mcp.json di direktori konfigurasi IDE Anda .
  3. Konfigurasi setiap server MCP lokal atau jarak jauh di file mcp.json, sesuai dengan petunjuk setiap server.

    Contoh file mcp.json berikut mengonfigurasi dua server MCP Cloudflare jarak jauh, satu server MCP GitLab jarak jauh, dan satu server MCP GitHub lokal untuk digunakan dengan Gemini Code Assist di IntelliJ.

    {
      "mcpServers": {
        "github": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-github"],
          "env": {
            "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345"
          }
        },
        "gitlab": {
          "command": "npx",
          "args": ["mcp-remote", "https://your-gitlab-instance.com/api/v4/mcp"]
        },
        "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"]
        }
      }
    }
    

Server MCP yang Anda konfigurasi tersedia untuk digunakan oleh agen dalam mode agen.

Otentikasi server MCP

Beberapa server MCP memerlukan autentikasi. Ikuti dokumentasi server untuk membuat token pengguna yang diperlukan, lalu tentukan dengan tepat. Biasanya, Anda menentukan token autentikasi untuk server lokal menggunakan variabel lingkungan khusus server yang sesuai, dan Anda menentukan token autentikasi untuk server jarak jauh menggunakan header Authorization HTTP.

VS Code

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

Contoh berikut menunjukkan cara menentukan token akses pribadi untuk server MCP lokal dan jarak jauh GitHub:

{
  "mcpServers": {
    "github-remote": {
      "httpUrl": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "Authorization": "Bearer ACCESS_TOKEN"
      }
    },
    "github-local": {
      "command": "/Users/username/code/github-mcp-server/cmd/github-mcp-server/github-mcp-server",
      "args": ["stdio"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ACCESS_TOKEN"
      }
    }
  }
}

Dengan ACCESS_TOKEN adalah token akses pengguna.

IntelliJ

Untuk server MCP yang memerlukan autentikasi, Anda dapat menambahkannya ke file mcp.json.

Contoh berikut menambahkan token akses pribadi untuk server lokal GitHub:

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

Dengan ACCESS_TOKEN adalah token akses pengguna.

Membuat file konteks

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. Untuk mengetahui informasi selengkapnya, lihat Konteks mode agen.

VS Code

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

    Cakupan Lokasi
    Semua project Anda ~/.gemini/GEMINI.md
    Project tertentu Direktori kerja Anda atau direktori induk mana pun hingga ke root project Anda (diidentifikasi oleh folder .git) atau direktori utama Anda.
    Komponen, modul, atau sub-bagian 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, akan mengganti 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 dan simpan file. Untuk mengetahui informasi selengkapnya, lihat file konteks contoh di GitHub.

Agen menyertakan informasi dalam file konteks Anda beserta perintah apa pun yang Anda kirimkan kepadanya.

IntelliJ

  1. Buat file bernama GEMINI.md atau AGENT.md di root project Anda.

  2. Tulis aturan, informasi panduan gaya, atau konteks yang ingin Anda gunakan oleh agen dalam Markdown dan simpan file.

Agen menyertakan informasi dalam file konteks Anda beserta perintah apa pun yang Anda kirimkan kepadanya. Anda juga dapat menambahkan konteks dengan menyertakan file secara manual dengan sintaksis @FILENAME dengan FILENAME adalah nama file dengan informasi kontekstual yang ingin Anda sertakan.

Menggunakan perintah

Perintah garis miring / memungkinkan Anda menjalankan perintah dengan cepat yang mirip dengan perintah di jendela terminal.

VS Code

Anda dapat menggunakan perintah Gemini CLI bawaan berikut dalam mode agen:

  • /tools: Menampilkan daftar alat yang tersedia dalam sesi mode agen Anda.
  • /mcp: Mencantumkan server Model Context Protocol (MCP) yang dikonfigurasi, status koneksinya, detail server, dan alat yang tersedia.

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

IntelliJ

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

Selalu mengizinkan tindakan agen

Anda dapat mengizinkan semua tindakan agen secara otomatis.

Untuk mengizinkan semua tindakan agen secara otomatis:

VS Code

Gunakan mode yolo untuk mengizinkan semua tindakan agen secara otomatis. Mode yolo hanya dapat di gunakan di ruang kerja tepercaya.

Untuk mengonfigurasi mode yolo:

  1. Buka file JSON setelan pengguna VS Code Anda:

    1. Buka Palet perintah (ctrl/command + Shift + P).
    2. Pilih Preferensi: Buka Setelan Pengguna (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 melakukan tindakan saat Anda mengirimkan perintah. Saat menggunakan ruang kerja yang dibatasi, agen akan meminta izin sebelum melakukan tindakan, terlepas dari setelan ini.

IntelliJ

Untuk menyetujui perubahan secara otomatis, di tab agen chat Gemini, pilih settings Agent options, lalu klik kotak centang di samping Auto-approve changes.

Mode agen akan otomatis menyetujui semua permintaan, dan tidak akan meminta izin sebelum melakukan tindakan saat Anda mengirimkan perintah.

Perintah tambahan

Coba 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]"."
  • "Refaktor fungsi [A] dan [B] untuk menggunakan metode umum [C]."
  • "Perbaiki masalah GitHub [link-to-github-issue]."
  • "Buat aplikasi untuk melakukan [goal] dengan UI yang memungkinkan pengguna melakukan [task] di [environment]."
  • "Migrasikan versi library di repositori ini dari [X] ke [Y]."
  • "Optimalkan performa kode Go ini agar berjalan lebih cepat."
  • "Gunakan [name-of-API] untuk membuat fitur ini."
  • "Implementasikan algoritma untuk melakukan [x], [Y], dan [Z]."

Opsional: Menggunakan Kunci API

Gemini Code Assist menyertakan kuota harian yang berbeda untuk fitur agen, bergantung pada paket yang Anda gunakan.

Jika Anda telah menggunakan kuota harian untuk mode agen Gemini Code Assist, Anda dapat terus menggunakan layanan ini dengan memberikan kunci API. Anda dapat menggunakan kunci API Gemini atau kunci API Vertex AI.

Untuk menambahkan kunci API:

  1. Buka setelan IDE Anda.

  2. Buka file settings.json.

  3. Tambahkan baris berikut, dengan mengganti YOUR_KEY dengan kunci API Anda:

    "geminicodeassist.geminiApiKey": "YOUR_KEY"

Langkah berikutnya