diffox
Blog

Cos’è un subagent e come si usa negli agenti di programmazione?

In Claude Code, Codex, Cursor, Gemini CLI e Copilot un subagent lavora in un contesto separato e ti dà il risultato. Definizione, limiti e buone pratiche.

CondividiXLinkedIn

In sintesi. Un subagent (subagente) è un aiutante a cui l’agente principale affida un compito e che lavora in un contesto separato: i file che legge e il suo output intermedio restano a lui, alla conversazione principale torna il risultato. C’è in Claude Code, Codex, Cursor, Gemini CLI e GitHub Copilot. Il 18 ottobre 2026 abbiamo letto ogni comportamento nella documentazione dello strumento stesso; gli esempi vengono dal repository che usiamo ogni giorno. Il 28 ottobre 2026 abbiamo aggiunto Antigravity CLI di Google.

  • In Claude Code e in Cursor il subagente non vede la tua conversazione. Le due documentazioni lo scrivono chiaramente; quelle degli altri tre strumenti non ne parlano. In Claude Code il subagente parte con un contesto nuovo, con solo il messaggio del compito, i file delle regole e lo stato di git (tranne il fork); in qualunque strumento, scrivi il compito in modo che si capisca da solo.
  • In Codex la delega dipende dal livello di effort. Al livello più alto, Ultra, Codex divide da solo il lavoro tra subagenti; agli altri livelli, Codex in locale avvia un subagente quando glielo chiedi o quando lo dicono AGENTS.md o una skill.
  • Nella maggior parte degli strumenti l’effort non cambia il numero di subagenti. Le eccezioni sono due: il livello Ultra di Codex e l’impostazione ultracode di Claude Code; tutti e due dividono il lavoro tra subagenti.
  • Le modifiche in parallelo richiedono worktree separati. Il 27 agosto 2026 nel nostro repository si erano accumulati 41 worktree; 37 erano rimasti da un solo giro di review.

Il subagente lavora in un contesto separato e ti restituisce il risultato

5strumenti, dalla loro documentazione
20subagenti alla volta, il default di Claude Code
1.000agenti al massimo in un workflow
37worktree da un solo giro di review

Quando dai un compito grande a un agente di programmazione, le strade sono due: la conversazione principale fa tutto da sé, oppure affida una parte del lavoro a un subagente (subagent). Il subagente svolge quella parte nel proprio contesto; i file che legge e i test che lancia non riempiono la conversazione principale.

La documentazione di Cursor lo dice in due frasi: «Intermediate output stays in the subagent. The parent only sees the final summary.» Al 18 ottobre 2026 i subagenti ci sono in cinque strumenti: Claude Code, Codex di OpenAI, Cursor, Gemini CLI di Google e GitHub Copilot. Claude Code, Cursor e Copilot parlano di una finestra di contesto propria del subagente; Gemini CLI parla di un ciclo di contesto separato, mentre Codex avvia gli agenti in parallelo e ne raccoglie i risultati in un’unica risposta.

Per questo conviene in due casi: i lavori che producono molto output (lanciare i test, scorrere i log, leggere decine di file) e le ricerche indipendenti l’una dall’altra. Gli esempi vengono dal repository in cui sviluppiamo diffox e che usiamo ogni giorno; lì gira Claude Code.

Il subagente non vede la tua conversazione, quindi il compito va spiegato per intero

L’errore più comune con un subagente è dare per scontato che sappia ciò che si è detto nella conversazione principale. Secondo la documentazione di Claude Code il subagente parte con una finestra di contesto nuova: non vede la cronologia della conversazione, le skill già chiamate né i file che Claude ha letto. All’inizio ha in mano questo:

