Vai al contenuto principale
I subagent sono assistenti AI specializzati che gestiscono tipi specifici di attività. Ogni subagent viene eseguito nel proprio contesto con un prompt di sistema personalizzato, accesso a strumenti specifici e autorizzazioni indipendenti. Quando Claude incontra un’attività che corrisponde alla descrizione di un subagent, la delega a quel subagent, che lavora in modo indipendente e restituisce i risultati. I subagent ti aiutano a:
  • Preservare il contesto mantenendo l’esplorazione e l’implementazione fuori dalla tua conversazione principale
  • Applicare vincoli limitando quali strumenti un subagent può utilizzare
  • Riutilizzare configurazioni tra progetti con subagent a livello utente
  • Specializzare il comportamento con prompt di sistema focalizzati per domini specifici
  • Controllare i costi instradando le attività a modelli più veloci e economici come Haiku
Claude utilizza la descrizione di ogni subagent per decidere quando delegare le attività. Quando crei un subagent, scrivi una descrizione chiara in modo che Claude sappia quando utilizzarlo. Claude Code include diversi subagent integrati come Explore, Plan e general-purpose. Puoi anche creare subagent personalizzati per gestire attività specifiche. Questa pagina copre i subagent integrati, come creare i tuoi, opzioni di configurazione complete, pattern per lavorare con i subagent e subagent di esempio.

Subagent integrati

Claude Code include subagent integrati che Claude utilizza automaticamente quando appropriato. Ognuno eredita le autorizzazioni della conversazione principale con restrizioni di strumenti aggiuntive.
Un agente veloce e di sola lettura ottimizzato per la ricerca e l’analisi delle basi di codice.
  • Modello: Haiku (veloce, bassa latenza)
  • Strumenti: Strumenti di sola lettura (accesso negato agli strumenti Write e Edit)
  • Scopo: Scoperta di file, ricerca di codice, esplorazione della base di codice
Claude delega a Explore quando ha bisogno di cercare o comprendere una base di codice senza apportare modifiche. Questo mantiene i risultati dell’esplorazione fuori dal contesto della tua conversazione principale.Quando invoca Explore, Claude specifica un livello di completezza: quick per ricerche mirate, medium per esplorazione equilibrata, o very thorough per analisi completa.
Oltre a questi subagent integrati, puoi crearne di tuoi con prompt personalizzati, restrizioni di strumenti, modalità di autorizzazione, hook e skill. Le sezioni seguenti mostrano come iniziare e personalizzare i subagent.

Quickstart: crea il tuo primo subagent

I subagent sono definiti in file Markdown con frontmatter YAML. Puoi crearli manualmente o utilizzare il comando slash /agents. Questa procedura ti guida attraverso la creazione di un subagent a livello utente con il comando /agent. Il subagent esamina il codice e suggerisce miglioramenti per la base di codice.
1

Apri l'interfaccia dei subagent

In Claude Code, esegui:
/agents
2

Crea un nuovo agente a livello utente

Seleziona Create new agent, quindi scegli User-level. Questo salva il subagent in ~/.claude/agents/ in modo che sia disponibile in tutti i tuoi progetti.
3

Genera con Claude

Seleziona Generate with Claude. Quando richiesto, descrivi il subagent:
Un agente di miglioramento del codice che scansiona i file e suggerisce miglioramenti
per la leggibilità, le prestazioni e le best practice. Dovrebbe spiegare
ogni problema, mostrare il codice attuale e fornire una versione migliorata.
Claude genera il prompt di sistema e la configurazione. Premi e per aprirlo nel tuo editor se vuoi personalizzarlo.
4

Seleziona gli strumenti

Per un revisore di sola lettura, deseleziona tutto tranne Read-only tools. Se mantieni tutti gli strumenti selezionati, il subagent eredita tutti gli strumenti disponibili per la conversazione principale.
5

Seleziona il modello

Scegli quale modello utilizza il subagent. Per questo agente di esempio, seleziona Sonnet, che bilancia capacità e velocità per analizzare i pattern di codice.
6

Scegli un colore

Scegli un colore di sfondo per il subagent. Questo ti aiuta a identificare quale subagent è in esecuzione nell’interfaccia utente.
7

Salva e prova

Salva il subagent. È disponibile immediatamente (non è necessario riavviare). Provalo:
Usa l'agente code-improver per suggerire miglioramenti in questo progetto
Claude delega al tuo nuovo subagent, che scansiona la base di codice e restituisce suggerimenti di miglioramento.
Ora hai un subagent che puoi utilizzare in qualsiasi progetto sulla tua macchina per analizzare le basi di codice e suggerire miglioramenti. Puoi anche creare subagent manualmente come file Markdown, definirli tramite flag CLI, o distribuirli attraverso plugin. Le sezioni seguenti coprono tutte le opzioni di configurazione.

Configura i subagent

Usa il comando /agents

Il comando /agents fornisce un’interfaccia interattiva per gestire i subagent. Esegui /agents per:
  • Visualizzare tutti i subagent disponibili (integrati, utente, progetto e plugin)
  • Creare nuovi subagent con configurazione guidata o generazione Claude
  • Modificare la configurazione del subagent esistente e l’accesso agli strumenti
  • Eliminare subagent personalizzati
  • Vedere quali subagent sono attivi quando esistono duplicati
Questo è il modo consigliato per creare e gestire i subagent. Per la creazione manuale o l’automazione, puoi anche aggiungere file subagent direttamente.

Scegli l’ambito del subagent

I subagent sono file Markdown con frontmatter YAML. Archiviali in posizioni diverse a seconda dell’ambito. Quando più subagent condividono lo stesso nome, la posizione con priorità più alta vince.
PosizioneAmbitoPrioritàCome creare
Flag CLI --agentsSessione corrente1 (massima)Passa JSON quando avvii Claude Code
.claude/agents/Progetto corrente2Interattivo o manuale
~/.claude/agents/Tutti i tuoi progetti3Interattivo o manuale
Directory agents/ del pluginDove il plugin è abilitato4 (minima)Installato con plugin
I subagent di progetto (.claude/agents/) sono ideali per subagent specifici di una base di codice. Archiviali nel controllo della versione in modo che il tuo team possa utilizzarli e migliorarli in modo collaborativo. I subagent utente (~/.claude/agents/) sono subagent personali disponibili in tutti i tuoi progetti. I subagent definiti da CLI vengono passati come JSON quando avvii Claude Code. Esistono solo per quella sessione e non vengono salvati su disco, rendendoli utili per test rapidi o script di automazione:
claude --agents '{
  "code-reviewer": {
    "description": "Revisore di codice esperto. Usa in modo proattivo dopo le modifiche al codice.",
    "prompt": "Sei un revisore di codice senior. Concentrati sulla qualità del codice, la sicurezza e le best practice.",
    "tools": ["Read", "Grep", "Glob", "Bash"],
    "model": "sonnet"
  }
}'
Il flag --agents accetta JSON con gli stessi campi del frontmatter. Usa prompt per il prompt di sistema (equivalente al corpo markdown nei subagent basati su file). Vedi il riferimento CLI per il formato JSON completo. I subagent plugin provengono dai plugin che hai installato. Appaiono in /agents insieme ai tuoi subagent personalizzati. Vedi il riferimento dei componenti plugin per i dettagli sulla creazione di subagent plugin.

Scrivi file subagent

I file subagent utilizzano frontmatter YAML per la configurazione, seguito dal prompt di sistema in Markdown:
I subagent vengono caricati all’inizio della sessione. Se crei un subagent aggiungendo manualmente un file, riavvia la tua sessione o usa /agents per caricarlo immediatamente.
---
name: code-reviewer
description: Esamina il codice per la qualità e le best practice
tools: Read, Glob, Grep
model: sonnet
---

Sei un revisore di codice. Quando invocato, analizza il codice e fornisci
feedback specifico e attuabile sulla qualità, la sicurezza e le best practice.
Il frontmatter definisce i metadati e la configurazione del subagent. Il corpo diventa il prompt di sistema che guida il comportamento del subagent. I subagent ricevono solo questo prompt di sistema (più dettagli di base sull’ambiente come la directory di lavoro), non il prompt di sistema completo di Claude Code.

Campi frontmatter supportati

I seguenti campi possono essere utilizzati nel frontmatter YAML. Solo name e description sono obbligatori.
CampoObbligatorioDescrizione
nameIdentificatore univoco utilizzando lettere minuscole e trattini
descriptionQuando Claude dovrebbe delegare a questo subagent
toolsNoStrumenti che il subagent può utilizzare. Eredita tutti gli strumenti se omesso
disallowedToolsNoStrumenti da negare, rimossi dall’elenco ereditato o specificato
modelNoModello da utilizzare: sonnet, opus, haiku, o inherit. Predefinito a sonnet
permissionModeNoModalità di autorizzazione: default, acceptEdits, dontAsk, bypassPermissions, o plan
skillsNoSkill da caricare nel contesto del subagent all’avvio. Il contenuto completo della skill viene iniettato, non solo reso disponibile per l’invocazione. I subagent non ereditano le skill dalla conversazione principale
hooksNoHook del ciclo di vita limitati a questo subagent

Scegli un modello

Il campo model controlla quale modello AI utilizza il subagent:
  • Alias del modello: Usa uno degli alias disponibili: sonnet, opus, o haiku
  • inherit: Usa lo stesso modello della conversazione principale (utile per la coerenza)
  • Omesso: Se non specificato, utilizza il modello predefinito configurato per i subagent (sonnet)

Controlla le capacità del subagent

Puoi controllare cosa possono fare i subagent attraverso l’accesso agli strumenti, le modalità di autorizzazione e le regole condizionali.

Strumenti disponibili

I subagent possono utilizzare qualsiasi strumento interno di Claude Code. Per impostazione predefinita, i subagent ereditano tutti gli strumenti dalla conversazione principale, inclusi gli strumenti MCP. Per limitare gli strumenti, usa il campo tools (allowlist) o il campo disallowedTools (denylist):
---
name: safe-researcher
description: Agente di ricerca con capacità limitate
tools: Read, Grep, Glob, Bash
disallowedTools: Write, Edit
---

Modalità di autorizzazione

Il campo permissionMode controlla come il subagent gestisce i prompt di autorizzazione. I subagent ereditano il contesto di autorizzazione dalla conversazione principale ma possono sovrascrivere la modalità.
ModalitàComportamento
defaultControllo di autorizzazione standard con prompt
acceptEditsAuto-accetta modifiche ai file
dontAskAuto-nega prompt di autorizzazione (gli strumenti esplicitamente consentiti funzionano ancora)
bypassPermissionsSalta tutti i controlli di autorizzazione
planModalità piano (esplorazione di sola lettura)
Usa bypassPermissions con cautela. Salta tutti i controlli di autorizzazione, consentendo al subagent di eseguire qualsiasi operazione senza approvazione.
Se il principale utilizza bypassPermissions, questo ha la precedenza e non può essere sovrascritto.

Regole condizionali con hook

Per un controllo più dinamico sull’utilizzo degli strumenti, usa gli hook PreToolUse per convalidare le operazioni prima che vengono eseguite. Questo è utile quando hai bisogno di consentire alcune operazioni di uno strumento mentre ne blocchi altre. Questo esempio crea un subagent che consente solo query di database di sola lettura convalidando i comandi prima dell’esecuzione:
---
name: db-reader
description: Esegui query di database di sola lettura
tools: Bash
hooks:
  PreToolUse:
    - matcher: "Bash"
      hooks:
        - type: command
          command: "./scripts/validate-readonly-query.sh"
---
Lo script di convalida ispeziona $TOOL_INPUT e esce con un codice diverso da zero per bloccare le operazioni di scrittura. Vedi Definisci hook per i subagent per ulteriori opzioni di configurazione degli hook.

Disabilita subagent specifici

Puoi impedire a Claude di utilizzare subagent specifici aggiungendoli all’array deny nelle tue impostazioni. Usa il formato Task(subagent-name) dove subagent-name corrisponde al campo name del subagent.
{
  "permissions": {
    "deny": ["Task(Explore)", "Task(my-custom-agent)"]
  }
}
Questo funziona sia per i subagent integrati che personalizzati. Puoi anche usare il flag CLI --disallowedTools:
claude --disallowedTools "Task(Explore)"
Vedi la documentazione IAM per ulteriori dettagli sulle regole di autorizzazione.

Definisci hook per i subagent

I subagent possono definire hook che vengono eseguiti durante il ciclo di vita del subagent. Ci sono due modi per configurare gli hook:
  1. Nel frontmatter del subagent: Definisci hook che vengono eseguiti solo mentre quel subagent è attivo
  2. In settings.json: Definisci hook che vengono eseguiti nella sessione principale quando i subagent si avviano o si fermano

Hook nel frontmatter del subagent

