Come funzionano i subagent
Foreground
Viene eseguito inline nella tua sessione. L’agente principale si mette in pausa e aspetta che il subagent termini prima di continuare. Puoi approvare o rifiutare le richieste di utilizzo degli strumenti man mano che vengono presentate.
Background
Viene eseguito in parallelo mentre l’agente principale continua a lavorare. L’agente principale riceve automaticamente una notifica quando il subagent termina. Gli strumenti non approvati vengono rifiutati automaticamente.
Non vedi direttamente l’output grezzo del subagent. Quando un subagent termina, l’agente principale legge il risultato e ne riepiloga per te i risultati principali e le azioni.
Costo dei subagenti
Nei piani basati sui prompt, ogni subagent consuma crediti aggiuntivi, proprio come un messaggio dell’utente. Il numero di crediti dipende dal modello usato dal subagent, quindi le attività che generano più subagent (o li annidano) consumano più crediti.
Quale modello usa un subagent?
Il modello predefinito dei subagent non è un nome di modello fisso — viene risolto tramite un router al momento della creazione del subagent, e un admin può impostare un override (vedi sotto). Con l’impostazione predefinita Subagent router, viene risolto in SWE-1.6 (una variante più veloce o più lenta di SWE-1.6 a seconda del livello del tuo piano).
Al momento, la CLI non indica nel pannello dei subagent quale modello sta usando un subagent in esecuzione.
Come influenzare il modello
run_subagent accetta un profilo, non un modello. Hai due possibilità:
- Chiedere un profilo in linguaggio naturale. Richiedere un subagent explore (“research how auth works in an explore subagent”) mantiene il lavoro sul modello predefinito a basso costo del subagent. Se chiedi modifiche al codice, viene usato
subagent_general, che gira sul modello che hai selezionato. - Bloccare un modello in un profilo subagent personalizzato.
model:nel file di definizione è l’unico modo per eseguire un subagent con capacità di scrittura su un modello diverso da quello dell’agente principale. Anche una skill eseguita in un subagent può impostaremodel:nel suo frontmatter per fare override del modello del profilo.
Controlli Enterprise
subagent_explore e per i subagent personalizzati che non bloccano un model: — non modifica subagent_general, che segue sempre il modello dell’agente principale.

Abilitare e disabilitare i subagent
subagents_enabled su false nel tuo file di configurazione per rimuovere gli strumenti run_subagent e read_subagent, così l’agente eseguirà tutto autonomamente:
I criteri dell’organizzazione hanno la precedenza: se un Admin ha impostato Default subagent model su None, i subagent restano disabilitati indipendentemente da questa impostazione.
Profili dei subagenti
L’agente sceglie automaticamente il profilo appropriato in base all’attività. I subagenti di esplorazione sono ideali per la ricerca e per comprendere il codebase, mentre i subagenti generali possono apportare modifiche. Vedi Quale modello usa un subagente? per capire come ogni profilo sceglie il proprio modello: i due profili non vengono eseguiti sullo stesso modello.
Autorizzazioni degli strumenti
- I subagent in foreground si comportano come l’agente principale: ti viene chiesto di approvare o negare le chiamate agli strumenti, come di consueto. Il prompt indica il subagent che ha richiesto l’azione, così sai chi sta chiedendo.
- I subagent in background ereditano tutte le autorizzazioni degli strumenti che hai già concesso nella sessione corrente. Qualsiasi strumento che non sia stato pre-approvato viene negato automaticamente. I subagent in background non possono chiederti nuove autorizzazioni.
Monitoraggio dei subagenti
Indicatore del subagente
Pannello dei subagent
Passaggio tra foreground e background
- Spostare in background un subagente in foreground: Premi Ctrl+B mentre è in esecuzione un subagente in foreground. Il subagente continua a lavorare in background e l’agente principale riprende.
- Portare in foreground un subagente in background: Apri il pannello dei subagenti e premi f su un subagente in background in esecuzione. L’output del subagente verrà visualizzato inline.
Quando sposti un subagente in background, la chiamata a uno strumento dell’agente principale è già terminata, quindi l’agente principale continua in modo indipendente. Il risultato del subagente non verrà reinserito nella pipeline corrente dell’agente principale, ma riceverai una notifica quando avrà completato l’esecuzione.
Interrompere un turno
Annullare i subagenti
- Dal pannello dei subagenti: Apri il pannello e premi x per un subagente in esecuzione.
- Subagente in primo piano: Premi Ctrl+C o Esc per annullare il subagente in primo piano attualmente in esecuzione.
Ripresa dei subagenti
- Un subagente in background è terminato con errore perché è stato negato uno strumento richiesto: riprendilo in primo piano per concedere le autorizzazioni necessarie.
- Un subagente è stato completato, ma vuoi che esegua ulteriore lavoro di follow-up in base ai risultati ottenuti.
- Un subagente è stato annullato prematuramente e vuoi che continui.
Profondità di annidamento
run_subagent e read_subagent) sono disabilitati all’interno di un subagente per evitare un annidamento illimitato.
Tuttavia, i profili personalizzati dei subagenti possono abilitare la generazione nidificata impostando il campo max-nesting nel proprio frontmatter. Questo valore sovrascrive la profondità massima predefinita, consentendo ai subagenti di generare elementi figli finché l’albero rimane entro quel limite.
Ad esempio, max-nesting: 3 consente la seguente catena:
Subagenti personalizzati
subagent_explore e subagent_general, puoi definire profili personalizzati per i tuoi subagenti. I subagenti personalizzati ti consentono di creare worker specializzati con prompt di sistema dedicati, restrizioni sugli strumenti e override del modello, pensati per attività specifiche nel tuo flusso di lavoro. Questo è anche il modo per ottenere un subagent con capacità di scrittura che non utilizzi il tuo modello primario (potenzialmente costoso): assegnagli un model: e gli strumenti di cui ha bisogno.
Creazione di un subagent personalizzato
agents/, secondo uno di questi due layout:
- File singolo —
agents/<name>.md(la stessa convenzione usata da Claude Code, Cursor e altri strumenti). Il nome del file (senza.md) diventa l’identificatore del profilo. - Directory —
agents/<name>/AGENT.md. Il nome della directory diventa l’identificatore del profilo. Sono accettati come nome file ancheAGENTS.md,agent.mdeagents.md(se ne sono presenti più di uno,AGENT.mdha la precedenza, poiAGENTS.md,agent.md,agents.md).
name: nel frontmatter ha la precedenza sull’identificatore ricavato dal percorso.
- Specifico del progetto
- Globale
Formato del file di definizione
Campi del frontmatter
Come vengono usati i subagenti personalizzati
subagent_explore, subagent_general) vengono ignorati con un avviso.
Importazione da altri strumenti
I file degli agenti di Claude Code usano
tools invece di allowed-tools nel frontmatter. Entrambi i formati sono supportati automaticamente.
