agents.
Panoramica
I subagenti possono essere definiti in due modi quando si utilizza l’SDK:- Programmaticamente - Usando il parametro
agentsnelle opzioni diquery()(raccomandato per le applicazioni SDK) - Basato su filesystem - Posizionando file markdown con frontmatter YAML in directory designate (
.claude/agents/)
agents, che fornisce un’esperienza di sviluppo più integrata per le applicazioni SDK.
Vantaggi dell’Uso dei Subagenti
Gestione del Contesto
I subagenti mantengono un contesto separato dall’agente principale, prevenendo il sovraccarico di informazioni e mantenendo le interazioni focalizzate. Questo isolamento assicura che i compiti specializzati non inquinino il contesto della conversazione principale con dettagli irrilevanti. Esempio: Un subagenteresearch-assistant può esplorare dozzine di file e pagine di documentazione senza ingombrare la conversazione principale con tutti i risultati di ricerca intermedi - restituendo solo i risultati rilevanti.
Parallelizzazione
Più subagenti possono funzionare contemporaneamente, accelerando drammaticamente i flussi di lavoro complessi. Esempio: Durante una revisione del codice, puoi eseguire i subagentistyle-checker, security-scanner e test-coverage simultaneamente, riducendo il tempo di revisione da minuti a secondi.
Istruzioni e Conoscenze Specializzate
Ogni subagente può avere prompt di sistema personalizzati con competenze specifiche, migliori pratiche e vincoli. Esempio: Un subagentedatabase-migration può avere conoscenze dettagliate sulle migliori pratiche SQL, strategie di rollback e controlli di integrità dei dati che sarebbero rumore non necessario nelle istruzioni dell’agente principale.
Restrizioni degli Strumenti
I subagenti possono essere limitati a strumenti specifici, riducendo il rischio di azioni non intenzionali. Esempio: Un subagentedoc-reviewer potrebbe avere accesso solo agli strumenti Read e Grep, assicurando che possa analizzare ma mai modificare accidentalmente i tuoi file di documentazione.
Creazione di Subagenti
Definizione Programmatica (Raccomandato)
Definisci i subagenti direttamente nel tuo codice usando il parametroagents:
Configurazione AgentDefinition
| Campo | Tipo | Richiesto | Descrizione |
|---|---|---|---|
description | string | Sì | Descrizione in linguaggio naturale di quando usare questo agente |
prompt | string | Sì | Il prompt di sistema dell’agente che definisce il suo ruolo e comportamento |
tools | string[] | No | Array di nomi di strumenti consentiti. Se omesso, eredita tutti gli strumenti |
model | 'sonnet' | 'opus' | 'haiku' | 'inherit' | No | Override del modello per questo agente. Predefinito al modello principale se omesso |
Definizione Basata su Filesystem (Alternativa)
Puoi anche definire i subagenti come file markdown in directory specifiche:- Livello progetto:
.claude/agents/*.md- Disponibili solo nel progetto corrente - Livello utente:
~/.claude/agents/*.md- Disponibili in tutti i progetti
agents) hanno precedenza sugli agenti basati su filesystem con lo stesso nome.
Come l’SDK Usa i Subagenti
Quando si utilizza il Claude Agent SDK, i subagenti possono essere definiti programmaticamente o caricati dal filesystem. Claude:- Carica gli agenti programmatici dal parametro
agentsnelle tue opzioni - Auto-rileva gli agenti del filesystem dalle directory
.claude/agents/(se non sovrascritti) - Li invoca automaticamente basandosi sulla corrispondenza dei compiti e sulla
descriptiondell’agente - Usa i loro prompt specializzati e le restrizioni degli strumenti
- Mantiene contesti separati per ogni invocazione di subagente
agents) hanno precedenza sugli agenti basati su filesystem con lo stesso nome.
Subagenti di Esempio
Per esempi completi di subagenti inclusi revisori di codice, esecutori di test, debugger e auditor di sicurezza, vedi la guida principale sui Subagenti. La guida include configurazioni dettagliate e migliori pratiche per creare subagenti efficaci.Pattern di Integrazione SDK
Invocazione Automatica
L’SDK invocherà automaticamente i subagenti appropriati basandosi sul contesto del compito. Assicurati che il campodescription del tuo agente indichi chiaramente quando dovrebbe essere usato:
Invocazione Esplicita
Gli utenti possono richiedere subagenti specifici nei loro prompt:Configurazione Dinamica degli Agenti
Puoi configurare dinamicamente gli agenti basandoti sulle esigenze della tua applicazione:Restrizioni degli Strumenti
I subagenti possono avere accesso limitato agli strumenti tramite il campotools:
- Ometti il campo - L’agente eredita tutti gli strumenti disponibili (predefinito)
- Specifica strumenti - L’agente può usare solo gli strumenti elencati
Combinazioni di Strumenti Comuni
Agenti in sola lettura (analisi, revisione):Documentazione Correlata
- Guida Principale sui Subagenti - Documentazione completa sui subagenti
- Panoramica SDK - Panoramica del Claude Agent SDK
- Impostazioni - Riferimento del file di configurazione
- Comandi Slash - Creazione di comandi personalizzati