L'agente open-source Hermes di Nous Research ha introdotto la funzionalità "Tool Search", una soluzione mirata a risolvere uno dei colli di bottiglia più critici nei sistemi di agenti basati su AI: il sovraccarico della finestra di contesto causato da un numero eccessivo di strumenti MCP. Grazie a un sistema di caricamento on-demand, questa tecnologia promette di abbattere i costi operativi e migliorare drasticamente la precisione dei modelli nelle decisioni complesse.
Il problema della "Tassa sui Tool" nel Model Context Protocol
Il Model Context Protocol (MCP) è uno standard che permette agli agenti AI di connettersi a server esterni (come GitHub, Slack o Jira) per eseguire compiti specifici. Tuttavia, l'integrazione di più server MCP introduce un problema di efficienza: ogni volta che l'agente interagisce con il modello, l'intero schema JSON di ogni singolo strumento viene inviato nel prompt. Questo avviene anche se l'agente ha bisogno di un solo strumento per completare l'attività richiesta.
Nelle implementazioni reali, questo "sovraccarico" è immediatamente percepibile. Una configurazione di Hermes con cinque server MCP e 34 strumenti genera prompt medi da 45.000 token per ogni turno di conversazione. Di questi, circa 22.000 token — ovvero il 50% del totale — sono pura "tassa" dovuta agli schemi degli strumenti. Dati forniti dal team di ingegneria di Anthropic indicano che le definizioni dei tool possono consumare fino a 134.000 token prima di qualsiasi ottimizzazione.

Cos'è Tool Search e come funziona
Tool Search è un livello di "divulgazione progressiva" (progressive disclosure) per gli strumenti MCP e i plugin non essenziali di Hermes Agent. Invece di caricare preventivamente ogni schema, il modello carica solo ciò che gli serve, quando gli serve.
Quando Tool Search è attivo, gli strumenti MCP vengono sostituiti nell'array visibile al modello da tre "bridge tools" (strumenti ponte) estremamente leggeri:
phptool_search(query, limit?) — cerca nel catalogo degli strumenti differiti
tool_describe(name) — carica lo schema completo per un singolo strumento
tool_call(name, arguments) — invoca lo strumento differitoQuesto approccio trasforma un processo massivo in una sequenza logica mirata. Il modello cerca la funzione necessaria, ne esamina i parametri (schema) e infine la esegue. Tutte le protezioni di sicurezza, i controlli (hooks) e le richieste di approvazione dell'utente continuano a operare sul nome reale dello strumento sottostante, garantendo che la sicurezza non venga compromessa dal livello di astrazione.
Il flusso operativo di Tool Search
- 1RicercaIl modello chiama tool_search con una query in linguaggio naturale, ad esempio creare un issue su GitHub.
- 2AnalisiIl sistema restituisce i match più pertinenti. Il modello seleziona quello corretto e chiama tool_describe per leggere i parametri necessari.
- 3EsecuzioneUna volta ottenuto lo schema, il modello invoca lo strumento tramite tool_call fornendo gli argomenti richiesti.
Impatto sull'accuratezza: i numeri di Anthropic
L'abilitazione di Tool Search non è solo una strategia di risparmio economico, ma un potenziamento delle prestazioni cognitive del modello. I dati provenienti dai test interni di Anthropic su valutazioni MCP mostrano miglioramenti significativi:
Claude Opus 4: l'accuratezza è passata dal 45% al 74%.
Claude Opus 4.5: l'accuratezza è passata dal 79,5% all'88,1%.
Questi incrementi sono dovuti alla riduzione dei "falsi positivi". Eliminando le opzioni irrilevanti dalla finestra di contesto, il modello non viene distratto da strumenti che hanno nomi o descrizioni simili ma funzioni diverse. Inoltre, Anthropic ha registrato una riduzione dell'85% nell'uso dei token dedicati alle definizioni, mantenendo l'accesso all'intera libreria di strumenti.
Mostra dati
| Voce | Valore |
|---|---|
| Opus 4 (Standard) | 49 |
| Opus 4 (Tool Search) | 74 |
| Opus 4.5 (Standard) | 79,5 |
| Opus 4.5 (Tool Search) | 88,1 |
Sotto il cofano: l'algoritmo BM25 e la gestione dello stato
Per far corrispondere la query del modello agli strumenti corretti, Hermes utilizza BM25 (Best Matching 25), un algoritmo classico di recupero delle informazioni che valuta la pertinenza di un documento rispetto a una determinata query di ricerca.
Il sistema confronta la query del modello con i nomi dei tool, le loro descrizioni e i nomi dei parametri. Nel caso in cui BM25 non restituisca risultati con punteggio positivo, il sistema adotta una strategia di ripiego (fallback) basata sulla corrispondenza letterale delle sottostringhe. Questo previene i casi di "degenerazione zero-IDF", comuni quando tutti i tool in un catalogo condividono una parola chiave (ad esempio, se tutti gli strumenti contengono la parola "github").
Un aspetto tecnico fondamentale è che il catalogo è stateless (privo di stato) tra un turno e l'altro. Viene ricostruito integralmente a ogni passaggio partendo dalla lista aggiornata delle definizioni dei tool. Questa scelta architetturale elimina il rischio di "bug di deriva", in cui un catalogo memorizzato non è più sincronizzato con il registro degli strumenti attivi.
Configurazione e Modalità Auto
Hermes Agent gestisce Tool Search in modalità auto per impostazione predefinita. Questa modalità è auto-regolata: la funzione si attiva solo quando gli schemi dei tool consumerebbero almeno il 10% della finestra di contesto attiva del modello.
Se il contesto occupato dai tool è inferiore a questa soglia, il sistema preferisce esporre direttamente tutti gli strumenti per evitare la latenza di un passaggio di ricerca supplementare. Questa decisione viene rivalutata a ogni singolo turno della conversazione.
Parametro | Default | Descrizione |
|---|---|---|
|
| Può essere impostato su |
|
| Percentuale del contesto oltre la quale si attiva la modalità auto. |
|
| Numero di risultati restituiti da tool_search se non specificato. |
|
| Limite massimo di risultati che il modello può richiedere. |
Per personalizzare il comportamento, è sufficiente modificare il file hermes.yaml come mostrato nell'esempio seguente:
phptools:
tool_search:
enabled: auto
threshold_pct: 10
search_default_limit: 5
max_search_limit: 20- ✓Riduzione drastica dei costi dei token in sessioni lunghe
- ✓Maggiore precisione del modello grazie alla riduzione della distrazione
- ✓Supporto per cataloghi di strumenti virtualmente illimitati
- ✗Aggiunge almeno un round-trip (giro di comunicazione) extra per il primo utilizzo di un tool
- ✗Leggera latenza iniziale dovuta alla ricerca BM25
Verdetto Tecnico
Tool Search è un aggiornamento essenziale per chiunque utilizzi agenti AI in produzione con architetture MCP complesse. La capacità di bilanciare automaticamente costi e accuratezza lo rende uno standard di riferimento per la gestione dei tool su larga scala.




