Comprendere i prompt di sistema
Un prompt di sistema è il set di istruzioni iniziali che modella come Claude si comporta durante una conversazione.Comportamento predefinito: L’Agent SDK utilizza un prompt di sistema vuoto per impostazione predefinita per la massima flessibilità. Per utilizzare il prompt di sistema di Claude Code (istruzioni per strumenti, linee guida per il codice, ecc.), specifica
systemPrompt: { preset: "claude_code" } in TypeScript o system_prompt="claude_code" in Python.- Istruzioni per l’uso degli strumenti e strumenti disponibili
- Linee guida per lo stile e la formattazione del codice
- Impostazioni del tono di risposta e verbosità
- Istruzioni di sicurezza e protezione
- Contesto sulla directory di lavoro corrente e l’ambiente
Metodi di modifica
Metodo 1: File CLAUDE.md (istruzioni a livello di progetto)
I file CLAUDE.md forniscono contesto e istruzioni specifici del progetto che vengono automaticamente letti dall’Agent SDK quando viene eseguito in una directory. Servono come “memoria” persistente per il tuo progetto.Come funziona CLAUDE.md con l’SDK
Posizione e scoperta:- Livello progetto:
CLAUDE.mdo.claude/CLAUDE.mdnella tua directory di lavoro - Livello utente:
~/.claude/CLAUDE.mdper istruzioni globali in tutti i progetti
settingSources (TypeScript) o setting_sources (Python):
- Includi
'project'per caricare CLAUDE.md a livello di progetto - Includi
'user'per caricare CLAUDE.md a livello utente (~/.claude/CLAUDE.md)
claude_code NON carica automaticamente CLAUDE.md - devi anche specificare le fonti delle impostazioni.
Formato del contenuto:
I file CLAUDE.md utilizzano markdown semplice e possono contenere:
- Linee guida e standard di codifica
- Contesto specifico del progetto
- Comandi o flussi di lavoro comuni
- Convenzioni API
- Requisiti di test
Esempio CLAUDE.md
Utilizzare CLAUDE.md con l’SDK
Quando utilizzare CLAUDE.md
Migliore per:- Contesto condiviso dal team - Linee guida che tutti dovrebbero seguire
- Convenzioni del progetto - Standard di codifica, struttura dei file, pattern di denominazione
- Comandi comuni - Comandi di build, test, deploy specifici del tuo progetto
- Memoria a lungo termine - Contesto che dovrebbe persistere in tutte le sessioni
- Istruzioni sotto controllo versione - Commit su git così il team rimane sincronizzato
- ✅ Persistente in tutte le sessioni di un progetto
- ✅ Condiviso con il team tramite git
- ✅ Scoperta automatica (non sono necessarie modifiche al codice)
- ⚠️ Richiede il caricamento delle impostazioni tramite
settingSources
Metodo 2: Stili di output (configurazioni persistenti)
Gli stili di output sono configurazioni salvate che modificano il prompt di sistema di Claude. Sono memorizzati come file markdown e possono essere riutilizzati tra sessioni e progetti.Creare uno stile di output
Utilizzare gli stili di output
Una volta creati, attiva gli stili di output tramite:- CLI:
/output-style [nome-stile] - Impostazioni:
.claude/settings.local.json - Crea nuovo:
/output-style:new [descrizione]
settingSources: ['user'] o settingSources: ['project'] (TypeScript) / setting_sources=["user"] o setting_sources=["project"] (Python) nelle tue opzioni.
Metodo 3: Utilizzare systemPrompt con append
Puoi utilizzare il preset Claude Code con una proprietà append per aggiungere le tue istruzioni personalizzate preservando tutte le funzionalità integrate.
Metodo 4: Prompt di sistema personalizzati
Puoi fornire una stringa personalizzata comesystemPrompt per sostituire completamente il default con le tue istruzioni.
Confronto di tutti e quattro gli approcci
| Caratteristica | CLAUDE.md | Stili di Output | systemPrompt con append | systemPrompt Personalizzato |
|---|---|---|---|---|
| Persistenza | File per progetto | Salvati come file | Solo sessione | Solo sessione |
| Riutilizzabilità | Per progetto | Tra progetti | Duplicazione codice | Duplicazione codice |
| Gestione | Su filesystem | CLI + file | Nel codice | Nel codice |
| Strumenti predefiniti | Preservati | Preservati | Preservati | Persi (a meno che inclusi) |
| Sicurezza integrata | Mantenuta | Mantenuta | Mantenuta | Deve essere aggiunta |
| Contesto ambiente | Automatico | Automatico | Automatico | Deve essere fornito |
| Livello personalizzazione | Solo aggiunte | Sostituisce default | Solo aggiunte | Controllo completo |
| Controllo versione | Con progetto | Sì | Con codice | Con codice |
| Ambito | Specifico progetto | Utente o progetto | Sessione codice | Sessione codice |
systemPrompt: { type: "preset", preset: "claude_code", append: "..." } in TypeScript o system_prompt={"type": "preset", "preset": "claude_code", "append": "..."} in Python.
Casi d’uso e migliori pratiche
Quando utilizzare CLAUDE.md
Migliore per:- Standard e convenzioni di codifica specifici del progetto
- Documentazione della struttura e architettura del progetto
- Elenco di comandi comuni (build, test, deploy)
- Contesto condiviso dal team che dovrebbe essere sotto controllo versione
- Istruzioni che si applicano a tutto l’uso dell’SDK in un progetto
- “Tutti gli endpoint API dovrebbero utilizzare pattern async/await”
- “Esegui
npm run lint:fixprima di fare commit” - “Le migrazioni del database sono nella directory
migrations/”
settingSources: ['project'] (TypeScript) o setting_sources=["project"] (Python). Il preset del prompt di sistema claude_code NON carica automaticamente CLAUDE.md senza questa impostazione.
Quando utilizzare gli stili di output
Migliore per:- Modifiche comportamentali persistenti tra sessioni
- Configurazioni condivise dal team
- Assistenti specializzati (revisore di codice, data scientist, DevOps)
- Modifiche complesse del prompt che necessitano di versioning
- Creare un assistente dedicato all’ottimizzazione SQL
- Costruire un revisore di codice focalizzato sulla sicurezza
- Sviluppare un assistente didattico con pedagogia specifica
Quando utilizzare systemPrompt con append
Migliore per:
- Aggiungere standard o preferenze di codifica specifici
- Personalizzare la formattazione dell’output
- Aggiungere conoscenza specifica del dominio
- Modificare la verbosità della risposta
- Migliorare il comportamento predefinito di Claude Code senza perdere le istruzioni degli strumenti
Quando utilizzare systemPrompt personalizzato
Migliore per:
- Controllo completo sul comportamento di Claude
- Compiti specializzati di singola sessione
- Testare nuove strategie di prompt
- Situazioni in cui gli strumenti predefiniti non sono necessari
- Costruire agenti specializzati con comportamento unico
Combinare gli approcci
Puoi combinare questi metodi per la massima flessibilità:Esempio: Stile di output con aggiunte specifiche della sessione
Vedi anche
- Stili di output - Documentazione completa degli stili di output
- Guida TypeScript SDK - Guida completa all’uso dell’SDK
- Riferimento TypeScript SDK - Documentazione completa dell’API
- Guida alla configurazione - Opzioni di configurazione generali