Claude Platform Docs
Managed AgentsDefinisikan agen Anda

Alat

Konfigurasikan alat yang tersedia untuk agen Anda.

Claude Managed Agents menyediakan serangkaian alat bawaan yang dapat digunakan Claude secara otonom di dalam sebuah sesi. Anda mengontrol alat mana yang tersedia dengan menentukannya dalam konfigurasi agen.

Claude Managed Agents juga mendukung alat kustom yang didefinisikan pengguna. Aplikasi Anda mengeksekusi alat-alat ini secara terpisah dan mengembalikan hasilnya ke Claude, yang menggunakannya untuk melanjutkan tugas. Untuk memberi agen alat dari server MCP, gunakan konektor MCP sebagai gantinya.

Alat yang tersedia

Toolset agen mencakup alat-alat berikut. Semuanya diaktifkan secara default saat Anda menyertakan toolset dalam konfigurasi agen.

AlatNamaDeskripsi
BashbashMengeksekusi perintah bash dalam sesi shell
ReadreadMembaca file dari filesystem sandbox
WritewriteMenulis file ke filesystem sandbox
EditeditMelakukan penggantian string dalam sebuah file
GlobglobPencocokan pola file yang cepat menggunakan pola glob
GrepgrepPencarian teks menggunakan pola regex
Web fetchweb_fetchMengambil konten dari sebuah URL
Web searchweb_searchMencari informasi di web

Ketika output alat melebihi 100.000 karakter (sekitar 25.000 token), output tersebut secara otomatis ditulis ke sebuah file di sandbox. Model menerima pratinjau terpotong beserta path file dan dapat membaca konten lengkapnya dari sana.

Mengonfigurasi toolset

Aktifkan toolset lengkap dengan agent_toolset_20260401 saat membuat agen. Gunakan array configs untuk menonaktifkan alat tertentu atau menimpa pengaturannya. Setiap entri diidentifikasi oleh name-nya, yang mengambil nilai dari kolom Nama di Alat yang tersedia. Sebuah entri juga menerima field type opsional dengan nilai yang sama.

Setiap entri konfigurasi juga dapat menetapkan permission_policy. Kebijakan ini mengontrol apakah panggilan alat berjalan tanpa konfirmasi, memerlukan konfirmasi, atau dievaluasi secara individual oleh server. Lihat Kebijakan izin untuk jenis kebijakan yang tersedia.

Contoh berikut mengaktifkan toolset dan menonaktifkan web_fetch:

ant apply agent.md
agent.md
---
name: Coding Assistant
model: claude-opus-5-5
tools:
  - type: agent_toolset_20260401
    configs:
      - name: web_fetch
        enabled: false
---

Menonaktifkan alat tertentu

Untuk menonaktifkan alat, tetapkan enabled: false dalam entri configs-nya:

{
  "type": "agent_toolset_20260401",
  "configs": [
    { "name": "web_fetch", "enabled": false },
    { "name": "web_search", "enabled": false }
  ]
}

Mengaktifkan hanya alat tertentu

Objek default_config menetapkan baseline untuk setiap alat dalam set, dan entri configs per alat menimpanya. Untuk memulai dengan semuanya nonaktif dan hanya mengaktifkan yang Anda butuhkan, tetapkan default_config.enabled ke false:

{
  "type": "agent_toolset_20260401",
  "default_config": { "enabled": false },
  "configs": [
    { "name": "bash", "enabled": true },
    { "name": "read", "enabled": true },
    { "name": "write", "enabled": true }
  ]
}

Membatasi web search dan web fetch

Entri web_search dan web_fetch juga menerima daftar domain, batas konten yang diambil, dan lokasi pencarian. Lihat Membatasi domain web search dan web fetch.

Jenis entri konfigurasi di SDK

SDK Python, TypeScript, Go, Java, C#, Ruby, dan PHP memberikan tipe pada setiap entri configs per alat. Tipe tersebut adalah union dengan satu anggota per alat bawaan, yang dibedakan oleh type.

Di Go, Java, C#, dan PHP, Anda membuat entri dari nilai bertipe, bukan dari dictionary atau hash biasa. Di SDK tersebut, tipe elemen dari configs adalah union itu sendiri, jadi buat setiap entri dari tipe anggota per alatnya.

Anda dapat menghilangkan type saat membuat entri, karena server menyimpulkannya dari name. Respons selalu menyertakannya. Pemberian tipe ini tidak mengubah JSON hasil serialisasi sebuah entri. Permintaan yang entrinya hanya menetapkan name, enabled, dan permission_policy valid dengan atau tanpa type.

