I subagenti permettono all’agente principale di avviare worker indipendenti per gestire sottoattività. Un subagente condivide strumenti e contesto della codebase con l’agente padre, ma opera nella propria catena di conversazione — non eredita la cronologia delle conversazioni del padre. Questo è utile per attività che beneficiano di un lavoro mirato e indipendente — come esplorare una codebase, eseguire test o implementare una funzionalità in parallelo. Puoi chiedere esplicitamente all’agente di usare i subagenti (ad es. “analizza come funziona l’auth in un subagente”), oppure l’agente può decidere autonomamente di delegare quando ritiene che un’attività trarrebbe vantaggio da un lavoro indipendente. Secondo le nostre misurazioni, i subagenti sia migliorano le prestazioni complessive di sviluppo sia riducono i costi.Documentation Index
Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
Use this file to discover all available pages before exploring further.
Come funzionano i subagenti
Primo piano
Viene eseguito inline nella tua sessione. L’agente principale si mette in pausa e aspetta che il subagente 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 subagente termina. Gli strumenti non approvati vengono rifiutati automaticamente.
Non vedi direttamente l’output grezzo del subagente. Quando un subagente termina, l’agente principale legge il risultato e ne riepiloga per te i risultati principali e le azioni.
Profili dei subagenti
| Profilo | Descrizione | Accesso agli strumenti |
|---|---|---|
subagent_explore | Esplorazione e ricerca del codebase in sola lettura | Strumenti del codebase in sola lettura più ricerca sul web; non può modificare file né recuperare URL arbitrari (sia in foreground che in background) |
subagent_general | Attività generiche, incluse modifiche al codice | Accesso completo agli strumenti (foreground) oppure solo agli strumenti pre-approvati (background) |
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.
Autorizzazioni dei tool
- I subagenti in primo piano si comportano come l’agente principale: ti viene chiesto di approvare o negare le chiamate ai tool, come di consueto.
- I subagenti in background ereditano tutte le autorizzazioni dei tool che hai già concesso nella sessione corrente. Qualsiasi tool che non sia stato pre-approvato viene negato automaticamente. I subagenti in background non possono chiederti nuove autorizzazioni.
Monitoraggio dei subagenti
Indicatore del subagente
Pannello dei subagenti
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.
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, override del modello e autorizzazioni, pensati per attività specifiche nel tuo flusso di lavoro.
Creazione di un subagente personalizzato
AGENT.md all’interno di una directory con un nome specifico sotto agents/. Il nome della directory diventa l’identificatore del profilo.
- Specifico per il progetto
- Globale
Formato di AGENT.md
AGENT.md usa lo stesso frontmatter YAML delle skill, seguito dal prompt di sistema del subagente:
Campi del frontmatter
| Campo | Tipo | Predefinito | Descrizione |
|---|---|---|---|
name | string | nome della directory | Identificatore del profilo (non deve essere in conflitto con i profili integrati) |
description | string | nessuno | Mostrato all’agente durante la selezione di un profilo |
model | string | modello predefinito del subagente | Override del modello usato da questo subagente |
allowed-tools | list | tutti gli strumenti | Limita gli strumenti che il subagente può usare |
permissions | object | eredita | Override delle autorizzazioni (allow, deny, ask) |
max-nesting | integer | nessuno | Override della profondità massima di annidamento, consentendo a questo subagente di generare i propri subagenti |
Come vengono usati i subagenti personalizzati
subagent_explore, subagent_general) vengono ignorati con un avviso.
Importazione da altri strumenti
| Origine | Pattern di file |
|---|---|
.claude/agents/*.md | Ogni file .md diventa un profilo di subagente |
I file degli agenti di Claude Code usano
tools invece di allowed-tools nel frontmatter. Entrambi i formati sono supportati automaticamente.