Subagents
Scopri come Bob usa i subagents per gestire attività mirate e autonome in contesti isolati senza inquinare la conversazione principale.
Cosa sono i subagents?
Un subagent è un agente indipendente che Bob può spawn per gestire un'attività mirata e autonoma. Viene eseguito nel proprio context window isolato, esegue il lavoro assegnato e restituisce un riepilogo dei risultati alla conversazione principale.
I subagents sono utili per attività che altrimenti aggiungerebbero grandi quantità di contenuto irrilevante alla conversazione in corso — ad esempio, esplorare in profondità una sezione di un codebase per raccogliere informazioni specifiche prima che Bob continui con l'attività principale.
Come funzionano i subagents
Quando Bob spawna un subagent:
- Viene creato un nuovo agente indipendente con il proprio context window.
- Bob gli passa una descrizione dell'attività mirata da eseguire.
- Ti viene chiesto di approvare lo spawn prima che inizi. Bob aspetta finché non confermi.
- Il subagent esegue l'attività usando i tools disponibili.
- Il subagent restituisce un riepilogo dei suoi risultati a Bob.
- Bob usa quel riepilogo per continuare la conversazione principale.
Il subagent viene eseguito separatamente dalla conversazione principale. Non condivide stato, file o risultati dei tools con Bob a meno che Bob non li passi esplicitamente nella descrizione.
Tipi di subagents
Esistono due tipi di subagents, ciascuno adatto a compiti diversi:
| Tipo | Descrizione | Ideale per |
|---|---|---|
explore | Esplorazione del codebase in sola lettura, viene eseguito su un modello più leggero | Cercare e riassumere codice, trovare file rilevanti, capire la struttura |
general | Accesso completo ai tools, viene eseguito sul modello predefinito | Qualsiasi attività autonoma che richiede letture, scritture o comandi |
Contesto e cronologia della conversazione
Per impostazione predefinita, un subagent non vede la cronologia della conversazione genitore. Questo mantiene il suo contesto snello e focalizzato sul compito in questione.
Quando un subagent ha bisogno di comprendere decisioni, vincoli o preferenze precedenti espressi nella conversazione, Bob può impostare fork_context: true per passare la cronologia della conversazione al subagent.
Restrizioni di modalità
La modalità in cui stai lavorando controlla quali tipi di subagents Bob è autorizzato a spawn. Alcune modalità consentono tutti i tipi di subagents; altre limitano lo spawn a tipi specifici o lo vietano del tutto. Se uno spawn di subagent non è consentito dalla modalità attiva, Bob completerà il lavoro direttamente senza spawning.
Quando Bob usa i subagents
Bob usa i subagents con parsimonia. Il comportamento predefinito è sempre eseguire il lavoro direttamente senza spawn di un subagent. Un subagent viene considerato solo quando tutte le seguenti condizioni sono vere:
- L'attività è chiaramente autonoma e si ha bisogno solo di un riepilogo in risposta.
- Aggiungerebbe un contenuto irrilevante significativo al contesto principale.
- Non può essere realizzata con una o due chiamate dirette ai tools.
Bob non usa i subagents per:
- Semplici letture di file o ricerche rapide.
- Operazioni con un singolo tool.
- Attività in cui il contesto rilevante è già disponibile.
Subagents vs. subtasks
Subagents e subtasks sono concetti correlati ma distinti:
| Subagent | Subtask | |
|---|---|---|
| Visibilità | Viene eseguito silenziosamente in background | Appare nell'interfaccia con il proprio breadcrumb e conversazione |
| Interazione | Non interattivo — restituisce solo un riepilogo | Completamente interattivo — puoi seguire il progresso e continuare la conversazione |
| Scopo | Raccogliere informazioni o completare un lavoro isolato senza inquinare il contesto principale | Gestire un lavoro abbastanza complesso da beneficiare di un monitoraggio dedicato e di un thread separato |
| Output | Riepilogo restituito a Bob | Thread di conversazione indipendente |
Usa i subagents per la raccolta di informazioni in background. Usa le subtasks per lavori complessi che traggono vantaggio dalla visibilità e da una conversazione dedicata.
Personalizzare il comportamento dei subagents
Puoi controllare su cosa si concentra un subagent, come formatta il suo output e quali tool può usare creando un file persona agente in .bob/agents/. I file persona danno a un subagent un ruolo definito e un insieme di vincoli – ad esempio, un revisore di codice che produce una tabella di risultati ordinata per gravità con istruzioni esplicite di non suggerire correzioni.
Per istruzioni di configurazione ed esempi, consulta Persona agenti.
Modi
I modi sono personas specializzate che adattano il comportamento di Bob ai tuoi compiti specifici. Ogni modo offre capacità e livelli di accesso diversi per aiutarti a raggiungere obiettivi particolari in modo più efficiente.
Skills
Crea set di istruzioni riutilizzabili per workflow specializzati. Definisci workflow personalizzati, aggiungi file di supporto e insegna a Bob attività specializzate per risultati coerenti.