Alat kustom

Alat kustom serupa dengan alat klien yang didefinisikan pengguna di Messages API. Anda menentukan operasi apa yang tersedia dan apa yang dikembalikannya, dan Claude menentukan kapan dan bagaimana memanggilnya.

Claude tidak menjalankan alat kustom sendiri. Claude mengeluarkan permintaan terstruktur, kode Anda menjalankan operasinya, dan Anda mengembalikan hasilnya ke sesi.

Contoh berikut membuat agen dengan toolset bawaan dan satu alat kustom, get_weather:

ant apply agent.md
agent.md
---
name: Weather Agent
model: claude-opus-5-5
tools:
  - type: agent_toolset_20260401
  - type: custom
    name: get_weather
    description: Get current weather for a location
    input_schema:
      type: object
      properties:
        location:
          type: string
          description: City name
      required:
        - location
---

Nama alat kustom tidak boleh diawali dengan mcp__ atau ant__, atau sama dengan nama alat agen bawaan. Permintaan yang melanggar aturan ini mengembalikan error 400. Agen yang sudah memiliki alat kustom dengan nama yang diawali ant__ hanya menerima pembaruan jika pembaruan tersebut mengirim tools tanpa nama tersebut, jadi ganti nama atau hapus alat tersebut pada pembaruan Anda berikutnya. Sesi baru ditolak dengan error 400 jika alat semacam itu ada pada agennya (setelah penimpaan apa pun), pada agen dalam daftar predefined_agents dari subagents, atau pada agen dalam daftar predefined_agents dari workflows. Sesi yang sudah ada tidak terpengaruh.

Agen memanggil alat kustomnya selama sesi. Untuk menerima panggilan dan mengembalikan hasil, lihat Aliran event sesi.

Untuk sesi yang berjalan di sandbox self-hosted, environment worker dapat melayani alat kustom dari sandbox. Ini dapat mencakup alat yang membungkus server MCP di dalam jaringan Anda.

Praktik terbaik untuk definisi alat kustom

  • Berikan deskripsi yang sangat mendetail. Ini sejauh ini merupakan faktor terpenting dalam kinerja alat. Semakin banyak konteks yang dapat Anda berikan kepada Claude tentang alat Anda, semakin baik Claude dalam menentukan kapan dan bagaimana menggunakannya. Usahakan tiga hingga empat kalimat untuk setiap deskripsi alat, lebih banyak jika alatnya kompleks. Deskripsi Anda harus mencakup:
    • Apa yang dilakukan alat tersebut
    • Kapan menggunakannya, dan kapan tidak
    • Apa arti setiap parameter dan bagaimana pengaruhnya terhadap perilaku alat
    • Peringatan atau batasan penting apa pun
  • Gabungkan operasi terkait ke dalam lebih sedikit alat. Kelompokkan tindakan seperti create_pr, review_pr, dan merge_pr ke dalam satu alat dengan parameter action. Alat yang lebih sedikit namun lebih mumpuni mengurangi ambiguitas pemilihan dan membuat kumpulan alat Anda lebih mudah dinavigasi oleh Claude.
  • Gunakan namespace yang bermakna dalam nama alat. Ketika alat Anda mencakup beberapa layanan atau sumber daya, awali nama dengan sumber dayanya (misalnya, db_query atau storage_read). Ini membuat pemilihan alat tidak ambigu seiring bertambahnya pustaka Anda.
  • Rancang respons alat agar hanya mengembalikan informasi bernilai tinggi. Kembalikan pengidentifikasi yang semantik dan stabil (misalnya, slug atau UUID) alih-alih referensi internal yang tidak transparan. Sertakan hanya field yang dibutuhkan Claude untuk menentukan langkah berikutnya. Respons yang membengkak membuang konteks dan mempersulit Claude untuk mengekstrak hal yang penting.

Langkah selanjutnya

Kontrol situs mana yang dapat dijangkau alat web, batasi konten yang diambil, dan lokalkan hasil pencarian.

Hubungkan server MCP ke agen Anda untuk mengakses alat dan sumber data eksternal.

Kontrol kapan alat agen dan alat MCP dijalankan.

Kirim event, lakukan streaming respons, dan interupsi atau arahkan ulang sesi Anda di tengah eksekusi.

Was this page helpful?