Agenti personalizzati
Definendo agenti personalizzati puoi creare configurazioni di sotto-agenti con ruoli distinti in base all’uso.
Nella versione Laravel li configuri tramite customAgents di SessionConfig.
Per l’orchestrazione che esegue più sotto-agenti in parallelo, consulta Fleet Mode.
Uso di base
Puoi specificare la stessa configurazione anche in forma di array.
Opzioni di configurazione
Più description è specifica, più migliora la precisione della selezione automatica.
Hook dichiarativi per agente
In hooks di un agente personalizzato puoi specificare il nome dell’evento come chiave e un array di azioni dichiarative come valore.
Le azioni vengono passate alla CLI insieme alla definizione dell’agente corrispondente e sono attive solo per quell’agente.
Usalo, ad esempio, quando vuoi limitare l’esecuzione degli strumenti solo per un agente specifico.
customAgents[*].hooks sono azioni dichiarative passate alla CLI.
Specifica il contenuto delle azioni nel formato accettato da Copilot CLI.
- Il
hooks di primo livello di SessionConfig è una funzionalità distinta che registra callback PHP e si applica all’intera sessione. Per i dettagli consulta Hook di sessione.
- Il caricamento degli hook basati su file da
.github/hooks/ è controllato separatamente con enableFileHooks.
Selezionare un agente specifico all’avvio della sessione
Specificando agent puoi abilitare fin dal primo turn uno specifico agente personalizzato.
Disabilitare la selezione automatica (infer: false)
Per gli agenti che eseguono operazioni ad alto rischio, è più sicuro disabilitare la selezione automatica e usarli in modo esplicito.
Nascondere strumenti all’agente predefinito
Con defaultAgent.excludedTools puoi nascondere strumenti specifici solo all’agente principale.
Diventa più facile delegare all’agente personalizzato che può usare quello strumento.
Monitorare eventi dei sotto-agenti
Durante l’esecuzione dei sotto-agenti fluiscono eventi subagent.*.
Puoi monitorarli con onEvent o $session->on().
Best practice
- Separa
researcher (principalmente lettura) ed editor (responsabile delle modifiche)
- Riduci
tools al minimo necessario e restringi i permessi
- Scrivi
description in modo concreto per migliorare la precisione della delega automatica
- Cattura
subagent.failed e predisponi strategie di retry o fallback
Riferimenti
Ultima modifica il 19 ottobre 2026