tempo di lettura : 14 minutes

Hai passato settimane a costruire una governance dell’agente impeccabile. Eager/Lazy, procedura di fine sessione, backup rotativi. Il sistema è operativo. Poi un giorno, l’agente diventa lento. Le risposte sono diluite. Misuri: 1414 linee caricate automaticamente. E il peggio è che il colpevole non è il codice, né il backlog, né gli archivi delle sessioni. Il colpevole è il file che documenta il tuo metodo.

toc

[]

La scena: sessione 051, qualcosa non va

30 aprile 2026, 16:00. Sono in piena sessione su`magic-stick`, il mio progetto di build di ISO Linux live. L’agente Opencode ha caricato automaticamente i miei file Eager come di consueto —AGENT.adoc, PROMPT_REPRISE.adoc, .agents/INDEX.adoc`Comandi CLI di JBake `` # Initialize a new JBake project jbake -i

Bake (generate) the site jbake -b

Bake and serve locally jbake -b -s

Bake and watch for changes jbake -b --reset

Specify source and destination jbake source_folder output_folder

Clear the output directory before baking jbake -b . output --reset `

  1. Tutto è normale.

Eccetto che le risposte sono molli. L’agente impiega due secondi in più a ragionare. Dimentica un dettaglio che aveva sotto gli occhi tre messaggi prima. Non è un crash, non è un errore — è un degrado lento, il tipo di cosa che non si nota subito.

Avevo già vissuto questo alla sessione 048, quando avevo scoperto che i file di governance pesavano complessivamente 5200 linee. Allora avevo concepito il meccanismo Hot/Warm/Cold con la sua finestra scorrevole di 10 sessioni, le sue ondate fredde identiche e il suo sensore a due trigger. Il problema era stato risolto. In teoria.

Ma ora siamo alla sessione 051. La rotazione del backup è avvenuta correttamente — i file EAGER sono passati da 2087 a 500 righe. Tuttavia, il contesto resta pesante. Qualcosa mi sfugge.

Apro un terminale e digito :

wc -l AGENT.adoc AGENT_MODUS_OPERANDI.adoc PROMPT_REPRISE.adoc \
  .agents/INDEX.adoc .agents/SESSIONS_HISTORY.adoc \
  .agents/archives/COMPLETED_TASKS_ARCHIVE_2026-04.adoc
  287 AGENT.adoc
  627 AGENT_MODUS_OPERANDI.adoc
   51 PROMPT_REPRISE.adoc
  218 .agents/INDEX.adoc
   18 .agents/SESSIONS_HISTORY.adoc
  213 .agents/archives/COMPLETED_TASKS_ARCHIVE_2026-04.adoc
 1414 total

1414 righe. La rotazione di backup ha ben tagliato in INDEX, SESSIONS_HISTORY e COMPLETED_TASKS — sono puliti. Ma c’è un elefante nella stanza che non avevo visto:627 lineein un unico file.AGENT_MODUS_OPERANDI.adoc.

Questo file è quello che ho scritto alla sessione 1 per documentare la strategia Eager/Lazy. È il manuale del metodo. Ed è diventato, da solo, il 44% del contesto EAGER.

Failed to generate image: PlantUML preprocessing failed: [From <input> (line 8) ]

@startuml
skinparam backgroundColor #FEFEFE

title Contesto EAGER — 1414 righe
rectangle "AGENT_MODUS_OPERANDI\n**627 righe (44%)**" as MOD #FFCDD2
rectangle "AGENT.adoc\n287 righe (20%)" as AG #BBDEFB
rectangle "INDEX.adoc
218 righe (15%)" as IDX #C8E6C9
^^^^^
 Syntax Error? (Assumed diagram type: activity)

@startuml
skinparam backgroundColor #FEFEFE

title Contesto EAGER — 1414 righe
rectangle "AGENT_MODUS_OPERANDI\n**627 righe (44%)**" as MOD #FFCDD2
rectangle "AGENT.adoc\n287 righe (20%)" as AG #BBDEFB
rectangle "INDEX.adoc
218 righe (15%)" as IDX #C8E6C9
rectangle "COMPLETED_TASKS
213 righe (15%)" as ARC #FFF9C4
rectangle "PROMPT_REPRISE
51 righe (4%)" as PRO #E1BEE7
rectangle "SESSIONS_HISTORY
18 righe (1%)" as HIS #FFE0B2

note bottom of MOD
  Le fichier qui documente
  la méthode est devenu
  le plus gros poste de dépense
end note

@enduml

L’ironia è totale. Il file progettato per risparmiare contesto è diventato il principale consumatore di contesto. È come se il manuale d’uso della tua auto pesasse più del motore.

L’audit: analizzare le 627 righe

Decido di fare un audit sezione per sezione. Non per rimuovere — per comprendere ciò che merita di essere in EAGER e ciò che potrebbe vivere altrove senza perdita di conoscenza.

Ecco la struttura esatta di`AGENT_MODUS_OPERANDI.adoc`e quello che ci trovo :

sezione

Righe

Contenuto

Già presente in…​

P1 — Panoramica

64

Problema risolto, principi fondamentali, analogia cruscotto vs manuale

[No output - empty string]

P2 — Structure des fichiers

97

Alberatura, politica di caricamento, quando caricare cosa

—

P3 — Regole assolute

34

Git vietato, comandi distruttivi vietati, segreti vietati

AGENT.adoc+INDEX.adoc

P4 — Ciclo di vita della sessione

133

Template apertura, regole di lavoro, 6 passaggi fine sessione, checklist

AGENT.adoc§Fine session +INDEX.adoc

P5 — Metriche e soglie

49

Sessione ideale (15-30 min, 1-3 file), segnali di allarme

(No content)

P6 — Tipi di sessioni

72

Tabella di rilevamento, formato di proposta, eccezioni

(No output as there is no French text provided to translate)

P7 — Miglioramento continuo

39

Metriche di monitoraggio, revisione settimanale

—

P8 — Checklist di avvio

13

Bootstrap nuovo progetto

—

P9 — Riferimenti

30

File di riferimento, risorse esterne

AGENT.adoc(file EAGER/LAZY)

Allegati A+B

42

Glossario, cronologia versioni

(no output)

Il verdetto è senza appello :

  • duplicati integrali# Comandi CLI di JBake

----
# Initialize a new JBake project
jbake -i

# Bake (generate) the site
jbake -b

# Bake and serve locally
jbake -b -s

# Bake and watch for changes
jbake -b --reset

# Specify source and destination
jbake source_folder output_folder

# Clear the output directory before baking
jbake -b . output --reset
----

(167 linee) : P3, P4, P9 — tutto è già dentro`AGENT.adoc` ou `INDEX.adoc`, spesso parola per parola

* **Mai consultato nella pratica**(215 linee) : P5, P6, P7, P8, Allegati — della meta-governance che non è mai stata utilizzata in alcuna sessione
* **Conoscenza unica**(161 righe) : P1 e P2 — il vocabolario LAZY/EAGER, l'analogia, la politica di caricamento

Su 627 righe,**382 sono rumore**. E queste 382 linee vengono caricate *all'inizio di ogni sessione*, consumate dall'agente, diluendo la sua attenzione prima ancora che io dica buongiorno.

[plantuml, format=svg, id=diag-audit-result, alt="Résultat de l'audit — 627 lignes réparties en doublons, jamais consulté, connaissance unique"]
----
@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center

title Audit di AGENT_MODUS_OPERANDI.adoc — 627 righe
left to right direction

rectangle "🟡 **Duplicati**\n167 righe (27%)" as DUP #FFF9C4 {
  card "P3 — Regole assolute
(34 linee)" as D1
  card "P4 — Ciclo di vita
(133 righe)" as D2
  card "P9 — Riferimenti
(30 righe)" as D3
}

rectangle "🔴 **Mai consultato**\n215 righe (34%)" as JAM #FFCDD2 {
  card "P5 — Metriche\n(49 righe)" as J1
  card "P6 — Rilevamento
(72 righe)" as J2
  card "P7 — Miglioramento
(39 righe)" as J3
  card "P8 — Bootstrap
(13 righe)" as J4
  card "Allegati — Glossario\n(42 righe)" as J5
}

rectangle "🟢 **Conoscenza unica**\n161 righe (26%)" as UNI #C8E6C9 {
  card "P1 — Panoramica
(64 righe)" as U1
  card "P2 — Structure fichiers\n(97 lignes)" as U2
}

note bottom of UNI
  C'est ÇA qu'il faut garder en EAGER.
  Le reste → cold storage.
end note

@enduml
----

Questo diagramma è la chiave di tutto. I duplicati (giallo) sono puro rumore — l'agente li legge due volte, in due file diversi. Il mai consultato (rosso) è documentazione morta — scritta con cura, mai utilizzata. Solo il verde contiene la conoscenza che l'agente non può trovare altrove.

== La paura di perdere l'ingegneria

A questo punto, ho l'evidenza davanti agli occhi: devo ridurre.`AGENT_MODUS_OPERANDI.adoc`. Ma esito.

# Initialize a new JBake project jbake -i

# Bake (generate) the site jbake -b

# Bake and serve locally jbake -b -s

# Bake and watch for changes jbake -b --reset

# Specify source and destination jbake source_folder output_folder

# Clear the output directory before baking jbake -b . output --reset ``` Questo file, l'ho scritto a mano. Ogni sezione è il risultato di una lezione appresa in una sessione reale. La parte P3 è nata da un`rm -rf`accidentale su`bakery-plugin`che mi è costato dei token Firebase reali. La parte P4 è il risultato di quindici sessioni in cui dimenticavo di archiviare e perdevo il filo. La procedura in 6 passaggi non è uscita da un libro — è uscita dal dolore.

Eliminare queste sezioni sarebbe buttare via la storia della mia ingegneria. Le lezioni che le hanno prodotte, le sessioni durante le quali le ho scoperte, gli errori che non voglio più ripetere. Non è testo — è esperienza cristallizzata.

È lì che formulo il principio che guiderà la soluzione :

____ **Non eliminare mai. Sempre ricollocare.**La conoscenza non deve scomparire dal progetto. Deve semplicemente evitare di essere caricata automaticamente quando non è necessaria. ____

== La soluzione : split enciclopedico

Il modello che propongo è semplice e si ispira al modo in cui Wikipedia è cresciuta: quando un articolo diventa troppo lungo, non lo si taglia — si crea un articolo dettagliato e si mantiene un riassunto nell'articolo principale.

per`AGENT_MODUS_OPERANDI.adoc`, questo dà :

1. **Estrarre**le 161 righe di conoscenza unica (P1 + P2) in un nuovo file`LAZY_EAGER_ESSENTIALS.adoc`— compresso a circa 50 righe, rigorosamente EAGER
2. **Rinomina** `AGENT_MODUS_OPERANDI.adoc` en `.agents/encyclopedies/LAZY_EAGER_ENCYCLOPEDIE.adoc`— il file originale di 627 righe, preservato *intatto*, in cold storage
3. **Non caricare mai**il file dell'enciclopedia automaticamente — è lì per l'uomo, per la distillazione futura, per l'agente che invocheremo tra sei mesi con un modello migliore

[plantuml, format=svg, id=diag-split-solution, alt="Architecture du split encyclopédique — ESSENTIALS EAGER + ENCYCLOPEDIE cold storage"]
----
@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center

title Split Enciclopedica — AGENT_MODUS_OPERANDI
left to right direction

rectangle "**AGENT_MODUS_OPERANDI.adoc**
627 righe
(prima dello split)" as BEFORE #FFCDD2 {
}

rectangle " " as ARROW1
rectangle " " as ARROW2

rectangle "**LAZY_EAGER_ESSENTIALS.adoc**
**~50 righe — EAGER**" as ESS #C8E6C9 {
  card "P1 condensata\n(15 righe)" as E1
  card "P2 condensata\n(35 righe)" as E2
}

rectangle "**.agents/encyclopedies/**
**LAZY_EAGER_ENCYCLOPEDIE.adoc**
627 linee — COLD" as ENC #BBDEFB {
  card "P1 agli Allegati
(integrale, intatto)" as C1
}

BEFORE -[#4CAF50]-> ESS : "Estrazione della\nconoscenza critica"
BEFORE -[#2196F3]-> ENC : "Preservazione integrale\ndell'ingegneria"

note bottom of ESS
  Chargé automatiquement
  en début de session
  → L'agent comprend le vocabulaire
end note

note bottom of ENC
  Jamais chargé automatiquement
  Consultable par l'humain
  Matériau brut pour distillation future
end note

@enduml
----

Il nome`encyclopedies/`non è insignificante. Un'enciclopedia, non è un dossier d'archivi — è una collezione di conoscenze organizzata, consultabile ma non portatile. Non si legge l'Enciclopedia Universalis in metropolitana. La si tiene nella biblioteca, e vi si va quando si ha una domanda precisa.

Questo è precisamente il ruolo di questa cartella: una biblioteca di riferimento fredda, strutturata, esaustiva — che l'agente non tocca automaticamente.

== Il contenuto del file ESSENTIALS

Ecco com'è effettivamente il nuovo file`LAZY_EAGER_ESSENTIALS.adoc`, estratto e compattato a partire da P1 e P2 :

[source,asciidoc]
----
= Stratégie LAZY/EAGER — Principes Essentiels

[abstract]
Ce fichier définit la stratégie de gestion du contexte agent.
Chargé automatiquement (EAGER) en début de session.

== Principes

|===
| EAGER | LAZY
| Tableau de bord | Manuel du propriétaire
| Chargé automatiquement | Chargé sur demande
| <= 100 lignes, <= 10k tokens | Illimité, détaillé
| Règles absolues, mission courante | Archives, historique, références
|===

== Politique de Chargement

|===
| Fichier | Type | Quand charger
| PROMPT_REPRISE.adoc | EAGER | Début session (auto)
| *_ESSENTIALS.adoc | EAGER | Début session si EPIC active
| .agents/INDEX.adoc | EAGER | Début session (auto)
| *_REFERENCE.adoc | LAZY | Sur besoin (détails architecture)
| .agents/sessions/N-*.adoc | LAZY | Sur demande (détails session)
| .agents/encyclopedies/*.adoc | COLD | Jamais auto (humain seulement)
|===

== Comment l'Agent Sait Quoi Charger

Début session → PROMPT_REPRISE + INDEX + ESSENTIALS actifs.
Besoin de détails → charger les *_REFERENCE et sessions/ en LAZY.
Connaissance froide → encyclopedies/, jamais automatique.
----

Cinquanta linee. Questo è tutto ciò di cui l'agente ha bisogno per comprendere la meccanica. Tutto il resto — la storia delle lezioni, le analogie dettagliate, le procedure passo passo, gli allegati — vive nell'enciclopedia.

E il più importante:**Niente è stato cancellato.**. Le 627 linee di ingegneria sono ancora lì, in`.agents/encyclopedies/LAZY_EAGER_ENCYCLOPEDIE.adoc`. Sono semplicemente sistemate nella biblioteca anziché sul piano di lavoro.

== Il risultato: -50% di contesto EAGER

Prima della separazione:

[source]
----
 287 AGENT.adoc
 627 AGENT_MODUS_OPERANDI.adoc
  51 PROMPT_REPRISE.adoc
 218 .agents/INDEX.adoc
  18 .agents/SESSIONS_HISTORY.adoc
 213 .agents/archives/COMPLETED_TASKS_ARCHIVE_2026-04.adoc
1414 total
----

Dopo lo split :

[source]
----
 287 AGENT.adoc
  50 LAZY_EAGER_ESSENTIALS.adoc       ← remplace 627 lignes
  51 PROMPT_REPRISE.adoc
 218 .agents/INDEX.adoc
  18 .agents/SESSIONS_HISTORY.adoc
 213 .agents/archives/COMPLETED_TASKS_ARCHIVE_2026-04.adoc
 837 total                              ← -41%
----

[plantuml, format=svg, id=diag-after-audit, alt="Répartition des 837 lignes EAGER après audit — gain de 41%"]
----
@startuml
skinparam backgroundColor #FEFEFE

title Contesto EAGER dopo split enciclopedico — 837 righe (-41%)
rectangle "AGENT.adoc
287 righe (34%)" as AG #BBDEFB
rectangle "INDEX.adoc
218 righe (26%)" as IDX #C8E6C9
rectangle "COMPLETED_TASKS\n213 righe (25%)" as ARC #FFF9C4
rectangle "PROMPT_REPRISE
51 linee (6%)" as PRO #E1BEE7
rectangle "ESSENTIALS
50 righe (6%)" as ESS #A5D6A7
rectangle "SESSIONS_HISTORY\n18 righe (2%)" as HIS #FFE0B2

note bottom of ESS
  De 627 → 50 lignes
  577 lignes d'ingénierie
  préservées en cold storage

  Rien de perdu. Tout de relocalisé.
end note

@enduml
----

Il maggior consumatore (AGENT_MODUS_OPERANDI, 627 linee) è stato sostituito da un file di 50 linee. Il guadagno è immediato: 577 linee di contesto liberate. L'agente respira.

E dentro`.agents/encyclopedies/`, il file originale di 627 linee attende. Intatto. Con tutte le sue sezioni — compresi quelli che sono duplicati, compresi quelli che non sono mai stati utilizzati. Perché un giorno, un modello migliore o un data scientist umano vorrà incrociare questi angoli, queste ridondanze assunte, queste lezioni apprese. E quel giorno, la materia prima sarà lì.

== Perché la cartella si chiama `encyclopedies/

La scelta del nome non è cosmetica. Codifica la filosofia del meccanismo.

Una *archive* (`archives/`) contiene dati storici organizzati cronologicamente — come i COMPLETED_TASKS mensili. Un *backup* (`backup/`) è uno snapshot datato — una copia di sicurezza di uno stato passato.

Un' *enciclopedia*, è un'altra cosa. È una raccolta di conoscenza tematica, strutturata per argomento, esaustiva ma non lineare. Non si legge un'enciclopedia dall'inizio alla fine. Vi si immerge per rispondere a una domanda precisa.

È esattamente il contratto di questo dossier:

|===
|fascicolo |Ruolo |accesso |granularità |`archives/` |Dati storici (attività completate per mese) |pigro, strutturato |Cronologico |`backup/` |Snapshots freddi (ondate di 10 sessioni) |COLD, copia integrale |Cronologico |`encyclopedies/` |Conoscenza tematica esaustiva (metodologia, patterns) |COLD, mai auto |tematica
|===

Questa distinzione evita il caos. Ogni file sa dove deve vivere secondo *ciò che contiene*, non secondo *quando è stato creato*.

== Il seguito logico della serie

Se avete letto i primi due articoli, ecco come i tre pezzi si incastrano :

[plantuml, format=svg, id=diag-trilogie, alt="Les trois articles de la série gouvernance — progression logique"]
----
@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
skinparam wrapWidth 220

title Trilogia della Governance dell'Agente
left to right direction

package "📖 **Articolo 0108**\nStrategia Eager/Lazy" as A1 #E8F5E9 {
  card "agente di memoria
tra sessioni" as M1
  card "File EAGER
(auto-caricati)" as M2
  card "File LAZY\n(su richiesta)" as M3
  card "Procedura a 6 fasi" as M4
}

package "🧊 **Articolo 0110**
Meccanismo Hot/Warm/Cold" as A2 #FFF9C4 {
  card "Invecchiamento
del contesto" as V1
  card "Finestra scorrevole
10 sessioni" as V2
  card "ondata di freddo
identico" as V3
  card "Sensore con
due trigger" as V4
}

package "�🔍 **Articolo 0111**
Audit + Soluzione Enciclopedica" as A3 #BBDEFB {
  card "Audit des fichiers\nEAGER" as E1
  card "Identificazione
dello spreco" as E2
  card "Split
ESSENTIALS/enciclopedia" as E3
  card "Conservazione
dell'ingegneria" as E4
}

A1 --> A2 : "La memoria cresce
→ serve un meccanismo
di invecchiamento"
A2 --> A3 : "L'invecchiamento non è sufficiente
→ bisogna auditare ciò che
merita di essere in EAGER"

note bottom of A3
  ✅ Les trois couches sont en place
  sur 6 projets actifs
end note

@enduml
----

* **0108**risponde a: « Come dare una memoria all'agente tra due sessioni ?
* **0110** risponde a : « Come impedire che questa memoria soffochi l'agente ? »
* **0111**risponde : « E se il problema non fosse la dimensione degli archivi, ma ciò che abbiamo *scelto* di mettere in EAGER ?

Il primo articolo ha costruito la struttura. Il secondo ha aggiunto il meccanismo di invecchiamento. Il terzo audita il contenuto — e scopre che la metodologia stessa è diventata il problema.

== Cosa avrei fatto diversamente

Con il senno di poi, vedo l'errore di progettazione iniziale.`AGENT_MODUS_OPERANDI.adoc`è stato creato come un documento unico — un manifesto. Era l'approccio giusto per formalizzare il pensiero. Ma una volta formalizzato il pensiero, il documento avrebbe dovuto essere diviso immediatamente : l'essenziale in EAGER, l'esauriente in cold.

Non l'ho fatto perché ero fiero del documento. 627 righe di pura ingegneria, scritte a mano, ogni sezione risultato di una lezione di sessione. Era la mia opera. E, come ogni autore, ho avuto difficoltà a tagliarla.

La lezione:**Non è perché un documento è buono che deve essere caricato automaticamente**. La qualità del contenuto non ha alcun rapporto con la sua pertinenza per il contesto immediato dell'agente.

Oggi, la regola è semplice: qualsiasi documento di oltre 100 righe nel contesto EAGER è un sospetto. Merita un audit. Non una condanna — un audit. E la domanda non è mai « dovremmo eliminarlo ? » ma « dovremmo caricarlo ad ogni sessione ?».

== La guida per auditare il tuo contesto

Se hai seguito i primi due articoli e hai impostato la tua governance Eager/Lazy, ecco una procedura di audit in cinque fasi:

1. **Misurare**:`wc -l`su tutti i tuoi file EAGER. Il totale dovrebbe essere inferiore a 1000 linee.
2. **Identificare il più grande**: il file che pesa più del 20% del totale è il sospetto numero uno.
3. **Auditare sezione per sezione** : pour chaque section, demandez-vous « Est-ce que cette information est déjà ailleurs ? Est-ce que l'agent l'a déjà lue dans un autre fichier ? Est-ce qu'elle a servi dans les 5 dernières sessions ? »
4. **classificatore**: duplicato, mai usato, conoscenza unica
5. **Splitter o relocalizzare**: ciò che è unico e critico → ESSENTIALS compatto. Il resto →`encyclopedies/`.

[plantuml, format=svg, id=diag-audit-checklist, alt="Procédure d'audit en 5 étapes"]
----
@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center

title Procedura di Audit del Contesto dell'Agente — 5 Passi
start

:1. **Mesurer**\n`wc -l *.adoc .agents/*.adoc`;

if (Total > 1000 lignes ?) then (oui)
  :⚠️ Contexte trop lourd;
else (non)
  :✅ Contexte OK;
  stop
endif

:2. **Identifier le suspect**\nLe fichier > 20% du total;

:3. **Auditer section par section**\nPour chaque section :\n• Déjà ailleurs ? → doublon\n• Jamais servi ? → mort\n• Information unique ? → critique;

:4. **Classifier**\n🟡 Doublons → à retirer de l'EAGER\n🔴 Jamais utilisé → cold storage\n🟢 Connaissance unique → à garder;

:5. **Splitter**\n🟢 → ESSENTIALS (~50 lignes, EAGER)\n🟡🔴 → encyclopedies/ (cold storage);

:✅ Contexte optimisé\nsans perte d'ingénierie;

stop

@enduml
----

Questa procedura richiede 15 minuti. In un progetto di 50 sessioni, risparmia centinaia di token per sessione futura. Il ROI è immediato.

== Una governance vivace

Ciò che questa serie di tre articoli mi ha insegnato è che la governance agent non è un prodotto finito. È un**organismo vivente**. Cresce con il progetto. Contrae malattie della crescita. Richiede controlli regolari.

La sessione 048 ha rivelato che gli archivi si gonfiano. La sessione 051 ha rivelato che la metodologia stessa si gonfia. La sessione 060 probabilmente rivelerà qualcos'altro. È normale. È sano. Una governance che non si mette mai in discussione è una governance morta.

Le tre meccanismi messi in atto — Eager/Lazy, Hot/Warm/Cold, split enciclopedico — formano un sistema di difesa in profondità contro la saturazione del contesto. Nessuno è sufficiente da solo. Insieme, si completano :

* **Eager/Lazy** structure l'information *par disponibilité*
* **Caldo/Tiepido/Freddo**struttura l'informazione *per freschezza*
* **Audit enciclopedico**struttura le informazioni *per densità*

[plantuml, format=svg, id=diag-defense-in-depth, alt="Les trois couches de défense contre la saturation du contexte"]
----
@startuml
skinparam backgroundColor #FEFEFE
skinparam nodeBackgroundColor #E3F2FD

title Difesa in profondità contro la saturazione del contesto
node "**Contesto Agente**
~800 linee
sano" as CTX #C8E6C9

node "Livello 1\n**EAGER / LAZY**" as C1 #BBDEFB
node "Strato 2
**HOT / WARM / COLD**" as C2 #BBDEFB
node "Strato 3
**ESSENZIALI / ENCICLOPEDIA**" as C3 #BBDEFB

CTX --> C1 : "Struttura per\n**disponibilità**"
CTX --> C2 : "Struttura per
**freschezza**"
CTX --> C3 : "Struttura per\n**densità**"

note bottom of C3
  Les trois couches sont nécessaires.
  Aucune n'est suffisante seule.
end note

@enduml
----

Con questi tre strati, il contesto agente su`magic-stick`è passato da 2087 linee (prima di qualsiasi ottimizzazione) a circa 800 linee — una divisione per 2,6. Senza aver perso una sola linea di documentazione, un solo archivio di sessione, una sola lezione appresa.

Tutto è lì. Solo meglio organizzato.

== Link

* Article 0108 — Strategia Eager/Lazy :link:/blog/2026/0108_gouvernance_agent_opencode_eager_lazy_post.html[Gestire un agente IA con AsciiDoc]
* Article 0110 — Mécanisme Hot/Warm/Cold : link:/blog/2026/0110_mecanisme_backup_contexte_agent_post.html[Sliding Window e Onda Fredda]
* Il mio sito: https://cheroliv.com
* Il progetto`magic-stick`: https://github.com/cheroliv/magic-stick

---

*La conoscenza non deve scomparire. Lei deve semplicemente non essere caricata quando non è necessaria.*

Articoli correlati