Mengurai blok tool_use, memformat respons tool_result, dan menangani kesalahan dengan is_error.
Halaman ini membahas siklus hidup panggilan alat: membaca blok tool_use dari respons Claude, memformat blok tool_result dalam balasan Anda, dan memberi sinyal kesalahan. Untuk abstraksi SDK yang menangani ini secara otomatis, lihat Tool Runner.
Respons akan memiliki stop_reason berupa tool_use dan satu atau lebih blok konten tool_use yang mencakup:
id: Pengidentifikasi unik untuk blok penggunaan alat tertentu ini. Ini akan digunakan untuk mencocokkan hasil alat nantinya.
name: Nama alat yang digunakan.
input: Objek yang berisi input yang diteruskan ke alat, sesuai dengan input_schema alat tersebut.
Ketika Anda menerima respons penggunaan alat untuk alat klien, Anda harus:
Mengekstrak name, id, dan input dari blok tool_use.
Menjalankan alat yang sebenarnya dalam basis kode Anda yang sesuai dengan nama alat tersebut, dengan meneruskan input alat.
Melanjutkan percakapan dengan mengirim pesan baru dengan role berupa user, dan blok content yang berisi tipe tool_result serta informasi berikut:
tool_use_id: id dari permintaan penggunaan alat yang menjadi hasil ini.
content (opsional): Hasil dari alat, sebagai string (misalnya, "content": "15 degrees"), daftar blok konten bersarang (misalnya, "content": [{"type": "text", "text": "15 degrees"}]), atau daftar blok dokumen (misalnya, "content": [{"type": "document", "source": {"type": "text", "media_type": "text/plain", "data": "15 degrees"}}]). Blok konten ini dapat menggunakan tipe text, image, document, atau search_result.
is_error (opsional): Atur ke true jika eksekusi alat menghasilkan kesalahan.
Setelah menerima hasil alat, Claude akan menggunakan informasi tersebut untuk melanjutkan menghasilkan respons terhadap prompt user asli.
Menangani hasil dari alat server
Claude mengeksekusi alat secara internal dan memasukkan hasilnya langsung ke dalam responsnya tanpa memerlukan interaksi pengguna tambahan.
Menangani kesalahan dengan is_error
Ada beberapa jenis kesalahan berbeda yang dapat terjadi saat menggunakan alat dengan Claude: