This document provides ...
Version:
...
That's odd but we'll preserve exactly.
Next: "## Overall Architecture Diagram" -> "## Diagramma dell'Architettura Generale" (heading level 2 with bold). Then payload-block tag keep.
"## Quick Navigation (TL;DR)" -> "## Navigazione Rapida (TL;DR)"
Then bullet list:
"Must-read for Beginners:" -> "Da leggere assolutamente per i principianti:"
- "Layer 7 (Workspace Files) - Configuration files you can edit directly." -> "Layer 7 (File del Workspace) - File di configurazione che puoi modificare direttamente."
- "Layer 8 (Bootstrap Hook) - Where you can write scripts to dynamically inject content." -> "Layer 8 (Bootstrap Hook) - Dove puoi scrivere script per iniettare dinamicamente contenuti."
- "Other layers are automatically generated by the framework; just understand them." -> "Gli altri layer sono generati automaticamente dal framework; basta comprenderli."
Then "Common Needs:" -> "Esigenze Comuni:"
Bullets with "Want to...? → Edit..." are translated accordingly:
"Want to define Agent identity? → Edit IDENTITY.md in Layer 7." -> "Vuoi definire l'identità dell'Agent? → Modifica IDENTITY.md nel Layer 7."
"Want to add project documentation? → Use the bootstrap-extra-files Hook in Layer 8." -> "Vuoi aggiungere documentazione del progetto? → Usa l'Hook bootstrap-extra-files nel Layer 8."
"Want to inject real-time context? → Use the before_prompt_build Hook in Layer 8." -> "Vuoi iniettare contesto in tempo reale? → Usa l'Hook before_prompt_build nel Layer 8."
"Want to control file size? → Adjust the bootstrapMaxChars configuration." -> "Vuoi controllare la dimensione dei file? → Regola la configurazione bootstrapMaxChars."
Then "## Layer 1: OpenClaw Framework Core" -> "## Layer 1: Nucleo del Framework OpenClaw"
Then "Analogy" (should be translated, but it's a standalone line? Actually it's "Analogy" as a subheading? In source: "Analogy" then blockquote. So we translate "Analogy" to "Analogia".
Blockquote: "Like the "Instructions for Use" section of an operation manual—telling the LLM who you are, what you can do, and how you should respond." -> "Come la sezione 'Istruzioni per l'uso' di un manuale operativo—che dice all'LLM chi sei, cosa puoi fare e come dovresti rispondere."
Then "Components" -> "Componenti" then payload-block.
"Practical Example" -> "Esempio Pratico"
Then the example text: "You are running as a "Creative Partner," an AI content creation expert Agent. Current Time: 2026-03-05 14:37:00 CST" -> "Stai operando come 'Creative Partner', un Agent esperto nella creazione di contenuti AI. Ora corrente: 2026-03-05 14:37:00 CST"
Then "=== Tool Calling Specification ===" -> "=== Specifica di Chiamata degli Strumenti ==="
Then bullet list items translate:
- "Use XML-style tool calling format." -> "Usa il formato di chiamata degli strumenti in stile XML."
- "Each tool call must include a unique tool_call_id." -> "Ogni chiamata a strumento deve includere un tool_call_id univoco."
- "Tool results are returned via <tool_result> tags." -> "I risultati degli strumenti vengono restituiti tramite tag <tool_result>."
- "Consider AbortSignal when executing tools to support cancellation." -> "Considera AbortSignal quando esegui strumenti per supportare la cancellazione."
Then "=== Safety Boundaries ===" -> "=== Limiti di Sicurezza ==="
- "Strictly prohibited from executing destructive operations (rm -rf, formatting, etc.)." -> "Severamente vietato eseguire operazioni distruttive (rm -rf, formattazione, ecc.)."
- "Sensitive user information must be encrypted when handled." -> "Le informazioni sensibili dell'utente devono essere crittografate quando vengono gestite."
- "Prohibited from sending messages to unauthorized channels." -> "Vietato inviare messaggi a canali non autorizzati."
Then "Design Trade-offs" -> "Compromessi di Progettazione"
Then "Why design it this way?" -> "Perché progettarlo in questo modo?"
Bullet list under "Trade-off: Flexibility vs. Consistency" -> "Compromesso: Flessibilità vs. Coerenza"
Then "Decision: Unified generation at the framework layer ensures consistent basic behavior for all Agents." -> "Decisione: La generazione unificata a livello di framework garantisce un comportamento di base coerente per tutti gli Agent."
"Benefits: Users don't need to repeat basic rules for every Agent. All Agents automatically gain new capabilities when the framework upgrades. Reduces the risk of configuration errors." -> "Vantaggi: Gli utenti non devono ripetere le regole di base per ogni Agent. Tutti gli Agent ottengono automaticamente nuove capacità quando il framework viene aggiornato. Riduce il rischio di errori di configurazione."
"Cost: Users cannot modify these core rules. Special behaviors must be implemented indirectly via Layer 7/8." -> "Costo: Gli utenti non possono modificare queste regole principali. I comportamenti speciali devono essere implementati indirettamente tramite Layer 7/8."
Continue for all layers. This is lengthy but we'll translate systematically.
Note: There are many JSON examples. Per rule 4: JSON that is semantically a prompt/template should translate string values. For example, the tool definition JSON: we should translate the "description" strings. But the JSON is inside a code segment? Actually it's in plain text within markdown? The source shows:
12{34"name": "read",56"description": "Read file content. Supports text files and images (jpg/png/gif/webp). Images are sent as attachments. Text output is limited to 2000 lines or 50KB.",78... }9
This is a code block (fenced with ``). But in the source text, it appears as a fenced code block? Actually the given source doesn't have backticks around it, it's just indented? Let's re-examine: In the provided source, after "Tool Definition Example" there is an indented block of JSON. It's not wrapped in ``json. It's just plain text with line breaks. Per rule 1.5: if original has no code block markers, translate without wrapping in code blocks. So we translate the JSON as regular text, but we must translate the "description" values and keep the structure. Also note the "required" array is fine. We'll translate:
"Read file content. Supports text files and images (jpg/png/gif/webp). Images are sent as attachments. Text output is limited to 2000 lines or 50KB." -> "Legge il contenuto di un file. Supporta file di testo e immagini (jpg/png/gif/webp). Le immagini vengono inviate come allegati. L'output di testo è limitato a 2000 righe o 50KB."
File path description: "File path (relative or absolute)" -> "Percorso del file (relativo o assoluto)"
Starting line number: "Starting line number (1-indexed)" -> "Numero di riga iniziale (indicizzato a 1)"
Maximum lines to read: "Maximum lines to read" -> "Numero massimo di righe da leggere"
Keep "required": ["path"] as is.
Similarly other JSON examples later.
Now, proceed with the translation of the entire document.
We must be careful with blockquote translation: all text inside <p> tags must be translated. Also keep empty <p></p> tags.
There is a section "Size Comparison Table" with a blockquote containing "⚠️" and then two empty <p> and then note. We'll translate the note.
The final conclusion section.
I'll now write the full translation, preserving all tags, markdown, and structure.</think><blockquote>
<p>Questo documento fornisce un'analisi dettagliata della struttura completa del System Prompt inviata da OpenClaw Agent all'LLM.</p>
</blockquote>
Versione:
v2.1
Data aggiornamento:
2026-03-05
Diagramma dell'Architettura Generale

Navigazione Rapida (TL;DR)
Da leggere assolutamente per i principianti:
- Layer 7 (File del Workspace) – File di configurazione che puoi modificare direttamente.
- Layer 8 (Bootstrap Hook) – Dove puoi scrivere script per iniettare dinamicamente contenuti.
- Gli altri layer sono generati automaticamente dal framework; basta comprenderli.
Esigenze Comuni:
- Vuoi definire l'identità dell'Agent? → Modifica IDENTITY.md nel Layer 7.
- Vuoi aggiungere documentazione del progetto? → Usa l'Hook bootstrap-extra-files nel Layer 8.
- Vuoi iniettare contesto in tempo reale? → Usa l'Hook before_prompt_build nel Layer 8.
- Vuoi controllare la dimensione dei file? → Regola la configurazione bootstrapMaxChars.
Layer 1: Nucleo del Framework OpenClaw
Analogia
Come la sezione "Istruzioni per l'uso" di un manuale operativo—che dice all'LLM chi sei, cosa puoi fare e come dovresti rispondere.
Componenti

Esempio Pratico
Stai operando come "Creative Partner", un Agent esperto nella creazione di contenuti AI.
Ora corrente: 2026-03-05 14:37:00 CST
=== Specifica di Chiamata degli Strumenti ===
- Usa il formato di chiamata degli strumenti in stile XML.
- Ogni chiamata a strumento deve includere un tool_call_id univoco.
- I risultati degli strumenti vengono restituiti tramite tag <tool_result>.
- Considera AbortSignal quando esegui strumenti per supportare la cancellazione.
=== Limiti di Sicurezza ===
- Severamente vietato eseguire operazioni distruttive (rm -rf, formattazione, ecc.).
- Le informazioni sensibili dell'utente devono essere crittografate quando vengono gestite.
- Vietato inviare messaggi a canali non autorizzati.
Compromessi di Progettazione
Perché progettarlo in questo modo?
- Compromesso: Flessibilità vs. Coerenza
- Decisione: La generazione unificata a livello di framework garantisce un comportamento di base coerente per tutti gli Agent.
- Vantaggi: Gli utenti non devono ripetere le regole di base per ogni Agent. Tutti gli Agent ottengono automaticamente nuove capacità quando il framework viene aggiornato. Riduce il rischio di errori di configurazione.
- Costo: Gli utenti non possono modificare queste regole principali. I comportamenti speciali devono essere implementati indirettamente tramite Layer 7/8.
Layer 2: Definizioni degli Strumenti
Analogia
Come l'elenco degli strumenti di un coltellino svizzero—che dice all'LLM quali strumenti hai, cosa fa ciascuno e come usarli.
Componenti

Esempio di Definizione di Strumento
{
"name": "read",
"description": "Legge il contenuto di un file. Supporta file di testo e immagini (jpg/png/gif/webp). Le immagini vengono inviate come allegati. L'output di testo è limitato a 2000 righe o 50KB.",
"parameters": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Percorso del file (relativo o assoluto)"
},
"offset": {
"type": "number",
"description": "Numero di riga iniziale (indicizzato a 1)"
},
"limit": {
"type": "number",
"description": "Numero massimo di righe da leggere"
}
},
"required": ["path"]
}
}
Compromessi di Progettazione
Perché usare JSON Schema?
- Compromesso: Flessibilità vs. Sicurezza dei Tipi
- Decisione: Usare uno JSON Schema rigoroso per definire i parametri degli strumenti.
- Vantaggi: L'LLM comprende l'uso degli strumenti in modo più accurato. Il framework può convalidare i parametri prima della chiamata. Genera automaticamente documentazione e definizioni di tipo.
- Costo: Aggiungere nuovi strumenti richiede la scrittura di uno Schema completo. Non può supportare strutture di parametri completamente dinamiche.
Layer 3: Registro delle Skill
Analogia
Come il "Menu delle Specialità" di un ristorante—che dice all'LLM quali "ricette" professionali sono disponibili da chiamare.
Compromessi di Progettazione
Perché usare la scansione delle directory invece della registrazione manuale?
- Compromesso: Flessibilità vs. Costo di Manutenzione
- Decisione: Scansionare automaticamente la directory ~/development/openclaw/skills/.
- Vantaggi: Aggiungere una nuova Skill richiede solo di posizionarla nella directory; nessuna modifica alla configurazione. Tutti gli Agent ottengono automaticamente la nuova Skill. Riduce i rischi di errori di configurazione.
- Costo: Non è possibile controllare con precisione quali Skill sono disponibili per ogni Agent. Tutte le Skill vengono iniettate nel System Prompt (aumentando il consumo di token).
Componenti

