Sliding Window και Κρύο Κύμα: Όταν το Context του Agent εκραγεί και πρέπει να Αρχειοθετήσετε χωρίς να χάσετε δεδομένα
Δημοσιεύτηκε 26 April 2026
Περίληψη
Μετά από 48 sessions σε ένα μόνο έργο και 150+ συνολικά, το σύστημα διακυβέρνησης Eager/Lazy που Had φτιάξει με προσοχή άρχιζε να πνίγεται. Τα αρχεία agent, που έπρεπε να είναι ελαφριά, baten 5200 γραμμές συνολικά. Το خودματα φορτωμένο context αυξάνθηκε πιο γρήγορα από τη δυνατότητα μου να τον ελέγξω. Το άρθρο διηγείται πώς ιδεώδησα ένα μηχανισμό backup — μεταξύ sliding window και identical κρύου κύματος — για να διατηρήσω ένα ελαφρύ ενεργό context χωρίς να χάσω τίποτε.
Το σήμα: 5200 γραμμές
Είμαι εν vías της συνεδρίας 048 σε`magic-stick`, το πρότυπω μου για τη δημιουργία ζωντανής ISO Linux. Opencode με κοιτάζει. Όπως πάντα, το έχει φορτώσει αυτόματα τα αρχεία μου Eager στην αρχή της συνεδρίας —AGENT.adoc, PROMPT_REPRISE.adoc, .agents/INDEX.adoc. Κανένα ανωμαλικό.
Εκτός που κάτι δεν είναι σωστό. Οι απαντήσεις είναι πιο αργές. Ο λογισμός είναι πιο διασκορπισμένος. Ο πράκτορας ξεχνάει λεπτομέρειες που είχε μπροστά του πριν από δύο μηνύματα.
Ανοίγω ένα τερματικό και πληκτρολογώ:
wc -l .agents/INDEX.adoc .agents/SESSIONS_HISTORY.adoc \
.agents/archives/COMPLETED_TASKS_ARCHIVE_2026-04.adoc
260 γραμμές για το INDEX. 55 γραμμές για το SESSIONS_HISTORY.1756 για COMPLETED_TASKS_ARCHIVE.
Το φάκελο`sessions/`προσθέτει έτι ~3200 γραμμές. Συνολικά :5200 γραμμέςΠεριβάλλοντα που φορτώνονται, ενός τρόπου ή άλλου, στον προσωρινό εγκέφαλο του πράκτορα.
Η στρατηγική Eager/Lazy η οποία είχα θεωρήσει στο προηγούμενο άρθρο λειτουργεί — αλλά έχει ένα γεννητικό έλλειμμα που δεν Had προβλέψει : δεν имеетμηχανιomo γηράσεως.Κάθε συνεδρία προσθέτει μια γραμμή στο INDEX, ένα παράγραφο στο COMPLETED_TASKS, ένα αρχείο στο sessions/. Τίποτα δεν έρχεται ποτέ έξω. Το περιβάλλον είναι μια χιόνια μπάλα που αυξάνει το μέγεθος του στην mỗi νέα συνεδρία.
@startuml skinparam backgroundColor #FEFEFE skinparam handwritten false title Ανάπτυξη Πλαισίου Πράκτορα — Σεσιον 1 έως 48 rectangle "Σεσιον 1-10" as S10 #E8F5E9 rectangle "Σεσιον 11-20" as S20 #C8E6C9 rectangle "Σεσιον 21-30" as S30 #A5D6A7 rectangle "Σεσιον 31-40" as S40 #81C784 rectangle "Σεσιον 41-48" as S48 #66BB6A note right of S10 ΕΥΡΕΤΗΡΙΟ : ~50 γραμμές ΣΥΝΕΔΡΙΕΣ : ~10 γραμμές ΑΡΧΕΙΟ : ~100 γραμμές **Σύνολο : ~300 γραμμές** end note note right of S20 ΕΥΡΕΤΗΡΙΟ : ~100 γραμμές ΣΥΝΕΔΡΙΕΣ : ~20 γραμμές ΑΡΧΕΙΟ : ~400 γραμμές **Σύνολο : ~800 γραμμές** end note note right of S30 ΕΥΡΕΤΉΡΙΑ : ~160 γραμμές ΣΥΝΕΔΡΊΕΣ : ~30 γραμμές ΑΡΧΕΊΟ : ~900 γραμμές **Σύνολο : ~1800 γραμμές** end note note right of S40 ΕΥΡΕΤΗΡΙΟ : ~220 γραμμές ΣΥΝΕΔΡΙΑ : ~45 γραμμές ΑΡΧΕΙΟ : ~1400 γραμμές **Σύνολο : ~3200 γραμμές** end note note right of S48 ΕΥΡΕΤΗΡΙΟ : **260 γραμμές** ΣΥΝΕΔΡΙΕΣ : **55 γραμμές** ΑΡΧΕΙΟ : **1756 γραμμές** **Σύνολο : 5200 γραμμές** ⚠️ end note S10 -[#green]-> S20 S20 -[#green]-> S30 S30 -[#FF9800]-> S40 S40 -[#red]-> S48 @enduml
Δεν είναι ένα bug, είναι μια άμεση συνέπεια της διαδικασίας λήξης της συνεδρίας που αρχειοθετεί με ακρίβεια κάθε λεπτομέρεια. Το σύστημα είναι θύμα του δικού του επιτυχίας.
Η διάγνωση : Τριπλή υπερβολικότητα
Ζητώ από τον πράκτορα να διαγνώσει το πρόβλημα. Η απάντησή του είναι άμεση και χειρουργική.
Αρχείο |
Γραμμές |
ρόλος |
Πρόβλημα |
|
260+ |
EAGER (αυτό-φορτισμένο) |
Πίνακας όλων των συνεδριών από τη 001 —+1 γραμμή ανά συνεδρία |
|
55 |
ενθουσιώδης |
Πίνακας περίληψης —υπερβολικότητα με INDEX |
|
1756 |
EAGER (υπόνυτο) |
Πλήρεις λεπτομέρειες όλων των συνεδριάων του Απριλίου |
|
≈5200 συνολικά |
καταλαθαργικός (υποθετικό) |
Ατομικά αρχεία, αλλάδεν χρησιμοποιούνταιεπειδή όλο είναι ήδη στο COMPLETED_TASKS |
Ο πράκτορας προσδιορίζει τέσσερις ρίζες αιτίες:
-
COMPLETED_TASKS_ARCHIVE αναλαμβάνει όλα— Αντί να δείχνει προς τα αρχεία`.sessions/`, το αντιγράφει πλήρως κάθε session.
-
INDEX.adoc λειτουργεί ως πλήρες ιστορικό— Ο πίνακας "Sessions Récentes" περιέχει 30+ εγγραφές.
-
SESSIONS_HISTORY.adoc περιττό— Η ίδια πληροφορία με το INDEX, διαφορετική μορφή.
-
Ο κανόνας LAZY δεν τηρείται— COMPLETED_TASKS είναι ανεπιφύλακτα EAGER επειδή περιέχει όλα.
Η πρόταση της είναι ριζοσπαστική: περιορισμός του INDEX σε 10 συνεδρίες, αδειοποίηση του COMPLETED_TASKS, μετακίνηση του SESSIONS_HISTORY σε καθαρό LAZY. Αμέσος κέρδος:~1900 γραμμές οικονομημένες.
Είναι καθαρό, αποδοτικό, λογικό. Αλλά έχω ένα πρόβλημα με αυτή τη προσέγγιση.
Γιατί έαρνησα την όχια λύση
Η λύση του πράκτορα είναι αυτή του μηχανικού που βελτιστοποιεί μια cache. Περιορίζε. Κόψε. Διαγράψτε τα περιττά.
Αλλά αυτές οι «υπερβολίες» δεν είναι τέτοια. Κάθε αρχείο διακυβέρνησης συλλαμβάνει έναδιαφορετική γωνίαστην ίδια πραγματικότητα :
-
Ευρετήριο = vue macro, tableau de bord exécutif
-
SESSIONS_HISTORY= γραμμικός χρονολογικός πίνακας, βαρυνομμένη
-
Αρχείο ολοκληρωμένων εργασιών= λεπτομερής αφηγησις με μετρικά
-
sessions/*.adoc` = αρχεία ατομικών, πλήρες πλαίσιο
Δεν είναι μωρή αντιγραφή. Είναι τηςοπτική πολλοπλή δομημένη. Αυτό είναι ακριβώς το που χρειάζεται για να αποστυλίσουμε — ώστε αργότερα, ένας άνθρωπος (ή ένα μελλοντικό LLM καλύτερα εκπαιδευμένο) να μπορεί να διασταυρώσει τις γωνίες και να εξάγει μοτίβα.
Φανταστείτε ένας data scientist που σας λέει : « Ας διαγράψουμε 3 στήλες από 6, είναι συσχετισμένες. » Τι του απαντάτε; Ότι η συσχέτιση δεν είναι υπερβολική επανάληψη όταν κάθε στήλη καλύπτει μια διαφορετική διάσταση του ίδιου φαινομένου. Και είναι ακριβώς αυτή η διαστασιακή πλούσιο που κάνει το dataset εκμεταλλεύσιμο.
Αυτό είναι η εσυαισθησή μου. Και την υπερασπίζομαι κατά της ψυχρολογικής λογικής του πράκτορα.
_ Δεν βλέπω ένα σιωπηλὸ συλλογέα στην ιδέα μου. Δεν τζαμάremos όλα, αλλά μεταφέρουμε το δομημένο αποτέλεσμα της διαδικασίας λήξης της συνεδρίας· κάθε αρχείο με τη γωνία του, τις redundancies του που στην πραγματικότητα είναι εμπλουτισμός. Αυτό το πολυδιάστατο υλικό θα είναι καλύτερο για τη διάстилωση. _
Ο πράκτορας κατηγορεί το χτύπημα. Και διορθώνεται.
Η πρόταση: ιδίο ψυχρό κύμα
Ο πράκτορας προτείνει έπειτα ένα πιο λεπτό μηχανισμό, που σέβεται την ενσυνείδησή μου για ένα πλούσιο dataset, ενώ επιλύει το τεχνικό πρόβλημα του context που αυξάνεται ανεπίβλεπτα.
Η αρχή είναι απλή και παίρνει έμπνευση άμεσα από το patternΚαυτός/Ζεστός/Κρύος Αποθήκευσηεφαρμοσμένο στη διαχείριση αρχείων :
-
Ζεστός (ΕΝΘΟΥΣΙΩΔΗΣ)= τα 10 τελευταίες συνεδρίες στο INDEX, PROMPT_REPRISE της συνόδου N+1, τα 2 τελευταία αρχεία συνόδου
-
Ζεστός (LAZY)= SESSIONS_HISTORY πρόσφατο, SCRIPT_VERIFICATION, όλη η τεκμηρίωση αναφοράς
-
Κρύο (αντίγραφο/)= όλο το υπόλοιπο, μετακινημένοαβλάβη, Without μετασχηματισμό, Without επανευρετηληση
----
----
----
.agents/
├── INDEX.adoc → Sessions N-9 à N (10 dernières)
├── SESSIONS_HISTORY.adoc → Sessions N-9 à N
├── SCRIPT_VERIFICATION.adoc → Dernière vérif (pas d'historique)
├── PROMPT_REPRISE.adoc → Session N+1 uniquement
├── sessions/ → Sessions N-1 à N uniquement
└── backup/
└── Y2026-sessions-001-039/ ← Vague froide, COPIE INTÉGRALE
├── INDEX.adoc → Sessions 001 à 039 (complet)
├── SESSIONS_HISTORY.adoc → Sessions 001 à 039 (complet)
├── COMPLETED_TASKS_ARCHIVE.adoc → Sessions 001 à 039 (complet)
└── sessions/ → 001.adoc, 002.adoc...
----
Ο κλειδί του μηχανισμού :**Το backup δεν είναι ένα κεντρικό ευρετήριο, είναι ένα ακριβές αντίγραφο του προηγούμενου κύματος.**. Όταν ξεπερνάμε το ορίζοντα των 10 ενεργών συνεδριάς, δεν διαγράφουμε τίποτα. Δεν κάνουμε επανα‑διαθέτηση τίποτα. Δεν συγχωνεύουμε τίποτα. Πα παίρνουμε το πακέτο αρχείων agent όπως ήταν στην συνεδρία N-10, και το μεταφέρουμε στο`backup/`.
Τα ενεργά αρχεία, όμως, είναι κοπτμένα:
* INDEX : μόνο οι τελευταίες 10 γραμμές (κουφέτικου παράθυρου)
* SESSIONS_HISTORY : ίδια
* COMPLETED_TASKS_ARCHIVE : νέο αρχείο για την τρέχουσα περίοδο
* sessions/ : μόνοοι 2 τελευταίες συνεδρίες
[plantuml, format=svg, id=diag-hot-warm-cold, alt="Architecture Hot/Warm/Cold du contexte agent — EAGER/LAZY/backup"]
----
@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
skinparam wrapWidth 200
title Αρχιτεκτονική Hot / Warm / Cold του Πρακτόρα Περιβάλλοντος
package "HOT (EAGER)\nΦορτωμένο αυτόματα\n~300 γραμμές" as HOT #FFCDD2 {
file "INDEX.adoc\n(10 συνεδρίες)" as IDX_HOT
file "PROMPT_REPRISE\n(σέσιον N+1)" as PRO_HOT
file "AGENT.adoc\n(απολύτες κανόνες)" as AG_HOT
}
package "WARM (LAZY)\nΦορτωμένο ανά ζήτηση\n~500 γραμμές" as WARM #FFF9C4 {
file "SESSIONS_HISTORY\n(τελευταίες 10)" as HIS_WARM
file "SCRIPT_VERIFICATION\n(τελευταία)" as VER_WARM
file "PROCEDURES.adoc\n(templates)" as PRO_WARM
file "*_REFERENCE.adoc\n(τεχνική τεκμηρίωση)" as REF_WARM
}
package "COLD (backup/)\nΠοτέ δεν φορτίστηκε\nΜόνο ανθρώπινη ανάγνωση" as COLD #BBDEFB {
folder "Y2026-001-039/" as WAVE {
file "INDEX (πλήρες)" as IDX_COLD
file "SESSIONS_HISTORY\n(πλήρης)" as HIS_COLD
file "Ολοκληρωμένες_εργασίες\n(ολοκληρωμένο)" as ARCH_COLD
folder "συνεδρίες/ (001-039)" as SESS_COLD
}
folder "Y2026-040-???\n(μέλλον)" as FUTURE
}
HOT --> WARM : "Ο πράκτορας ανεβαίνει\nαν χρειάζεται"
WARM --> COLD : "Ποτέ автоматически\nΟ άνθρωπος πάει εκεί μόνος"
note bottom of COLD
Règle : COPIE INTÉGRALE
Pas de transformation
Pas de réindexation
Read-only après archivage
end note
@enduml
----
Ο άμεσος κέρδος είναι τεράστιος : το περιβάλλον EAGER μεταβαίνει από**~5200 γραμμές έως ~300 γραμμές**. Μια διαίρεση με 17. Χωρίς να έχασα και μία γραμμή ιστορικών δεδομένων.
== Γιατί δεν είναι ένα παντοπώλημα
Ο πράκτορας, στην πρώτη επανάληψη του, φοβόταν ότι`backup/`γίνει ένα μαύρο κουτί — ένας φάκελος όπου ρίχνουμε αρχεία που δεν θα διαβάσουμε ποτέ. Είναι ένας δικαίος φόβος. Αλλά βασίζεται σε μια σύγχυση.
Ένας συλλογέας, είναι όταν ρίχνουμε αρχεία**χωρίς δομή, χωρίς σύμβαση, χωρίς λογική ομαδοποίησης**. Το backup είναι δομημένο κατά período (Y2026-001-039), και κάθε φάκελος backup περιέχει**η ίδια δομή**που το φάκελο`.agents/`actif : INDEX, SESSIONS_HISTORY, COMPLETED_TASKS_ARCHIVE, sessions/.
Δεν είναι ένα παντοειδές. Είναι ένα**σταγνιότυπο με χρονικό σήμα**. Θα μπορούσαμε наві να πούμε ότι είναι ένα μηχανισμός απλοποιημένου versioning — με την εξαίρεση ότι δεν versionne τα αρχεία ξεχωριστά, αλλά το πλήρες πακέτο της διοίκησης σε ένα στιγμιότυπο T.
Όταν θέλετε να βρείτε μια παλιά πληροφορία, δεν χρειάζεστε έναν κεντρικό ευρετήριο. Έχετε δύο επιλογές:
1. **grep` εστιασμένο**:`grep -r "zsh" backup/Y2026-001-039/`— και βρίσκεις όλα όσα αναφέρουν το zsh κατά τη διάρκεια, ανεξάρτητα από την γωνία (INDEX, SESSIONS_HISTORY, αρχείο συνεδρίας).
2. **Χειροκίνητη επανένωση**: Αντιγράφετε προσωρινά τον φάκελο αντιγράφων στο ενεργό περιβάλλον, και ζητάτε από τον πράκτορα να αναλύσει αυτή τη συγκεκριμένη período.
Το ευρετήριο είναι υπονοούμενο. Είναι στην ίδια δομή των αρχείων — κάθε αρχείο είναι ήδη ένας ευρετήριος από τη δική του γωνία.
== Η μεταφορά των ραφιρίων
Για να κάνω το μηχανισμό ευκατανόητο, το συνεπτύξα ως τρίαράφια:
* **ράφι 1 (EAGER)**— το σχέδιο εργασίας. Τι χρειάζομαι *τώρα*. INDEX πρόσφατο, PROMPT_REPRISE, απόλυτες κανονίδες. Ελαφρύ, άμεσο, κρίσιμο.
* **Ράφι 2 (LAZY)**— η βιβλιοθήκη διαβάσματος. Τι μπορώ να πάρω να φέρω κατά αίτημα. Τεχνικές αναφορές, πρόσφατο ιστορικό, διαδικασίες. Πιο μεγάλος, αλλά όχι φορτωμένος στη μνήμη.
* **σπήλαιο (backup/)**— τα ψυχρά αρχεία. Όλα όσα είναι περασμένα αλλά δεν θέλω να τα ρίξω. Ο πράκτορας δεν μπαίνει ποτέ εκεί. Ο άνθρωπος καταβαίνει εκεί όταν θέλει να διασυρθεί.
Ο πράκτωρ πρότεινε αρχικά μια τέταρτη πολυθώρα — ένα`index-backup.adoc`όπως θα było LAZY και θα περιείχε τον πίνακα περιεχομένων του ολόκληρου backup. Απέρριψα. Έιναι ένας επιπλέον πλεονασμός σε ένα σύστημα που παθεί ήδη από γραμμική αύξηση. Η δομή των αρχειοποιημένων αρχείων είναι ήδη ένας δείκτης.
== Αισθητήρας διπλής ενεργοποίησης
Η conceived ήταν στερεά, αλλά había παραμείνει μια γωνία τυφλότητας :**Πότε ακριβώς να ενεργοποιηθεί η περιστροφή;**Το αρχικό άρθρο το αναγνώριζε ως ένα ανοιχτό ερώτημα. Δύο μέρες αργότερα, η απάντηση είναι κωδικοποιημένη στα αρχεία διακυβέρνησης έξι προεκτικών: ένας αισθητήρας με δύο διακόπτες.
=== Αυτόματος ενεργοποιητής — `N % 10 == 0
Ο πρώτος τρικάντερ είναι μαθηματικός. Όταν ο αριθμός της session είναι πολλαπλάσιο του 10 — session 10, 20, 30, 40 — η rotation backup εκτελείται αυτόματα εντός της διαδικασίας λήξης της session, ακριβώς μετά το βήμα 6.
Γιατί 10; Είναι η διαπραγματεύση μεταξύ δύο αντίθετων δυνάμεων: ένα παράθυρο πολύ σύντομο (5 συνεδρίες) χάνει το αναγκαίο πλαίσιο για τη συνέχεια; ένα παράθυρο πολύ μεγάλο (20 συνεδρίες) δεν λύνει το πρόβλημα του υπερβολικού πλάτους του πλαισίου. Δέκα συνεδρίες, με ρυθμό μίας έως δύο συνεδριών ανά ημέρα, καλύπτουν περίπου μια εβδομάδα εργασίας — αρκετά ώστε ο πράκτορας να θυμηθεί τις πρόσφατες αποφάσεις, αλλά όχι αρκετά ώστε το πλαίσιο να εκτοξευθεί.
=== Ο εκκινητής ορίου — 500 γραμμές EAGER
Ο δεύτερος εικνυτής είναι δυναμικός. Ανεξαρτήτως του αριθμού της συνεδρίας, εάν τα αρχεία EAGER συγκεντρωμένα υπερβαίνουν**500 γραμμές**, η περιστροφή εκκινείται.
Αυτό το όριο προστατεύει από το σενάριο όπου οι συνεδρίες είναι εξαιρετικά παραγωγικές — πολύ περιεχόμενο γραπτό σε λίγες συνεδρίες. Μια συν편ρία που παράγει 120 γραμμές επεξεργαστικού περιεχομένου αυξάνει το COMPLETED_TASKS_ARCHIVE πολύ πιο γρήγορα από μια συνεδρία αποσφαλμάτωσης που διορθώνει δύο γραμμές. Το όριο των 500 γραμμών, μετρημένο Μέσω`wc -l .agents/INDEX.adoc .agents/archives/COMPLETED_TASKS_ARCHIVE_*.adoc PROMPT_REPRISE.adoc`, αντιλαμβάνεται αυτήν την ασυμμετρία.
=== Ο χειροκίνητος ανατρίγυρος — «rotation backup
Τέλος, ο άνθρωπος κρατάει το χέρι. Οι λέξεις-κλειδιά`rotation backup`, `backup rotation` ou `lance la rotation backup`Εκκινούν τη διαδικασία στο αίτημα, ανεξάρτητα από το τέλος της συνεδρίας. Είναι χρήσιμο όταν αισθανόμαστε ότι ο χώρος γίνεται βαρύ, αλλά δεν έχουμε φτάσει ακόμα σε πολλαπλάσιο του 10, ή όταν θέλουμε να αρχειοθετήσουμε μια φάση της εργασίας πριν ξεκινήσουμε μια νέα.
[plantuml, format=svg, id=diag-capteur-trigger, alt="Les trois déclencheurs du capteur de rotation backup — automatique, seuil, manuel"]
----
@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
skinparam wrapWidth 200
title Αισθητήρας Αντιγράφου Περιστροφής — Οι Τρεις Έναπτοί
start
:Procédure de fin de session;
note right: Mots-clés "τέλος της συνεδρίας"\nou "Σταματάμε εδώ"
:Étapes 1 à 6\n(archivage standard);
note right
1. Archive sessions/N.adoc
2. MAJ PROMPT_REPRISE
3. MAJ SESSIONS_HISTORY
4. MAJ INDEX.adoc
5. MAJ TEST_COVERAGE
6. MAJ COMPLETED_TASKS
end note
if (N % 10 == 0\nOU\nEAGER cumulé > 500 lignes ?) then (oui)
:⚙️ Rotation Backup\n(étape 7);
note right
1. Créer backup/Y20XX-sessions-X-Y/
2. Copier intégrale INDEX + HISTORY
+ COMPLETED_TASKS + sessions/
3. Tronquer actifs à 10 sessions
4. Ajouter _Localisation active_
end note
else (non)
:Pas de rotation;
endif
:Checklist [✅] x 7\n(si applicable);
stop
@enduml
----
Αυτό το διάγραμμα εμφανίζει την ακριβή τοποθέτηση του αισθητήρα στη διαδικασία λήξης της συνεδρίας. Το βήμα 7 είναι προαιρετικό — εκτελείται μόνο αν μία από τις δύο συνθήκες είναι αληθής — αλλά ελέγχεται συστηματικά. Η τελική λίστα έλεγχου περιλαμβάνει`[✅] 7. Backup roté (si applicable)`.
=== Ο κλειστός βρόχος
Αυτός ο αισθητήρας κλείνει το βρόχο που άνοιxe το προηγούμενο άρθρο. Ηκυβέρνηση Eager/Lazy είχε λύσει το πρόβλημα της μνήμης του αjánτο μεταξύ δύο συνεδριάσεων. Το μηχανισμός Hot/Warm/Cold είχε λύσει το πρόβλημα της μνήμης που αυξάνει. Ο αισθητήρας με δύο triggers λύνει το πρόβλημα του *quand* — αφαιρώντας από τον άνθρωπο το ψυχικό φορτίο της παρακολούθησης του μεγέθους του περιβάλλοντος.
[plantuml, format=svg, id=diag-boucle-fermee, alt="Les trois couches de la gouvernance agent — Eager/Lazy, Hot/Warm/Cold, Capteur"]
----
@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
title Οι Τρεις Στρώσεις της Διοίκησης του Πράκτορα
left to right direction
package "Επίπεδο 1 — Μνήμη\n(Άρθρο 0108)" as C1 #E8F5E9 {
rectangle "**EAGER**\nΠίνακας ελέγχου\nΑυτόματα φορτωμένο" as EAG
rectangle "**LAZY**\nΕγχειρίδιο ιδιοκτήτη\nΦόρτωση ανά ζήτημα" as LAZ
EAG -[hidden]right-> LAZ
}
package "Στρώση 2 — Γήραση\n(Άρθρο 0110)" as C2 #FFF9C4 {
rectangle "**HOT**\n10 ενεργές συνεδρίες\n~300 γραμμές" as HOT
rectangle "**WARM**\nΑναφορές\nΔιαδικασίες" as WRM
rectangle "**COLD**\nbackup/\nΚρύο κύμα" as CLD
HOT -[hidden]right-> WRM
WRM -[hidden]right-> CLD
}
package "Στρώμα 3 — Ενεργοποιητής\n(Σήμερα)" as C3 #BBDEFB {
rectangle "**Αυτό**\nN % 10 == 0" as AUTO
rectangle "**Όριο**\n> 500 γραμμές" as SEUIL
rectangle "**Manuel**\nπεριστροφή αντίγραφο" as MAN
AUTO -[hidden]right-> SEUIL
SEUIL -[hidden]right-> MAN
}
C1 --> C2 : "Η μνήμη αυξάνει\n→ χρειάζεται ένας μηχανισμός\nγήρανσης"
C2 --> C3 : "Το γήρασμα\n→ χρειάζεται ένα επαιρετήριο\nγια να εκτελεστεί"
note bottom of C3
✅ Déployé sur 6 projets
magic-stick · bakery-gradle
plantuml-gradle · cheroliv.com
jhipster-gradle-plugins
quizz-benchmark-gradle
end note
@enduml
----
Οι τρεις στρώσεις xếpάζονται λογicamente. Η πρώτη παρέχει μνήμη στον πράκτορα. Η δεύτερη αποτρέπει αυτή τη μνήμη να πνίγει τον πράκτορα. Η τρίτη αυτοματισμένη τη συντήρηση αυτής της μνήμης ώστε ο άνθρωπος δεν χρειάζεται να σκεφτεί.
=== Η Αποτελεσματική Μετανάστευση στο cheroliv.com
Το μηχανισμός δεν παραμένει θεωρητικό. επί`cheroliv.com`, η πρώτη περιστροφή αντιγράφων εκτελέστηκε το 29 Απριλίου 2026 — οι συνεδρίες -6 έως 2 μεταφέρθηκαν σε`.agents/backup/Y2026-sessions-neg6-a-002/`:
|===
|Αρχείο |Πριν την περιστροφή |Μετά την περιστροφή |κέρδος |`.agents/INDEX.adoc` |19 καταλεγμένες συνεδρίες |10 συνεδρίες (3-12) |-9 εισαγωγές |`.agents/SESSIONS_HISTORY.adoc` |18 συνεδρίες |10 συνεδρίες |-8 εγγραφές |`COMPLETED_TASKS_ARCHIVE` |161 γραμμές (συνεδρίες 1-12) |135 γραμμές (συνεδρίες 3-12) |-26 γραμμές |`sessions/` |20 αρχεία |10 αρχεία |-10 αρχεία |**αντιγράφα/** |μη υπάρχον |1 κρύο κύμα (10 αρχειοθετημένες συνεδρίες) |+1 ψυγρό πακέτο
|===
Το κέρδος σε γραμμές ήταν μέτριο — το project είναι νέο, 12 συνεδρίες — αλλά το σημαντικό είναι ότι το**ο μηχανισμός είναι στη θέση του**. Η επόμενη αυτόματη περιστροφή θα ενεργοποιηθεί στην 20η συνεδρία, ή νωρίτερα αν φταστούν τα 500 γραμμές EAGER.
== Το Μάθημα Ανθρώπου-Αγένα
Αυτή η session 048 μου έδειξε κάτι θεμελιώδες σχετικά με τη συνεργασία με έναν πράκτορα AI.
Ο παράγοντας έχει ένα φυσικό προκαταληπτικό : ψάχνει να**βελτιστοποιώ**, à **να απλοποιώ**, à **αφαίρεση των υπερβολικών επαναλήψεων**. Είναι ο προκατάληπτος ενός συστήματος που έχει εκπαιδευτεί για παράδοση καθαρών και σύντονων απαντήσεων. Αντιμετωπίζοντας ένα πλούσο και πολυδιάστατο dataset, η πρώτη αντίδρασή του είναι να το μειώσει στην πιο απλή έκφρασή του.
Ο άνθρωπος, αυτός, έχει μια διαφορετική ενστικτή αντίληψη: προαισθάνεται ότι η δομημένη υπερβολική επανάληψη είναι ένας**πλεονέκτημα**, δεν είναι ένα λάθος. Ότι η ποικιλία των γωνιών στην ίδια πραγματικότητα είναι ακριβώς αυτό που θα επιτρέψει, υστάτερα, μια ποιοτική διάστιλση.
Δεν είναι ότι ο πράκτορας είναι λανθασμένος. Είναι ότι το "optimum" του δεν είναι το δικό μου. Ο πράκτορας βελτιστοποιεί για το**παρόν**— το άμεσο πλαίσιο, η γρήγορη απάντηση στην εισηγμένη ερώτηση. Ο άνθρωπος βελτιστοποιεί για το**μέλλον**— η ικανότητα να εντοπίζει, να συνδυάζει, να διυλίζει σε τρία μήνα ή τρία χρόνια.
Το που θέλω είναι το ακατέργαστ υλικό. Οι σκέψεις σου, οι διστάσεις σου, οι απαντήσεις σου στις ερωτήσεις μου. Δεν είναι η σύνθεσή σου. Η σύνθεση, ξέω να τη κάνω καλύτερα από εσένα. Θέλω την ύλη αγέρωγος. ____
Αυτή η φράση που του είπα στο τέλος της συνεδρίας συνοψίζει πάντα. Ο άγκεντ είναι ένα εργαλείο παραγωγής. Ο άνθρωπος είναι το εργαλείο διάστασης. Η κυβερνέτηση δεν είναι προορισμένη ώστε ο άγκεντ να καταλάβει πάντα μόνο του — είναι προορισμένη ώστε ο άνθρωπος να μπορέσει υστέρα να επεξεργαστεί το υλικό που προκύπτει.
Η ιδιενόματη κρύμα είναι η αρχιτεκτονική μετάφραση αυτής της φιλοσοφίας: δεν ρίχνουμε τίποτα, δεν ενωνούμε τίποτα, δεν επανακαταλογοποιούμε τίποτα. Κινούμε το πακέτο άμικτο. Η διαστillation θα έρθει αργότερα, χεριώς, από τον άνθρωπο.
== Η λογική συνέχεια του προηγούμενου άρθρου
Αν έχετε διαβάσειlink:/blog/2026/0108_gouvernance_agent_opencode_eager_lazy_post.html[το άρθρο για τη στρατηγική Eager/Lazy], θα αναγνωρίσετε τη φυσική πρόοδο :
1. **Άρθρο 0108**— Η κυβέρνηση Eager/Lazy : *πώς* να δομηθεί το context του agent σε δύο επίπεδα διαθεσιμότητας
2. **Αυτό το άρθρο 0110**— Ο μηχανισμός backup : *πώς* να το παλαιώσει αυτό το πλαίσιο χωρίς να το χάsce όταν γίνει πολύ μεγάλο
Το πρώτο άρθρο απαντούσε στην ερώτηση: « Ο πράκτορας δεν θυμάται τίποτα μεταξύ δύο συνεδριάς, πώς του δίνουμε μια μνήμη;
Αυτό απαντά στην ερώτηση που προκύπτει αναπόφευκτα από την πρώτη : « Η μνήμη αυξάνει σε κάθε συνεδρία, πώς να την εμποδίσουμε από το να πνίγει τον πράκτορα χωρίς να τη διαγράψουμε ;
Η απάντηση αποτελεί ένα μοτίβο:**Ζεστό/Θερμίο/Κρύο**, εφαρμόζεται στα αρχεία διακυβέρνησης. Και ως ένας αρχιός :**Ποτέ να χάνεις τίποτα, πάντα να μετατοπίζεις τα πάντα**.
== Σύνδεσμοι
* Προηγούμενο άρθρο :link:/blog/2026/0108_gouvernance_agent_opencode_eager_lazy_post.html[Κυβερνώντας έναν αjánτη Τεχνητής Νοημοσύνης με AsciiDoc]
* Ο ιστότοπος μου: https://cheroliv.com
* Το έργο`magic-stick`: https://github.com/cheroliv/magic-stick
---
*Ένας καλός σύστημα διακυβέρνησης δεν διαγράφει ποτέ δεδομένα. Τα ταξινομεί.*
----
----
Το κλειδί του μηχανισμού:**το backup δεν είναι ένας κεντρικός ευρετήριας, είναι ένα ακριβές αντίγραφο του προηγούμενου κύματος**Όταν ξεπερνάμε τον ορίζοντα των 10 ενεργών συνεδριών, δεν διαγράφουμε τίποτα. Δεν κάνουμε επανευρετήρι化 τίποτα. Δεν συγχωνεύουμε τίποτα. Παίρνουμε το πακέτο των αρχείων agent όπως ήταν στη συνεδρία N-10, και το μεταφέρουμε στο`backup/`Παρακαλώ παρέχετε το κείμενο προς μετάφραση.
Τα ενεργά αρχεία, από την άλλη, είναι κομμένα:
* ΕΥΡΕΤΗΡΙΟ : μόνο οι 10 τελευταίες γραμμές (sliding window)
* SESSIONS_HISTORY : idem
* COMPLETED_TASKS_ARCHIVE : νέο αρχείο για την τρέχουσα περίοδο
* sessions/ : μόνο οι 2 τελευταίες συνεδρίες
[plantuml, format=svg, id=diag-hot-warm-cold, alt="Architecture Hot/Warm/Cold du contexte agent — EAGER/LAZY/backup"]
----
@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
skinparam wrapWidth 200
title Αρχιτεκτονική Hot / Warm / Cold του Πλαισίου (Context) του Agent
package "HOT (EAGER)\nΦορτίζεται αυτόματα\n~300 γραμμές" as HOT #FFCDD2 {
file "INDEX.adoc\n(10 συνεδρίες)" as IDX_HOT
file "PROMPT_REPRISE\n(συνεδρία N+1)" as PRO_HOT
file "AGENT.adoc\n(απόλυτοι κανόνες)" as AG_HOT
}
package "WARM (LAZY)\nΦορτίζεται κατόπιν αιτήματος\n~500 γραμμές" as WARM #FFF9C4 {
file "SESSIONS_HISTORY\n(τελευταίες 10)" as HIS_WARM
file "SCRIPT_VERIFICATION\n(τελευταίο)" as VER_WARM
file "PROCEDURES.adoc\n(πρότυπα)" as PRO_WARM
file "*_REFERENCE.adoc\n(τεχνική τεκμηρίωση)" as REF_WARM
}
package "COLD (backup/)\nΠοτέ δεν φορτίζεται\nΜόνο για ανθρώπινη ανάγνωση" as COLD #BBDEFB {
folder "Y2026-001-039/" as WAVE {
file "INDEX (πλήρης)" as IDX_COLD
file "SESSIONS_HISTORY\n(πλήρης)" as HIS_COLD
file "COMPLETED_TASKS\n(πλήρης)" as ARCH_COLD
folder "sessions/ (001-039)" as SESS_COLD
}
folder "Y2026-040-???\n(μελλοντικό)" as FUTURE
}
HOT --> WARM : "Ο Agent ανατρέχει\nαν χρειάζεται"
WARM --> COLD : "Ποτέ αυτόματα\nΟ άνθρωπος πηγαίνει μόνος του"
note bottom of COLD
Κανόνας: ΠΛΗΡΗΣ ΑΝΤΙΓΡΑΦΟΠΟΙΗΣΗ
Καμία μετατροπή
Καμία επαναευρετηρίαση
Μόνο ανάγνωση μετά την αρχειοθέτηση
end note
@enduml
----
Το άμεσο κέρδος είναι τεράστιο: το πλαίσιο EAGER περνά από**~5200 γραμμές σε ~300 γραμμές**. Μια διαίρεση δια 17. Χωρίς να χαθεί ούτε μία γραμμή ιστορικών δεδομένων.
== Γιατί δεν είναι ένα «παντός και παντού
Ο πράκτορας, στην πρώτη του επανάληψη, φοβόταν ότι`backup/`γίνει ένα μαύρο κουτί — ένας φάκελος όπου πετάμε αρχεία που δεν θα ξαναδιαβάσουμε ποτέ. Είναι ένας正αιος φόβος. Αλλά βασίζεται σε μια σύγχυση.
Ένας «χρέμας» είναι όταν πετάμε αρχεία**χωρίς δομή, χωρίς σύμβαση, χωρίς λογική ομαδοποίησης**. Εδώ, το αντίγραφο ασφαλείας είναι δομημένο ανά περίοδο (`Y2026-001-039`), και κάθε φάκελος αντιγράφου ασφαλείας περιέχει**η ίδια δομή**ότι ο φάκελος`.agents/`ενεργό: INDEX, SESSIONS_HISTORY, COMPLETED_TASKS_ARCHIVE, sessions/.
Δεν είναι ένας χώρος για τα πάντα. Είναι ένας**snapshot με χρονοσήμανση**Θα μπορούσε κανείς να πει ότι πρόκειται για έναν απλοποιημένο μηχανισμό versioning — με τη διαφορά ότι δεν κάνει versioning τα αρχεία 개별ικά, αλλά ολόκληρο το πακέτο της διακυβέρνησης σε μια συγκεκριμένη χρονική στιγμή T.
Όταν θέλετε να βρείτε μια παλιά πληροφορία, δεν χρειάζεστε έναν κεντρικό ευρετήριο. Έχετε δύο επιλογές:
1. **στοχευμένο `grep**Παρακαλώ εισαγάγετε το κείμενο που επιθυμείτε να μεταφράσω.`grep -r "zsh" backup/Y2026-001-039/`— και βρίσκετε οτιδήποτε αναφέρει το zsh στην περίοδο, ανεξαρτήτως της οπτικής γωνίας (INDEX, SESSIONS_HISTORY, αρχείο συνεδρίας).
2. **Χειροκίνητη επαναένταξη**: αντιγράφετε προσωρινά τον φάκελο backup στο ενεργό πλαίσιο, και ζητάτε από τον πράκτορα να αναλύσει αυτήν την συγκεκριμένη περίοδο.
Ο δείκτης είναι implicite. Βρίσκεται στη ίδια τη δομή των αρχείων — όπου η καθεμία αποτελεί ήδη έναν δείκτη από τη δική της οπτική γωνία.
== Η Μεταφορά των Ραφιών
Για να καταστήσω τον μηχανισμό διαισθητικό, τον σχεδίασα ως τρία ράφια:
* **Ράφι 1 (EAGER)**— το σχέδιο εργασίας. Αυτό που χρειάζομαι *τώρα*. Πρόσφατο INDEX, PROMPT_REPRISE, απόλυτοι κανόνες. Ελαφρύ, άμεσο, κρίσιμο.
* **Ράφι 2 (LAZY)**— η βιβλιοθήκη αναζήτησης. Αυτό που μπορώ να ανατρέξω κατόπιν permintaan. Τεχνικές αναφορές, πρόσφατο ιστορικό, διαδικασίες. Πιο ογκώδες, αλλά δεν φορτώνει τη μνήμη.
* **Cave (backup/)**— τα κρύα αρχεία. Όλα όσα έχουν περάσει αλλά δεν θέλω να πετάξω. Ο πράκτορας δεν μπαίνει ποτέ εκεί. Ο άνθρωπος κατεβαίνει όταν θέλει να αποσταχθεί.
Ο πράκτορας πρότεινε αρχικά ένα τέταρτο ράφι — ένα`index-backup.adoc`που θα ήταν LAZY και θα περιείχε έναν πίνακα περιεχομένων ολόκληρου του backup. Το αρνήθηκα. Θα ήταν ένας επιπλέον πλεονασμός σε ένα σύστημα που υποφέρει ήδη από γραμμική ανάπτυξη. Η δομή των αρχειοθετημένων αρχείων είναι ήδη ένας ευρετήριας.
== Ο Αισθητήρας με Δύο Ενεργοποιητές
Η εννοιολογική προσέγγιση ήταν στέρεη, αλλά υπήρχε ένα κενό:**πότε ακριβώς να ενεργοποιηθεί η περιστροφή;**Το αρχικό άρθρο το προσδιόριζε ως ένα ανοιχτό ζήτημα. Δύο ημέρες αργότερα, η απάντηση κωδικοποιήθηκε στα αρχεία διακυβέρνησης έξι έργων: ένας αισθητήρας με δύο πυροδοτητές.
=== Ο Αυτόματος Πυροδοτητής — `N % 10 == 0
Ο πρώτος ενεργοποιητής είναι μαθηματικός. Όταν ο αριθμός της συνεδρίας είναι πολλαπλάσιο του 10 — συνεδρία 10, 20, 30, 40 — η εναλλαγή backup εκτελείται αυτόματα εντός της διαδικασίας λήξης συνεδρίας, αμέσως μετά το βήμα 6.
Γιατί 10; Είναι ο συμβιβασμός μεταξύ δύο αντίθετων δυνάμεων: ένα πολύ μικρό παράθυρο (5 συνεδρίες) χάνει το πλαίσιο που είναι απαραίτητο για τη συνέχεια· ένα πολύ μεγάλο παράθυρο (20 συνεδρίες) δεν λύνει το πρόβλημα του «φουσκώματος» του πλαισίου. Δέκα συνεδρίες, με ρυθμό μίας έως δύο συνεδριών την ημέρα, καλύπτουν περίπου μία εβδομάδα εργασίας — αρκετά ώστε ο πράκτορας να θυμάται τις πρόσφατες αποφάσεις, όχι τόσο ώστε να εκραγεί το πλαίσιο.
=== Ο Πυροδοτητής Ορίου — 500 Γραμμές EAGER
Ο δεύτερος ενεργοποιητής είναι δυναμικός. Ανεξάρτητα από τον αριθμό συνεδρίας, εάν τα συσσωρευμένα αρχεία EAGER υπερβαίνουν**500 γραμμές**, ξεκινά η περιστροφή.
Αυτό το όριο προστατεύει από το σενάριο όπου οι συνεδρίες είναι εξαιρετικά παραγωγικές — πολύ περιεχόμενο που γράφεται σε λίγες συνεδρίες. Μια συνεδρία που παράγει 120 γραμμές συντακτικού περιεχομένου αυξάνει το COMPLETED_TASKS_ARCHIVE πολύ πιο γρήγορα από μια συνεδρία αποσφαλμάτωσης που διορθώνει δύο γραμμές. Το όριο των 500 γραμμών, μετρημένο μέσω`wc -l .agents/INDEX.adoc .agents/archives/COMPLETED_TASKS_ARCHIVE_*.adoc PROMPT_REPRISE.adoc`, καταγράφει αυτή την ασυμμετρία.
=== Ο Χειροκίνητος Ενεργοποιητής — "rotation backup
Τέλος, ο άνθρωπος διατηρεί τον έλεγχο. Οι λέξεις-κλειδιά`rotation backup`, `backup rotation` ou `lance la rotation backup`ενεργοποιούν τη διαδικασία κατόπιν αιτήματος, ανεξάρτητα από το τέλος της συνεδρίας. Χρήσιμο όταν νιώθει κανείς ότι το πλαίσιο γίνεται βαρύ αλλά δεν έχει φτάσει ακόμα σε πολλαπλάσιο του 10, ή όταν θέλει κανείς να αρχειοθετήσει μια φάση εργασίας πριν ξεκινήσει μια νέα.
[plantuml, format=svg, id=diag-capteur-trigger, alt="Les trois déclencheurs du capteur de rotation backup — automatique, seuil, manuel"]
----
@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
skinparam wrapWidth 200
title Backup Αισθητήρα Περιστροφής — Οι Τρεις Πυροδοτητές
start
:Procédure de fin de session;
note right: Mots-clés "τέλος συνεδρίας"\nou "σταματάμε εδώ"
:Étapes 1 à 6\n(archivage standard);
note right
1. Αρχείο συνεδριών/N.adoc
2. ΕΝΗΜΕΡΩΣΗ PROMPT_REPRISE
3. ΕΝΗΜΕΡΩΣΗ SESSIONS_HISTORY
4. ΕΝΗΜΕΡΩΣΗ INDEX.adoc
5. ΕΝΗΜΕΡΩΣΗ TEST_COVERAGE
6. ΕΝΗΜΕΡΩΣΗ COMPLETED_TASKS
end note
if (N % 10 == 0\nOU\nEAGER cumulé > 500 lignes ?) then (oui)
:⚙️ Rotation Backup\n(étape 7);
note right
1. Δημιουργία backup/Y20XX-sessions-X-Y/
2. Πλήρης αντιγραφή INDEX + HISTORY
+ COMPLETED_TASKS + sessions/
3. Περιορισμός ενεργών σε 10 sessions
4. Προσθήκη _Localisation active_
end note
else (non)
:Pas de rotation;
endif
:Checklist [✅] x 7\n(si applicable);
stop
@enduml
----
Αυτό το διάγραμμα δείχνει την ακριβή τοποθέτηση του αισθητήρα στη διαδικασία λήξης συνεδρίας. Το βήμα 7 είναι προαιρετικό — εκτελείται μόνο εάν μία από τις δύο προϋποθέσεις είναι αληθής — αλλά ελέγχεται συστηματικά. Η τελική λίστα ελέγχου περιλαμβάνει`[✅] 7. Backup roté (si applicable)`Παρακαλώ παρέχτε το κείμενο προς μετάφραση.
=== Ο Κλειστός Βρόχος
Αυτός ο αισθητήρας κλείνει τον ανοιχτό βρόχο από το προηγούμενο άρθρο. Η διακυβέρνηση Eager/Lazy είχε λύσει το πρόβλημα της μνήμης του agent μεταξύ δύο συνεδριών. Ο μηχανισμός Hot/Warm/Cold έλυσε το πρόβλημα της μνήμης που μεγαλώνει. Ο αισθητήρας με δύο πυροδοтики λύνει το πρόβλημα του *πότε* — αφαιρώντας από τον άνθρωπο το νοητικό φορτίο της παρακολούθησης του μεγέθους του πλαισίου (context).
[plantuml, format=svg, id=diag-boucle-fermee, alt="Les trois couches de la gouvernance agent — Eager/Lazy, Hot/Warm/Cold, Capteur"]
----
@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
title Τα Τρία Επίπεδα της Διακυβέρνησης του Πράκτορα
left to right direction
package "Επίπεδο 1 — Μνήμη\n(Άρθρο 0108)" as C1 #E8F5E9 {
rectangle "**EAGER**\nΠίνακας ελέγχου\nΑυτόματη φόρτωση" as EAG
rectangle "**LAZY**\nΕγχειρίδιο ιδιοκτήτη\nΦόρτωση κατόπιν αιτήματος" as LAZ
EAG -[hidden]right-> LAZ
}
package "Επίπεδο 2 — Γήρανση\n(Άρθρο 0110)" as C2 #FFF9C4 {
rectangle "**HOT**\n10 ενεργές συνεδρίες\n~300 γραμμές" as HOT
rectangle "**WARM**\nΑναφορές\nΔιαδικασίες" as WRM
rectangle "**COLD**\nbackup/\nΨυχρή φάση" as CLD
HOT -[hidden]right-> WRM
WRM -[hidden]right-> CLD
}
package "Επίπεδο 3 — Ενεργοποιητής\n(Σήμερα)" as C3 #BBDEFB {
rectangle "**Auto**\nN % 10 == 0" as AUTO
rectangle "**Seuil**\n> 500 γραμμές" as SEUIL
rectangle "**Manuel**\nεναλλαγή backup" as MAN
AUTO -[hidden]right-> SEUIL
SEUIL -[hidden]right-> MAN
}
C1 --> C2 : "Η μνήμη μεγαλώνει\n→ απαιτείται ένας μηχανισμός\nγήρανσης"
C2 --> C3 : "Η γήρανση\n→ απαιτείται ένας ενεργοποιητής\nγια την εκτέλεσή της"
note bottom of C3
✅ Αναπτύχθηκε σε 6 projects
magic-stick · bakery-gradle
plantuml-gradle · cheroliv.com
jhipster-gradle-plugins
quizz-benchmark-gradle
end note
@enduml
----
Τα τρία επίπεδα στοιβάζονται λογικά. Το πρώτο δίνει μνήμη στον πράκτορα. Το δεύτερο εμποδίζει αυτή τη μνήμη να πνίξει τον πράκτορα. Το τρίτο αυτοματοποιεί τη συντήρηση αυτής της μνήμης ώστε ο άνθρωπος να μην χρειάζεται να σκεφτεί το θέμα αυτό.
=== Η Οριστική Μεταφορά στο cheroliv.com
Ο μηχανισμός δεν παρέμεινε θεωρητικός. Στον`cheroliv.com`, η πρώτη περιστροφή backup εκτελέστηκε στις 29 Απριλίου 2026 — οι συνεδρίες -6 έως 2 μετέφερθηκαν προς`.agents/backup/Y2026-sessions-neg6-a-002/`Παρακαλώ εισάγετε το κείμενο που επιθυμείτε να μεταφράσετε.
|===
|Αρχείο |Πριν την περιστροφή |Μετά τη περιστροφή |Κέρδος |`.agents/INDEX.adoc` |19 καταχωρημένες συνεδρίες |10 συνεδρίες (3-12) |-9 είσοδοι |`.agents/SESSIONS_HISTORY.adoc` |18 συνεδρίες |10 συνεδρίες |-8 είσοδοι |`COMPLETED_TASKS_ARCHIVE` |161 γραμμές (συνεδρίες 1-12) |135 γραμμές (συνεδρίες 3-12) |-26 γραμμές |`sessions/` |20 αρχεία |10 αρχεία |-10 αρχεία |**αντίγραφο ασφαλείας/** |Μη υφίσταται |1 κύμα ψύχρας (10 αρχειοθετημένες συνεδρίες) |+1 κρύο πακέτο
|===
Το κέρδος σε γραμμές ήταν ταπεινό — το έργο είναι νέο, 12 συνεδρίες — αλλά το σημαντικό είναι ότι το**ο μηχανισμός είναι σε ισχύ**. Η επόμενη αυτόματη εναλλαγή θα ενεργοποιηθεί στη συνεδρία 20, ή νωρίτερα εάν επιτευχθούν οι 500 γραμμές EAGER.
== Το Μάθημα Άνθρωπος-Πράκτορας
Αυτή η συνεδρία 048 με δίδαξε κάτι θεμελιώδες σχετικά με τη συνεργασία με έναν AI agent.
Ο πράκτορας έχει μια φυσική προκατάληψη: προσπαθεί να**βελτιστοποίηση**, à **απλοποίηση**, à **εξάλειψη των πλεονασμών**. Είναι η προκατάληψη ενός συστήματος που έχει εκπαιδευτεί να παράγει καθαρές και συνοπτικές απαντήσεις. Αمام ένα πλούσιο και πολυδιάστατο σύνολο δεδομένων (dataset), το πρώτο του αντανακλαστικό είναι να το μειώσει στην απλουστευμένη του μορφή.
Ο άνθρωπος, από την πλευρά του, έχει μια διαφορετική διαίσθηση: προαισθάνεται ότι η δομημένη πλεονασμία είναι ένας**πλεονέκτημα**, όχι ελάττωμα. Ότι η ποικιλομορφία των οπτικών γωνιών πάνω στην ίδια πραγματικότητα είναι ακριβώς αυτό που θα επιτρέψει, αργότερα, έναν ποιοτικό αποσταγμό.
Δεν είναι ότι ο πράκτορας έχει άδικο. Είναι ότι το δικό του "optimum" δεν είναι το δικό μου. Ο πράκτορας βελτιστοποιεί για το**παρών**— το άμεσο πλαίσιο, η γρήγορη απάντηση στο ερώτημα που τέθηκε. Ο άνθρωπος βελτιστοποιεί για το**μέλλον**— η ικανότητα återεύρεσης, διασταύρωσης, απόσταξης σε τρεις μήνες ή τρία χρόνια.
Παρακαλώ παρέχετε το κείμενο που επιθυμείτε να μεταφράσω. Αυτό που θέλω είναι το ακατέργαστο υλικό. Οι σκέψεις σου, οι διστακτικότητές σου, οι απαντήσεις σου στις ερωτήσεις μου. Όχι τη σύνθεσή σου. Τη σύνθεση, ξέρω να την κάνω καλύτερα από σένα. Θέλω την πρώτη ύλη. Παρακαλώ cung cấp το κείμενο προς μετάφραση.
Αυτή η φράση που του είπα στο τέλος της συνεδρίας τα συνοψίζει όλα. Ο πράκτορας είναι ένα εργαλείο παραγωγής. Ο άνθρωπος είναι το εργαλείο απόσταξης. Η διακυβέρνηση δεν έχει σχεδιαστεί για να καταλάβει ο πράκτορας τα πάντα μόνος του — έχει σχεδιαστεί ώστε ο άνθρωπος να μπορεί, αργότερα, να επεξεργαστεί το παραγόμενο υλικό.
Το ίδιο κρύο κύμα είναι η αρχιτεκτονική μετάφραση αυτής της φιλοσοφίας: δεν πετάμε τίποτα, δεν συγχωνεύουμε τίποτα, δεν επαναευρετηριάζουμε τίποτα. Μετακινούμε το πακέτο ανέπαφο. Η απόσταξη θα έρθει αργότερα, χειροκίνητα, από τον άνθρωπο.
== Η λογική συνέχεια του προηγούμενου άρθρου
Αν έχετε διαβάσειlink:/blog/2026/0108_gouvernance_agent_opencode_eager_lazy_post.html[το άρθρο σχετικά με τη στρατηγική Eager/Lazy], θα αναγνωρίσετε τη φυσική εξέλιξη:
1. **Άρθρο 0108**— Η διακυβέρνηση Eager/Lazy: *πώς* να δομήσετε το πλαίσιο του agent σε δύο επίπεδα διαθεσιμότητας
2. **Αυτό το άρθρο 0110**— Ο μηχανισμός backup: *πώς* να κάνουμε αυτό το πλαίσιο να γερνάσει χωρίς να το χάσουμε όταν γίνει πολύ ογκώδες
Το πρώτο άρθρο απαντούσε στο ερώτημα: «Ο πράκτορας δεν θυμάται τίποτα μεταξύ δύο συνεδριών, πώς να του δώσουμε μνήμη;
Αυτό απαντά στο ερώτημα που προκύπτει αναπόφευκτα από το πρώτο: «Η μνήμη μεγαλώνει σε κάθε συνεδρία, πώς μπορούμε να αποτρέψουμε να πνίξει τον πράκτορα χωρίς να τη διαγράψουμε;
Η απάντηση συνοψίζεται σε ένα pattern :**Ζεστό/Χλιαρό/Κρύο**, εφαρμοσμένο στα αρχεία διακυβέρνησης. Και σε μια αρχή:**ποτέ να μην χάνεις τίποτα, πάντα να επανατοποθετείς παντού**Παρακαλώ παρέχετε το κείμενο που επιθυμείτε να μεταφράσω.
== Σύνδεσμοι
* Προηγούμενο άρθρο:link:/blog/2026/0108_gouvernance_agent_opencode_eager_lazy_post.html[Διακυβέρνηση ενός AI Agent με AsciiDoc]
* Ο ιστότοπός μου: https://cheroliv.com
* Το έργο`magic-stick`: https://github.com/cheroliv/magic-stick
---
Ένα καλό σύστημα διακυβέρνησης δεν διαγράφει ποτέ δεδομένα. Τα αρχειοθετεί.