Il subagente non vede la tua conversazione. Il contesto iniziale di un subagente in Claude Code. VEDE Il compito: Il testo che l’agente principale scrive quando delega. NON VEDE La conversazione: Ciò che vi siete detti tu e l’agente principale. VEDE File delle regole: CLAUDE.md e AGENTS.md; tranne Explore e Plan. NON VEDE File già letti: I file che l’agente principale ha già aperto. VEDE Stato di git: L’istantanea di branch e commit presa all’avvio. NON VEDE Skill già chiamate: Le skill caricate nella conversazione principale.
Il contesto iniziale di un subagente che non è un fork, in Claude Code; un fork eredita la conversazione principale. Fonte: documentazione di Claude Code sui subagenti, 18 ottobre 2026.

Per questo il testo del compito deve dire da solo l’obiettivo, quali file il subagente può toccare e che cosa deve riportare. Ciò che nella conversazione principale chiami «quell’errore», per il subagente non esiste: scrivi il percorso del file, il messaggio di errore e l’output che ti aspetti. Anche la documentazione di Cursor dice la stessa cosa: i subagenti partono con un contesto pulito e non hanno accesso alla cronologia della conversazione. La documentazione di Codex, Gemini CLI e Copilot non lo scrive; con qualunque strumento, la strada sicura è scrivere un compito che si capisca da solo. La documentazione di Codex consiglia inoltre di chiedere al subagente un riassunto invece dell’output intermedio.

Come si definisce un subagente nei cinque strumenti

In tutti e cinque un subagente si definisce con un file, a livello di progetto o di utente. La vera differenza tra gli strumenti è se l’agente principale delega il lavoro di sua iniziativa:

I subagenti in cinque agenti di programmazione: cartella delle definizioni, se l’agente principale delega di sua iniziativa e agenti già inclusi
StrumentoDefinizione (progetto · utente)Delega di sua iniziativa?Agenti inclusi
Claude Code.claude/agents/ · ~/.claude/agents/Sì, in base alla descrizione; con @ lo chiami per nomeExplore, Plan, general-purpose
Codex.codex/agents/ · ~/.codex/agents/Con Ultra sì; agli altri livelli quando glielo chiedi o quando lo dicono AGENTS.md o una skilldefault, worker, explorer
Cursor.cursor/agents/ · ~/.cursor/agents/Sì; con /nome lo chiami per nomeexplore, browser
Gemini CLI.gemini/agents/ · ~/.gemini/agents/Sì, in base alla descrizione; @nome lo indirizzacodebase_investigator, cli_help, generalist
GitHub Copilot.github/agents/ · ~/.copilot/agents/Nella CLI sì, decide il modello; si sceglie con /agentexplore, task, general-purpose, code-review…

Fonte: la documentazione sui subagenti di ogni strumento, 18 ottobre 2026. In Codex la definizione è un file TOML, negli altri un file Markdown con un’intestazione YAML. L’agente browser di Gemini CLI è disattivato per impostazione predefinita. L’elenco degli agenti inclusi in Copilot cambia da una pagina all’altra: la pagina di riferimento ne conta sette, la guida pratica quattro.

Le differenze stanno nella terza colonna. In Codex dipende dal livello di effort: la pagina dei modelli scrive che il livello più alto, Ultra, porta avanti il lavoro dividendolo tra subagenti; la pagina sui subagenti dice invece che Codex in locale avvia un subagente su richiesta diretta, come «avvia due agenti», o su indicazione di AGENTS.md o di una skill. Negli altri quattro l’agente principale può delegare anche di sua iniziativa; la documentazione di Copilot aggiunge che il modello può anche non delegare e fare il lavoro da sé.

Le definizioni passano da uno strumento all’altro: Cursor legge anche le cartelle .claude/agents/ e .codex/agents/ (a parità di nome vince .cursor/), e anche Copilot CLI legge .claude/agents/. Quindi un file che scrivi in .claude/agents/ lo leggono Claude Code, Cursor e Copilot CLI; che i campi del frontmatter funzionino allo stesso modo in tutti e tre, la documentazione non lo garantisce.

