- Efficienza del contesto: Le definizioni degli strumenti possono consumare grandi porzioni della finestra di contesto (50 strumenti possono utilizzare 10-20K token), lasciando meno spazio per il lavoro effettivo.
- Accuratezza della selezione degli strumenti: L’accuratezza della selezione degli strumenti si degrada con più di 30-50 strumenti caricati contemporaneamente.
Come funziona la ricerca di strumenti
Quando la ricerca di strumenti è attiva, le definizioni degli strumenti vengono trattenute dalla finestra di contesto. L’agente riceve un riepilogo degli strumenti disponibili e cerca quelli rilevanti quando l’attività richiede una capacità non già caricata. I 3-5 strumenti più rilevanti vengono caricati nel contesto, dove rimangono disponibili per i turni successivi. Se la conversazione è abbastanza lunga da far sì che l’SDK compatti i messaggi precedenti per liberare spazio, gli strumenti precedentemente scoperti possono essere rimossi e l’agente ricerca di nuovo secondo le necessità. La ricerca di strumenti aggiunge un extra round-trip la prima volta che Claude scopre uno strumento (il passaggio di ricerca), ma per grandi set di strumenti questo è compensato da un contesto più piccolo ad ogni turno. Con meno di ~10 strumenti, il caricamento di tutto in anticipo è generalmente più veloce. Per i dettagli sul meccanismo API sottostante, vedere Ricerca di strumenti nell’API.La ricerca di strumenti richiede Claude Sonnet 4 o successivo, o Claude Opus 4 o successivo. I modelli Haiku non supportano la ricerca di strumenti.
Configurare la ricerca di strumenti
La ricerca di strumenti è attiva per impostazione predefinita. È disabilitata per impostazione predefinita su Vertex AI, dove è supportata per Claude Sonnet 4.5 e successivo e Claude Opus 4.5 e successivo. È anche disabilitata quandoANTHROPIC_BASE_URL punta a un host non di prima parte, poiché la maggior parte dei proxy non inoltrano i blocchi tool_reference. Potete ignorare uno qualsiasi dei valori predefiniti con la variabile di ambiente ENABLE_TOOL_SEARCH:
| Valore | Comportamento |
|---|---|
| (non impostato) | La ricerca di strumenti è attiva. Le definizioni degli strumenti vengono differite e scoperte su richiesta. Ritorna al caricamento in anticipo su Vertex AI o su un ANTHROPIC_BASE_URL non di prima parte. |
true | La ricerca di strumenti è sempre attiva. L’SDK invia l’intestazione beta anche su Vertex AI e attraverso i proxy. Le richieste falliscono sui modelli Vertex AI precedenti a Sonnet 4.5 o Opus 4.5, o sui proxy che non supportano i blocchi tool_reference. |
auto | Controlla il conteggio dei token combinato di tutte le definizioni degli strumenti rispetto alla finestra di contesto del modello. Se superano il 10%, la ricerca di strumenti si attiva. Se sono sotto il 10%, tutti gli strumenti vengono caricati nel contesto normalmente. |
auto:N | Come auto con una percentuale personalizzata. auto:5 si attiva quando le definizioni degli strumenti superano il 5% della finestra di contesto. Valori più bassi si attivano prima. |
false | La ricerca di strumenti è disattivata. Tutte le definizioni degli strumenti vengono caricate nel contesto ad ogni turno. |
auto, la soglia si basa sulla dimensione combinata di tutte le definizioni degli strumenti su tutti i server.
Impostare il valore nell’opzione env su query(). Questo esempio si connette a un server MCP remoto che espone molti strumenti, pre-approva tutti loro con un carattere jolly e utilizza auto:5 in modo che la ricerca di strumenti si attivi quando le loro definizioni superano il 5% della finestra di contesto:
ENABLE_TOOL_SEARCH su "false" disabilita la ricerca di strumenti e carica tutte le definizioni degli strumenti nel contesto ad ogni turno. Questo rimuove il round-trip di ricerca, che può essere più veloce quando il set di strumenti è piccolo (meno di ~10 strumenti) e le definizioni si adattano comodamente nella finestra di contesto.
Ottimizzare la scoperta degli strumenti
Il meccanismo di ricerca abbina le query ai nomi e alle descrizioni degli strumenti. Nomi comesearch_slack_messages emergono per una gamma più ampia di richieste rispetto a query_slack. Le descrizioni con parole chiave specifiche (“Cerca messaggi Slack per parola chiave, canale o intervallo di date”) corrispondono a più query rispetto a quelle generiche (“Query Slack”).
Potete anche aggiungere una sezione di prompt di sistema che elenca le categorie di strumenti disponibili. Questo dà all’agente il contesto su quali tipi di strumenti sono disponibili per la ricerca:
Limiti
- Strumenti massimi: 10.000 strumenti nel vostro catalogo
- Risultati di ricerca: Restituisce i 3-5 strumenti più rilevanti per ricerca
- Supporto del modello: Claude Sonnet 4 e successivo, Claude Opus 4 e successivo (nessun Haiku)
Documentazione correlata
- Ricerca di strumenti nell’API: Documentazione API completa per la ricerca di strumenti, incluse implementazioni personalizzate
- Connettere server MCP: Connettere a strumenti esterni tramite server MCP
- Strumenti personalizzati: Creare i vostri strumenti con server MCP SDK
- Riferimento SDK TypeScript: Riferimento API completo
- Riferimento SDK Python: Riferimento API completo