

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Penggunaan alat
<a name="model-parameters-anthropic-claude-messages-tool-use"></a>

**Awas**  
Beberapa fungsi di bawah ini ditawarkan dalam versi beta seperti yang ditunjukkan. Fitur-fitur ini tersedia untuk Anda sebagai “Layanan Beta” sebagaimana didefinisikan dalam Ketentuan AWS Layanan. Ini tunduk pada Perjanjian Anda dengan AWS dan Ketentuan AWS Layanan, dan model EULA yang berlaku.

Dengan Anthropic Claude model, Anda dapat menentukan alat yang dapat digunakan model untuk menjawab pesan. Misalnya, Anda dapat menentukan alat yang mendapatkan lagu paling populer di stasiun radio. Jika pengguna melewati pesan *Apa lagu paling populer di WZPZ?* , model menentukan bahwa alat yang Anda tentukan dapat membantu menjawab pertanyaan. Dalam tanggapannya, model meminta Anda menjalankan alat atas namanya. Anda kemudian menjalankan alat dan meneruskan hasil alat ke model, yang kemudian menghasilkan respons untuk pesan asli. Untuk informasi selengkapnya, lihat [Penggunaan alat (pemanggilan fungsi)](https://docs.anthropic.com/en/docs/tool-use) dalam Anthropic Claude dokumentasi.

**Tip**  
Kami menyarankan Anda menggunakan Converse API untuk mengintegrasikan penggunaan alat ke dalam aplikasi Anda. Untuk informasi selengkapnya, lihat [Gunakan alat untuk menyelesaikan respons model Amazon Bedrock](tool-use.md). 

**penting**  
Claude Sonnet 4.5 sekarang mempertahankan pemformatan yang disengaja dalam parameter string panggilan alat. Sebelumnya, membuntuti baris baru dalam parameter string terkadang dilucuti secara tidak benar. Perbaikan ini memastikan bahwa alat yang membutuhkan pemformatan yang tepat (seperti editor teks) menerima parameter persis seperti yang dimaksudkan. Ini adalah peningkatan di balik layar tanpa perlu perubahan API. Namun, alat dengan parameter string sekarang dapat menerima nilai dengan baris baru yang sebelumnya dilucuti.

**catatan**  
Claude Sonnet 4.5 mencakup pengoptimalan otomatis untuk meningkatkan kinerja model. Pengoptimalan ini dapat menambahkan sejumlah kecil token ke permintaan, tetapi Anda tidak ditagih untuk token yang ditambahkan sistem ini.

Anda menentukan alat yang ingin Anda sediakan untuk model di `tools` bidang. Contoh berikut adalah untuk alat yang mendapatkan lagu paling populer di stasiun radio. 

```
[
    {
        "name": "top_song",
        "description": "Get the most popular song played on a radio station.",
        "input_schema": {
            "type": "object",
            "properties": {
                "sign": {
                    "type": "string",
                    "description": "The call sign for the radio station for which you want the most popular song. Example calls signs are WZPZ and WKRP."
                }
            },
            "required": [
                "sign"
            ]
        }
    }
]
```

Ketika model membutuhkan alat untuk menghasilkan respons terhadap pesan, ia mengembalikan informasi tentang alat yang diminta, dan input ke alat, di `content` bidang pesan. Ini juga menetapkan alasan berhenti untuk menanggapi`tool_use`.

```
{
    "id": "msg_bdrk_01USsY5m3XRUF4FCppHP8KBx",
    "type": "message",
    "role": "assistant",
    "model": "claude-3-sonnet-20240229",
    "stop_sequence": null,
    "usage": {
        "input_tokens": 375,
        "output_tokens": 36
    },
    "content": [
        {
            "type": "tool_use",
            "id": "toolu_bdrk_01SnXQc6YVWD8Dom5jz7KhHy",
            "name": "top_song",
            "input": {
                "sign": "WZPZ"
            }
        }
    ],
    "stop_reason": "tool_use"
}
```

Dalam kode Anda, Anda memanggil alat atas nama alat. Anda kemudian meneruskan hasil alat (`tool_result`) dalam pesan pengguna ke model.

```
{
    "role": "user",
    "content": [
        {
            "type": "tool_result",
            "tool_use_id": "toolu_bdrk_01SnXQc6YVWD8Dom5jz7KhHy",
            "content": "Elemental Hotel"
        }
    ]
}
```

Dalam tanggapannya, model menggunakan hasil alat untuk menghasilkan respons untuk pesan asli.

```
{
    "id": "msg_bdrk_012AaqvTiKuUSc6WadhUkDLP",
    "type": "message",
    "role": "assistant",
    "model": "claude-3-sonnet-20240229",
    "content": [
        {
            "type": "text",
            "text": "According to the tool, the most popular song played on radio station WZPZ is \"Elemental Hotel\"."
        }
    ],
    "stop_reason": "end_turn"
}
```

## Fine-grained alat streaming
<a name="model-parameters-anthropic-claude-messages-fine-grained-tool-streaming"></a>

Fine-grained alat streaming adalah kemampuan Anthropic Claude model yang tersedia denganClaude Sonnet 4.5,Claude Haiku 4.5,Claude Sonnet 4, dan Claude Opus 4. Dengan streaming alat berbutir halus, Claude pengembang dapat melakukan streaming parameter penggunaan alat tanpa buffering atau validasi JSON, mengurangi latensi untuk mulai menerima parameter besar.

**catatan**  
Saat menggunakan streaming alat berbutir halus, Anda berpotensi menerima input JSON yang tidak valid atau sebagian. Pastikan untuk memperhitungkan kasus tepi ini dalam kode Anda.

Untuk menggunakan fitur ini, cukup tambahkan header `fine-grained-tool-streaming-2025-05-14` ke permintaan penggunaan alat.

Berikut adalah contoh cara menentukan header streaming alat berbutir halus:

```
{
  "anthropic_version": "bedrock-2023-05-31",
  "max_tokens": 1024,
  "anthropic_beta": ["fine-grained-tool-streaming-2025-05-14"],
  "messages": [
    {
      "role": "user",
      "content": "Can you write a long poem and make a file called poem.txt?"
    }
  ],
  "tools": [
    {
      "name": "make_file",
      "description": "Write text to a file",
      "input_schema": {
        "type": "object",
        "properties": {
          "filename": {
            "type": "string",
            "description": "The filename to write text to"
          },
          "lines_of_text": {
            "type": "array",
            "description": "An array of lines of text to write to the file"
          }
        },
        "required": [
          "filename",
          "lines_of_text"
        ]
      }
    }
  ]
}
```

Dalam contoh ini, streaming alat berbutir halus memungkinkan Claude untuk mengalirkan baris puisi panjang ke dalam panggilan alat `make_file` tanpa buffering untuk memvalidasi jika parameternya adalah JSON yang valid. `lines_of_text` Ini berarti Anda dapat melihat aliran parameter saat tiba, tanpa harus menunggu seluruh parameter untuk buffer dan memvalidasi.

Dengan streaming alat berbutir halus, potongan penggunaan alat mulai streaming lebih cepat, dan seringkali lebih lama dan mengandung lebih sedikit jeda kata. Ini karena perbedaan perilaku chunking.

Misalnya, tanpa streaming berbutir halus (penundaan 15 detik):

```
Chunk 1: '{"'
Chunk 2: 'query": "Ty'
Chunk 3: 'peScri'
Chunk 4: 'pt 5.0 5.1 '
Chunk 5: '5.2 5'
Chunk 6: '.3'
Chunk 8: ' new f'
Chunk 9: 'eatur'
...
```

Dengan streaming berbutir halus (penundaan 3 detik):

```
Chunk 1: '{"query": "TypeScript 5.0 5.1 5.2 5.3'
Chunk 2: ' new features comparison'
```

**catatan**  
Karena streaming berbutir halus mengirimkan parameter tanpa buffering atau validasi JSON, tidak ada jaminan bahwa aliran yang dihasilkan akan selesai dalam string JSON yang valid. Khususnya, jika alasan berhenti `max_tokens` tercapai, aliran mungkin berakhir di tengah parameter dan mungkin tidak lengkap. Anda biasanya harus menulis dukungan khusus untuk menangani kapan `max_tokens` tercapai.

## Penggunaan komputer (Beta)
<a name="model-parameters-anthropic-claude-messages-computer-use"></a>

Penggunaan komputer adalah kemampuan Anthropic Claude model (dalam versi beta) yang tersedia dengan Claude 3.5 Sonnet v2,,,Claude Sonnet 4.5, Claude Haiku 4.5 Claude 3.7 SonnetClaude Sonnet 4, dan 4. Claude Opus Dengan penggunaan komputer, Claude dapat membantu Anda mengotomatiskan tugas melalui tindakan GUI dasar.

**Awas**  
Fitur penggunaan komputer tersedia untuk Anda sebagai 'Layanan Beta' sebagaimana didefinisikan dalam Ketentuan AWS Layanan. Ini tunduk pada Perjanjian Anda dengan AWS dan Ketentuan AWS Layanan, dan model EULA yang berlaku. Perlu diketahui bahwa Computer Use API menimbulkan risiko unik yang berbeda dari fitur API standar atau antarmuka obrolan. Risiko ini meningkat saat menggunakan Computer Use API untuk berinteraksi dengan Internet. Untuk meminimalkan risiko, pertimbangkan untuk mengambil tindakan pencegahan seperti:  
Mengoperasikan fungsionalitas penggunaan komputer dalam Mesin Virtual khusus atau wadah dengan hak istimewa minimal untuk mencegah serangan sistem langsung atau kecelakaan.
Untuk mencegah pencurian informasi, hindari memberikan akses API Penggunaan Komputer ke akun atau data sensitif.
Membatasi komputer menggunakan akses internet API ke domain yang diperlukan untuk mengurangi paparan konten berbahaya.
Untuk memastikan pengawasan yang tepat, pertahankan manusia dalam lingkaran untuk tugas-tugas sensitif (seperti membuat keputusan yang dapat memiliki konsekuensi dunia nyata yang berarti) dan untuk apa pun yang memerlukan persetujuan afirmatif (seperti menerima cookie, melaksanakan transaksi keuangan, atau menyetujui persyaratan layanan).
Konten apa pun yang Anda aktifkan Claude untuk dilihat atau diakses berpotensi mengesampingkan instruksi atau Claude menyebabkan kesalahan atau melakukan tindakan yang tidak diinginkan. Mengambil tindakan pencegahan yang tepat, seperti mengisolasi Claude dari permukaan sensitif, sangat penting - termasuk untuk menghindari risiko yang terkait dengan injeksi segera. Sebelum mengaktifkan atau meminta izin yang diperlukan untuk mengaktifkan fitur penggunaan komputer dalam produk Anda sendiri, harap beri tahu pengguna akhir tentang risiko yang relevan, dan dapatkan persetujuan mereka sebagaimana mestinya. 

API penggunaan komputer menawarkan beberapa alat penggunaan komputer yang telah ditentukan sebelumnya untuk Anda gunakan. Anda kemudian dapat membuat prompt dengan permintaan Anda, seperti “kirim email ke Ben dengan catatan dari pertemuan terakhir saya” dan tangkapan layar (bila diperlukan). Respons berisi daftar `tool_use` tindakan dalam format JSON (misalnya, scroll\_down, left\_button\_press, screenshot). Kode Anda menjalankan tindakan komputer dan menyediakan tangkapan layar Claude yang menampilkan output (saat diminta).

Sejak rilis Claude 3.5 v2, parameter alat telah diperbarui untuk menerima jenis alat polimorfik; `tool.type` properti ditambahkan untuk membedakannya. `type`bersifat opsional; jika dihilangkan, alat ini diasumsikan sebagai alat khusus (sebelumnya satu-satunya jenis alat yang didukung). Untuk mengakses penggunaan komputer, Anda harus menggunakan `anthropic_beta` parameter, dengan enum yang sesuai, yang nilainya tergantung pada versi model yang digunakan. Lihat tabel berikut untuk informasi lebih lanjut.

Hanya permintaan yang dibuat dengan parameter ini dan enum yang dapat menggunakan alat penggunaan komputer. Hal ini dapat ditentukan sebagai berikut:`"anthropic_beta": ["computer-use-2025-01-24"]`.


| Model | Header beta | 
| --- | --- | 
| Claude Opus4.5<br />Claude Opus4.1<br />Claude Opus4<br />Claude Sonnet 4.5<br />Claude Haiku 4.5<br />Claude Sonnet 4<br />Claude 3.7 Sonnet | penggunaan komputer-2025-01-24 | 
| Claude 3.5 Sonnet v2 | penggunaan komputer-2024-10-22 | 

Untuk informasi selengkapnya, lihat [Penggunaan komputer (beta)](https://docs.anthropic.com/en/docs/build-with-claude/computer-use) dalam Anthropic dokumentasi.

Berikut ini adalah contoh respons yang mengasumsikan permintaan berisi tangkapan layar desktop Anda dengan ikon Firefox. 

```
{
    "id": "msg_123",
    "type": "message",
    "role": "assistant",
    "model": "anthropic.claude-3-5-sonnet-20241022-v2:0",
    "content": [
        {
            "type": "text",
            "text": "I see the Firefox icon. Let me click on it and then navigate to a weather website."
        },
        {
            "type": "tool_use",
            "id": "toolu_123",
            "name": "computer",
            "input": {
                "action": "mouse_move",
                "coordinate": [
                    708,
                    736
                ]
            }
        },
        {
            "type": "tool_use",
            "id": "toolu_234",
            "name": "computer",
            "input": {
                "action": "left_click"
            }
        }
    ],
    "stop_reason": "tool_use",
    "stop_sequence": null,
    "usage": {
        "input_tokens": 3391,
        "output_tokens": 132
    }
}
```

## Antropik alat yang ditentukan
<a name="model-parameters-anthropic-anthropic-defined-tools"></a>

Anthropicmenyediakan seperangkat alat untuk memungkinkan Claude model tertentu untuk menggunakan komputer secara efektif. Saat menentukan alat yang Anthropic ditentukan, `tool_schema` bidang `description` dan tidak diperlukan atau diizinkan. Anthropicalat yang ditentukan ditentukan olehAnthropic, tetapi Anda harus secara eksplisit mengevaluasi hasil alat dan mengembalikannya ke`tool_results`. Claude Seperti halnya alat apa pun, model tidak secara otomatis menjalankan alat. Setiap alat Anthropic yang ditentukan memiliki versi yang dioptimalkan untuk model tertentu Claude 3.5 Sonnet (baru) danClaude 3.7 Sonnet:


| Model | Alat | Catatan | 
| --- | --- | --- | 
| ClaudeClaude Opus4.1<br />ClaudeClaude Opus4<br />Claude Sonnet 4.5<br />Claude Haiku 4.5<br />Claude Sonnet 4 |  <pre>{ <br />    "type": "text_editor_20250124", <br />    "name": "str_replace_based_edit_tool" <br />}</pre>  | Perbarui ke `str_replace_editor` alat yang ada | 
| Claude 3.7 Sonnet |  <pre>{ <br />    "type": "computer_20250124", <br />    "name": "computer" <br />}</pre>  | Termasuk tindakan baru untuk kontrol yang lebih tepat | 
| Claude 3.7 Sonnet |  <pre>{ <br />    "type": "text_editor_20250124", <br />    "name": "str_replace_editor"<br />}</pre>  | Kemampuan yang sama dengan versi 20241022 | 
| Claude 3.5 Sonnet v2 |  <pre>{ <br />    "type": "bash_20250124", <br />    "name": "bash" <br />}</pre>  | Kemampuan yang sama dengan versi 20241022 | 
| Claude 3.5 Sonnet v2 |  <pre>{ <br />    "type": "text_editor_20241022", <br />    "name": "str_replace_editor"<br />}</pre>  | 
| Claude 3.5 Sonnet v2 |  <pre>{ <br />    "type": "bash_20241022", <br />    "name": "bash"<br />}</pre>  | 
| Claude 3.5 Sonnet v2 |  <pre>{ <br />    "type": "computer_20241022", <br />    "name": "computer"<br />}</pre>  | 

`type`Bidang mengidentifikasi alat dan parameternya untuk tujuan validasi, `name` bidang adalah nama alat yang diekspos ke model.

Jika Anda ingin meminta model untuk menggunakan salah satu alat ini, Anda dapat secara eksplisit merujuk alat berdasarkan bidang. `name` `name`Bidang harus unik dalam daftar alat; Anda tidak dapat mendefinisikan alat dengan alat yang `name` sama dengan alat yang Anthropic ditentukan dalam panggilan API yang sama.

## Pembersihan panggilan alat otomatis (Beta)
<a name="model-parameters-anthropic-claude-automatic-tool-call-clearing"></a>

**Awas**  
Kliring panggilan alat otomatis tersedia sebagai “Layanan Beta” sebagaimana didefinisikan dalam Ketentuan AWS Layanan.

**catatan**  
Fitur ini saat ini didukung pada Claude Sonnet 4/4 .5, Claude Haiku 4.5, dan Claude Opus. 4/4 1/4.5.

Pembersihan panggilan alat otomatis adalah kemampuan model Anthropic Claude (dalam versi beta). Dengan fitur ini, Claude dapat secara otomatis menghapus hasil penggunaan alat lama saat Anda mendekati batas token, memungkinkan manajemen konteks yang lebih efisien dalam skenario penggunaan alat multi-putaran. Untuk menggunakan kliring penggunaan alat, Anda perlu menambahkan `context-management-2025-06-27` ke daftar header beta pada parameter permintaan anthropic\_beta. Anda juga perlu menentukan penggunaan `clear_tool_uses_20250919` dan memilih dari opsi konfigurasi berikut.

Ini adalah kontrol yang tersedia untuk strategi manajemen `clear_tool_uses_20250919` konteks. Semua opsional atau memiliki default:


| **Opsi Konfigurasi** | **Deskripsi** | 
| --- | --- | 
| `trigger`<br />default: 100.000 token masukan | Mendefinisikan kapan strategi pengeditan konteks diaktifkan. Setelah prompt melebihi ambang batas ini, kliring akan dimulai. Anda dapat menentukan nilai ini di input\_tokens atau tool\_uses. | 
| `keep`<br />default: 3 penggunaan alat | Mendefinisikan berapa banyak use/result pasangan alat terbaru yang harus disimpan setelah kliring terjadi. API menghapus interaksi alat tertua terlebih dahulu, mempertahankan yang terbaru. Bermanfaat ketika model membutuhkan akses ke interaksi alat terbaru untuk melanjutkan percakapan secara efektif. | 
| `clear_at_least` (opsional) | Memastikan jumlah minimum token dihapus setiap kali strategi diaktifkan. Jika API tidak dapat menghapus setidaknya jumlah yang ditentukan, strategi tidak akan diterapkan. Ini berguna untuk menentukan apakah pembersihan konteks layak untuk memecahkan cache prompt Anda. | 
| `exclude_tools` (opsional) | Daftar nama alat yang penggunaan dan hasil alatnya tidak boleh dihapus. Berguna untuk melestarikan konteks penting. | 
| `clear_tool_inputs`(opsional, default Salah) | Mengontrol apakah parameter pemanggilan alat dihapus bersama dengan hasil alat. Secara default, hanya hasil alat yang dihapus sambil menjaga agar panggilan alat asli Claude tetap terlihat, sehingga Claude dapat melihat operasi apa yang dilakukan bahkan setelah hasilnya dihapus. | 

**catatan**  
Pembersihan alat akan membatalkan cache Anda jika awalan Anda berisi alat Anda.

**penting**  
Alat `web_search_20250305` server Anthropic tidak didukung di Amazon Bedrock.

------
#### [ Request ]

```
from anthropic import AnthropicBedrock

client = AnthropicBedrock()

response = client.beta.messages.create(
    betas=["context-management-2025-06-27"],
    model="claude-sonnet-4-20250514",
    max_tokens=4096,
    messages=[
        {
            "role": "user",
            "content": "Create a simple command line calculator app using Python"
       }
    ],
    tools=[
        {
            "type": "text_editor_20250728",
            "name": "str_replace_based_edit_tool",
            "max_characters": 10000
        }
    ],
    extra_body={
        "context_management": {
            "edits": [
                {
                    "type": "clear_tool_uses_20250919",
                # The below parameters are OPTIONAL:
                    # Trigger clearing when threshold is exceeded
                    "trigger": {
                        "type": "input_tokens",
                        "value": 30000
                    },
                    # Number of tool uses to keep after clearing
                    "keep": {
                        "type": "tool_uses",
                        "value": 3
                    },
                    # Optional: Clear at least this many tokens
                    "clear_at_least": {
                        "type": "input_tokens",
                        "value": 5000
                    },
                    # Exclude these tools uses from being cleared
                    "exclude_tools": ["str_replace_based_edit_tool"]
                }
            ]
       }
    }
 )
```

------
#### [ Response ]

```
{
    "id": "msg_123",
    "type": "message",
    "role": "assistant",
    "content": [
        {
            "type": "tool_use",
            "id": "toolu_456",
            "name": "data_analyzer",
            "input": {
                "data": "sample data"
            }
        }
    ],
    "context_management": {
        "applied_edits": [
            {
                "type": "clear_tool_uses_20250919",
                "cleared_tool_uses": 8,  # Number of tool use/result pairs that were cleared
                "cleared_input_tokens": 50000  # Total number of input tokens removed from the prompt
            }
        ]
    }
    "stop_reason": "tool_use",
    "usage": {
        "input_tokens": 150,
        "output_tokens": 50
    }
}
```

------
#### [ Streaming Response ]

```
data: {"type": "message_start", "message": {"id": "msg_123", "type": "message", "role": "assistant"}}

data: {"type": "content_block_start", "index": 0, "content_block": {"type": "tool_use", "id": "toolu_456", "name": "data_analyzer", "input": {}}}

data: {"type": "content_block_delta", "index": 0, "delta": {"type": "input_json_delta", "partial_json": "{\"data\": \"sample"}}

data: {"type": "content_block_delta", "index": 0, "delta": {"type": "input_json_delta", "partial_json": " data\"}"}}

data: {"type": "content_block_stop", "index": 0}

data: {"type": "message_delta", "delta": {"stop_reason": "tool_use"}}

data: {"type": "message_stop"}

{
  "type": "message_delta",
  "delta": {
    "stop_reason": "end_turn",
    "stop_sequence": null,
  },
  "usage": {
    "output_tokens": 1024
  },
  "context_management": {
    "applied_edits": [...],
  }
}
```

------

**catatan**  
Bedrock saat ini tidak mendukung manajemen `clear_tool_uses_20250919` konteks pada CountTokens API.

## Alat Memori (Beta)
<a name="model-parameters-anthropic-claude-memory-tool"></a>

**Awas**  
Alat Memori tersedia sebagai “Layanan Beta” sebagaimana didefinisikan dalam Ketentuan AWS Layanan.

Claude Sonnet 4.5 menyertakan alat memori baru. Alat ini memberi Anda cara untuk mengelola memori di seluruh percakapan. Dengan fitur ini, Anda dapat mengizinkan Claude untuk mengambil informasi di luar jendela konteks dengan menyediakan akses ke direktori lokal. Fitur ini tersedia dalam versi beta. Untuk menggunakan fitur ini, Anda harus memasukkan `context-management-2025-06-27` dalam `anthropic_beta` parameter.

Definisi alat:

```
{
  "type": "memory_20250818",
  "name": "memory"
}
```

Contoh Permintaan:

```
{
    "max_tokens": 2048,
    "anthropic_version": "bedrock-2023-05-31",
    "anthropic_beta": ["context-management-2025-06-27"],
    "tools": [{
        "type": "memory_20250818",
        "name": "memory"
    }],
    "messages": [
        {
            "role": "user",
            "content": [{"type": "text", "text": "Remember that my favorite color is blue and I work at Amazon?"}]
        }
    ]
}
```

Contoh Respon:

```
{
    "id": "msg_vrtx_014mQ5ficCRB6PEa5k5sKqHd",
    "type": "message",
    "role": "assistant",
    "model": "claude-sonnet-4-20250514",
    "content": [
        {
            "type": "text",
            "text": "I'll start by checking your memory directory and then record this important information about you."
        },
        {
            "type": "tool_use",
            "id": "toolu_vrtx_01EU1UrCDigyPMRntr3VYvUB",
            "name": "memory",
            "input": {
                "command": "view",
                "path": "/memories"
            }
        }
    ],
    "stop_reason": "tool_use",
    "stop_sequence": null,
    "usage": {
        "input_tokens": 1403,
        "cache_creation_input_tokens": 0,
        "cache_read_input_tokens": 0,
        "output_tokens": 87
    },
    "context_management": {
        "applied_edits": []
    }
}
```

## Pertimbangan biaya untuk penggunaan alat
<a name="model-parameters-anthropic-claude-tool-use-cost"></a>

Permintaan penggunaan alat diberi harga berdasarkan faktor-faktor berikut:

1. Jumlah total token input yang dikirim ke model (termasuk dalam parameter alat).

1. Jumlah token output yang dihasilkan.

Harga alat sama dengan semua permintaan Claude API lainnya, tetapi menyertakan token tambahan per permintaan. Token tambahan dari penggunaan alat berasal dari yang berikut:
+ `tools`Parameter dalam permintaan API. Misalnya, nama alat, deskripsi, dan skema.
+ `tool_use`Konten apa pun memblokir permintaan dan tanggapan API.
+ `tool_result`Konten apa pun memblokir permintaan API.

Saat Anda menggunakan alat, Anthropic model secara otomatis menyertakan prompt sistem khusus yang memungkinkan penggunaan alat. Jumlah token penggunaan alat yang diperlukan untuk setiap model tercantum dalam tabel berikut. Tabel ini tidak termasuk token tambahan yang dijelaskan sebelumnya. Perhatikan bahwa tabel ini mengasumsikan setidaknya satu alat disediakan. Jika tidak ada alat yang disediakan, maka pilihan alat tidak ada menggunakan 0 token prompt sistem tambahan.


| Model | Pilihan alat | Alat menggunakan jumlah token prompt sistem | 
| --- | --- | --- | 
| Claude Opus4.5<br />Claude Opus4.1<br />Claude Opus4<br />Claude Sonnet 4.5<br />Claude Haiku 4.5<br />Claude Sonnet 4<br />Claude 3.7 Sonnet<br />Claude 3.5 Sonnet v2 | auto atau none | 346 | 
| Claude Opus4.5<br />Claude Opus4.1<br />Claude Opus4<br />Claude Sonnet 4.5<br />Claude Haiku 4.5<br />Claude Sonnet 4<br />Claude 3.7 Sonnet<br />Claude 3.5 Sonnet v2 | any atau tool | 313 | 
| Claude 3.5 Sonnet | auto atau none | 294 | 
| Claude 3.5 Sonnet | any atau tool | 261 | 
| Claude 3 Opus | auto atau none | 530 | 
| Claude 3 Opus | any atau tool | 281 | 
| Claude 3 Sonnet | auto atau none | 159 | 
| Claude 3 Sonnet | any atau tool | 235 | 
| Claude 3 Haiku | auto atau none | 264 | 
| Claude 3 Haiku | any atau tool | 340 | 

## Alat pencarian alat (beta)
<a name="model-parameters-anthropic-claude-tool-search-tool"></a>

Alat Pencarian Alat memungkinkan Claude untuk bekerja dengan ratusan atau bahkan ribuan alat tanpa memuat semua definisi mereka ke dalam jendela konteks di muka. Alih-alih mendeklarasikan semua alat dengan segera, Anda dapat menandainya dengan`defer_loading: true`, dan Claude menemukan dan memuat hanya alat yang dibutuhkan melalui mekanisme pencarian alat.

Untuk mengakses fitur ini, Anda harus memasukkan `tool-search-tool-2025-10-19` dalam `anthropic_beta` parameter. Perhatikan bahwa fitur ini saat ini hanya tersedia melalui [InvokeModelWithResponseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html)API [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)dan.

Definisi alat:

```
{
    "type": "tool_search_tool_regex",
    "name": "tool_search_tool_regex"
}
```

Contoh permintaan:

```
{
    "anthropic_version": "bedrock-2023-05-31",
    "anthropic_beta": [
        "tool-search-tool-2025-10-19"
    ],
    "max_tokens": 4096,
    "tools": [{
            "type": "tool_search_tool_regex",
            "name": "tool_search_tool_regex"
        },
        {
            "name": "get_weather",
            "description": "Get current weather for a location",
            "input_schema": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string"
                    },
                    "unit": {
                        "type": "string",
                        "enum": ["celsius", "fahrenheit"]
                    }
                },
                "required": ["location"]
            },
            "defer_loading": true
        },
        {
            "name": "search_files",
            "description": "Search through files in the workspace",
            "input_schema": {
                "type": "object",
                "properties": {
                    "query": {
                        "type": "string"
                    },
                    "file_types": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                },
                "required": ["query"]
            },
            "defer_loading": true
        }
    ],
    "messages": [{
        "role": "user",
        "content": "What's the weather in Seattle?"
    }]
}
```

Contoh respons

```
{
    "role": "assistant",
    "content": [{
            "type": "text",
            "text": "I'll search for the appropriate tools to help with this task."
        },
        {
            "type": "server_tool_use",
            "id": "srvtoolu_01ABC123",
            "name": "tool_search_tool_regex",
            "input": {
                "pattern": "weather"
            }
        },
        {
            "type": "tool_search_tool_result",
            "tool_use_id": "srvtoolu_01ABC123",
            "content": {
                "type": "tool_search_tool_search_result",
                "tool_references": [{
                    "type": "tool_reference",
                    "tool_name": "get_weather"
                }]
            }
        },
        {
            "type": "text",
            "text": "Now I can check the weather."
        },
        {
            "type": "tool_use",
            "id": "toolu_01XYZ789",
            "name": "get_weather",
            "input": {
                "location": "Seattle",
                "unit": "fahrenheit"
            }
        }
    ],
    "stop_reason": "tool_use"
}
```

Contoh streaming

```
# Event 1: content_block_start(with complete server_tool_use block) {
    "type": "content_block_start",
    "index": 0,
    "content_block": {
        "type": "server_tool_use",
        "id": "srvtoolu_01ABC123",
        "name": "tool_search_tool_regex"
    }
}

# Event 2: content_block_delta(input JSON streamed) {
    "type": "content_block_delta",
    "index": 0,
    "delta": {
        "type": "input_json_delta",
        "partial_json": "{\"regex\": \".*weather.*\"}"
    }
}

# Event 3: content_block_stop(tool_use complete) {
    "type": "content_block_stop",
    "index": 0
}

# Event 4: content_block_start(COMPLETE result in single chunk) {
    "type": "content_block_start",
    "index": 1,
    "content_block": {
        "type": "tool_search_tool_result",
        "tool_use_id": "srvtoolu_01ABC123",
        "content": {
            "type": "tool_search_tool_search_result",
            "tool_references": [{
                "type": "tool_reference",
                "tool_name": "get_weather"
            }]
        }
    }
}

# Event 5: content_block_stop(result complete) {
    "type": "content_block_stop",
    "index": 1
}
```

**Alat pencarian alat kustom**  
Anda dapat menerapkan alat pencarian alat kustom (misalnya, menggunakan embeddings) dengan mendefinisikan alat yang mengembalikan blok. `tool_reference` Alat kustom harus memiliki `defer_loading: false` sementara alat lain harus memiliki`defer_loading: true`. Saat Anda menentukan Alat Pencarian Alat Anda sendiri, itu harus mengembalikan hasil alat yang berisi blok `tool_reference` konten yang mengarah ke alat yang Claude ingin Anda gunakan.

Format respons hasil Alat Pencarian Alat yang ditentukan pelanggan yang diharapkan:

```
{
    "type": "tool_result",
    "tool_use_id": "toolu_01ABC123",
    "content": [{
            "type": "tool_reference",
            "tool_name": "get_weather"
        },
        {
            "type": "tool_reference",
            "tool_name": "weather_forecast"
        }
    ]
}
```

`tool_name`Harus cocok dengan alat yang ditentukan dalam permintaan dengan`defer_loading: true`. Claude kemudian akan memiliki akses ke skema lengkap alat tersebut.

**Alat pencarian kustom - Contoh rinci**  
Anda dapat menerapkan alat pencarian alat khusus (misalnya, menggunakan penyematan atau pencarian semantik) dengan mendefinisikan alat yang mengembalikan blok. `tool_reference` Ini memungkinkan mekanisme penemuan alat yang canggih di luar pencocokan regex.

Minta contoh dengan TST kustom:

```
{
    "model": "claude-sonnet-4-5-20250929",
    "anthropic_version": "bedrock-2023-05-31",
    "anthropic_beta": ["tool-search-tool-2025-10-19"],
    "max_tokens": 4096,
    "tools": [{
            "name": "semantic_tool_search",
            "description": "Search for available tools using semantic similarity. Returns the most relevant tools for the given query.",
            "input_schema": {
                "type": "object",
                "properties": {
                    "query": {
                        "type": "string",
                        "description": "Natural language description of what kind of tool is needed"
                    },
                    "top_k": {
                        "type": "integer",
                        "description": "Number of tools to return (default: 5)"
                    }
                },
                "required": ["query"]
            },
            "defer_loading": false
        },
        {
            "name": "get_weather",
            "description": "Get current weather for a location",
            "input_schema": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string"
                    },
                    "unit": {
                        "type": "string",
                        "enum": ["celsius", "fahrenheit"]
                    }
                },
                "required": ["location"]
            },
            "defer_loading": true
        },
        {
            "name": "search_flights",
            "description": "Search for available flights between locations",
            "input_schema": {
                "type": "object",
                "properties": {
                    "origin": {
                        "type": "string"
                    },
                    "destination": {
                        "type": "string"
                    },
                    "date": {
                        "type": "string"
                    }
                },
                "required": ["origin", "destination", "date"]
            },
            "defer_loading": true
        }
    ],
    "messages": [{
        "role": "user",
        "content": "What's the weather forecast in Seattle for the next 3 days?"
    }]
}
```

Claudetanggapan (memanggil TST khusus):

```
{
    "role": "assistant",
    "content": [{
            "type": "text",
            "text": "I'll search for the appropriate tools to help with weather information."
        },
        {
            "type": "tool_use",
            "id": "toolu_01ABC123",
            "name": "semantic_tool_search",
            "input": {
                "query": "weather forecast multiple days",
                "top_k": 3
            }
        }
    ],
    "stop_reason": "tool_use"
}
```

**Customer-provided hasil alat**  
Setelah melakukan pencarian semantik di pustaka alat, pelanggan mengembalikan referensi alat yang cocok:

```
{
    "role": "user",
    "content": [{
        "type": "tool_search_tool_result",
        "tool_use_id": "toolu_01ABC123",
        "content": {
            "type": "tool_search_tool_search_result",
            "tool_references": [{
                "type": "tool_reference",
                "tool_name": "get_weather"
            }]
        }
    }]
}
```

Claudetindak lanjut (menggunakan alat yang ditemukan)

```
{
    "role": "assistant",
    "content": [{
            "type": "text",
            "text": "I found the forecast tool. Let me get the weather forecast for Seattle."
        },
        {
            "type": "tool_use",
            "id": "toolu_01DEF456",
            "name": "get_weather",
            "input": {
                "location": "Seattle, WA"
            }
        }
    ],
    "stop_reason": "tool_use"
}
```

**Penanganan kesalahan**
+ Pengaturan `defer_loading: true` untuk semua alat (termasuk Alat Pencarian Alat) akan menimbulkan kesalahan 400.
+ Melewati `tool_reference` tanpa definisi alat yang sesuai akan menimbulkan kesalahan 400

## Contoh penggunaan alat (beta)
<a name="model-parameters-anthropic-claude-tool-use-examples"></a>

Claude Opus4.5 mendukung contoh yang disediakan pengguna dalam definisi alat untuk meningkatkan Claude kinerja penggunaan alat. Anda dapat memberikan contoh sebagai panggilan fungsi penuh, diformat persis seperti output LLM nyata, tanpa perlu terjemahan ke format lain. Untuk menggunakan fitur ini, Anda harus memasukkan `tool-examples-2025-10-29` dalam `anthropic_beta` parameter.

Contoh definisi alat:

```
{
    "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"
            },
            "unit": {
                "type": "string",
                "enum": ["celsius", "fahrenheit"],
                "description": "Temperature unit"
            }
        },
        "required": ["location"]
    },
    "input_examples": [{
            "location": "San Francisco, CA",
            "unit": "fahrenheit"
        },
        {
            "location": "Tokyo, Japan",
            "unit": "celsius"
        },
        {
            "location": "New York, NY"
        }
    ]
}
```

**Aturan validasi**
+ Kesesuaian skema: Setiap contoh di `input_examples` harus valid sesuai dengan alat. `input_schema`
  + Bidang wajib harus ada dalam setidaknya satu contoh.
  + Jenis bidang harus sesuai dengan skema.
  + Nilai enum harus dari set yang diizinkan.
  + Jika validasi gagal, kembalikan kesalahan 400 dengan detail tentang contoh validasi yang gagal.
+ Persyaratan array: `input_examples` harus berupa array (bisa kosong).
  + Array `[]` kosong valid dan setara dengan menghilangkan bidang.
  + Contoh tunggal masih harus dibungkus dalam array: `[{...}]`
  + Batas panjang: mulai dengan batas 20 contoh per definisi alat.

Contoh kesalahan:

```
// Invalid: Example doesn't match schema (missing required field)
{
    "type": "invalid_request_error",
    "message": "Tool 'get_weather' input_examples[0] is invalid: Missing required property 'location'"
}

// Invalid: Example has wrong type for field
{
    "type": "invalid_request_error",
    "message": "Tool 'search_products' input_examples[1] is invalid: Property 'filters.price_range.min' must be a number, got string"
}

// Invalid: input_examples on server-side tool
{
    "type": "invalid_request_error",
    "message": "input_examples is not supported for server-side tool"
}
```