Il 18 giugno 2026 Google ha smesso di servire Gemini CLI agli utenti gratuiti e agli abbonati Google AI Pro e Ultra, indirizzandoli ad Antigravity CLI; con una chiave API a pagamento o una licenza aziendale puoi continuare a usare Gemini CLI. Il 28 ottobre 2026 abbiamo letto la documentazione di Antigravity sui subagenti. I subagenti si definiscono in .agents/agents/ per un progetto e in ~/.gemini/config/agents/ per l’utente. L’agente principale affida un compito in base alla descrizione del subagente; tre agenti sono inclusi: research, browser e self. Un subagente non riceve la cronologia della conversazione dell’agente principale e parte da un contesto pulito; se la sua definizione non indica un modello, usa quello dell’agente principale. Si possono annidare fino a 10 livelli.

Un buon subagente ha un compito circoscritto, pochi tool e un report breve

Il file di definizione stabilisce tre cose: quando chiamare il subagente (la descrizione), a che cosa può accedere (i tool) e che cosa restituisce (il prompt). In Claude Code è fatto così; i campi obbligatori sono name e description:

---
name: test-runner
description: Esegue i test, riporta solo quelli falliti
tools: Read, Grep, Glob, Bash
model: haiku
---

Esegui la suite di test. Riporta solo i test falliti, ciascuno con il
suo messaggio di errore. Non modificare nessun file.
  • La descrizione è un trigger. Claude Code e Gemini CLI delegano il lavoro in base alla descrizione. Nella descrizione non scrivere che cos’è l’agente, ma quando va chiamato.
  • Restringi i tool. In Claude Code il campo tools limita i tool che il subagente può usare; se non lo indichi, eredita tutti i tool disponibili per i subagenti. A un agente che deve solo leggere non dare un tool di scrittura.
  • I permessi vengono dall’agente principale. In Codex il subagente eredita i permessi, il provider e i server MCP dell’agente principale; il file di definizione non può cambiarli. Anche la sandbox e l’impostazione delle approvazioni sono quelle dell’agente principale.
  • Chiedi un report breve. L’ultima frase del prompt deve dire che cosa restituire: i test falliti, i file trovati, una decisione. Se un lungo output intermedio torna nella conversazione principale, il vantaggio del subagente si perde.
  • Puoi disattivare l’uso automatico. Nell’agente cloud di Copilot, un agente con disable-model-invocation: true gira solo quando lo scegli a mano. In Copilot il prompt di un agente personalizzato può avere al massimo 30.000 caratteri.

Modello, parallelismo e annidamento cambiano da uno strumento all’altro

Se nella definizione non indichi un modello, secondo la documentazione in Claude Code, Codex, Cursor e Copilot il subagente usa il modello dell’agente principale. La pagina sui subagenti di Gemini CLI scrive lo stesso, ma la pagina sui modelli della stessa documentazione dice che il comando /model e il flag --model non cambiano il modello dei subagenti; le due pagine non coincidono del tutto. Quanti subagenti possono girare in contemporanea, e se un subagente può avviarne un altro, cambia invece da strumento a strumento:

Il modello del subagente, quanti subagenti possono girare in contemporanea e il limite di annidamento, in cinque agenti di programmazione
StrumentoModello (se la definizione non lo indica)In contemporaneaAnnidamento
Claude CodeQuello della conversazione principale20Fino a 3 livelli sotto la conversazione principale
CodexQuello dell’agente principale, con il suo livello di ragionamentoConfigurabile; il valore predefinito non è pubblicatoLa documentazione non lo dice
CursorQuello dell’agente principaleLa documentazione non lo diceDue livelli: un subagente avviato da un subagente non può avviarne altri
Gemini CLIQuello della sessione principale; ma /model non lo cambia (le pagine non coincidono)La documentazione non lo diceNessuno: un subagente non può chiamare un altro subagente
GitHub CopilotQuello dell’agente principaleNella CLI 32; un altro punto della pagina dice «dipende dal piano»Nella CLI 4 o 6, la pagina dà due valori; nell’IDE nessuno