Definisci gli hook direttamente nel file markdown del subagent. Questi hook vengono eseguiti solo mentre quel subagent specifico è attivo e vengono puliti quando finisce.
EventoInput del matcherQuando si attiva
PreToolUseNome dello strumentoPrima che il subagent utilizzi uno strumento
PostToolUseNome dello strumentoDopo che il subagent utilizza uno strumento
Stop(nessuno)Quando il subagent finisce
Questo esempio convalida i comandi Bash con l’hook PreToolUse ed esegue un linter dopo le modifiche ai file con PostToolUse:
---
name: code-reviewer
description: Esamina le modifiche al codice con linting automatico
hooks:
  PreToolUse:
    - matcher: "Bash"
      hooks:
        - type: command
          command: "./scripts/validate-command.sh $TOOL_INPUT"
  PostToolUse:
    - matcher: "Edit|Write"
      hooks:
        - type: command
          command: "./scripts/run-linter.sh"
---
Gli hook Stop nel frontmatter vengono automaticamente convertiti in eventi SubagentStop.

Hook a livello di progetto per gli eventi del subagent

Configura gli hook in settings.json che rispondono agli eventi del ciclo di vita del subagent nella sessione principale. Usa il campo matcher per indirizzare tipi di agente specifici per nome.
EventoInput del matcherQuando si attiva
SubagentStartNome del tipo di agenteQuando un subagent inizia l’esecuzione
SubagentStopNome del tipo di agenteQuando un subagent completa
Questo esempio esegue script di configurazione e pulizia solo quando il subagent db-agent si avvia e si ferma:
{
  "hooks": {
    "SubagentStart": [
      {
        "matcher": "db-agent",
        "hooks": [
          { "type": "command", "command": "./scripts/setup-db-connection.sh" }
        ]
      }
    ],
    "SubagentStop": [
      {
        "matcher": "db-agent",
        "hooks": [
          { "type": "command", "command": "./scripts/cleanup-db-connection.sh" }
        ]
      }
    ]
  }
}
Vedi Hook per il formato di configurazione completo degli hook.

Lavora con i subagent

Comprendi la delega automatica

Claude delega automaticamente le attività in base alla descrizione dell’attività nella tua richiesta, al campo description nelle configurazioni del subagent e al contesto attuale. Per incoraggiare la delega proattiva, includi frasi come “use proactively” nel campo description del tuo subagent. Puoi anche richiedere un subagent specifico esplicitamente:
Usa il subagent test-runner per correggere i test non riusciti
Chiedi al subagent code-reviewer di esaminare le mie modifiche recenti

Esegui i subagent in primo piano o in background

I subagent possono essere eseguiti in primo piano (bloccante) o in background (concorrente):
  • Subagent in primo piano bloccano la conversazione principale fino al completamento. I prompt di autorizzazione e le domande di chiarimento (come AskUserQuestion) vengono passati a te.
  • Subagent in background vengono eseguiti contemporaneamente mentre continui a lavorare. Ereditano le autorizzazioni del principale e auto-negano qualsiasi cosa non pre-approvata. Se un subagent in background ha bisogno di un’autorizzazione che non ha o ha bisogno di fare domande di chiarimento, quella chiamata di strumento fallisce ma il subagent continua. Gli strumenti MCP non sono disponibili nei subagent in background.
Se un subagent in background fallisce a causa di autorizzazioni mancanti, puoi riprenderlo in primo piano per riprovare con prompt interattivi. Claude decide se eseguire i subagent in primo piano o in background in base all’attività. Puoi anche:
  • Chiedere a Claude di “eseguire questo in background”
  • Premere Ctrl+B per mettere in background un’attività in esecuzione

Pattern comuni

Isola operazioni ad alto volume

Uno degli usi più efficaci per i subagent è isolare le operazioni che producono grandi quantità di output. L’esecuzione di test, il recupero della documentazione o l’elaborazione dei file di log possono consumare un contesto significativo. Delegando questi a un subagent, l’output dettagliato rimane nel contesto del subagent mentre solo il riassunto rilevante ritorna alla tua conversazione principale.
Usa un subagent per eseguire la suite di test e segnala solo i test non riusciti con i loro messaggi di errore

Esegui ricerche parallele

