Loading...
    • Guida per sviluppatori
    • Riferimento API
    • MCP
    • Risorse
    • Note sulla versione
    Search...
    ⌘K
    Primi passi
    Introduzione a ClaudeAvvio rapido
    Modelli e prezzi
    Panoramica dei modelliScelta di un modelloNovità in Claude 4.5Migrazione a Claude 4.5Deprecazione dei modelliPrezzi
    Crea con Claude
    Panoramica delle funzioniUtilizzo dell'API MessagesFinestre di contestoBest practice per i prompt
    Capacità
    Prompt cachingModifica del contestoExtended thinkingSforzoStreaming dei messaggiElaborazione batchCitazioniSupporto multilingueConteggio dei tokenEmbeddingsVisioneSupporto PDFAPI FilesRisultati di ricercaOutput strutturati
    Strumenti
    PanoramicaCome implementare l'uso degli strumentiStreaming granulare degli strumentiStrumento BashStrumento di esecuzione del codiceChiamata programmatica degli strumentiStrumento Computer useStrumento Editor di testoStrumento Web fetchStrumento Web searchStrumento MemoryStrumento Tool search
    Agent Skills
    PanoramicaAvvio rapidoBest practiceUtilizzo di Skills con l'API
    Agent SDK
    PanoramicaAvvio rapidoTypeScript SDKTypeScript V2 (anteprima)Python SDKGuida alla migrazione
    Streaming InputGestione dei permessiControllare l'esecuzione con hookGestione delle sessioniCheckpoint dei fileOutput strutturati nell'SDKHosting dell'Agent SDKDistribuzione sicura degli agenti AIModifica dei prompt di sistemaMCP nell'SDKStrumenti personalizzatiSubagenti nell'SDKSlash Commands nell'SDKAgent Skills nell'SDKTracciamento dei costi e dell'utilizzoElenchi di attivitàPlugin nell'SDK
    MCP nell'API
    Connettore MCPServer MCP remoti
    Claude su piattaforme di terze parti
    Amazon BedrockMicrosoft FoundryVertex AI
    Prompt engineering
    PanoramicaGeneratore di promptUsa modelli di promptMiglioratore di promptSii chiaro e direttoUsa esempi (multishot prompting)Lascia pensare Claude (CoT)Usa tag XMLDai a Claude un ruolo (prompt di sistema)Precompila la risposta di ClaudeConcatena prompt complessiSuggerimenti per il contesto lungoSuggerimenti per extended thinking
    Test e valutazione
    Definisci criteri di successoSviluppa casi di testUtilizzo dello strumento di valutazioneRiduzione della latenza
    Rafforza i guardrail
    Riduci le allucinazioniAumenta la coerenza dell'outputMitigare i jailbreakStreaming dei rifiutiRiduci la perdita di promptMantieni Claude nel personaggio
    Amministrazione e monitoraggio
    Panoramica dell'Admin APIAPI di utilizzo e costiAPI Claude Code Analytics
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    Guide

    Subagenti nell'SDK

    Lavorare con i subagenti nel Claude Agent SDK

    I subagenti nel Claude Agent SDK sono IA specializzate che vengono orchestrate dall'agente principale. Usa i subagenti per la gestione del contesto e la parallelizzazione.

    Questa guida spiega come definire e utilizzare i subagenti nell'SDK usando il parametro agents.

    Panoramica

    I subagenti possono essere definiti in due modi quando si utilizza l'SDK:

    1. Programmaticamente - Usando il parametro agents nelle opzioni di query() (raccomandato per le applicazioni SDK)
    2. Basato su filesystem - Posizionando file markdown con frontmatter YAML in directory designate (.claude/agents/)

    Questa guida si concentra principalmente sull'approccio programmatico usando il parametro agents, che fornisce un'esperienza di sviluppo più integrata per le applicazioni SDK.

    Vantaggi dell'Uso dei Subagenti

    Gestione del Contesto

    I subagenti mantengono un contesto separato dall'agente principale, prevenendo il sovraccarico di informazioni e mantenendo le interazioni focalizzate. Questo isolamento assicura che i compiti specializzati non inquinino il contesto della conversazione principale con dettagli irrilevanti.

    Esempio: Un subagente research-assistant può esplorare dozzine di file e pagine di documentazione senza ingombrare la conversazione principale con tutti i risultati di ricerca intermedi - restituendo solo i risultati rilevanti.

    Parallelizzazione

    Più subagenti possono funzionare contemporaneamente, accelerando drammaticamente i flussi di lavoro complessi.

    Esempio: Durante una revisione del codice, puoi eseguire i subagenti style-checker, security-scanner e test-coverage simultaneamente, riducendo il tempo di revisione da minuti a secondi.

    Istruzioni e Conoscenze Specializzate

    Ogni subagente può avere prompt di sistema personalizzati con competenze specifiche, migliori pratiche e vincoli.

    Esempio: Un subagente database-migration può avere conoscenze dettagliate sulle migliori pratiche SQL, strategie di rollback e controlli di integrità dei dati che sarebbero rumore non necessario nelle istruzioni dell'agente principale.

    Restrizioni degli Strumenti

    I subagenti possono essere limitati a strumenti specifici, riducendo il rischio di azioni non intenzionali.

    Esempio: Un subagente doc-reviewer potrebbe avere accesso solo agli strumenti Read e Grep, assicurando che possa analizzare ma mai modificare accidentalmente i tuoi file di documentazione.

    Creazione di Subagenti

    Definizione Programmatica (Raccomandato)

    Definisci i subagenti direttamente nel tuo codice usando il parametro agents:

    import { query } from '@anthropic-ai/claude-agent-sdk';
    
    const result = query({
      prompt: "Rivedi il modulo di autenticazione per problemi di sicurezza",
      options: {
        agents: {
          'code-reviewer': {
            description: 'Specialista esperto nella revisione del codice. Usa per revisioni di qualità, sicurezza e manutenibilità.',
            prompt: `Sei uno specialista nella revisione del codice con competenze in sicurezza, prestazioni e migliori pratiche.
    
    Quando rivedi il codice:
    - Identifica vulnerabilità di sicurezza
    - Controlla problemi di prestazioni
    - Verifica l'aderenza agli standard di codifica
    - Suggerisci miglioramenti specifici
    
    Sii approfondito ma conciso nel tuo feedback.`,
            tools: ['Read', 'Grep', 'Glob'],
            model: 'sonnet'
          },
          'test-runner': {
            description: 'Esegue e analizza suite di test. Usa per l\'esecuzione di test e analisi della copertura.',
            prompt: `Sei uno specialista nell'esecuzione di test. Esegui test e fornisci analisi chiare dei risultati.
    
    Concentrati su:
    - Eseguire comandi di test
    - Analizzare l'output dei test
    - Identificare test falliti
    - Suggerire correzioni per i fallimenti`,
            tools: ['Bash', 'Read', 'Grep'],
          }
        }
      }
    });
    
    for await (const message of result) {
      console.log(message);
    }

    Configurazione AgentDefinition

    CampoTipoRichiestoDescrizione
    descriptionstringSìDescrizione in linguaggio naturale di quando usare questo agente
    promptstringSìIl prompt di sistema dell'agente che definisce il suo ruolo e comportamento
    toolsstring[]NoArray di nomi di strumenti consentiti. Se omesso, eredita tutti gli strumenti
    model'sonnet' | 'opus' | 'haiku' | 'inherit'No

    Definizione Basata su Filesystem (Alternativa)

    Puoi anche definire i subagenti come file markdown in directory specifiche:

    • Livello progetto: .claude/agents/*.md - Disponibili solo nel progetto corrente
    • Livello utente: ~/.claude/agents/*.md - Disponibili in tutti i progetti

    Ogni subagente è un file markdown con frontmatter YAML:

    ---
    name: code-reviewer
    description: Specialista esperto nella revisione del codice. Usa per revisioni di qualità, sicurezza e manutenibilità.
    tools: Read, Grep, Glob, Bash
    ---
    
    Il prompt di sistema del tuo subagente va qui. Questo definisce il ruolo del subagente,
    le capacità e l'approccio per risolvere i problemi.

    Nota: Gli agenti definiti programmaticamente (tramite il parametro agents) hanno precedenza sugli agenti basati su filesystem con lo stesso nome.

    Come l'SDK Usa i Subagenti

    Quando si utilizza il Claude Agent SDK, i subagenti possono essere definiti programmaticamente o caricati dal filesystem. Claude:

    1. Carica gli agenti programmatici dal parametro agents nelle tue opzioni
    2. Auto-rileva gli agenti del filesystem dalle directory .claude/agents/ (se non sovrascritti)
    3. Li invoca automaticamente basandosi sulla corrispondenza dei compiti e sulla description dell'agente
    4. Usa i loro prompt specializzati e le restrizioni degli strumenti
    5. Mantiene contesti separati per ogni invocazione di subagente

    Gli agenti definiti programmaticamente (tramite il parametro agents) hanno precedenza sugli agenti basati su filesystem con lo stesso nome.

    Subagenti di Esempio

    Per esempi completi di subagenti inclusi revisori di codice, esecutori di test, debugger e auditor di sicurezza, vedi la guida principale sui Subagenti. La guida include configurazioni dettagliate e migliori pratiche per creare subagenti efficaci.

    Pattern di Integrazione SDK

    Invocazione Automatica

    L'SDK invocherà automaticamente i subagenti appropriati basandosi sul contesto del compito. Assicurati che il campo description del tuo agente indichi chiaramente quando dovrebbe essere usato:

    const result = query({
      prompt: "Ottimizza le query del database nel livello API",
      options: {
        agents: {
          'performance-optimizer': {
            description: 'Usa PROATTIVAMENTE quando le modifiche al codice potrebbero impattare le prestazioni. DEVE ESSERE USATO per compiti di ottimizzazione.',
            prompt: 'Sei uno specialista nell\'ottimizzazione delle prestazioni...',
            tools: ['Read', 'Edit', 'Bash', 'Grep'],
            model: 'sonnet'
          }
        }
      }
    });

    Invocazione Esplicita

    Gli utenti possono richiedere subagenti specifici nei loro prompt:

    const result = query({
      prompt: "Usa l'agente code-reviewer per controllare il modulo di autenticazione",
      options: {
        agents: {
          'code-reviewer': {
            description: 'Specialista esperto nella revisione del codice',
            prompt: 'Sei un revisore di codice focalizzato sulla sicurezza...',
            tools: ['Read', 'Grep', 'Glob']
          }
        }
      }
    });

    Configurazione Dinamica degli Agenti

    Puoi configurare dinamicamente gli agenti basandoti sulle esigenze della tua applicazione:

    import { query, type AgentDefinition } from '@anthropic-ai/claude-agent-sdk';
    
    function createSecurityAgent(securityLevel: 'basic' | 'strict'): AgentDefinition {
      return {
        description: 'Revisore di codice per la sicurezza',
        prompt: `Sei un revisore di sicurezza ${securityLevel === 'strict' ? 'rigoroso' : 'bilanciato'}...`,
        tools: ['Read', 'Grep', 'Glob'],
        model: securityLevel === 'strict' ? 'opus' : 'sonnet'
      };
    }
    
    const result = query({
      prompt: "Rivedi questa PR per problemi di sicurezza",
      options: {
        agents: {
          'security-reviewer': createSecurityAgent('strict')
        }
      }
    });

    Restrizioni degli Strumenti

    I subagenti possono avere accesso limitato agli strumenti tramite il campo tools:

    • Ometti il campo - L'agente eredita tutti gli strumenti disponibili (predefinito)
    • Specifica strumenti - L'agente può usare solo gli strumenti elencati

    Esempio di un agente di analisi in sola lettura:

    const result = query({
      prompt: "Analizza l'architettura di questa base di codice",
      options: {
        agents: {
          'code-analyzer': {
            description: 'Analisi statica del codice e revisione dell\'architettura',
            prompt: `Sei un analista dell'architettura del codice. Analizza la struttura del codice,
    identifica pattern e suggerisci miglioramenti senza apportare modifiche.`,
            tools: ['Read', 'Grep', 'Glob']  // Nessun permesso di scrittura o esecuzione
          }
        }
      }
    });

    Combinazioni di Strumenti Comuni

    Agenti in sola lettura (analisi, revisione):

    tools: ['Read', 'Grep', 'Glob']

    Agenti di esecuzione test:

    tools: ['Bash', 'Read', 'Grep']

    Agenti di modifica codice:

    tools: ['Read', 'Edit', 'Write', 'Grep', 'Glob']

    Documentazione Correlata

    • Guida Principale sui Subagenti - Documentazione completa sui subagenti
    • Panoramica SDK - Panoramica del Claude Agent SDK
    • Impostazioni - Riferimento del file di configurazione
    • Comandi Slash - Creazione di comandi personalizzati
    • Panoramica
    • Vantaggi dell'Uso dei Subagenti
    • Gestione del Contesto
    • Parallelizzazione
    • Istruzioni e Conoscenze Specializzate
    • Restrizioni degli Strumenti
    • Creazione di Subagenti
    • Definizione Programmatica (Raccomandato)
    • Configurazione AgentDefinition
    • Definizione Basata su Filesystem (Alternativa)
    • Come l'SDK Usa i Subagenti
    • Subagenti di Esempio
    • Pattern di Integrazione SDK
    • Invocazione Automatica
    • Invocazione Esplicita
    • Configurazione Dinamica degli Agenti
    • Restrizioni degli Strumenti
    • Combinazioni di Strumenti Comuni
    • Documentazione Correlata
    Override del modello per questo agente. Predefinito al modello principale se omesso