Fonte: la documentazione sui subagenti di ogni strumento, 18 ottobre 2026. «La documentazione non lo dice»: nelle pagine che abbiamo letto quel giorno non abbiamo trovato una frase che dia questa informazione. La pagina di riferimento di Copilot CLI dà una profondità di 4 nella sezione sulle variabili d’ambiente e di 6 nella tabella dei limiti. Gemini CLI limita ogni subagente, per impostazione predefinita, a 30 turni e 10 minuti.

Claude Code cerca il modello in quattro posti, in quest’ordine: il parametro model di quella chiamata, il campo model della definizione, la variabile d’ambiente CLAUDE_CODE_SUBAGENT_MODEL e infine il modello della conversazione principale. È scritto anche che cosa succede quando si arriva al limite: con 20 subagenti in esecuzione non se ne può avviare un altro, e l’errore dice a Claude di non riprovare. Gemini CLI blocca le chiamate annidate per evitare cicli infiniti e un consumo eccessivo di token.

Alzare l’effort di solito non aumenta i subagenti

Tutti e cinque gli strumenti hanno un’impostazione che decide quanto il modello ragiona prima di rispondere: l’effort, o livello di ragionamento. Il legame con i subagenti si riduce a due domande: il subagente eredita il livello dell’agente principale? E può sceglierne uno suo?

L’impostazione dell’effort in cinque agenti di programmazione, se il subagente la eredita e se può scegliere un livello suo
StrumentoImpostazione dell’effortIl subagente la eredita?Il subagente sceglie un livello suo?
Claude Codelow, medium, high, xhigh, maxLa documentazione non lo dice chiaramente; i membri di agent teams ereditano quello del leaderSì: effort nella definizione; il parametro effort della chiamata dalla v2.1.292
Codexmodel_reasoning_effort: low … ultraSì, se non è impostatoSì: model_reasoning_effort nel TOML
CursorParametro del modello: [effort=high]La documentazione non lo diceSì: model: claude-opus-5[effort=high]
Gemini CLIthinkingConfig: budget o livello di ragionamentoLa documentazione non lo diceCon un override specifico per l’agente
GitHub Copilot--effort: low … maxNella CLI sì; secondo la pagina dell’SDK solo se il modello è lo stessoSì: reasoningEffort

Fonte: la documentazione di ogni strumento su modelli e subagenti, 18 ottobre 2026. In Cursor i nomi dei livelli cambiano a seconda del modello.

La documentazione di Claude Code, Cursor, Gemini CLI e Copilot non lega l’effort al numero di subagenti. La documentazione di Claude Code descrive così la differenza vista ai livelli alti: «tested more edge cases and verified more of its work before answering. It also made more choices on its own.» Del numero di subagenti non parla. In Copilot i subagenti in parallelo non dipendono dall’effort ma da una modalità a parte: con il comando /fleet è l’agente principale a decidere se il lavoro si può dividere in parti.

L’eccezione è il livello più alto di Codex, ultra. La pagina dei modelli usa la stessa frase per la CLI, l’app e l’IDE: «Ultra mode goes beyond a single-agent run. It uses subagents to accelerate complex work.» Anche in ChatGPT Work, Ultra permette di affidare ai subagenti di propria iniziativa il lavoro adatto. Agli altri livelli, secondo la pagina sui subagenti, Codex in locale avvia un subagente quando glielo chiedi o quando lo dicono AGENTS.md o una skill.

Con ultracode Claude Code divide il lavoro tra decine di subagenti

Nello slider /effort di Claude Code, accanto ai livelli di effort, c’è anche un interruttore ultracode. La documentazione non lo definisce un livello, ma un’impostazione a parte: «a Claude Code setting rather than a model effort level». Quando è attivo, per ogni compito sostanziale Claude pianifica un workflow dinamico senza che tu lo chieda: scrive uno script che divide il lavoro e gestisce i subagenti, e un runtime lo esegue in background; intanto la tua sessione continua a rispondere.

Chi guida il lavoro: Claude, il leader o uno script. Subagente. Chi decide l’ordine: Claude, turno per turno. Pochi compiti delegati per turno. Agent teams. Chi decide l’ordine: L’agente leader. Pochi membri attivi a lungo. Workflow · ultracode. Chi decide l’ordine: Lo script. Decine, centinaia di agenti a giro. Il confronto nella documentazione di Claude Code.
Subagenti, agent teams e workflow: chi decide l’ordine dei passi e su che scala. Fonte: Claude Code, il confronto nella documentazione sui workflow, 18 ottobre 2026.

Si attiva in quattro modi:

  • Per un solo compito: scrivi la parola ultracode nel prompt; il livello di effort della sessione non cambia. La parola conta solo nei prompt che scrivi tu.
  • Per tutta la sessione: /effort ultracode o l’interruttore nello slider.
  • All’avvio: claude --effort ultracode; così anche il livello di effort passa a xhigh.
  • In ogni sessione: "ultracode": true nel file di impostazioni.

Il costo la documentazione lo scrive chiaramente: ogni richiesta usa più token e dura di più; con un abbonamento arrivi prima al limite di sessione o a quello settimanale. Con ultracode attivo il limite di 20 subagenti non si applica; il workflow ha limiti suoi: per impostazione predefinita 16 agenti in contemporanea e al massimo 1.000 agenti per esecuzione. Con ultracode spento, più di 25 agenti o una stima di 1,5 milioni di token fanno comparire l’avviso «Large workflow»; con ultracode attivo non compare nemmeno questo avviso.

I workflow dinamici sono arrivati a fine maggio 2026 e nel riepilogo settimanale sono stati annunciati come «research preview»; il 18 ottobre 2026 la pagina dei workflow non riportava nessuna etichetta di stato. Non confonderli con due cose dal nome simile: ultrathink chiede un ragionamento più profondo solo per quel turno e non cambia il livello di effort; /code-review ultra è invece un comando a parte che fa girare agenti di review nel cloud, e Claude non lo avvia di sua iniziativa.

I subagenti possono parlarsi tra loro?

Il risultato del subagente torna a chi lo ha chiamato: questo vale per tutti e cinque. Gli strumenti si dividono su tre domande: i subagenti possono scriversi tra loro? L’agente principale può scrivere più tardi a un subagente in esecuzione o già finito? Esiste una funzione per lavorare in team?

Se i subagenti possono scriversi tra loro, se l’agente principale può scrivergli più tardi e la funzione di team più vicina, in cinque agenti di programmazione
StrumentoDa subagente a subagenteL’agente principale scrive più tardi?Funzione di team più vicina
Claude CodeSì: i subagenti a cui Claude ha dato un nome, con SendMessageSì; un subagente finito riprende con tutta la sua cronologia (tranne Explore e Plan)Agent teams: i membri si scrivono per nome
CodexLa documentazione non lo diceSì; chiedi a Codex di guidare o di fermare un subagenteNessuna nella documentazione
CursorLa documentazione non lo dice; il risultato torna all’agente principaleSi riprende con l’ID dell’agente, mantenendo il contestoProjects: un agente coordinatore gestisce molti agenti
Gemini CLINoLa documentazione non lo diceSubagenti remoti (A2A): non un team, ma una delega
GitHub CopilotNella CLI sì: con write_agent, agli agenti fratelliNella CLI sì: un messaggio all’agente in esecuzione/fleet: l’agente principale gestisce subagenti in parallelo

Fonte: la documentazione di ogni strumento, 18 ottobre 2026. In Copilot, per scrivere agli agenti fratelli deve essere attiva la comunicazione condivisa tra fratelli; la documentazione non dice come si attiva.

La funzione agent teams di Claude Code è la forma più avanzata di tutto questo: una sessione fa da leader del team, i membri sono sessioni separate, ognuno lavora nella propria finestra di contesto e scrive agli altri per nome. Non si può scrivere a tutti insieme: a ogni destinatario va un messaggio a parte. Il criterio della documentazione stessa: «Use subagents when you need quick, focused workers that report back. Use agent teams when teammates need to share findings, challenge each other, and coordinate on their own.» Agent teams è sperimentale, è disattivato per impostazione predefinita e consuma più token, perché ogni membro è un’istanza separata di Claude.

