Claude è in grado di interagire con strumenti e funzioni esterne lato client, permettendoti di equipaggiare Claude con i tuoi strumenti personalizzati per eseguire una più ampia varietà di compiti.

Impara tutto ciò che devi sapere per padroneggiare l’utilizzo degli strumenti con Claude attraverso il nostro nuovo corso completo sull’utilizzo degli strumenti! Continua a condividere le tue idee e suggerimenti utilizzando questo modulo.

Ecco un esempio di come fornire strumenti a Claude utilizzando l’API Messages:


Come funziona l’utilizzo degli strumenti

Integra strumenti esterni con Claude in questi passaggi:

1

Fornisci a Claude gli strumenti e un prompt utente

  • Definisci gli strumenti con nomi, descrizioni e schemi di input nella tua richiesta API.
  • Includi un prompt utente che potrebbe richiedere questi strumenti, es. “Che tempo fa a San Francisco?”
2

Claude decide di utilizzare uno strumento

  • Claude valuta se qualche strumento può aiutare con la query dell’utente.
  • In caso affermativo, Claude costruisce una richiesta di utilizzo strumento correttamente formattata.
  • La risposta API ha uno stop_reason di tool_use, segnalando l’intenzione di Claude.
3

Estrai l'input dello strumento, esegui il codice e restituisci i risultati

  • Dal tuo lato, estrai il nome dello strumento e l’input dalla richiesta di Claude.
  • Esegui il codice effettivo dello strumento lato client.
  • Continua la conversazione con un nuovo messaggio user contenente un blocco di contenuto tool_result.
4

Claude usa il risultato dello strumento per formulare una risposta

  • Claude analizza i risultati dello strumento per elaborare la sua risposta finale al prompt utente originale.

Nota: I passaggi 3 e 4 sono opzionali. Per alcuni flussi di lavoro, la richiesta di utilizzo strumento di Claude (passaggio 2) potrebbe essere tutto ciò di cui hai bisogno, senza inviare risultati indietro a Claude.

Gli strumenti sono forniti dall’utente

È importante notare che Claude non ha accesso a strumenti integrati lato server. Tutti gli strumenti devono essere esplicitamente forniti da te, l’utente, in ogni richiesta API. Questo ti dà pieno controllo e flessibilità sugli strumenti che Claude può utilizzare.

La funzionalità di utilizzo del computer (beta) è un’eccezione - introduce strumenti che sono forniti da Anthropic ma implementati da te, l’utente.


Come implementare l’utilizzo degli strumenti

Scegliere un modello

In generale, usa Claude 3.5 Sonnet o Claude 3 Opus per strumenti complessi e query ambigue; gestiscono meglio strumenti multipli e cercano chiarimenti quando necessario.

Usa Claude 3 Haiku per strumenti semplici, ma nota che potrebbe inferire parametri mancanti.

Specificare gli strumenti

Gli strumenti sono specificati nel parametro di primo livello tools della richiesta API. Ogni definizione di strumento include:

ParametroDescrizione
nameIl nome dello strumento. Deve corrispondere alla regex ^[a-zA-Z0-9_-]{1,64}$.
descriptionUna descrizione dettagliata in testo semplice di cosa fa lo strumento, quando dovrebbe essere usato e come si comporta.
input_schemaUn oggetto JSON Schema che definisce i parametri attesi per lo strumento.

Prompt di sistema per l’utilizzo degli strumenti

Quando chiami l’API Anthropic con il parametro tools, costruiamo un prompt di sistema speciale dalle definizioni degli strumenti, dalla configurazione degli strumenti e da qualsiasi prompt di sistema specificato dall’utente. Il prompt costruito è progettato per istruire il modello a utilizzare lo strumento specificato e fornire il contesto necessario per il corretto funzionamento dello strumento:

In questo ambiente hai accesso a un set di strumenti che puoi utilizzare per rispondere alla domanda dell'utente.
{{ ISTRUZIONI DI FORMATTAZIONE }}
I parametri stringa e scalari devono essere specificati così come sono, mentre liste e oggetti devono utilizzare il formato JSON. Nota che gli spazi per i valori stringa non vengono rimossi. L'output non deve essere XML valido e viene analizzato con espressioni regolari.
Ecco le funzioni disponibili in formato JSONSchema:
{{ DEFINIZIONI STRUMENTI IN JSON SCHEMA }}
{{ PROMPT DI SISTEMA UTENTE }}
{{ CONFIGURAZIONE STRUMENTI }}

[Il resto della traduzione continua nella prossima parte a causa dei limiti di lunghezza…]