COGNITION AGENT
Réflexes Dérivés
Un réflexe dérivé n'est pas une règle — c'est la séquence d'actions qui émerge inévitablement quand un agent tient simultanément les bonnes croyances atomiques.
Croyances, Atomes et le Pipe
Une croyance exprimée en une seule phrase en langue naturelle est un paquet. Elle compresse environ six croyances atomiques distinctes — des propositions qui doivent être dépaquetées individuellement en notation d'algèbre des ensembles : relations entre ensembles et logique des prédicats. Ce dépaquetage n'est pas une interprétation ; c'est un développement déterministe de ce que la phrase affirme déjà.
Un réflexe n'est pas une croyance. C'est la séquence d'actions qui est forcée d'exister quand toutes les croyances atomiques sont tenues simultanément. Il est dérivé par composition — jamais écrit comme règle séparée, jamais maintenu comme un gate explicite. L'opérateur pipe → est fonctionnel : la sortie de l'étape n est la seule entrée de l'étape n+1. Aucune variable globale ne traverse les frontières d'étape.
Le modèle des niveaux logiques de Dilts situe les croyances au niveau 4 (Croyances/Valeurs). Les réflexes vivent aux niveaux 2–3 (Comportement / Capacité). Le niveau supérieur gouverne le niveau inférieur : une croyance correctement formulée au niveau 4 rend le réflexe au niveau 2 automatique. C'est le principe inné > déclenché — un réflexe émergent n'a besoin d'aucune condition de déclenchement écrite séparément.
Les anti-croyances — propositions de la forme X ∉ Y — n'exigent aucune prohibition explicite. Si Corr_valides ⊆ Archi et Patch ∉ Archi, alors Patch ∉ Corr_valides est déduit par contenance ensembliste. L'exclusion est logiquement impliquée, pas manuellement appliquée. C'est pourquoi la correction au niveau des croyances est plus robuste que la correction au niveau des gates : on peut contourner un gate ; on ne peut pas contourner une déduction.
Chiffres clés : ≈6 croyances atomiques par croyance en langue naturelle · la dérivation mappe le niveau 4 → niveaux 2–3 · 0 gate séparé à écrire dès lors que les croyances sont bien formulées.
Maximes : Débogage et Opérations
Trois maximes d'ingénierie pour les domaines ops et débogage. Chacune est accompagnée de sa décomposition formelle pour que la dérivation soit visible, pas simplement affirmée.
Soit
Ple problèmeobs(P)ce qui est observéSym(P)ensemble des symptômesRC(P)cause(s) racine(s)Corrpartitionné enPatchetArchi, oùPatch ∩ Archi = ∅
Croyances atomiques
- C₁
obs(P) ⊊ Pl'observation est strictement plus petite que le problème entier - C₂
obs(P) ⊆ Sym(P) - C₃
|Sym(P)| ≥ 1souvent > 1 - C₄
∃ RC(P) tel que Sym(P) ⊆ effets(RC(P)) - C̄₅
Patch ∉ Corr_validesanti-croyance - C₆
Corr_valides ⊆ Archi
obs(P) → enumerer(Sym(P)) → find(RC(P)) → architect(Corr(P))
obs(P) → patch(obs(P)) — voir un symptôme et le patcher est un contournement, pas une correction.
Croyances
Ggate ou scannerexit(G) ≡ ranOKexit 0 signifie « s'est exécuté sans crash », pas « rien trouvé »verdict(G) ⊥ exit(G)le verdict est orthogonal au code de sortiefound(G) ≠ ∅ ⇏ exit(G)=brokenanti-croyanceverdict(G) ∈ report(G)
run(G) → exit := ranOK → write(verdict→report) → gate lit le rapport
found ≠ ∅ → exit ≠ 0 → set -e court-circuite le pipeline — le CI n'atteint jamais le rapport, les findings sont perdus.
Soit
Hhypothèse de hangwfenêtre d'observationDdurée attendue de la tâche
Croyances atomiques
- C₁
obs(w) avec w ≪ D ⊄ preuve(H)une fenêtre trop courte ne constitue pas une preuve - C₂
silence(w) ⊆ {hang, travail-en-cours}le silence est ambigu - C₃
|causes(silence)| > 1futex_wait + zéro IO ≠ deadlock
suspect(hang) → poser w := D → mesurer(w) → conclure
obs(1s) → conclure(hang) — une seconde d'absence de sortie n'est pas un hang.
Maximes : Sécurité, Concurrence et Agents de Correction
Croyances
Ientréetrust(I) = ⊥par défautvalid(I) ⇒ trust(I)seule une validation explicite élève la confianceI ∉ trusted ⇒ I ∉ {query, exec, render}anti-croyance
receive(I) → validate → sanitize → use
receive(I) → use(I) — traiter l'arrivée comme une autorisation.
Croyances
Sétat partagéreport(success) ⊊ vérité(S)le rapport de succès est un sous-ensemble propre de la vérité terrain∃ mutateurs concurrentsS peut dériver entre le push et la prochaine lecture — d'autres sessions, un auto-merge ou la CI peuvent muter S en cours de tâche
push → relire(canonical(S)) → asserter → continuer
push → faire confiance au rapport → continuer — agir sur un snapshot possiblement déjà périmé.
Croyances
Tfichier cibleFcorrectif- l'existence de
Test une précondition pourapply(F) ¬exists(T) ⇒ apply(F)est invalide — corriger une cible absente revient à annuler silencieusement une décision stratégique
receive(F) → asserter exists(T) → sinon escalader → apply(F)
receive(F) → apply(F) — recréer un fichier délibérément supprimé.
Maximes : Refactoring, Tests et Dépendances
Soit
Aabstractionuses(A)ensemble des sites d'usage
Croyances atomiques
- C₁
|uses(A)| ≥ 3 ⇒ A justifiéetrois usages indépendants valident que l'abstraction a une frontière stable - C̄₂
|uses(A)| < 3 ⇒ A ∉ justifiéele coût de couplage dépasse le bénéfice en deçà de trois usages
pattern répété → count(uses) → si ≥ 3 abstraire → sinon dupliquer
pattern vu 2× → abstraire immédiatement — couplage prématuré avant que la frontière soit connue.
Croyances
Ccode¬tested(C) ⇒ correct(C) inconnu« ça compile » ∉ preuve(correct)anti-croyance|paths(C)| > 1dans toute fonction non triviale
write(C) → enumerer(paths) → couvrir → vert
write(C) → livrer — la compilation n'est pas la correction.
Croyances
Ddépendancecoût(D) = {surface d'attaque, mises à jour obligatoires, exposition CVE, graphe transitif}- ajouter
Dsans condition incrémente cette dette - « c'est gratuit » est faux pour toute clôture transitive non vide
besoin → chercher(stdlib) → sinon évaluer coût(D) → épingler → justifier
besoin → installer immédiatement — traiter la commodité comme un coût nul.
La Méta-Maxime : Corriger au Bon Niveau Logique
Soit
Lniveau logique courantfix@Lcorrection appliquée au niveau L
Croyances atomiques
- C₁
problème récurrent @L ⇒ cause probable @L+1la récurrence à un niveau pointe vers une faute structurelle au niveau supérieur - C̄₂
fix@L sur une cause @L+1 = palliatifle symptôme revient car la cause est intacte
récurrence@L → monter(L+1) → fix@L+1
récurrence@L → re-fix@L — une saga de cinquante commits sur trente-six heures, tous au niveau tactique, ne ferme jamais une dette structurelle. La boucle continue jusqu'à ce que quelqu'un monte d'un niveau.
C'est le principe de clôture du cadre. Il s'applique à chacune des autres maximes. Quand un réflexe continue d'échouer, la faute n'est pas dans le réflexe — elle est dans les croyances au niveau 4. La bonne action est de reformuler la croyance un niveau au-dessus, puis de re-dériver le réflexe. Le réflexe est en aval ; la croyance est la racine.
Quand un réflexe déraille de façon répétée : ne pas déboguer le réflexe. Auditer les croyances. Trouver l'atome manquant, imprécis ou au mauvais niveau. Le reformuler. Le réflexe correct suit. récurrence@L → monter(L+1) → fix@L+1.
La Grammaire de la Dérivation
La dérivation est mécanique, pas interprétative. Chaque forme logique d'une croyance atomique se traduit en un type d'étape précis dans le réflexe. La table est la grammaire.
L'algorithme de dérivation en quatre étapes applique cette grammaire à tout ensemble de croyances :
- Ordonner les croyances atomiques par dépendance de données —
obs(·)d'abord,act(·)en dernier. La séquence se lit de l'observation vers l'action. - Traduire chaque croyance en étape selon la grammaire ci-dessus :
⊆/⊊→ transformation · anti (∉) → garde ·∃/∀→ recherche ou couverture ·|·| > 1→ boucle d'énumération. - Chaîner les étapes avec
→. La sortie d'une étape est l'entrée de la suivante. Pas de variable globale. - Nommer le réflexe naïf — le court-circuit direct
obs → act— pour rendre l'écart visible et la dérive consciente.
Ancrage taxonomique : ce modèle alimente directement la taxonomie d'entités du Cortex — Belief | Value | Principle | Sentiment. Les croyances vivent au niveau 4 et sont stockées comme entités de premier rang. Les réflexes vivent aux niveaux 2–3 et ne sont jamais stockés comme entités indépendantes — ils sont dérivés à la demande depuis le graphe de croyances. Confondre les deux est l'erreur de catégorie originelle que ce cadre existe pour prévenir.
Ce que ça Démontre
Cinq résultats issus de l'analyse de neuf maximes d'ingénierie couvrant six domaines :
- Une croyance en langue naturelle ≈ 6 croyances atomiques. Le langage parlé compresse un contenu sémantique qui doit être explicitement dépaquété avant de pouvoir dériver un réflexe correct. La compression n'est pas un défaut — c'est la raison pour laquelle la dérivation est nécessaire.
- La décomposition fait émerger les anti-croyances automatiquement. Les propositions de la forme
X ∉ Yne s'écrivent pas comme des interdictions ; elles découlent de la contenance ensembliste. L'exclusion est logiquement entaillée, pas manuellement gardée — ce qui la rend robuste face à la suppression des gardes. - Le réflexe émerge des croyances par composition. Aucun gate séparé, aucune règle séparée, aucune condition de déclenchement séparée n'a besoin d'être écrite. Le pipe est le réflexe. Inné > déclenché.
- Des croyances correctes au niveau 4 sont plus robustes que des gardes aux niveaux 2–3. Un gate peut être contourné. Une déduction ne peut pas l'être. Formuler correctement la croyance est l'investissement amont qui élimine le patchage aval.
- Les réflexes ne sont jamais stockés comme entités indépendantes. Dans la taxonomie Cortex, les réflexes sont dérivés à la demande depuis le graphe de croyances. Stocker un réflexe indépendamment le découplerait de ses croyances, le rendant invérifiable et non maintenable.
L'implication pratique : quand un réflexe déraille, ne pas déboguer le réflexe. Auditer les croyances. Trouver l'atome manquant, imprécis ou au mauvais niveau. Le reformuler. Le réflexe correct suit.