Poter scriversi non vuol dire doverci contare. La struttura più solida resta dividere il lavoro in parti indipendenti e mettere insieme i risultati nell’agente principale. Lo dice anche la documentazione di Copilot su fleet: il coordinamento passa da uno stato esplicito e non da una memoria condivisa implicita, e i subagenti non conservano lo stato tra una chiamata e l’altra; dai a ciascuno un contesto completo.

Per lavorare in parallelo, ogni agente ha bisogno del suo worktree e dei suoi file

I subagenti che si limitano a leggere possono lavorare fianco a fianco nella stessa directory. Il problema nasce quando più agenti modificano file e fanno commit: condividono la stessa directory, lo stesso branch e lo stesso index di git. È un problema di git, che non dipende dallo strumento che usi. Nel nostro repository abbiamo quattro regole per questo.

37 worktree da un solo giro di review. Su 41 worktree contati il 27 agosto 2026. 1. Un worktree per chi modifica. Con isolation: worktree ha la sua copia. 2. Commit solo dei propri file. Un commit semplice prende anche il lavoro altrui. 3. Un compito che si capisce da solo. Il subagente non vede la tua conversazione. 4. Pulizia con uno script. Branch e worktree del lavoro unito spariscono.
Le quattro regole del nostro repository per gli agenti in parallelo. I numeri vengono dalle note di sessione del repository, 27 agosto 2026.

Un worktree a parte. In Claude Code, se nella definizione scrivi isolation: worktree, per il subagente si apre un worktree temporaneo, cioè una directory di lavoro separata del repository; se il subagente finisce senza modifiche, il worktree viene rimosso da solo. Secondo la documentazione, per impostazione predefinita questo worktree non parte dal branch su cui stai lavorando, ma dal branch predefinito del repository.

File separati. Per gli agenti che condividono la stessa directory la nostra regola è: ognuno fa commit solo dei propri percorsi (git commit --only <percorsi>), perché un semplice git commit prende tutto l’index, compreso il lavoro preparato da un altro agente. Quando dividi il lavoro, dai a ogni agente un insieme di file suo.

Un compito che si capisce da solo. In Claude Code e in Cursor il subagente non vede la tua conversazione; il testo del compito deve dire da solo l’obiettivo, quali file può toccare e che cosa deve riportare. Gli hook del file di impostazioni, invece, arrivano da soli: in Claude Code un hook PreToolUse scatta anche prima delle chiamate ai tool del subagente.

Pulizia. Un worktree con delle modifiche resta sul disco. Il 27 agosto 2026 nel nostro repository si erano accumulati 41 worktree, 37 dei quali da un solo giro di review. Visto che il disordine lo producevano i flussi di lavoro automatici e non le persone, la soluzione è stata messa lì: ogni sessione si apre con uno script che rimuove i branch delle pull request già unite e i worktree che hanno finito il loro lavoro.

Non tutti i compiti hanno bisogno di un subagente

Un subagente protegge il contesto, ma il proprio lo costruisce da zero; anche scrivere il compito e leggere il risultato hanno un costo. La documentazione di Claude Code consiglia la conversazione principale in questi casi:

  • Serve un continuo botta e risposta. Il lavoro va rifinito insieme, un passo alla volta.
  • Le fasi condividono lo stesso contesto. Pianificazione, implementazione e test si basano sulle stesse informazioni.
  • La modifica è piccola e mirata. Poche righe in un file.
  • Conta la velocità. Il subagente parte da zero, e raccogliere il contesto richiede tempo.

Il posto del subagente sono i compiti che rispondono da soli a una sola domanda: «lancia i test e riportami quelli falliti», «chi chiama questo modulo», «confronta queste tre librerie». Anche la review di diffox si basa su questa idea: divide la code review con IA tra agenti specializzati, e ognuno guarda la modifica con la propria domanda. Come vengono scelti lo spieghiamo nel nostro articolo sull’architettura.

Domande frequenti

Che cos’è un subagent e quando si usa?

Un subagent (subagente) è un aiutante a cui l’agente principale affida un compito e che lavora in un contesto separato; in Claude Code e Cursor non vede la tua conversazione, e restituisce il risultato all’agente principale. C’è in Claude Code, Codex, Cursor, Gemini CLI e Copilot, e anche in Antigravity CLI di Google. È utile nei lavori con molto output (test, log, ricerche su molti file) e nelle ricerche parallele indipendenti l’una dall’altra.

Che differenza c’è tra subagent e skill?

Una skill è un insieme di istruzioni o un flusso di lavoro che si può caricare in qualsiasi contesto; si aggiunge al contesto della conversazione in cui viene caricata. Un subagente, invece, è un lavoratore separato che gira nella propria finestra di contesto: fa il lavoro lì e alla conversazione principale restituisce solo il riassunto. In Claude Code le due cose si possono combinare: in una definizione di subagente si possono precaricare delle skill, e una skill si può eseguire in un contesto separato.

I subagenti possono parlare tra loro?

Dipende dallo strumento. In Claude Code i subagenti a cui Claude ha dato un nome possono scriversi con SendMessage; in Copilot CLI, quando è attiva la comunicazione condivisa tra fratelli, i messaggi agli agenti fratelli passano da write_agent (la documentazione non dice come si attiva). In Gemini CLI un subagente non può chiamarne un altro; la documentazione di Codex e di Cursor non descrive messaggi da subagente a subagente. In Antigravity gli agenti possono scriversi tramite l’ID della conversazione; un subagente che ha finito il suo lavoro ed è in attesa riprende da dove si era fermato quando arriva un messaggio. Una funzione a parte, in cui i membri si scrivono direttamente, è agent teams di Claude Code, che è sperimentale.

Con quale modello e quale effort gira un subagente?

Se la definizione non lo indica, in Claude Code, Codex, Cursor e Copilot gira con il modello dell’agente principale; anche la pagina sui subagenti di Gemini CLI dice così, ma la pagina sui modelli scrive che il comando /model non cambia il modello del subagente. Per l’effort dipende dallo strumento: in Codex il subagente eredita il livello di ragionamento dell’agente principale, e lo eredita anche in Copilot CLI. In Claude Code il campo effort della definizione o il parametro effort della chiamata (dalla v2.1.292) danno al subagente un livello suo. Nella maggior parte degli strumenti alzare l’effort non cambia il numero di subagenti; l’eccezione è il livello Ultra di Codex.

Come si usano i subagent in Codex?

Gli agenti personalizzati sono file TOML in .codex/agents/ o in ~/.codex/agents/; name, description e developer_instructions sono obbligatori. Al livello di effort più alto, Ultra, Codex divide da solo il lavoro tra subagenti; agli altri livelli un subagente parte con un’istruzione diretta come «avvia due agenti» o con un’indicazione scritta in AGENTS.md o in una skill. Nella CLI si passa da un agente in esecuzione all’altro con /subagents.

Che cos’è ultracode in Claude Code?

Ultracode, in Claude Code, non è un livello di effort ma un’impostazione a parte. Quando è attivo, per ogni compito sostanziale Claude pianifica un workflow dinamico: scrive uno script che divide il lavoro e gestisce decine di subagenti, e lo esegue in background. Per un solo compito si scrive ultracode nel prompt; per tutta la sessione si attiva con /effort ultracode. Ogni richiesta usa più token e dura di più.

Quanti subagenti possono girare in contemporanea?

In Claude Code il limite predefinito è 20 e si può cambiare; in un workflow con ultracode girano 16 agenti in contemporanea e al massimo 1.000 per esecuzione. In Codex il limite è un’impostazione, ma il valore predefinito non è pubblicato. La pagina di riferimento di Copilot CLI dà due valori diversi; il 18 ottobre 2026 non abbiamo trovato un numero nella documentazione di Cursor e di Gemini CLI.