Claude mampu berinteraksi dengan alat dan fungsi, memungkinkan Anda memperluas kemampuan Claude untuk melakukan berbagai macam tugas.

Pelajari semua yang Anda butuhkan untuk menguasai penggunaan alat dengan Claude melalui kursus komprehensif baru kami kursus penggunaan alat! Silakan terus berbagi ide dan saran Anda menggunakan formulir ini.

Berikut adalah contoh cara menyediakan alat untuk Claude menggunakan Messages API:

curl https://api.anthropic.com/v1/messages \
  -H "content-type: application/json" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-opus-4-20250514",
    "max_tokens": 1024,
    "tools": [
      {
        "name": "get_weather",
        "description": "Get the current weather in a given location",
        "input_schema": {
          "type": "object",
          "properties": {
            "location": {
              "type": "string",
              "description": "The city and state, e.g. San Francisco, CA"
            }
          },
          "required": ["location"]
        }
      }
    ],
    "messages": [
      {
        "role": "user",
        "content": "What is the weather like in San Francisco?"
      }
    ]
  }'

Cara kerja penggunaan alat

Claude mendukung dua jenis alat:

  1. Alat klien: Alat yang dijalankan pada sistem Anda, yang meliputi:

    • Alat kustom yang ditentukan pengguna yang Anda buat dan implementasikan
    • Alat yang ditentukan Anthropic seperti penggunaan komputer (beta) dan editor teks yang memerlukan implementasi klien
  2. Alat server: Alat yang dijalankan di server Anthropic, seperti alat pencarian web. Alat-alat ini harus ditentukan dalam permintaan API tetapi tidak memerlukan implementasi dari pihak Anda.

Alat yang ditentukan Anthropic menggunakan tipe berversi (misalnya, web_search_20250305, text_editor_20250124) untuk memastikan kompatibilitas di seluruh versi model.

Alat klien

Integrasikan alat klien dengan Claude dalam langkah-langkah berikut:

1

Berikan Claude alat dan prompt pengguna

  • Tentukan alat klien dengan nama, deskripsi, dan skema input dalam permintaan API Anda.
  • Sertakan prompt pengguna yang mungkin memerlukan alat-alat ini, misalnya, “Bagaimana cuaca di San Francisco?”
2

Claude memutuskan untuk menggunakan alat

  • Claude menilai apakah ada alat yang dapat membantu dengan kueri pengguna.
  • Jika ya, Claude membangun permintaan penggunaan alat yang diformat dengan benar.
  • Untuk alat klien, respons API memiliki stop_reason berupa tool_use, yang menandakan maksud Claude.
3

Jalankan alat dan kembalikan hasilnya

  • Ekstrak nama alat dan input dari permintaan Claude
  • Jalankan kode alat pada sistem Anda
  • Kembalikan hasilnya dalam pesan user baru yang berisi blok konten tool_result
4

Claude menggunakan hasil alat untuk merumuskan respons

  • Claude menganalisis hasil alat untuk menyusun respons akhirnya terhadap prompt pengguna asli.

Catatan: Langkah 3 dan 4 bersifat opsional. Untuk beberapa alur kerja, permintaan penggunaan alat Claude (langkah 2) mungkin sudah cukup, tanpa perlu mengirimkan hasil kembali ke Claude.

Alat server

Alat server mengikuti alur kerja yang berbeda:

1

Berikan Claude alat dan prompt pengguna

  • Alat server, seperti pencarian web, memiliki parameter sendiri.
  • Sertakan prompt pengguna yang mungkin memerlukan alat-alat ini, misalnya, “Cari berita terbaru tentang AI.”
2

Claude menjalankan alat server

  • Claude menilai apakah alat server dapat membantu dengan kueri pengguna.
  • Jika ya, Claude menjalankan alat tersebut, dan hasilnya secara otomatis dimasukkan ke dalam respons Claude.
3

Claude menggunakan hasil alat server untuk merumuskan respons

  • Claude menganalisis hasil alat server untuk menyusun respons akhirnya terhadap prompt pengguna asli.
  • Tidak diperlukan interaksi pengguna tambahan untuk eksekusi alat server.

Contoh penggunaan alat

Berikut adalah beberapa contoh kode yang mendemonstrasikan berbagai pola dan teknik penggunaan alat. Demi singkatnya, alat-alat yang digunakan adalah alat sederhana, dan deskripsi alat lebih pendek dari yang ideal untuk memastikan performa terbaik.


Harga

Tool use requests are priced based on:

  1. The total number of input tokens sent to the model (including in the tools parameter)
  2. The number of output tokens generated
  3. For server-side tools, additional usage-based pricing (e.g., web search charges per search performed)

Client-side tools are priced the same as any other Claude API request, while server-side tools may incur additional charges based on their specific usage.

The additional tokens from tool use come from:

  • The tools parameter in API requests (tool names, descriptions, and schemas)
  • tool_use content blocks in API requests and responses
  • tool_result content blocks in API requests

When you use tools, we also automatically include a special system prompt for the model which enables tool use. The number of tool use tokens required for each model are listed below (excluding the additional tokens listed above). Note that the table assumes at least 1 tool is provided. If no tools are provided, then a tool choice of none uses 0 additional system prompt tokens.

ModelTool choiceTool use system prompt token count
Claude Opus 4auto, none
any, tool
346 tokens
313 tokens
Claude Sonnet 4auto, none
any, tool
346 tokens
313 tokens
Claude Sonnet 3.7auto, none
any, tool
346 tokens
313 tokens
Claude Sonnet 3.5 (Oct)auto, none
any, tool
346 tokens
313 tokens
Claude Sonnet 3.5 (June)auto, none
any, tool
294 tokens
261 tokens
Claude Haiku 3.5auto, none
any, tool
264 tokens
340 tokens
Claude Opus 3auto, none
any, tool
530 tokens
281 tokens
Claude Sonnet 3auto, none
any, tool
159 tokens
235 tokens
Claude Haiku 3auto, none
any, tool
264 tokens
340 tokens

These token counts are added to your normal input and output tokens to calculate the total cost of a request.

Lihat tabel ikhtisar model kami untuk harga per model saat ini.

Ketika Anda mengirimkan prompt penggunaan alat, seperti permintaan API lainnya, respons akan mengeluarkan jumlah token input dan output sebagai bagian dari metrik usage yang dilaporkan.


Langkah Selanjutnya

Jelajahi repositori contoh kode penggunaan alat siap implementasi kami dalam cookbook kami: