Architecture
Structure du système
Principes d'organisation, couches fonctionnelles, invariants et tensions en cours d'exploration.
I. Principes
Principes structuraux
L'architecture de Frida repose sur un ensemble de principes qui distinguent ce projet des systèmes de génération standard. Ces principes ne sont pas des choix d'implémentation parmi d'autres : ils sont constitutifs de l'intention du projet.
| Principe | Description |
|---|---|
| Séparation génération / validation | La production d'une réponse et l'évaluation de sa validité sont deux processus distincts. L'un ne subsume pas l'autre. |
| Mémoire hiérarchisée | Les traces mémorisées ne sont pas équivalentes. Elles sont pondérées selon leur fiabilité, leur ancienneté et leur pertinence contextuelle. |
| Incertitude explicite | Toute inférence porte une estimation de son degré de certitude. Cette estimation est transmise à la couche supérieure et peut influer sur la décision de répondre. |
| Suspension comme sortie valide | Le système peut — et doit — suspendre sa réponse lorsque les conditions épistémiques ne sont pas satisfaites. L'absence de réponse est une réponse. |
| Révisabilité | Les inférences passées peuvent être remises en cause par de nouvelles informations. La révision laisse une trace explicite dans la mémoire structurée. |
| Cohérence longitudinale | Le système maintient une cohérence entre les échanges dans le temps. Les contradictions avec des positions antérieures sont détectées et traitées explicitement. |
II. Organisation
Couches et modules
Le système est organisé en trois couches principales, articulées par un module d'arbitrage central. Cette organisation reflète la distinction entre les opérations de bas niveau (mémorisation, interprétation locale) et les opérations de haut niveau (cohérence, validation, décision de réponse).
| Module | Fonction principale | État |
|---|---|---|
| Couche Dialogue | Interface avec l'utilisateur. Reformulation, clarification des ambiguïtés, synthèse de la réponse finale. | en cours |
| Module d'Arbitrage | Évaluation de la cohérence des inférences. Décision de répondre, reformuler ou suspendre. Explicitation de l'incertitude. | conception |
| Mémoire structurée | Stockage hiérarchisé des traces contextuelles. Gestion de l'obsolescence et des révisions. Pondération par fiabilité. | en cours |
| Interprétation | Analyse contextuelle des entrées. Production d'inférences situées. Révision en fonction des nouvelles données. | conception |
| Preuves & Traces | Hiérarchisation des éléments probants. Gestion des degrés de certitude. Traçabilité des sources d'inférence. | conception |
III. Invariants
Invariants du système
Les invariants sont les propriétés que le système doit maintenir en toute circonstance. Ils constituent une forme de spécification normative de ce qu'est — et de ce que n'est pas — Frida.
- Toute réponse produite est accompagnée d'une estimation de son degré de certitude, disponible pour la couche d'arbitrage.
- Aucune réponse n'est transmise à la couche Dialogue sans avoir été évaluée par le module d'Arbitrage.
- La suspension de la réponse est toujours préférable à la production d'une réponse dont la validité est inférieure au seuil défini.
- Toute révision d'une inférence antérieure laisse une trace explicite dans la mémoire structurée, avec la justification de la révision.
- Les traces mémorisées sont pondérées : leur poids peut être augmenté (confirmation) ou diminué (réfutation partielle, obsolescence).
- La cohérence longitudinale est vérifiée avant toute réponse engageant une position antérieure du système.
- L'incertitude n'est jamais masquée dans la fluidité de la réponse. Elle est nommée ou la réponse est suspendue.
- Le système distingue ce qu'il sait (trace fiable et vérifiée), ce qu'il infère (dérivé de traces existantes) et ce qu'il suppose (extrapolation non vérifiable).
IV. Tensions et questions ouvertes
Problèmes en cours d'exploration
Frida ne prétend pas avoir résolu ces questions. Elles constituent le cœur du chantier en cours.
- Granularité des traces. À quel niveau de granularité faut-il mémoriser ? Quelle est l'unité minimale d'une trace pertinente ? Comment hiérarchiser sans perdre la richesse contextuelle ?
- Seuil de suspension. Comment déterminer le seuil en dessous duquel la réponse doit être suspendue ? Ce seuil est-il fixe, contextuel, ou dépendant du domaine de la question ?
- Gestion des contradictions. Lorsque deux traces mémorisées se contredisent, comment arbitrer sans décider arbitrairement ? La contradiction doit-elle être exposée à l'utilisateur ou traitée silencieusement ?
- Coût computationnel de la rigueur. La séparation génération / validation et la vérification de cohérence longitudinale ont un coût. Comment maintenir ces exigences à l'échelle ?
- Évaluation de la compréhension. Comment mesurer qu'un système comprend plutôt que génère ? Quels critères d'évaluation sont pertinents et non circulaires ?