χρόνος ανάγνωσης : 14 minutes

Για μήνες, έχω σωροποιήσει τους κανόνες διακυβέρνησης agent. Τα αρχεία EAGER, λίστες ελέγχου LAZY, πρωτόκολλα λήξης συνεδρίας σε έξι βήματα. Και ωστόσο, μια ερώτηση έμεινε ανακομμένη: πώςγνωρίζει το LLM τι έχει το δικαίωμα να κάνει με ένα αρχείο ?*

Η απάντηση δεν βρίσκεται σε ένα prompt. Βρίσκεται στο σύστημα αρχείων.

Εδώ είναι η αρχιτεκτονική προδιαγραφή που κάνει την απάντηση εφαρμόσιμη — la πίνακας διακυβέρνησης LLM.

Το πρόβλημα: το Prompt Engineering είναι ένα σπιτάκι από άμμο

Όταν δίνουμε ένα αρχείο σε ένα LLM, του δίνουμε τα πάντα. Το περιεχόμενο, ναι — και η απουσία ασφαλών μέτρων. Ο LLM δεν ξέρει αν αυτό το αρχείο περιέχει ένα μυστικό, μια εποικοδομητική απόψη ή κλειστός κώδικας. Θα το ευρετοδοτήσει, να το συνοψίσετε, να το αναφερθείτε, να το ανακατεύξετε με άλλα δεδομένα — και πιθανώς να το δημοσιεύσει σε ένα δημόσιο embedding ή μια απάντηση χρήστη

Η κλασική παρέλαση, είναι το prompt:

"Tu es un assistant sécurisé. Ne divulgue jamais d'informations confidentielles.
Si tu détectes un secret, ignore-le. Si tu détectes une opinion, ne la répète pas."

Αυτό το prompt έχει τρεις προβλήματα:

  1. Το LLM εξαρτάται από τη καλή θέληση του. Ένας αρκετά μεγάλος μοντέλο για

Η επίλυση των σύνθετων λαθών είναι αρκετά μεγάλη για να παρακάμψει μια εντολή ασφάλειας που βυθίστηκε σε 200k tokens του περιβάλλοντος.

  1. Είναι εξαρτημένο από το πλαίσιο, όχι δομητικό. Αλλάξτε το prompt, αλλάξτε το LLM,

Αλλάξτε τη συνεδρία — και ο κανόνας εξαφανίζεται.

  1. Δεν κλιμακώνει. Κάθε νέος τύπος αρχείου, κάθε νέο επίπεδο

Η διαcretoτητα απαιτεί έναν νέο όρο. Το πρόμπτ σας γίνεται ένα κανονιστικό κείμενο που κανείς δεν το διαβάζει ολοκληρωμένα.

Η ασφάλεια ενός συστήματος δεν πρέπει ποτέ να εξαρτάται από μια εντολή που μπορεί να ξεχάσει, να παρακάμψει, ή να μη φορτώσει. Πρέπει να εξαρτάται από μια εμπόδιο που δεν μπορεί να ξεπεραστεί αν δεν το θέλει ρητά.

Η απάντησή μου: ο πίνακας 4×4

Η λύση που υλοποίησα στον χώρο εργασίας μου είναι μια ζώνη × πίνακας δικαίωμα πρόσβασης LLM**. δεν ζητάει από το LLM να είναι προσεκτικό. το κάνει η δομικά αδύνατη ανοιδότητα

@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
skinparam wrapWidth 220

title La Matrice de Gouvernance LLM — Zone × Droit d'Accès

package "Workspace" {

  rectangle "RACINE\n(Cercle 0)\n━━━━━━\nBrain dump\nPensée libre\n[INTERDIT LLM]" as Z0 #FFB3B3
  rectangle "configuration/\n(Cercle 1)\n━━━━━━\nSecrets, tokens\nInfra privée\n[INTERDIT LLM]" as Z1 #FFB3B3
  rectangle "office/\n(Cercle 2)\n━━━━━━\nData éditoriale\nArticles, cadrages\n[FILTRÉ Vision]" as Z2 #FFF3B3
  rectangle "foundry/private/\n(Cercle 3)\n━━━━━━\nCode closed source\n[DATASET PRIVÉ]" as Z3 #B3D9FF
  rectangle "foundry/public/\n(Cercle 3)\n━━━━━━\nCode open source\nApache 2.0\n[ACCÈS LIBRE]" as Z4 #B3FFB3

}

Z0 -[hidden]-> Z1
Z1 -[hidden]-> Z2
Z2 -[hidden]-> Z3
Z3 -[hidden]-> Z4

@enduml

Οι Πέντε Ζώνες (Χωρική διάσταση — ΓΚΠΔ)

Κάθε περιοχή του workspace έχει ένα επίπεδο GDPR που καθορίζει πού το αρχείο μπορεί να δρομολογηθεί :

Ζώνη Επίπεδο ΓΚΠΔ Περιεχόμενο Δημόσιο δικαίωμα πρόσβασης RAG

ρίζα

0 — Εσωτερικό

επιδόματα εγκεφάλου, συνομιλίες LLM

Απαγορεύεται— ποτέ μη ευρετηριάστηκε

configuration/

1 — Περιορισμένος ιδιοκτήτης

Μυστικά, tokens, κλειδιά API

ΑΠΑΓΟΡΕΥΤΑΙ— ποτέ δεν έχει καταλογευθεί

office/

2 — Περιορισμένο συνεργατικό

δεδομένα επεξεργασίας, καдриσμός, εκπαιδεύσεις

φιλτράρισμένο— Μόνη όραση

foundry/private/

3 — Ύnoiγμα υπό συνθήκη

Κώδικας κλειστός, SaaS μη δημόσιο

ΑΠΑΓΟΡΕΥΕΤΑΙ— dataset ιδιωτικό αποκλειστικά

foundry/public/

4 — Εγγενές κοινό

Κώδικας Apache 2.0, plugins δημοσιευμένοι

ΕΛΕΥΘΕΡΟΣ— πλήρης ευρετηρίαση

Ο κανόνας είναι απλός : το διαδρομή του αρχείου καθορίζει τι μπορεί να κάνει το LLM με αυτό. Δεν υπάρχει metadata που πρέπει να διατηρηθεί, δεν υπάρχει ετικέτα που πρέπει να προστεθεί στο frontmatter, Δεν υπάρχει μη αυτόματη ταξινόμηση σε κάθε υποβολή. Το αρχείο βρίσκεται στο`OSS/? Είναι δημόσιο. Είναι στο`configuration/? Είναι άδαπτος.

Η Επιστημονική Ταξινόμηση (Δεύτερη Διάσταση)

Η χωρική διάσταση λέει πού να διαδρομοθετεί. Άlla υπάρχει ένας δεύτερος άξονος, κάθετος : τι router. Μερικά αρχεία σε μια εξουσιοδοτημένη περιοχή περιέχουν πληροφορίες που δεν πρέπει ναδιαλυθούν όπως είναι:

@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
skinparam wrapWidth 240

title La Double Cascade — Filtre Spatial + Filtre Épistémique

start

:Le LLM rencontre un fichier;

if (Zone physique ?) then (Cercle 0-1)
  :ACCÈS BLOQUÉ\n(secret, brain dump);
  stop
elseif (Zone CSS/)
  :DROIT D'ACCÈS PRIVÉ\n→ dataset fine-tuning;
  :Filtre épistémique\nVision/Opinion;
  if (Classification ?) then (VISION)
    :Dataset privé\n→ entraînement autorisé;
  else (OPINION)
    :CONFINÉ\n→ pas d'entraînement;
  endif
elseif (Zone office/)
  :DROIT D'ACCÈS FILTRÉ\n→ accès conditionnel;
  :Filtre épistémique\nVision/Opinion/Stratégie;
  if (Classification ?) then (VISION)
    :DILUTION COMPLÈTE\n→ docs racine + blog;
  elseif (STRATÉGIE)
    :DILUTION RESTREINTE\n→ docs racine seulement;
  else (OPINION)
    :CONFINEMENT\n→ office/ uniquement;
  endif
else (Zone OSS/)
  :ACCÈS LIBRE\n→ indexation complète;
endif

stop

@enduml

Το επιιστημολογικό πλέγμα ταξινόμησης, εγγεγραμμένο στον Κανόνα 2bis της κυβέρνησης μου πρακτόρας :

| Κατάσταση | Ορισμός | Σήμα LLM | Προορισμός | | VISION | σταθεροποιημένη αρχιτεκτονική, δοκιμασμένο μοτίβο | δηλωτική γλώσσα, αναφορές συνεδριών/δοκιμάσεων | πλήρης διάλυση + Blog | | ΣΤΡΑΤΗΓΙΚΗ | Τοποθέτηση επιχείρησης, τιμολόγηση | Λεξιλόγιο αγοράς, ανταγωνισμού | Έγγραφα ρίζας μόνο | | OPINION | Σπεκουλτασμός, μη επιβεβαιωμένη υπόθεση | Υποθετική γλώσσα, ενυπόνοια | Περιορισμός Κύκλος 0 |

Η συνδυαστική των δύο διαστάσεων — φυσική ζώνη × επιστημονική ταξινόμηση — σχηματίζει τηνπλήρης πίνακας :

@startuml
skinparam backgroundColor #FEFEFE

title La Matrice Complète — Zone × Classification

salt
{
{T
+ Zone | VISION | STRATÉGIE | OPINION
+ Racine (0) | ✗ Interdit | ✗ Interdit | ✗ Interdit
+ configuration/ (1) | ✗ Interdit | ✗ Interdit | ✗ Interdit
+ office/ (2) | ✓ Docs + Blog | ✓ Docs seulement | ✗ Confiné
+ CSS/ (3) | ✓ Dataset privé | ✓ Dataset privé | ✗ Confiné
+ OSS/ (4) | ✓ Public libre | ✓ Public libre | ✓ Public libre
}
}

@enduml

Πώς ο LLM καταναλώνει αυτή τη μήτρα

Η μήτρα δεν είναι ένα έγγραφο που διαβάζει το LLM. Είναι μια περιορισμός απόκρυφη κωδικοποιημένη στο σύνθετο διανύσμα περιβάλλοντος (EPIC 9 — σε εξέλιξη της υλοποίησης).

Αυτό είναι αυτό που το LLM λαμβάνει σε κάθε συνεδρία:

VECTEUR COMPOSITE DE CONTEXTE
├── RAG pgvector → OSS/ + office/Vision
│   (similarité sémantique sur contenu publiable)
├── Knowledge Graph graphify → OSS/
│   (relations exactes entre artéfacts publics)
├── Knowledge Graph privé → CSS/
│   (relations entre code closed source — jamais exporté)
├── Métadonnées de zone → chaque fichier taggé par zone physique
│   (le LLM sait s'il est dans office/ ou OSS/)
└── Historique des décisions → WORKSPACE_VISION.adoc
    (contexte temporel des arbitrages)

Συγκεκριμένα, όταν το LLM μου λέει :

Je vais indexer le contenu de edster/ pour enrichir le knowledge graph...

Το μεταδεδομένο περιοχής απαντά ακόμη και πριν το LLM τελειώσει την πρόταση του: edster/`είναι σε`CSS/, επίπεδο 3 →απαγορευμένη πρόσβαση στο knowledge graph δημόσιο. Το RAG δεν το βλέπει. Ο γράφος δεν το αγγίζει. Η απάντηση του χρήστη ne δεν το αναφέρει

Η χωρική οντολογία λειτουργεί ως μιαδικαίωμα Unixγια τα LLM. Δεν ζητάτε από μια διαδικασία να είναι προσεκτική με`/etc/shadow`— Απορρίζετε τη πρόσβαση του/της για ανάγνωση. Η ίδια αρχή.

Υλοποίηση: Τυπωμένες εργασίες Gradle

Η μήτρα δεν είναι μια φιλοσοφία. Είναι κώδικας. Εδώ είναι το συμβόλαιο της εργασίας. Gradle που το υλοποιεί :

abstract class ZoneAwareIndexer @Inject constructor(
    private val rootDir: DirectoryProperty,
    private val configServer: ConfigServerProperty  // → configuration/
) : DefaultTask() {

    @Input
    val zoneFilter: SetProperty<Zone> = project.objects.setProperty(Zone::class.java)

    @OutputFile
    val ragIndex: RegularFileProperty = project.objects.fileProperty()

    @TaskAction
    fun index() {
        val allowedPaths = zoneFilter.get().flatMap { it.resolve(rootDir.get()) }
        val forbiddenPaths = Zone.RESTRICTED.resolve(rootDir.get())
                            + Zone.INTIMATE.resolve(rootDir.get())
        // Le RAG ne voit jamais configuration/ ni la racine
        // CSS/ alimente un index privé, pas celui-ci
        // office/ est filtré par le classifieur Vision/Opinion
    }
}

enum class Zone {
    INTIMATE,      // Cercle 0 — racine
    RESTRICTED,    // Cercle 1 — configuration/
    EDITORIAL,     // Cercle 2 — office/
    CLOSED_SOURCE, // Cercle 3 — foundry/private/
    OPEN_SOURCE    // Cercle 3 — foundry/public/
}

Η εργασία είναι testable. Μπορείτε να γράψετε ένα test που έλεγει:

@Test
fun `le RAG n'indexe jamais configuration`() {
    val index = ZoneAwareIndexer(rootDir, configServer)
    index.zoneFilter.set(setOf(Zone.OPEN_SOURCE, Zone.EDITORIAL))
    index.index()

    assertThat(index.ragIndex).doesNotContain("configuration/")
}

@Test
fun `le code closed source est exclu du RAG public`() {
    val index = ZoneAwareIndexer(rootDir, configServer)
    index.zoneFilter.set(setOf(Zone.OPEN_SOURCE))  // OSS only

    assertThat(index.ragIndex).doesNotContain("edster")
}

380 tests, 380 PASS. Ως με το plantuml-gradle — η ασφάλεια ελέγχεται, μη αναμενόμενο.

Γιατί είναι ένα Μανιφέστο, όχι απλώς μια προδιαγραφή

Αυτό το έγγραφο είναι μια αρχιτεκτονική προδιαγραφή επειδή ορίζει :

  • μερικάδιαστάσεις(χωρική, επιστημονική)

  • μερικοίκανόνες Dioριστικοί(ζώνη → δικαίωμα πρόσβασης)

  • Un συμβάσει εργασιώδους(Gradle τυπωμένο, δοκιμάσιμο)

  • Μιαυλοποίηση αναφοράς(ο χώρος εργασίας μου)

Αλλά είναι και έναπρόδηλοςαυτός εκφράζει τη θέση του σε ένα διάλογο πιο ευρύ: πώς να κυβερνήσουμε την πρόσβαση ενός LLM στα δεδομένα;

Η απάντηση της βιομηχανίας είναι το prompt engineering + τα guardrails
Οι ταξιμητές post-hoc. Η απάντησή μου είναι: Ταξινομήστε τα αρχεία σας σε οι σωστοί αρχεία.** Το υπόλοιπο είναι αυτόματο.

Το manifestο δεν λέει "Τα LLM πρέπει να είναι συμφωνισμένα". Το λέει: "η σύμφωνια". Ένας LLM σχετικά με τους κανόνες ασφαλείας σας είναι μια συνέπεια του συστήματος σας αρχεία, όχι το προτύπο σας.

Η Ολοκληρωμένη Cascade — από το Brain Dump έως το άρθρο blog

Για να απεικονίσω τον πλήρη κύκλο, εδώ είναι πώς γεννήθηκε αυτή η ιδέα του πίνακα. και διαλύθηκε :

Session 4 mai 2026 — Feedback global du workspace
  │
  ├→ Le LLM identifie : "la dualité public/privé est invisible"
  │   → Classifié VISION (constat architectural vérifiable)
  │
  ├→ PICTURE_ME_ROLLIN_MATRICE_4X4.adoc — STIMULUS (Cercle 0)
  │   → Brain dump structuré, classification VISION confirmée
  │
  ├→ DILUTION → WORKSPACE_AS_PRODUCT.adoc (section Matrice 4×4)
  │   → La spec vit dans les documents racine
  │
  ├→ DILUTION → WORKSPACE_ORGANIZATION.adoc (OSS/CSS)
  │   → La granularisation est documentée
  │
  └→ ARTICLE 0117 (ce document) → cheroliv.com
      → La VISION est publiée

Το που ξεκίνησε ως μια παρατήρηση στη συνεδρία ("Εhey, το RAG δεν ξέρει) ότι το edster είναι κλειστός κώδικας") γίνεται μια αρχιτεκτονική προδιαγραφή Δημοσιεύτηκε σε λιγότερο από μία συνεδρία. Είναι το πρότυπο STIMULUS σε δράση.

Προ/Κατά

Αυτή η προσέγγιση (χωρική οντιολογία + ματρίδα) Η Κλασική Προσέγγιση (Prompt + Guardrails)

μηχανική — το σύστημα αρχείων εμποδίζει τη πρόσβαση, όχι το LLM

Δηλωτική — το προαιτίο ζητά από το LLM να είναι προσεκτικό

Testable — το Gradle task contract επαιληθεύεται από 380+ τεστ

Μη δυνατόν δοκιμασίας — "Το LLM τηρεί τον κανόνα;" είναι μια ανοιχτή ερώτηση

Ανεξάρτητη του LLM — αλλάξτε μοντέλο, οι φάκελοι παραμένουν

Εξαρτημένη από το LLM — κάθε μοντέλο ερμηνεύει το prompt διαφορετικά

Scalable—νέος τύπος δεδομένων=νέος φάκελος, μηδενική αλλαγή κώδικα

μη κλιμακώσιμος — νέος τύπος δεδομένων = νέα πρόταση προτροπής, νέος κίνδυνος επαναγωγής

Aυδοί — το σύστημα αρχείων είναι η διαδρομή ελέγχου

Non auditable — το prompt δεν έχει ιστορικό, δεν έχει diff, δεν έχει blame

Contrainte : απαιτεί αρχική οργανωτική διάταξη

Περιορισμός : απαιτεί επιμελεία στη σύνταξη των prompt σε κάθε συνεδρία.

Συμπέρασμα : Ταξινομήστε τα αρχεία σας, όχι τα πρό롬πτ σας

Ο πίνακας διακυβέρνησης LLM που μόλις περιέγραψα δεν είναι ένα προϊόν. Είναι μιαδιατύπωση αρχιτεκτονικής— και γιαυτό είναι δημοσιεύσιμος

Τι την κάνει ισχυρή είναι το ότι δεν ζητάει τίποτα από το LLM. αυτή δεν του Δεν εμπιστεύεται. Δεν βασίζεται στην ευθυγράμμιση της, στην κατανόησή της. από τα γαλλικά, ή η καλή της διάθεσή της. Βασίζεται στο σύστημα αρχείων — το πιο χαμηλότερο επίπεδο, το πιο σταθερό, το πιο δοκιμασμένο της ολόκληρης στοίβας.

Όταν λέγω στο LLM μου "μπορείς να ευρετηριοποιήσεις όλα σε`OSS/τίποτα στο `configuration/, et `office/`μόνο αν είναι ταξινομημένο ως Vision— Δεν είναι μια εντολή. Ένα φίλτρο — υλοποιημένο σε Kotlin, ελεγχθεί από 380 τεστ, εκτελεσμένο πριν το LLM δει τα δεδομένα.

Αυτό είναι η διαφορά μεταξύ του να πεις σε κάποιον "Μην κοιτάξεις σε αυτό το σκαλοπάτι και κλείστε το συρτάρι με κλειδί. Η πράκτορ διακυβέρνησης που φτιάχνω από Οι μήνες είναι το κλειδί. Η μήτρα είναι το σχέδιο του έπιπλου.

Σχετικά άρθρα