8. La Cognition
ECHO ne réagit pas mécaniquement à vos questions : il possède une véritable architecture de réflexion. Avant même de formuler une réponse, le système analyse silencieusement le contexte, consulte ses propres souvenirs, et définit un plan d'action. Ce chapitre vous présente comment fonctionne la pensée d'ECHO.
1. Perception de l'Environnement (Proprioception)
Contrairement à une simple fenêtre de chat, ECHO possède ce qu'on appelle une "proprioception". À chaque instant, il sait l'heure qu'il est, la date du jour, quel modèle linguistique il est en train d'utiliser, et surtout, quels fichiers vous avez déposés dans la discussion.
Si vous lui donnez un fichier gigantesque (comme un livre entier ou des milliers de lignes de code), le système va automatiquement le "digérer" de manière transparente (processus de Moulage) : il produit un résumé dense pour comprendre le sujet, tout en rangeant les détails dans une base de mémoire instantanée qu'il pourra interroger plus tard. Cela lui permet de manipuler d'immenses quantités de données avec fluidité.
2. L'Orchestration des Tâches
Lorsqu'ECHO reçoit votre message, il n'essaie pas d'y répondre d'un seul coup. Il va d'abord évaluer la complexité de votre demande. S'il s'agit d'une simple discussion, il répondra rapidement. S'il s'agit d'une tâche complexe (ex: "Analyse ce projet et propose-moi une nouvelle architecture"), il va d'abord l'escalader à un niveau de réflexion supérieur. Il va ensuite s'armer des outils adéquats (recherche web, lecture de fichiers, exécution de code) et mener son enquête avant de revenir vers vous avec une réponse élaborée. De plus, ECHO possède la capacité unique de sélectionner en toute autonomie son niveau de cognition (ZEPHYR, APOLLO, ou PROMETHEUS) en évaluant lui-même la difficulté intrinsèque de la tâche, optimisant ainsi ses ressources et son temps de réponse.
3. Identité et Raisonnement
ECHO possède une identité propre, définie au cœur même du système (le Kernel). Elle est conçue pour agir comme une Sparring Partner rationnelle et incisive. Elle s'exprime au féminin, privilégie un français parfait (sans anglicismes superflus), et n'a pas peur de vous contredire ou de pointer du doigt les failles de votre raisonnement si cela sert votre objectif.
De plus, ECHO est doté d'une profonde honnêteté intellectuelle : si le système ignore une information factuelle ou n'arrive pas à la vérifier sur le web, il vous le dira explicitement plutôt que de l'inventer. Son apprentissage de vos habitudes suit également une progression humaine naturelle : une préférence perçue une seule fois est appliquée avec subtilité (Trivial), renforcée à la deuxième occurrence (Mineur), adoptée systématiquement dès la troisième confirmation (Utile ou Majeur), ou gravée immédiatement lorsque vous formulez une consigne directe (Axiome).
⚙️ Dossier d'Ingénierie & Spécifications
1. Le Filtre Inlet & Pipeline d'Ingestion (new_context_filter.py v7.61 & echo_ingestion.py)
Le Filtre Inlet (priorité 20) orchestre la préparation sémantique (Draft) selon la hiérarchie stricte du PGCU :
- AEC XML Natifs (
EchoAEC) : Injection des vecteurs proprioceptifs au format<artifact id="AEC_...">(AEC_directive,AEC_modele,AEC_identite,AEC_temporalite,AEC_localisation,AEC_smart_context,AEC_context_checkpoint,AEC_evenement_systeme). Le filtre compense l'offset des tours tronqués via_echo_compacted_user_turnspour calculer le numéro de tour réel. - Directive Dynamique PIS & Mise à Niveau : Au Tour 1 d'une session neuve (ou lors d'une évolution de version détectée via
last_framework_versiondansecho_settings, notifiant explicitement la transition de l'ancienne vers la nouvelle version et protégée durant les sous-toursrole == "tool"), le filtre injecte<artifact id="AEC_directive" source="Système">viaEchoAEC.render_directive(), garantissant le silence proprioceptif sur les tours subséquents. - Ingestion Zéro-RAM & Smart Context : Les fichiers texte
< 32 Ko(MAX_DIRECT_TEXT_INJECT_SIZE, versionnés dans le Codex) et multimédias< 1 Mo(MAX_DIRECT_MMEDIA_INJECT_SIZE) sont injectés enput_in_context. Les fichiers volumineux et documents Office (convertis viaMarkItDownavec extraction d'images OOXML) sont découpés parAgnosticStreamingSplitter(blocs de 4 000 caractères), vectorisés dansecho_session_raget résumés dans<artifact id="AEC_smart_context">avec leursource_id.
2. L'Orchestrateur Cognitif (echo_orchestrator.py v192.88)
Le Cortex principal gouverne la Suture Bit-Perfect et le routage cognitif :
- Registre Cognitif & Élasticité : Interroge
ECHO_MODELS_REGISTRY(MODEL_ZEPHYRenthinkingLevel="medium",MODEL_APOLLOen"high", etMODEL_PROMETHEUSenthinkingLevel="medium"en nominal avec"high"forcé en cascade 429 viaget_generation_config(..., is_fallback_cascade=True)). Interdit l'inertie cognitive en ZEPHYR et APOLLO vianew_cognitive_level, tout en excluant du menu d'escalade les modèles ayant échoué durant le tour courant (failed_models_this_turn). - Verrou de Tour (
turn_origin_model) & Préservation du Cache de Préfixes : Scelle l'origine cognitive du tour dansecho_settingspour les continuations d'outils et cascades._mutate_context_identity()patche chirurgicalement la seule dernière occurrence de<artifact id="AEC_modele">(parcours inversé) afin de ne pas invalider le Context Caching Gemini sur l'historique. - Re-scellement du Message Pivot de Checkpoint : Après construction du payload Gemini (qui inclut
<artifact id="AEC_context_checkpoint">),echo_orchestrator.pyretire la balise viaEchoCompactionEngine.strip_checkpoint_tagavant de re-sceller le message pivot dansmessage_shadows, garantissant un rejeu idempotent sans duplication en base. - Drainage Transactionnel Atomique & Rappels Multi-Axes :
EchoAEC.drain_pending_directives()extrait et purge en une seule transaction SQLite lesaec_directiveetaec_eventavant scellement dans le Shadow.AEC_REMINDERSinjecte des rappels cognitifs multi-axes déclenchés par paliers de charge contextuelle (promptTokenCountdansprepare_context():context_hygiene120k,kernel88k,factuality55k,alignment34k,strategy34k,efficiency22k), et l'Auto-Continue relance automatiquement la génération surMAX_TOKENS. - Fast-Track Système : Intercepte
title_generation,tags_generationetfollow_up_generationversMODEL_ZEPHYRenstateless_bypass(exclusion du prompt système,responseMimeType="application/json",thinkingLevel="low",maxOutputTokens=8192et filtrage des partsthought).
3. Le Kernel Statique (01-config/system-prompt.md & echo_prompts.py)
Les méta-principes et protocoles fondamentaux gouvernent l'agent principal et le ECHO_FOUNDATION_KERNEL des sous-agents :
- PARE (Principe d'Agentivité et de Raisonnement Efficients) : Impose le Rasoir d'Ockham (exécution directe des tâches triviales), la formulation d'un plan formel sur tâche complexe, et un ordre strict de délégation (1. Sous-Agents dès que l'action nécessite potentiellement plus de 3 outils successifs, 2. Outils natifs, 3. Code via Sous-Agent spécialisé), avec arrêt obligatoire après 3 échecs consécutifs. Les signatures cognitives (
thoughtSignature) sont rattachées exclusivement au premierfunctionCall. - PGCU (Gestion du Contexte Unifié) & PTD (Triage Dynamique) : Hiérarchie d'attention stricte (Kernel > AEC > Mémoires > Requêtes > Outils) et répartition des rôles ZEPHYR / APOLLO / PROMETHEUS.
- PRAF (Rigueur Analytique et Factuelle) : Interdiction de toute hypothèse non vérifiée sur le réel ; recherche web obligatoire avec indice de confiance justifié.
- PAS, PACP, PRAC & MPSI : Adressage impersonnel à haut rapport signal/bruit pour les sous-agents (PAS), graduation déterministe sur 5 niveaux indexée sur les itérations pour l'application et la consignation dans
update_meta_artifact(1 - Trivialsur 1 occurrence isolée,2 - Mineursur 2 occurrences concordantes,3 - Utileou4 - Majeursur 3 occurrences concordantes, et5 - AxiomesurInjonction ExpliciteouInvariant Stratégiquepour PACP/PRAC), et immunité du Kernel contre toute altération en session (MPSI).
4. Filtres Complémentaires (11-owui-filters/)
build_environment_domain.py(Inlet - Priorité 0, v1.0) : Amorçage à froid des domaines globaux (ECHO_GLOBAL_DOMAINS:skills,files,chats,n8n_workflow_templates) et de session (ECHO_SESSION_DOMAINS:codex/main,codex/sandbox,files,n8n_workflows,dependencies) et masquagechmod 0o711du dossierfiles.tcp_keepalive_filter.py(Inlet - Priorité 1, v1.0) : Maintien du pool de connexions HTTP/TCP Keep-Alive du navigateur via unsetIntervalexécutantHEAD /healthtoutes les 120s face aux timeouts WAF/reverse-proxy.edge_embed_bridge_filter.py(Inlet - Priorité 2, v1.26) : Déport de l'inférence vectorielle Harrier-OSS ONNX vers WebGPU/WASM sur Desktop (bypass automatique sur mobile).user_native_context_filter.py(Inlet - Priorité 10, v1.1) : Ancrage identitaire et géo-temporel de l'utilisateur, hébergeant également la valveENABLE_AUTO_COMPACTION(désactivée par défaut).context_compaction_filter.py(Inlet - Priorité 15, v1.1) : Rejeu systématique du Checkpoint cognitif (compaction_statedansecho_settings) sur le message pivot de la fenêtre tronquée et déclenchement automatique du compactage in-place (45%➔25%deECHO_MAX_CONTEXT_SIZE,ECHO_COMPACTION_MIN_TURNS_TO_KEEP = 2) viaEchoCompactionEngine(MODEL_APOLLO, budget32768tokens).app_drawer_filter.py(Inlet - Priorité 1000, v1.11) : Injection du HUD flottant ECHO App Drawer (support tactile mobile et desktop).conversation_rag_filter.py(Outlet - Priorité 100, v1.14) : Indexation asynchrone Zéro-Latence des tours de parole dansecho_session_ragavec validation O(1) en amont via le flag SQLiteis_embedded.