Claude mampu berinteraksi dengan tool dan fungsi, memungkinkan Anda memperluas kemampuan Claude untuk melakukan berbagai tugas yang lebih luas.

Pelajari semua yang Anda butuhkan untuk menguasai penggunaan tool dengan Claude sebagai bagian dari kursus baru kami! Silakan terus bagikan ide dan saran Anda menggunakan formulir ini.

Berikut adalah contoh cara menyediakan tool kepada 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 tool

Claude mendukung dua jenis tool:

  1. Tool klien: Tool yang dieksekusi pada sistem Anda, yang meliputi:

    • Tool kustom yang ditentukan pengguna yang Anda buat dan implementasikan
    • Tool yang ditentukan Anthropic seperti penggunaan komputer dan editor teks yang memerlukan implementasi klien
  2. Tool server: Tool yang dieksekusi pada server Anthropic, seperti tool pencarian web. Tool ini harus ditentukan dalam permintaan API tetapi tidak memerlukan implementasi dari pihak Anda.

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

Tool klien

Integrasikan tool klien dengan Claude dalam langkah-langkah berikut:

1

Berikan Claude tool dan prompt pengguna

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

Claude memutuskan untuk menggunakan tool

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

Eksekusi tool dan kembalikan hasil

  • Ekstrak nama tool dan input dari permintaan Claude
  • Eksekusi kode tool pada sistem Anda
  • Kembalikan hasil dalam pesan user baru yang berisi blok konten tool_result
4

Claude menggunakan hasil tool untuk merumuskan respons

  • Claude menganalisis hasil tool untuk menyusun respons akhir terhadap prompt pengguna asli.

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

Tool server

Tool server mengikuti alur kerja yang berbeda:

1

Berikan Claude tool dan prompt pengguna

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

Claude mengeksekusi tool server

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

Claude menggunakan hasil tool server untuk merumuskan respons

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

Contoh penggunaan tool

Berikut adalah beberapa contoh kode yang mendemonstrasikan berbagai pola dan teknik penggunaan tool. Untuk singkatnya, tool-tool tersebut adalah tool sederhana, dan deskripsi tool 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 gambaran umum model kami untuk harga per model saat ini.

Ketika Anda mengirim prompt penggunaan tool, 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 tool siap implementasi kami dalam buku masak kami: