Claude Architect · Lezione

Quanti strumenti per agente

4-5 è il numero ottimale; oltre 18 la capacità di selezione diventa meno affidabile.

Lezione 1 di 413 passaggi

Quanti strumenti per agente è una lezione Claude Architect gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Claude Architect, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Claude Architect include 4 lezioni in totale.

Il problema della selezione

Quando si fornisce a un agente un insieme di tools, il modello deve svolgere un'operazione delicata a ogni turno: leggere tutte le descrizioni degli strumenti e scegliere quello giusto per il passaggio corrente.

Si tratta di un'attività di selezione. Più opzioni si aggiungono, più questa scelta diventa difficile. Un insieme di strumenti mirato mantiene la selezione precisa; uno sovraccarico porta il modello a esitare, instradare la richiesta in modo errato o utilizzare lo strumento sbagliato.

Questa lezione risponde a una domanda apparentemente semplice: quanti strumenti dovrebbe avere un singolo agente?

La regola empirica

Il punto di equilibrio pratico è di 4-5 strumenti per agente. Con queste dimensioni, il modello riesce a valutare in modo affidabile quale strumento sia adatto a ogni passaggio.

All'aumentare del numero, l'affidabilità della selezione diminuisce. Quando un singolo agente dispone di circa 18 o più strumenti, il modello inizia a confondere le opzioni simili e a effettuare scelte inadeguate. Più strumenti NON significano più capacità: oltre una certa soglia, significano una capacità meno affidabile.

  • 4-5 strumenti → selezione ottimale
  • 18 o più strumenti → affidabilità della selezione ridotta

Un agente con un ambito ben definito

Ecco un agente di supporto con un insieme di strumenti ristretto e definito in base al ruolo. Quattro strumenti, ciascuno con una funzione chiara: verificare il cliente, cercare il suo ordine, elaborare un rimborso e inoltrare la richiesta a un operatore umano.

Il modello non deve mai chiedersi quale dei venti strumenti quasi identici utilizzare. Ognuno corrisponde a un intento distinto.

tools = [
    {"name": "get_customer", "description": "...", "input_schema": {...}},
    {"name": "lookup_order", "description": "...", "input_schema": {...}},
    {"name": "process_refund", "description": "...", "input_schema": {...}},
    {"name": "escalate_to_human", "description": "...", "input_schema": {...}},
]

response = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    system="You are a support agent. Verify identity before any refund.",
    tools=tools,
    messages=messages,
)

Sono le descrizioni a guidare la selezione

È importante precisare che il modello seleziona gli strumenti principalmente in base alle loro descrizioni, non ai loro nomi. Una buona descrizione indica lo scopo dello strumento, i valori restituiti, i formati degli input con esempi, i casi limite e i confini di applicabilità.

Per questo il numero e la qualità degli strumenti interagiscono tra loro. Anche 5 strumenti possono essere instradati in modo errato se le loro descrizioni si sovrappongono o sono ambigue. Più strumenti si aggiungono, più è probabile che due di essi sembrino simili e più aumentano gli errori di selezione.

{
    "name": "lookup_order",
    "description": "Retrieve a single order by its order ID. "
        "Input: order_id (string, e.g. 'ORD-10482'). "
        "Returns: items, status, total, and ship date. "
        "Use AFTER get_customer confirms identity. "
        "Does NOT search by email — use lookup_order, not find_orders.",
    "input_schema": {
        "type": "object",
        "properties": {"order_id": {"type": "string"}},
        "required": ["order_id"],
    },
}

Quando gli strumenti sono troppi

Immagini di concentrare un intero reparto in un unico agente: strumenti per i clienti, per gli ordini, per la fatturazione, per l'inventario, per le spedizioni, per l'analisi... oltre venti voci in un unico array tools.

Ora immagini che diversi strumenti abbiano nomi simili — lookup_order, find_orders, get_order_history, search_purchases. Il modello deve disambiguarli a ogni turno e la sua accuratezza diminuisce. Avere troppi strumenti per agente è un anti-pattern riconosciuto, al pari delle descrizioni ambigue.

Definire gli strumenti in base al ruolo

La soluzione non consiste nel rendere le descrizioni sempre più lunghe, ma nel definire gli strumenti in base al ruolo. Si chieda: qual è il compito di QUESTO agente e qual è il numero minimo di strumenti necessari per svolgerlo?

Un agente che gestisce i rimborsi ha bisogno di strumenti per l'identità, gli ordini, i rimborsi e l'escalation. Non ha bisogno di previsioni sull'inventario o di analisi di marketing. Eliminare gli strumenti irrilevanti rimuove le distrazioni e rende più precisa ogni selezione rimanente.

Suddividere il lavoro con un'architettura multi-agente

Quando un'attività richiede realmente molte capacità, non le si assegnano tutte a un unico agente. Si utilizza una progettazione multi-agente hub-and-spoke: un coordinatore scompone il lavoro e lo delega a sottoagenti specializzati, ciascuno con il proprio insieme ristretto di strumenti.

Venti strumenti distribuiti su quattro sottoagenti (5 ciascuno) vengono selezionati in modo molto più affidabile rispetto a venti strumenti assegnati a un singolo agente. Ricordi: i sottoagenti NON ereditano la cronologia del coordinatore, quindi il prompt di ogni sottoagente deve contenere esplicitamente il proprio contesto.