Layer 4: Alias dei Modelli
Analogia
Come "Scorciatoie"—che danno a percorsi complessi dei modelli alias brevi per chiamate facili.
Compromessi di Progettazione
Perché sono necessari gli alias dei modelli?
- Compromesso: Flessibilità vs. Leggibilità
- Decisione: Consentire agli utenti di definire alias brevi per i modelli comunemente usati.
- Vantaggi: Semplifica le chiamate ai modelli (glm-5 invece di zhipu/glm-5). Supporta il passaggio tra più Provider (lo stesso alias può mappare a Provider diversi). Facilita i test A/B e la migrazione dei modelli.
- Costo: Richiede la gestione di un file di configurazione degli alias. Può causare confusione (lo stesso alias potrebbe puntare a modelli diversi per Agent diversi).
Componenti

Esempio Pratico
Nel System Prompt, gli alias dei modelli vengono visualizzati come:
Alias dei Modelli
- GLM-5: zhipu/glm-5
- Opus 4.6: xiaowang886/claude-opus-4-6-thinking
- Sonnet 4.5: xiaowang886/claude-sonnet-4-5
Gli LLM possono usare gli alias per cambiare modello: /model glm-5
Layer 5: Specifiche del Protocollo
Analogia
Come "Regole del Traffico"—che definiscono protocolli standard per l'interazione dell'Agent con il sistema.
Compromessi di Progettazione
Perché sono necessarie le specifiche del protocollo?
- Compromesso: Libertà vs. Coerenza
- Decisione: Definire protocolli di interazione standardizzati (Risposte Silenziose, Heartbeat, Tag di Risposta, ecc.).
- Vantaggi: Garantisce un comportamento coerente in tutti gli Agent. Supporta il monitoraggio automatico e i controlli di salute. Semplifica la collaborazione tra più Agent.
- Costo: Limita la libertà espressiva dell'Agent. Richiede che l'LLM segua rigorosamente i protocolli (che potrebbero essere ignorati).
Componenti

