Tool calling: progettare strumenti che l'agente usa bene

Costruire agenti 9 min di lettura

Una mano inserisce una spina etichettata in una presa di un pannello patch
Uno strumento è una presa con una forma. Rendete la forma a prova di errore e l'agente smette di indovinare.

Quando un agente si comporta male, l'istinto è riscrivere il prompt. Per nostra esperienza il prompt è la causa forse un terzo delle volte; nel resto gli strumenti sono stati progettati per un programma e non per chi deve dedurre da nomi e descrizioni cosa fa una funzione.

Gli strumenti sono l'intera capacità dell'agente di incidere sul mondo, e le loro definizioni fanno letteralmente parte del contesto del modello. Progettarli bene costa meno ed è molto più duraturo del tuning dei prompt, perché un buon strumento vincola il comportamento invece di chiederlo.

Sette regole che evitano quasi tutte le chiamate sbagliate#

  1. Uno strumento, un compito. `search_orders` e `refund_order` battono un `manage_order` con modalità.
  2. Tipi, non prosa. Enum, intervalli e formati fanno ciò che una descrizione non farà mai.
  3. Nomi che dicono cosa succede. `send_email_to_customer` è inequivocabile; `notify` no.
  4. Errori come istruzioni: cosa non andava e cosa fare adesso, in una frase.
  5. I risultati vuoti sono risultati. Un non-trovato esplicito batte un'eccezione.
  6. Chiavi di idempotenza su tutto ciò che ha effetti, perché un ritentativo non duplichi.
  7. Ritorni piccoli. Tagliate ai campi necessari; 40 KB di JSON comprano confusione.

Prima e dopo#

Tool calling: progettare strumenti che l'agente usa bene — Prima e dopo
Design debolePerché si rompeMeglio
`query(sql)`Potere illimitato, non verificabile`get_orders_by_customer(customer_id, limit)`
`date: string`Il modello inventa formati`date: string, formato AAAA-MM-GG`
`HTTP 500`Non implica azione, ritentato all'infinito`Servizio ordini non disponibile. Di' al cliente di riprovare.`
Restituisce l'intero recordRiempie il contesto, diluisce l'attenzioneRestituisce sei campi nominati
`update_status(id, status)`Qualsiasi stato, qualsiasi record`cancel_order(id)` con controllo dei permessi

Le descrizioni sono prompt#

Il campo descrizione non è documentazione per i colleghi: è testo che il modello legge mentre decide. Dite quando usare lo strumento e quando no, nominate l'unica precondizione che conta e date un esempio di argomento. Tre frasi battono tre paragrafi.

Se due strumenti potrebbero servire la stessa richiesta, l'agente a volte sbaglierà. Uniteli o rendete esplicito il confine in entrambe le descrizioni.

Validate sempre prima di eseguire#

Non passate mai output del modello a una chiamata di sistema senza controllo. Validate gli argomenti contro lo schema, risolvete gli identificatori su record che quell'utente può vedere, e rifiutate ciò che non corrisponde invece di forzarlo. Un rifiuto con messaggio chiaro è un buon esito.

Domande frequenti

Quanti strumenti sono troppi?

Oltre una decina in un ciclo, l'accuratezza di selezione cala e le descrizioni saturano il contesto.

Gli strumenti devono restituire risposte API grezze?

No. Restituite una forma piccola e stabile con i campi davvero necessari.

Come evito che inventi argomenti?

Vincolandoli: enum invece di testo libero, formati espliciti e identificatori che devono risolversi. Poi validate e rifiutate con chiarezza.

tool callingfunction calling agentidesign degli strumentijson schema strumentierrori strumenti llm

Tutte le guide

Ultimo aggiornamento 2026-08-04 di aiagentdevelopment.info · Chi siamo

Scritto da chi costruisce

Ogni guida è scritta da ingegneri che gestiscono agenti in produzione, non rimaneggiata da altri siti.

Rivisto con regolarità

Il campo si muove in fretta. Ogni guida porta la data dell’ultima revisione, pubblicata anche quando non è cambiato nulla.

Nessuno spazio a pagamento

Nessun fornitore di modelli, framework o piattaforma può comprare una menzione, una posizione o un link.

Dodici lingue

Ogni guida è tradotta, non sostituita da una macchina: ogni lingua ha il proprio URL e la propria data di revisione.

Limiti dichiarati

Diciamo chiaramente quando un compito non ha bisogno di un agente e uno script semplice sarebbe più economico e affidabile.