À propos du projet
Phronesis est un moteur de règles RETE neutre du point de vue du domaine, conçu pour fournir une gouvernance durable et déterministe pour les agents d'intelligence artificielle non déterministes. Il répond à la "dérive contextuelle" qui se produit lors des longues sessions LLM (telles que Claude Code, Codex ou Gemini CLI), où les conseils spécifiques au projet comme `CLAUDE.md` s'estompent à mesure que la fenêtre de contexte se remplit et que les déclencheurs d'auto-compactage se produisent.
Contrairement aux approches traditionnelles qui reposent sur le LLM pour mémoriser les instructions dans son contexte, Phronesis déplace l'application des règles hors de la conversation. Les règles sont stockées sur disque dans `.phronesis/rules.json` et sont évaluées par des hooks légers au moment de l'action. Cela garantit que les règles sont déclenchées de manière cohérente, quelle que soit la quantité de jetons, car elles ne sont jamais chargées dans la fenêtre de contexte du LLM.
Le système fonctionne comme une frontière autour des actions de l'agent : l'hôte normalise les appels d'outils proposés, le moteur évalue les règles durables, et l'hôte reçoit une décision d'autorisation, d'avertissement ou de blocage. Les sous-systèmes clés comprennent :
1. **Contexte durable** : conserve les conseils de projet compacts dans `.phronesis/durable.md`, les réinjectant aux limites de session.
2. **Évaluation de confiance** : lit les signaux de construction, de test et de bogue connus via des définitions d'outils déclaratifs (Cargo, xcodebuild, SwiftPM) pour avertir sur les mutations Git lorsque les preuves sont incomplètes.
3. **Faits de parcours** : maintient un journal durable par appel pour permettre aux règles de correspondre à des modèles temporels inter-appels (par exemple, churn d'authentification ou stagnation de construction) sans accumulation en mémoire.
4. **Graphe de code structurel** : parse le Rust, le Python, le TypeScript, le Swift et le Java en relations interrogeables (par exemple, `defines_fn`, `calls_api`) pour lier les règles à des référents de code concrets.
5. **Détection de dérive** : compare les règles avec des conseils durables, la mémoire de l'agent et le code lié pour identifier les incohérences.
Phronesis est implémenté en Rust et comprend une bibliothèque principale, un serveur MCP (`phr-mcp`) pour l'intégration avec les environnements LLM, et un évaluateur Rhai sandboxé pour les prédicats extensibles et les conditions de garde.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.