Esempio Pratico
Esempio di Risposta Silenziosa:
Utente: Ricevuto
Agent: NO_REPLY
Esempio di Heartbeat:
Sistema: [Heartbeat Poll]
Agent: HEARTBEAT_OK
Esempio di Tag di Risposta:
Agent: [[reply_to_current]] Attività completata ✓
Layer 6: Informazioni di Esecuzione
Analogia
Come un "Cruscotto"—che dice all'LLM lo stato in tempo reale dell'ambiente di esecuzione corrente.
Compromessi di Progettazione
Perché iniettare le informazioni di esecuzione ogni volta?
- Compromesso: Consumo di Token vs. Accuratezza del Contesto
- Decisione: Iniettare lo stato di esecuzione più recente con ogni richiesta.
- Vantaggi: L'LLM conosce l'ora corrente (evita confusione temporale). L'LLM conosce il modello corrente (evita errori di valutazione delle capacità). L'LLM conosce l'ambiente corrente (evita errori di percorso).
- Costo: Consuma circa 2KB di token per richiesta. Le informazioni possono contenere ridondanza.
Componenti

Esempio Pratico
Ambiente di Esecuzione
Layer 7: File del Workspace ★ Controllabile dall'Utente
Analogia
Come "I Tuoi Appunti di Lavoro"—sono file di configurazione statici che puoi modificare direttamente.
Compromessi di Progettazione
Perché solo questo layer è modificabile staticamente?
- Compromesso: Stabilità del Framework vs. Libertà dell'Utente
- Decisione: Separare il "variabile" dall'"invariabile"; il layer del framework garantisce coerenza mentre il layer utente consente la personalizzazione.
- Vantaggi: Gli utenti possono definire l'identità dell'Agent, le specifiche di lavoro e la memoria. Gli aggiornamenti del framework non rompono le configurazioni utente. I file di configurazione possono essere versionati, sottoposti a backup e condivisi.
- Costo: Gli utenti non possono modificare il comportamento principale del framework. Richiede l'apprendimento del framework TELOS e della struttura dei file.
File Principali

Layer 8: Sistema di Bootstrap Hook ★ Controllabile dall'Utente
Analogia
Come una "Siringa Programmabile"—puoi scrivere script per iniettare dinamicamente contenuti nel System Prompt in fase di esecuzione.
Compromessi di Progettazione
Perché è necessario un sistema di Hook?
- Compromesso: Semplicità della Configurazione Staticà vs. Flessibilità dell'Iniezione Dinamica
- Decisione: Fornire un meccanismo di Hook dinamico insieme ai File del Workspace statici.
- Vantaggi: Puoi regolare dinamicamente il contenuto iniettato in base al contesto (canale, mittente, ora). Puoi eseguire comandi shell e iniettare l'output (es. meteo corrente, stato Git). Puoi leggere file esterni e iniettarli (es. documentazione di progetto, API docs). Supporta logica condizionale (if/else).
- Costo: Richiede l'apprendimento della sintassi del sistema Hook e dei meccanismi di attivazione. Errori negli script Hook possono causare anomalie nel System Prompt. Aumenta la complessità del sistema.
Quattro Meccanismi di Hook
- Hook agent:bootstrap (Sistema Hook Interno)
Punto di attivazione: applyBootstrapHookOverrides() in bootstrap-hooks.ts
Capacità:
- Controllo completo sull'array bootstrapFiles.
- Può aggiungere, eliminare o modificare file.
- Può riordinare i file.
- Può modificare il contenuto dei file.
Chi può registrarlo:
- Plugin di OpenClaw.
- Hook del Workspace (directory ~/.openclaw/workspace-*/hooks/).
- Moduli interni.
Esempio di codice:
registerInternalHook("agent:bootstrap", (event) => {
const context = event.context as AgentBootstrapHookContext;
// Controllo completo sull'array bootstrapFiles
context.bootstrapFiles = [
{ path: "CUSTOM.md", content: "Contenuto personalizzato" }
];
});
- Hook bootstrap-extra-files (Hook Bundle)
Punto di attivazione: handler.ts in hooks/bundled/bootstrap-extra-files/
Capacità:
- Aggiunge solo file; non modifica quelli esistenti.
- Specifica file extra tramite file di configurazione.
Esempio di configurazione:
{
"hooks": {
"bootstrap-extra-files": {
"enabled": true,
"paths": ["extra/*.md", "docs/CONTEXT.md"]
}
}
}
Scenari applicabili:
- Necessità di iniettare file di contesto specifici del progetto.
- Non si vogliono modificare gli 8 file Bootstrap predefiniti.
- Necessità di caricare dinamicamente documentazione aggiuntiva.
- Hook before_prompt_build (Hook Plugin)
Punto di attivazione: runBeforePromptBuild() in attempt.ts
Capacità:
- Modifica il prompt finale (dopo la costruzione del system prompt, prima dell'invio all'LLM).
- Può anteporre contesto (aggiungere contenuto prima del prompt).
- Può sovrascrivere systemPrompt.
Dati dell'evento:
{
prompt: string; // Input utente
messages: unknown[]; // Cronologia dei messaggi della sessione
}
Valore di ritorno:
{
prependContext?: string; // Contenuto aggiunto prima del prompt
systemPrompt?: string; // Sovrascrive il system prompt
}
Scenari applicabili:
- Necessità di regolare dinamicamente il prompt in base alla cronologia della sessione.
- Necessità di iniettare contesto in tempo reale (es. ora corrente, meteo).
- Necessità di sostituire completamente il system prompt.
- bootstrapMaxChars / bootstrapTotalMaxChars (Voce di Configurazione)
Tipo: Voce di configurazione (non un hook)
Capacità:
- Controlla il budget di caratteri.
- Default per file singolo: 20K.
- Default totale: 150K.
- L'eccesso viene troncato prendendo il primo 70% + ultimo 20%.
Posizione nella configurazione:
{
"agents": {
"defaults": {
"bootstrapMaxChars": 20000,
"bootstrapTotalMaxChars": 150000
}
}
}
Consigli Pratici
Scenario 1: Voglio aggiungere documentazione del progetto
Soluzione consigliata: bootstrap-extra-files
{
"hooks": {
"bootstrap-extra-files": {
"enabled": true,
"paths": ["docs/API.md", "docs/ARCHITECTURE.md"]
}
}
}
Scenario 2: Voglio caricare dinamicamente file in base al tipo di attività
Soluzione consigliata: Hook agent:bootstrap personalizzato
registerInternalHook("agent:bootstrap", (event) => {
const context = event.context as AgentBootstrapHookContext;
const sessionKey = context.sessionKey;
// Carica file diversi in base al tipo di sessione
if (sessionKey.includes("coding")) {
context.bootstrapFiles.push({
path: "CODING_GUIDELINES.md",
content: fs.readFileSync("...").toString()
});
}
});
Scenario 3: Voglio iniettare contesto in tempo reale (es. ora corrente)
Soluzione consigliata: Hook before_prompt_build
on("before_prompt_build", (event, ctx) => {
return {
prependContext: Ora corrente: ${new Date().toISOString()}
};
});
Layer 9: Contesto in Ingresso
Analogia
Come "Informazioni sul Traffico in Tempo Reale"—inietta dinamicamente le informazioni di contesto della conversazione corrente con ogni richiesta.
Compromessi di Progettazione
Perché iniettare il contesto ogni volta?
- Compromesso: Consumo di Token vs. Coerenza della Conversazione
- Decisione: Iniettare i metadati del messaggio più recente, le informazioni sul mittente e la cronologia della conversazione con ogni richiesta.
- Vantaggi: L'LLM sa chi sta parlando (evita confusione sul mittente). L'LLM conosce la cronologia della conversazione (mantiene la coerenza del contesto). L'LLM sa se è stato menzionato con @ (decide se rispondere).
- Costo: Consuma circa 3KB di token per richiesta. La cronologia della conversazione può contenere rumore.
Componenti

Processo Completo di Assemblaggio del System Prompt



Riepilogo dei Layer Controllabili dall'Utente
OpenClaw fornisce 3 tipi di meccanismi controllabili dall'utente:
- Layer 7 (File del Workspace) – File di configurazione statici. Scenario: Definire l'identità dell'Agent, le specifiche di lavoro, la memoria. Pro: Semplice, intuitivo, facile controllo versione. Contro: Non può essere regolato dinamicamente.
- Layer 8 (Sistema di Bootstrap Hook) – Script di iniezione dinamica. Scenario: Iniettare contenuti in base al contesto, eseguire comandi, leggere file esterni. Pro: Flessibile, potente, supporta logica e comandi. Contro: Richiede l'apprendimento del sistema Hook; errori negli script causano problemi.
- Controllo Indiretto del Layer 9 (Contesto in Ingresso) – Influenzare il contesto inviando messaggi. Scenario: Influenzare il comportamento dell'LLM tramite cronologia chat o messaggi citati. Pro: Nessuna configurazione necessaria, interazione naturale. Contro: Nessun controllo preciso.
Tabella Comparativa delle Dimensioni
⚠️
Nota: I dati seguenti sono stime; le dimensioni effettive variano in base alla configurazione e al contesto di esecuzione. I layer del framework (Layer 1-6 + 9) dovrebbero teoricamente essere uguali ma possono variare leggermente a causa delle definizioni degli strumenti, delle Skill caricate, ecc.

