Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Organizzazione degli strumenti
Scoprire gli strumenti giusti e assicurarsi che l'LLM possa utilizzarli in modo efficace è una delle parti più importanti dello sviluppo di strumenti efficaci. Quando si inizia a sviluppare server MCP, è necessaria una strategia che determini:
-
Quanti strumenti sono inclusi in un server MCP
-
Quali strumenti non devono essere inseriti nello stesso server MCP
-
Come assegnare un nome agli strumenti per renderli ricercabili e prevenire le collisioni tra nomi (strumenti diversi con lo stesso nome)
-
Come documentare gli strumenti e il server MCP per renderli facili da usare da parte dell'LLM
L'organizzazione dei namespace è un modello di progettazione che impedisce le collisioni tra i nomi degli strumenti, raggruppa le funzionalità correlate e facilita l'identificazione efficiente degli strumenti da parte degli LLM. Il modello stabilisce una categorizzazione strutturata analoga ai sistemi di storage organizzati piuttosto che all'accumulo non strutturato. Consigliamo il pattern domain-noun-verb per la denominazione degli strumenti. Ad esempio,,,,, o. github_issue_create github_issue_list github_issue_update github_pullrequest_create github_pullrequest_list github_pullrequest_merge Il vantaggio di questo modello è evidente quando si esamina il comportamento di ordinamento alfabetico. Quando gli strumenti sono elencati in ordine alfabetico, tutte le operazioni relative ai problemi si raggruppano (create,,update)list, seguite dalle operazioni di pull request (,,). create list merge Il sostantivo (tipo di risorsa) funge da confine organizzativo. Questa struttura facilita sia la scansione degli strumenti LLM che la navigazione nella documentazione umana perché le funzionalità correlate si raggruppano naturalmente.
Il server MCP deve essere limitato a livello di dominio, ma può essere suddiviso in base alla separazione dei compiti in base alle funzionalità che fornisce. Ad esempio, potreste disporre di server MCP separati per le operazioni di scrittura e le operazioni di lettura su un database. Per applicare questa separazione, si consiglia di implementare dei guardrail a livello di agente che limitino l'accesso ai server MCP in base alle intenzioni e alle autorizzazioni dell'utente. Ciò può essere ottenuto mediante una combinazione dei seguenti elementi:
-
Caricamento condizionale del server: carica il server MCP di sola lettura solo quando l'agente rileva operazioni di lettura nell'input dell'utente.
-
Permission-based filtraggio: utilizza l'autorizzazione dell'utente per concedere l'accesso solo ai server MCP appropriati.
Infine, è necessario creare un limite superiore al numero di strumenti forniti da un server MCP. Non fate supposizioni su come gli agenti utilizzeranno il vostro server MCP. Potrebbero elencare ingenuamente tutti gli strumenti disponibili e fornirli tutti all'LLM. Se hai più di 50 strumenti in un singolo server, dovresti prendere in considerazione la possibilità di suddividerlo in più server.
Le migliori pratiche per l'organizzazione degli strumenti MPC
-
Utilizza lo standard di denominazione dominio-sostantivo-verbo per gli strumenti: implementa strategie per prevenire le collisioni di nomi sia nei server MCP che negli agenti.
-
Imposta un limite superiore: limita il numero di strumenti in un singolo server MCP.
-
Dividi i server MCP: utilizza la separazione dei compiti per dividere i server MCP in gruppi logici.