Analizza i blocchi tool_use, formatta le risposte tool_result e gestisci gli errori con is_error.
Questa pagina copre il ciclo di vita delle chiamate agli strumenti: leggere i blocchi tool_use dalla risposta di Claude, formattare i blocchi tool_result nella tua risposta e segnalare gli errori. Per l'astrazione dell'SDK che gestisce tutto questo automaticamente, consulta Tool Runner.
La risposta avrà uno stop_reason di tool_use e uno o più blocchi di contenuto tool_use che includono:
id: Un identificatore univoco per questo particolare blocco di uso degli strumenti. Verrà utilizzato per abbinare i risultati dello strumento in seguito.
name: Il nome dello strumento utilizzato.
input: Un oggetto contenente l'input passato allo strumento, conforme all'input_schema dello strumento.
Quando ricevi una risposta di uso degli strumenti per uno strumento client, dovresti:
Estrarre name, id e input dal blocco tool_use.
Eseguire lo strumento effettivo nel tuo codice corrispondente a quel nome di strumento, passando l'input dello strumento.
Continuare la conversazione inviando un nuovo messaggio con il role di user e un blocco content contenente il tipo tool_result e le seguenti informazioni:
tool_use_id: L'id della richiesta di uso degli strumenti di cui questo è il risultato.
content (opzionale): Il risultato dello strumento, come stringa (ad esempio, "content": "15 degrees"), un elenco di blocchi di contenuto annidati (ad esempio, "content": [{"type": "text", "text": "15 degrees"}]), o un elenco di blocchi documento (ad esempio, "content": [{"type": "document", "source": {"type": "text", "media_type": "text/plain", "data": "15 degrees"}}]). Questi blocchi di contenuto possono utilizzare i tipi text, image, document o search_result.
is_error (opzionale): Imposta su true se l'esecuzione dello strumento ha prodotto un errore.
Dopo aver ricevuto il risultato dello strumento, Claude utilizzerà quelle informazioni per continuare a generare una risposta al prompt originale dell'utente.
Gestione dei risultati dagli strumenti server
Claude esegue lo strumento internamente e incorpora i risultati direttamente nella sua risposta senza richiedere ulteriore interazione da parte dell'utente.
Gestione degli errori con is_error
Esistono alcuni tipi diversi di errori che possono verificarsi quando si utilizzano gli strumenti con Claude: