La Matrice de Gouvernance LLM — Pourquoi la Sécurité de Votre IA Commence par l'Arborescence
Δημοσιεύτηκε 04 May 2026
- Το πρόβλημα: το Prompt Engineering είναι ένα σπιτάκι από άμμο
- Η απάντησή μου: ο πίνακας 4×4
- Πώς ο LLM καταναλώνει αυτή τη μήτρα
- Υλοποίηση: Τυπωμένες εργασίες Gradle
- Γιατί είναι ένα Μανιφέστο, όχι απλώς μια προδιαγραφή
- Η Ολοκληρωμένη Cascade — από το Brain Dump έως το άρθρο blog
- Προ/Κατά
- Συμπέρασμα : Ταξινομήστε τα αρχεία σας, όχι τα πρό롬πτ σας
- Αναφορές
Για μήνες, έχω σωροποιήσει τους κανόνες διακυβέρνησης 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 έχει τρεις προβλήματα:
-
Το LLM εξαρτάται από τη καλή θέληση του. Ένας αρκετά μεγάλος μοντέλο για
Η επίλυση των σύνθετων λαθών είναι αρκετά μεγάλη για να παρακάμψει μια εντολή ασφάλειας που βυθίστηκε σε 200k tokens του περιβάλλοντος.
-
Είναι εξαρτημένο από το πλαίσιο, όχι δομητικό. Αλλάξτε το prompt, αλλάξτε το LLM,
Αλλάξτε τη συνεδρία — και ο κανόνας εξαφανίζεται.
-
Δεν κλιμακώνει. Κάθε νέος τύπος αρχείου, κάθε νέο επίπεδο
Η δια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 |
Απαγορεύεται— ποτέ μη ευρετηριάστηκε |
|
1 — Περιορισμένος ιδιοκτήτης |
Μυστικά, tokens, κλειδιά API |
ΑΠΑΓΟΡΕΥΤΑΙ— ποτέ δεν έχει καταλογευθεί |
|
2 — Περιορισμένο συνεργατικό |
δεδομένα επεξεργασίας, καдриσμός, εκπαιδεύσεις |
φιλτράρισμένο— Μόνη όραση |
|
3 — Ύnoiγμα υπό συνθήκη |
Κώδικας κλειστός, SaaS μη δημόσιο |
ΑΠΑΓΟΡΕΥΕΤΑΙ— dataset ιδιωτικό αποκλειστικά |
|
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 δει τα δεδομένα.
Αυτό είναι η διαφορά μεταξύ του να πεις σε κάποιον "Μην κοιτάξεις σε αυτό το σκαλοπάτι και κλείστε το συρτάρι με κλειδί. Η πράκτορ διακυβέρνησης που φτιάχνω από Οι μήνες είναι το κλειδί. Η μήτρα είναι το σχέδιο του έπιπλου.