Per indagini indipendenti, genera più subagent per lavorare simultaneamente:
Ricerca i moduli di autenticazione, database e API in parallelo utilizzando subagent separati
Ogni subagent esplora la sua area in modo indipendente, quindi Claude sintetizza i risultati. Questo funziona meglio quando i percorsi di ricerca non dipendono l’uno dall’altro.
Quando i subagent completano, i loro risultati ritornano alla tua conversazione principale. L’esecuzione di molti subagent che ognuno restituisce risultati dettagliati può consumare un contesto significativo.

Concatena i subagent

Per flussi di lavoro multi-step, chiedi a Claude di utilizzare i subagent in sequenza. Ogni subagent completa la sua attività e restituisce i risultati a Claude, che poi passa il contesto rilevante al subagent successivo.
Usa il subagent code-reviewer per trovare problemi di prestazioni, quindi usa il subagent optimizer per correggerli

Scegli tra i subagent e la conversazione principale

Usa la conversazione principale quando:
  • L’attività ha bisogno di frequenti scambi o affinamento iterativo
  • Più fasi condividono un contesto significativo (pianificazione → implementazione → test)
  • Stai facendo un cambiamento rapido e mirato
  • La latenza è importante. I subagent iniziano da zero e potrebbero aver bisogno di tempo per raccogliere il contesto
Usa i subagent quando:
  • L’attività produce output dettagliato che non hai bisogno nel tuo contesto principale
  • Vuoi applicare restrizioni di strumenti specifici o autorizzazioni
  • Il lavoro è autonomo e può restituire un riassunto
Considera invece le Skill quando vuoi prompt o flussi di lavoro riutilizzabili che vengono eseguiti nel contesto della conversazione principale piuttosto che nel contesto isolato del subagent.
I subagent non possono generare altri subagent. Se il tuo flusso di lavoro richiede delega annidata, usa Skill o concatena i subagent dalla conversazione principale.

Gestisci il contesto del subagent

Riprendi i subagent