Note:
- Layer 7 e Layer 8 sono controllabili dall'utente; le dimensioni variano in base alla configurazione dell'Agent.
- Gli altri layer vengono generati automaticamente e sono teoricamente identici tra gli Agent.
- Le misurazioni effettive possono differire a causa della disponibilità degli strumenti, del caricamento delle Skill e del contesto di esecuzione.
Suggerimenti per l'Ottimizzazione
- Ottimizzazione della Parte Controllabile dall'Utente (Layer 7 + 8)
Poiché Layer 7 e 8 sono controllati dall'utente, ecco le strategie di ottimizzazione:
Ottimizzazione del Layer 7 (File Statici):
✅ Strategie di snellimento consigliate:
- IDENTITY.md: Mantieni il framework TELOS principale, rimuovi descrizioni ridondanti, usa tabelle invece di paragrafi.
- AGENTS.md: Usa checklist invece di lunghi paragrafi, mostra i comandi in blocchi di codice, rimuovi spiegazioni duplicate delle regole.
- MEMORY.md: Affidati all'esportazione automatica di MemOS; non aggiungere contenuti manualmente—lascia che il sistema li mantenga.
❌ Pratiche da evitare:
- Non ripetere descrizioni che il framework OpenClaw già conosce.
- Non copiare descrizioni dettagliate delle Skill nei File del Workspace.
- Non usare retorica eccessiva o linguaggio decorativo.
Ottimizzazione del Layer 8 (Sistema Hook):
✅ Strategie di utilizzo consigliate:
- Dai priorità a bootstrap-extra-files (scenari semplici).
- Usa agent:bootstrap quando è necessaria logica condizionale (scenari complessi).
- Usa before_prompt_build per contesto in tempo reale (scenari dinamici).
❌ Pratiche da evitare:
- Non eseguire operazioni dispendiose in termini di tempo negli Hook (blocca la generazione del System Prompt).
- Non iniettare troppo contenuto negli Hook (supera i limiti di token).
- Non usare dipendenze esterne instabili negli Hook (causa errori di avvio).
- Strategia di Riduzione del Prompt
Se il System Prompt è troppo grande, considera:

Conclusione
Il System Prompt di OpenClaw non è un singolo file, ma un'architettura a 9 layer orchestrata con cura:
- Layer 1-6: Generati automaticamente dal framework, garantendo coerenza e stabilità.
- Layer 7: File di configurazione statici modificabili dall'utente (IDENTITY.md, AGENTS.md, ecc.).
- Layer 8: Script di iniezione dinamica programmabili dall'utente (Sistema Bootstrap Hook).
- Layer 9: Contesto in tempo reale iniettato automaticamente dal framework (Contesto in Ingresso).
Ci sono 2 layer controllabili dall'utente (Layer 7 + 8), non solo Layer 7 come precedentemente affermato.
Comprendere le differenze e le connessioni tra questi layer è la chiave per padroneggiare la configurazione di OpenClaw.