research_agent = AgentDefinition(
    name="research_agent",
    description="Searches sources and extracts findings.",
    system_prompt="You gather and cite evidence for a sub-question.",
    allowed_tools=["web_search", "fetch_page", "extract_quote"],
)

verify_agent = AgentDefinition(
    name="verify_agent",
    description="Cross-checks claims against sources.",
    system_prompt="You validate claims and flag conflicts.",
    allowed_tools=["fetch_page", "compare_sources", "flag_conflict"],
)

Il privilegio minimo per ogni sottoagente

Suddividere gli strumenti tra i sottoagenti offre un ulteriore vantaggio: il privilegio minimo. Ogni AgentDefinition dichiara solo gli allowed_tools di cui ha effettivamente bisogno.

Un sottoagente di ricerca con accesso in sola lettura non riceve mai uno strumento process_refund o delete, quindi non può utilizzarlo per errore. Insiemi di strumenti più piccoli e definiti in base al ruolo sono sia più affidabili (selezione migliore) sia più sicuri (raggio d'azione più limitato). Una regola da ricordare per il coordinatore: il suo allowedTools deve includere "Task" per poter delegare.

Strumenti e risorse in MCP

Non tutto ciò di cui un agente ha bisogno deve essere uno strumento. In MCP, le primitive del server si dividono in tre categorie:

  • Strumenti — azioni invocate dal modello
  • Risorse — dati o contesto in sola lettura, come schemi o cataloghi
  • Prompt — modelli riutilizzabili

Se il modello deve soltanto leggere uno schema o un catalogo di prodotti, lo si esponga come risorsa, non come strumento. In questo modo l'array tools rimane essenziale e riservato alle azioni vere e proprie: un ulteriore accorgimento per mantenere il numero di strumenti azionabili vicino a 4-5.

Gli strumenti integrati sono già definiti per ambito

L'insieme di strumenti integrati di Claude Code è un buon esempio di definizione disciplinata dell'ambito. Ogni strumento ha una funzione precisa:

  • Glob — trovare file in base a un pattern (ad esempio **/*.test.tsx)
  • Grep — cercare nei contenuti dei file
  • Read / Write / Edit — caricare, creare e modificare con precisione i file
  • Bash — eseguire comandi shell

Nessuno di essi si sovrappone agli altri. Il modello li combina in un flusso incrementale — Grep per i punti di ingresso, Read per i file, Grep per gli utilizzi, Read per i consumer — invece di scegliere tra opzioni ridondanti.

# Incremental investigation with non-overlapping tools
Grep "createOrder"        # find entry points
Read src/orders/api.ts    # load the file
Grep "api.createOrder"     # find usages
Read src/checkout/page.ts  # load consumers

Checklist pratica per l'assegnazione

Prima di distribuire un agente, esegua questa verifica:

  • L'insieme comprende circa 4-5 strumenti ed è ben al di sotto di 18?
  • Ogni strumento corrisponde a un intento distinto e ha una descrizione non sovrapposta alle altre?
  • Le esigenze di sola lettura sono modellate come Risorse, non come strumenti?
  • Se servono più capacità, è possibile suddividere il lavoro in sottoagenti con insiemi di strumenti basati sul privilegio minimo?

Se si sta portando un singolo agente oltre una dozzina di strumenti, questo è il segnale per scomporre il lavoro, non per scrivere descrizioni più lunghe.

Verifica rapida: assegnazione degli strumenti

Applichi la regola a una decisione di progettazione reale.

Riepilogo: quanti strumenti per agente

Punti chiave:

  • 4-5 strumenti per agente sono il numero ottimale; l'affidabilità diminuisce all'aumentare del numero e 18 o più strumenti compromettono sensibilmente la selezione.
  • Il modello seleziona in base alle descrizioni, quindi strumenti sovrapposti o ambigui causano errori di instradamento anche con numeri ridotti.
  • Definisca gli strumenti in base al ruolo: elimini le distrazioni invece di scrivere descrizioni più lunghe.
  • Servono più capacità? Suddivida il lavoro in sottoagenti (hub-and-spoke) con insiemi di strumenti basati sul privilegio minimo; trasmetta esplicitamente il contesto, poiché i sottoagenti non ereditano la cronologia.
  • Modelli le esigenze di sola lettura come Risorse MCP, non come strumenti, per mantenere essenziale l'array tools.
Gratis per iniziare

Impara Python con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
26
Lezioni
104

Domande Frequenti

La lezione «Quanti strumenti per agente» è gratuita?

Sì — il testo completo di «Quanti strumenti per agente» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Claude Architect, passa a CoddyKit PRO. Il corso Claude Architect include 4 lezioni in totale.

Cosa imparerò in «Quanti strumenti per agente»?

4-5 è il numero ottimale; oltre 18 la capacità di selezione diventa meno affidabile. Eserciti Claude Architect con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Claude Architect?

Non è richiesta alcuna esperienza precedente. Claude Architect su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Quanti strumenti per agente»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Claude Architect?

Sì. Ogni lezione Claude Architect include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Quanti strumenti per agente
  2. tool_choice: auto / any / forced
  3. Strumenti integrati di Claude Code
  4. Schema di analisi incrementale
← Torna a Claude Architect