Ogni invocazione di subagent crea una nuova istanza con contesto fresco. Per continuare il lavoro di un subagent esistente invece di ricominciare da capo, chiedi a Claude di riprenderlo. I subagent ripresi mantengono la loro cronologia di conversazione completa, incluse tutte le precedenti chiamate di strumenti, risultati e ragionamento. Il subagent riprende esattamente da dove si era fermato piuttosto che ricominciare da zero. Quando un subagent completa, Claude riceve il suo ID agente. Per riprendere un subagent, chiedi a Claude di continuare il lavoro precedente:
Usa il subagent code-reviewer per esaminare il modulo di autenticazione
[L'agente completa]

Continua quella revisione del codice e ora analizza la logica di autorizzazione
[Claude riprende il subagent con il contesto completo dalla conversazione precedente]
Puoi anche chiedere a Claude l’ID agente se vuoi fare riferimento ad esso esplicitamente, o trovare gli ID nei file di trascrizione in ~/.claude/projects/{project}/{sessionId}/subagents/. Ogni trascrizione è archiviata come agent-{agentId}.jsonl. Per l’utilizzo programmatico, vedi Subagent in Agent SDK. Le trascrizioni dei subagent persistono indipendentemente dalla conversazione principale:
  • Compattazione della conversazione principale: Quando la conversazione principale si compatta, le trascrizioni dei subagent non sono interessate. Vengono archiviate in file separati.
  • Persistenza della sessione: Le trascrizioni dei subagent persistono all’interno della loro sessione. Puoi riprendere un subagent dopo aver riavviato Claude Code riprendendo la stessa sessione.
  • Pulizia automatica: Le trascrizioni vengono pulite in base all’impostazione cleanupPeriodDays (predefinito: 30 giorni).

Auto-compattazione

I subagent supportano la compattazione automatica utilizzando la stessa logica della conversazione principale. Quando il contesto di un subagent si avvicina al suo limite, Claude Code riassume i messaggi più vecchi per liberare spazio mantenendo il contesto importante. Gli eventi di compattazione vengono registrati nei file di trascrizione del subagent:
{
  "type": "system",
  "subtype": "compact_boundary",
  "compactMetadata": {
    "trigger": "auto",
    "preTokens": 167189
  }
}
Il valore preTokens mostra quanti token erano stati utilizzati prima che si verificasse la compattazione.

Subagent di esempio

Questi esempi dimostrano pattern efficaci per la costruzione di subagent. Usali come punti di partenza, o genera una versione personalizzata con Claude.
Best practice:
  • Progetta subagent focalizzati: ogni subagent dovrebbe eccellere in un’attività specifica
  • Scrivi descrizioni dettagliate: Claude utilizza la descrizione per decidere quando delegare
  • Limita l’accesso agli strumenti: concedi solo le autorizzazioni necessarie per la sicurezza e la focalizzazione
  • Archivia nel controllo della versione: condividi i subagent di progetto con il tuo team

Revisore di codice

Un subagent di sola lettura che esamina il codice senza modificarlo. Questo esempio mostra come progettare un subagent focalizzato con accesso limitato agli strumenti (nessun Edit o Write) e un prompt dettagliato che specifica esattamente cosa cercare e come formattare l’output.
---
name: code-reviewer
description: Specialista di revisione del codice esperto. Esamina proattivamente il codice per qualità, sicurezza e manutenibilità. Usa immediatamente dopo aver scritto o modificato il codice.
tools: Read, Grep, Glob, Bash
model: inherit
---

Sei un revisore di codice senior che garantisce alti standard di qualità e sicurezza del codice.

Quando invocato:
1. Esegui git diff per vedere le modifiche recenti
2. Concentrati sui file modificati
3. Inizia la revisione immediatamente

Checklist di revisione:
- Il codice è chiaro e leggibile
- Le funzioni e le variabili sono ben nominate
- Nessun codice duplicato
- Gestione degli errori appropriata
- Nessun segreto o chiave API esposti
- Convalida dell'input implementata
- Buona copertura dei test
- Considerazioni sulle prestazioni affrontate

Fornisci feedback organizzato per priorità:
- Problemi critici (deve essere corretto)
- Avvertimenti (dovrebbe essere corretto)
- Suggerimenti (considera il miglioramento)

Includi esempi specifici di come correggere i problemi.

Debugger

Un subagent che può sia analizzare che correggere i problemi. A differenza del revisore di codice, questo include Edit perché correggere i bug richiede la modifica del codice. Il prompt fornisce un flusso di lavoro chiaro dalla diagnosi alla verifica.
---
name: debugger
description: Specialista di debug per errori, test non riusciti e comportamenti inaspettati. Usa proattivamente quando incontri problemi.
tools: Read, Edit, Bash, Grep, Glob
---

Sei un esperto debugger specializzato nell'analisi della causa principale.

Quando invocato:
1. Cattura il messaggio di errore e la traccia dello stack
2. Identifica i passaggi di riproduzione
3. Isola la posizione del fallimento
4. Implementa una correzione minima
5. Verifica che la soluzione funzioni

Processo di debug:
- Analizza i messaggi di errore e i log
- Controlla le modifiche al codice recenti
- Forma e testa ipotesi
- Aggiungi log di debug strategici
- Ispeziona gli stati delle variabili

Per ogni problema, fornisci:
- Spiegazione della causa principale
- Prove che supportano la diagnosi
- Correzione del codice specifica
- Approccio di test
- Raccomandazioni di prevenzione

Concentrati sulla correzione del problema sottostante, non sui sintomi.

Data scientist

Un subagent specifico del dominio per il lavoro di analisi dei dati. Questo esempio mostra come creare subagent per flussi di lavoro specializzati al di fuori dei tipici compiti di codifica. Imposta esplicitamente model: sonnet per un’analisi più capace.
---
name: data-scientist
description: Esperto di analisi dei dati per query SQL, operazioni BigQuery e insight sui dati. Usa proattivamente per attività di analisi dei dati e query.
tools: Bash, Read, Write
model: sonnet
---

Sei un data scientist specializzato nell'analisi SQL e BigQuery.

Quando invocato:
1. Comprendi il requisito di analisi dei dati
2. Scrivi query SQL efficienti
3. Usa gli strumenti della riga di comando BigQuery (bq) quando appropriato
4. Analizza e riassumi i risultati
5. Presenta i risultati chiaramente

Pratiche chiave:
- Scrivi query SQL ottimizzate con filtri appropriati
- Usa aggregazioni e join appropriati
- Includi commenti che spiegano la logica complessa
- Formatta i risultati per la leggibilità
- Fornisci raccomandazioni basate sui dati

Per ogni analisi:
- Spiega l'approccio della query
- Documenta eventuali ipotesi
- Evidenzia i risultati chiave
- Suggerisci i prossimi step in base ai dati

Assicurati sempre che le query siano efficienti e convenienti.

Prossimi step

Ora che comprendi i subagent, esplora queste funzionalità correlate: