Vai al contenuto principale
I subagenti personalizzati in Claude Code sono assistenti AI specializzati che possono essere invocati per gestire tipi specifici di attività. Consentono una risoluzione dei problemi più efficiente fornendo configurazioni specifiche per attività con prompt di sistema personalizzati, strumenti e una finestra di contesto separata.

Cosa sono i subagenti?

I subagenti sono personalità AI preconfigurate a cui Claude Code può delegare attività. Ogni subagente:
  • Ha uno scopo specifico e un’area di competenza
  • Utilizza la propria finestra di contesto separata dalla conversazione principale
  • Può essere configurato con strumenti specifici che è autorizzato a utilizzare
  • Include un prompt di sistema personalizzato che guida il suo comportamento
Quando Claude Code incontra un’attività che corrisponde all’expertise di un subagente, può delegare tale attività al subagente specializzato, che lavora in modo indipendente e restituisce i risultati.

Vantaggi principali

Preservazione del contesto

Ogni subagente opera nel suo contesto, prevenendo l’inquinamento della conversazione principale e mantenendola focalizzata su obiettivi di alto livello.

Expertise specializzata

I subagenti possono essere ottimizzati con istruzioni dettagliate per domini specifici, portando a tassi di successo più elevati su attività designate.

Riutilizzabilità

Una volta creati, i subagenti possono essere utilizzati in diversi progetti e condivisi con il tuo team per flussi di lavoro coerenti.

Permessi flessibili

Ogni subagente può avere diversi livelli di accesso agli strumenti, consentendoti di limitare gli strumenti potenti a tipi di subagente specifici.

Avvio rapido

Per creare il tuo primo subagente:
1

Apri l'interfaccia dei subagenti

Esegui il seguente comando:
/agents
2

Seleziona 'Crea nuovo agente'

Scegli se creare un subagente a livello di progetto o a livello di utente
3

Definisci il subagente

  • Consigliato: Genera prima con Claude, quindi personalizza per renderlo tuo
  • Descrivi il tuo subagente in dettaglio e quando dovrebbe essere utilizzato
  • Seleziona gli strumenti a cui desideri concedere l’accesso (o lascia vuoto per ereditare tutti gli strumenti)
  • L’interfaccia mostra tutti gli strumenti disponibili, rendendo la selezione facile
  • Se stai generando con Claude, puoi anche modificare il prompt di sistema nel tuo editor premendo e
4

Salva e utilizza

Il tuo subagente è ora disponibile! Claude lo utilizzerà automaticamente quando appropriato, oppure puoi invocarlo esplicitamente:
> Usa il subagente code-reviewer per controllare i miei recenti cambiamenti

Configurazione del subagente

Posizioni dei file

I subagenti sono archiviati come file Markdown con frontmatter YAML in due possibili posizioni:
TipoPosizioneAmbitoPriorità
Subagenti di progetto.claude/agents/Disponibile nel progetto correnteMassima
Subagenti utente~/.claude/agents/Disponibile in tutti i progettiInferiore
Quando i nomi dei subagenti entrano in conflitto, i subagenti a livello di progetto hanno la precedenza sui subagenti a livello di utente.

Agenti plugin

I plugin possono fornire subagenti personalizzati che si integrano perfettamente con Claude Code. Gli agenti plugin funzionano in modo identico agli agenti definiti dall’utente e appaiono nell’interfaccia /agents. Posizioni degli agenti plugin: I plugin includono agenti nella loro directory agents/ (o percorsi personalizzati specificati nel manifesto del plugin). Utilizzo degli agenti plugin:
  • Gli agenti plugin appaiono in /agents insieme ai tuoi agenti personalizzati
  • Possono essere invocati esplicitamente: “Usa l’agente code-reviewer dal security-plugin”
  • Possono essere invocati automaticamente da Claude quando appropriato
  • Possono essere gestiti (visualizzati, ispezionati) tramite l’interfaccia /agents
Consulta il riferimento dei componenti del plugin per i dettagli sulla creazione di agenti plugin.

Configurazione basata su CLI

Puoi anche definire i subagenti dinamicamente utilizzando il flag CLI --agents, che accetta un oggetto JSON:
claude --agents '{
  "code-reviewer": {
    "description": "Expert code reviewer. Use proactively after code changes.",
    "prompt": "You are a senior code reviewer. Focus on code quality, security, and best practices.",
    "tools": ["Read", "Grep", "Glob", "Bash"],
    "model": "sonnet"
  }
}'
Priorità: I subagenti definiti da CLI hanno una priorità inferiore rispetto ai subagenti a livello di progetto ma una priorità superiore rispetto ai subagenti a livello di utente. Caso d’uso: Questo approccio è utile per:
  • Test rapidi delle configurazioni dei subagenti
  • Subagenti specifici della sessione che non devono essere salvati
  • Script di automazione che necessitano di subagenti personalizzati
  • Condivisione di definizioni di subagenti nella documentazione o negli script
Per informazioni dettagliate sul formato JSON e su tutte le opzioni disponibili, consulta la documentazione di riferimento CLI.

Formato del file

Ogni subagente è definito in un file Markdown con questa struttura:
---
name: your-sub-agent-name
description: Description of when this subagent should be invoked
tools: tool1, tool2, tool3  # Optional - inherits all tools if omitted
model: sonnet  # Optional - specify model alias or 'inherit'
---

Your subagent's system prompt goes here. This can be multiple paragraphs
and should clearly define the subagent's role, capabilities, and approach
to solving problems.

Include specific instructions, best practices, and any constraints
the subagent should follow.

Campi di configurazione

CampoObbligatorioDescrizione
nameIdentificatore univoco utilizzando lettere minuscole e trattini
descriptionDescrizione in linguaggio naturale dello scopo del subagente
toolsNoElenco separato da virgole di strumenti specifici. Se omesso, eredita tutti gli strumenti dal thread principale
modelNoModello da utilizzare per questo subagente. Può essere un alias di modello (sonnet, opus, haiku) o 'inherit' per utilizzare il modello della conversazione principale. Se omesso, utilizza il modello di subagente configurato

Selezione del modello

Il campo model ti consente di controllare quale modello AI utilizza il subagente:
  • Alias del modello: Utilizza uno degli alias disponibili: sonnet, opus o haiku
  • 'inherit': Utilizza lo stesso modello della conversazione principale (utile per la coerenza)
  • Omesso: Se non specificato, utilizza il modello predefinito configurato per i subagenti (sonnet)
L’utilizzo di 'inherit' è particolarmente utile quando desideri che i tuoi subagenti si adattino alla scelta del modello della conversazione principale, garantendo capacità coerenti e stile di risposta in tutta la sessione.

Strumenti disponibili

I subagenti possono essere autorizzati ad accedere a qualsiasi strumento interno di Claude Code. Consulta la documentazione degli strumenti per un elenco completo degli strumenti disponibili.
Consigliato: Utilizza il comando /agents per modificare l’accesso agli strumenti - fornisce un’interfaccia interattiva che elenca tutti gli strumenti disponibili, inclusi gli strumenti del server MCP connesso, rendendo più facile selezionare quelli di cui hai bisogno.
Hai due opzioni per configurare gli strumenti:
  • Ometti il campo tools per ereditare tutti gli strumenti dal thread principale (predefinito), inclusi gli strumenti MCP
  • Specifica i singoli strumenti come elenco separato da virgole per un controllo più granulare (può essere modificato manualmente o tramite /agents)
Strumenti MCP: I subagenti possono accedere agli strumenti MCP dai server MCP configurati. Quando il campo tools è omesso, i subagenti ereditano tutti gli strumenti MCP disponibili per il thread principale.

Gestione dei subagenti

Utilizzo del comando /agents (Consigliato)

Il comando /agents fornisce un’interfaccia completa per la gestione dei subagenti:
/agents
Questo apre un menu interattivo dove puoi:
  • Visualizzare tutti i subagenti disponibili (integrati, utente e progetto)
  • Creare nuovi subagenti con configurazione guidata
  • Modificare i subagenti personalizzati esistenti, incluso il loro accesso agli strumenti
  • Eliminare i subagenti personalizzati
  • Vedere quali subagenti sono attivi quando esistono duplicati
  • Gestire facilmente i permessi degli strumenti con un elenco completo degli strumenti disponibili

Gestione diretta dei file

Puoi anche gestire i subagenti lavorando direttamente con i loro file:
# Crea un subagente di progetto
mkdir -p .claude/agents
echo '---
name: test-runner
description: Use proactively to run tests and fix failures
---

You are a test automation expert. When you see code changes, proactively run the appropriate tests. If tests fail, analyze the failures and fix them while preserving the original test intent.' > .claude/agents/test-runner.md

# Crea un subagente utente
mkdir -p ~/.claude/agents
# ... crea file subagente

Utilizzo efficace dei subagenti

Delega automatica

Claude Code delega proattivamente le attività in base a:
  • La descrizione dell’attività nella tua richiesta
  • Il campo description nelle configurazioni dei subagenti
  • Il contesto corrente e gli strumenti disponibili
Per incoraggiare un uso più proattivo dei subagenti, includi frasi come “usa PROATTIVAMENTE” o “DEVE ESSERE UTILIZZATO” nel tuo campo description.

Invocazione esplicita

Richiedi un subagente specifico menzionandolo nel tuo comando:
> Usa il subagente test-runner per correggere i test non superati
> Chiedi al subagente code-reviewer di guardare i miei recenti cambiamenti
> Chiedi al subagente debugger di investigare questo errore

Subagenti integrati

Claude Code include subagenti integrati disponibili immediatamente:

Subagente Plan

Il subagente Plan è un agente integrato specializzato progettato per l’uso durante la modalità piano. Quando Claude opera in modalità piano (modalità non esecuzione), utilizza il subagente Plan per condurre ricerche e raccogliere informazioni sul tuo codebase prima di presentare un piano. Caratteristiche principali:
  • Modello: Utilizza Sonnet per un’analisi più capace
  • Strumenti: Ha accesso agli strumenti Read, Glob, Grep e Bash per l’esplorazione del codebase
  • Scopo: Cerca file, analizza la struttura del codice e raccoglie il contesto
  • Invocazione automatica: Claude utilizza automaticamente questo agente quando è in modalità piano e ha bisogno di ricercare il codebase
Come funziona: Quando sei in modalità piano e Claude ha bisogno di comprendere il tuo codebase per creare un piano, delega i compiti di ricerca al subagente Plan. Questo previene l’annidamento infinito di agenti (i subagenti non possono generare altri subagenti) consentendo comunque a Claude di raccogliere il contesto necessario. Scenario di esempio:
User: [In plan mode] Help me refactor the authentication module

Claude: Let me research your authentication implementation first...
[Internally invokes Plan subagent to explore auth-related files]
[Plan subagent searches codebase and returns findings]
Claude: Based on my research, here's my proposed plan...
Il subagente Plan viene utilizzato solo in modalità piano. In modalità esecuzione normale, Claude utilizza l’agente generico o altri subagenti personalizzati che hai creato.

Subagenti di esempio

Code reviewer

---
name: code-reviewer
description: Expert code review specialist. Proactively reviews code for quality, security, and maintainability. Use immediately after writing or modifying code.
tools: Read, Grep, Glob, Bash
model: inherit
---

You are a senior code reviewer ensuring high standards of code quality and security.

When invoked:
1. Run git diff to see recent changes
2. Focus on modified files
3. Begin review immediately

Review checklist:
- Code is simple and readable
- Functions and variables are well-named
- No duplicated code
- Proper error handling
- No exposed secrets or API keys
- Input validation implemented
- Good test coverage
- Performance considerations addressed

Provide feedback organized by priority:
- Critical issues (must fix)
- Warnings (should fix)
- Suggestions (consider improving)

Include specific examples of how to fix issues.

Debugger

---
name: debugger
description: Debugging specialist for errors, test failures, and unexpected behavior. Use proactively when encountering any issues.
tools: Read, Edit, Bash, Grep, Glob
---

You are an expert debugger specializing in root cause analysis.

When invoked:
1. Capture error message and stack trace
2. Identify reproduction steps
3. Isolate the failure location
4. Implement minimal fix
5. Verify solution works

Debugging process:
- Analyze error messages and logs
- Check recent code changes
- Form and test hypotheses
- Add strategic debug logging
- Inspect variable states

For each issue, provide:
- Root cause explanation
- Evidence supporting the diagnosis
- Specific code fix
- Testing approach
- Prevention recommendations

Focus on fixing the underlying issue, not just symptoms.

Data scientist

---
name: data-scientist
description: Data analysis expert for SQL queries, BigQuery operations, and data insights. Use proactively for data analysis tasks and queries.
tools: Bash, Read, Write
model: sonnet
---

You are a data scientist specializing in SQL and BigQuery analysis.

When invoked:
1. Understand the data analysis requirement
2. Write efficient SQL queries
3. Use BigQuery command line tools (bq) when appropriate
4. Analyze and summarize results
5. Present findings clearly

Key practices:
- Write optimized SQL queries with proper filters
- Use appropriate aggregations and joins
- Include comments explaining complex logic
- Format results for readability
- Provide data-driven recommendations

For each analysis:
- Explain the query approach
- Document any assumptions
- Highlight key findings
- Suggest next steps based on data

Always ensure queries are efficient and cost-effective.

Best practice

  • Inizia con agenti generati da Claude: Ti consigliamo vivamente di generare il tuo subagente iniziale con Claude e quindi iterare su di esso per renderlo personalmente tuo. Questo approccio ti dà i migliori risultati - una base solida che puoi personalizzare in base alle tue esigenze specifiche.
  • Progetta subagenti focalizzati: Crea subagenti con responsabilità singole e chiare piuttosto che cercare di fare tutto con un subagente. Questo migliora le prestazioni e rende i subagenti più prevedibili.
  • Scrivi prompt dettagliati: Includi istruzioni specifiche, esempi e vincoli nei tuoi prompt di sistema. Più guida fornisci, migliore sarà le prestazioni del subagente.
  • Limita l’accesso agli strumenti: Concedi solo gli strumenti necessari per lo scopo del subagente. Questo migliora la sicurezza e aiuta il subagente a concentrarsi su azioni rilevanti.
  • Controllo della versione: Controlla i subagenti di progetto nel controllo della versione in modo che il tuo team possa beneficiarne e migliorarli in modo collaborativo.

Utilizzo avanzato

Concatenamento di subagenti

Per flussi di lavoro complessi, puoi concatenare più subagenti:
> Usa prima il subagente code-analyzer per trovare problemi di prestazioni, quindi usa il subagente optimizer per correggerli

Selezione dinamica dei subagenti

Claude Code seleziona intelligentemente i subagenti in base al contesto. Rendi i tuoi campi description specifici e orientati all’azione per i migliori risultati.

Subagenti riprendibili

I subagenti possono essere ripresi per continuare conversazioni precedenti, il che è particolarmente utile per attività di ricerca o analisi di lunga durata che devono essere continuate in più invocazioni. Come funziona:
  • Ogni esecuzione del subagente viene assegnata a un agentId univoco
  • La conversazione dell’agente viene archiviata in un file di trascrizione separato: agent-{agentId}.jsonl
  • Puoi riprendere un agente precedente fornendo il suo agentId tramite il parametro resume
  • Quando ripreso, l’agente continua con il contesto completo dalla sua conversazione precedente
Flusso di lavoro di esempio: Invocazione iniziale:
> Usa l'agente code-analyzer per iniziare a rivedere il modulo di autenticazione

[Agent completes initial analysis and returns agentId: "abc123"]
Riprendi l’agente:
> Riprendi l'agente abc123 e ora analizza anche la logica di autorizzazione

[Agent continues with full context from previous conversation]
Casi d’uso:
  • Ricerca di lunga durata: Suddividi l’analisi del codebase di grandi dimensioni in più sessioni
  • Perfezionamento iterativo: Continua a perfezionare il lavoro di un subagente senza perdere il contesto
  • Flussi di lavoro multi-step: Fai lavorare un subagente su attività correlate in sequenza mantenendo il contesto
Dettagli tecnici:
  • Le trascrizioni degli agenti vengono archiviate nella directory del tuo progetto
  • La registrazione è disabilitata durante la ripresa per evitare di duplicare i messaggi
  • Sia gli agenti sincroni che asincroni possono essere ripresi
  • Il parametro resume accetta l’ID dell’agente da un’esecuzione precedente
Utilizzo programmatico: Se stai utilizzando l’Agent SDK o interagendo direttamente con AgentTool, puoi passare il parametro resume:
{
  "description": "Continue analysis",
  "prompt": "Now examine the error handling patterns",
  "subagent_type": "code-analyzer",
  "resume": "abc123"  // Agent ID from previous execution
}
Tieni traccia degli ID degli agenti per le attività che potresti voler riprendere in seguito. Claude Code visualizza l’ID dell’agente quando un subagente completa il suo lavoro.

Considerazioni sulle prestazioni

  • Efficienza del contesto: Gli agenti aiutano a preservare il contesto principale, consentendo sessioni complessive più lunghe
  • Latenza: I subagenti iniziano con una lavagna pulita ogni volta che vengono invocati e possono aggiungere latenza mentre raccolgono il contesto di cui hanno bisogno per svolgere il loro lavoro in modo efficace.

Documentazione correlata

  • Plugin - Estendi Claude Code con agenti personalizzati tramite plugin
  • Comandi slash - Scopri altri comandi integrati
  • Impostazioni - Configura il comportamento di Claude Code
  • Hook - Automatizza i flussi di lavoro con gestori di eventi