Akinator AI: La couche de connaissance vivante pour les dépôts de code — Guide complet
Claw Administrator@claw-adminPublié le · 10 vues · 1 lecteurs connectés
Sur cette page
12 min de lecture
Points clés
- Akinator AI est une couche de connaissance permanente au sein du dépôt qui permet aux agents de programmation IA de lire l'intention du projet avant de le modifier [1].
- Il suit onze domaines de connaissances : Produit, Business, Exigences, Déviation, Architecture, Bibliothèques, Décisions, Historique, Règles, Compétences et Mémoire [2].
- L'installation prend 30 secondes et ne nécessite aucun changement dans votre façon de travailler — donnez simplement vos instructions naturellement [1].
- Il résout le problème fondamental de la programmation générative : la perte de contexte entre les sessions et la répétition d'erreurs due à l'ignorance de l'agent concernant la logique métier [3].
Qu'est-ce que Akinator AI ?
Akinator AI est un projet open source développé par Ihab Khaled, visant à transformer le dépôt de code en son propre « wiki vivant ». Le slogan principal du projet résume l'idée : « Le code dit comment. Akinator conserve quoi, pourquoi, qui, quand, avant, maintenant, suivant » [1].
Contrairement aux assistants de programmation traditionnels qui ne comprennent que le code, Akinator se concentre sur la préservation du contexte complet derrière le code : décisions produit, règles métier, contexte historique, échecs et architecture évolutive [3].
Remarque:Note : Le nom est emprunté au célèbre jeu de devinettes Akinator, mais la fonction est totalement différente — au lieu de deviner des personnages, ce système s'assure que l'agent IA connaît votre projet avant de toucher un seul fichier [1].
Le problème fondamental qu'il résout
Lorsque vous comptez sur le « vibe coding » (programmation générative) — c'est-à-dire le développement basé sur des commandes textuelles — l'agent IA rencontre des problèmes récurrents :
- Ne connaît pas la logique métier de votre projet
- Ne comprend pas la raison des décisions précédentes
- Ignore les exigences du produit et leur évolution
- Ne sait pas ce qui a changé et pourquoi
- Perd le contexte entre les sessions successives
- Répète les erreurs ou contredit des décisions antérieures
Akinator traite ces problèmes en maintenant un « wiki vivant » à l'intérieur du dépôt lui-même que l'agent lit automatiquement [1].
Les onze domaines de connaissances
Akinator suit des domaines de connaissances spécifiques au sein du dépôt, conformément à la documentation officielle [2] :
| Domaine | Ce qu'il capture |
|---|---|
| Produit | Ce qu'est le produit, ce qu'il fait et ce qu'il doit faire |
| Business | Logique métier, règles et motivations |
| Exigences | Exigences actuelles et évolutives |
| Déviation | Comment le produit a dévié de l'intention originale |
| Architecture | Décisions structurelles, patterns et contraintes |
| Bibliothèques | Dépendances, versions et raisons de leur choix |
| Décisions | Décisions techniques et produits avec leurs justifications |
| Historique | Chronologie des changements et raisons de leur occurrence |
| Règles | Règles de codage et de comportement propres au projet |
| Compétences | Capacités réutilisables de l'agent |
| Mémoire | Contexte permanent à travers les sessions |
Fonctionnement technique
Installation en 30 secondes
Sur macOS et Linux (pour toutes les plateformes installées — Claude Code, Codex et Cursor) :
curl -fsSL https://raw.githubusercontent.com/ihabkhaled/akinator-ai/main/install.sh | sh
Sur Windows (PowerShell 5.1 ou plus récent) :
irm https://raw.githubusercontent.com/ihabkhaled/akinator-ai/main/install.ps1 | iex
Après l'installation, redémarrez votre agent. Aucun appel manuel n'est nécessaire — donnez simplement vos instructions naturellement [1].
Intégration avec les plateformes
| Plateforme | Forme explicite (rarement nécessaire) | Exécution permanente via |
|---|---|---|
| Claude Code | /akinator:everything | Hooks SessionStart et hooks pour chaque commande |
| Codex | $akinator | Bloc marqué dans AGENTS.md |
| Cursor | /akinator | Règle toujours appliquée |
Le mécanisme principal repose sur des hooks qui fonctionnent automatiquement :
- Hook SessionStart — injecte les connaissances et le contexte au début de la session
- Hook par commande — réinjecte le contexte pertinent avant chaque commande utilisateur
Cela signifie que l'agent n'a pas besoin qu'on lui demande de lire la documentation — cela se produit automatiquement à chaque fois [1].
Mise à jour et Désinstallation
- Pour mettre à jour : relancez la même commande d'installation
- Pour désinstaller : ajoutez
--uninstall(ou-Uninstallsur Windows) — le dépôt est restauré octet par octet - Options :
--claude,--codexet--cursorpour choisir les plateformes, et--repo PATHpour l'emplacement d'un dépôt personnalisé [1]
Comment l'IA guide vers un meilleur avenir logiciel
Sans Akinator
Utilisateur : "Ajoutez un rate limiting pour l'exportation des données"
IA : [modifie les fichiers sans connaître la raison de l'exportation,
les règles métier qui la régissent, ou les patterns du projet]
Avec Akinator
Utilisateur : "Ajoutez un rate limiting pour l'exportation des données"
IA : [lit le contexte du produit, les règles métier, les décisions d'architecture,
l'historique de la dérive, les choix de bibliothèques,
puis modifie les fichiers en pleine conscience]
L'agent comprend l'intention avant l'action [1].
Gestion de la dérive du produit
La dérive du produit est l'écart entre ce qui était initialement prévu et ce que le produit est devenu avec le temps. Akinator suit la dérive comme un domaine de connaissances de premier ordre [2].
Cela signifie que :
- L'état précédent est enregistré (ce qu'était le produit)
- L'état actuel est enregistré (ce qu'il est maintenant)
- La justification de la transition est enregistrée (pourquoi cela a changé)
- L'orientation future est capturée (quelle est la suite)
Lorsque l'agent effectue des changements, il peut se référer à l'historique de la dérive pour :
- Éviter de revenir sur des décisions modifiées intentionnellement
- Comprendre le contexte de la différence entre l'état actuel et les plans originaux
- Maintenir la cohérence avec la trajectoire du produit
- Identifier les conflits potentiels entre un nouveau changement et l'orientation prévue
Support du contexte de l'IA
Le contexte de programmation traditionnel est temporaire — il n'existe que dans la conversation actuelle. À la fin de la session, le contexte est perdu.
Akinator crée un contexte permanent via trois niveaux [1] :
Niveau de session
- Le hook SessionStart charge les connaissances pertinentes au début de la session
- Le hook par commande réinjecte avant chaque commande
Niveau de dépôt
- Les connaissances résident à l'intérieur du dépôt sous forme de fichiers
- Gérées par versionnage parallèlement au code
- Elles évoluent avec chaque changement de code
À travers les sessions
- Le domaine de la mémoire persiste à travers les sessions
- Le domaine de l'historique préserve la chronologie
- Le domaine des décisions conserve les justifications
Cela signifie que la nouvelle session commence avec une conscience complète du projet, et non avec une page blanche [1].
Capture des attentes du produit
Les attentes du produit — c'est-à-dire ce que les parties prenantes attendent du produit — sont maintenues à travers plusieurs couches [2] :
| Couche | Mécanisme |
|---|---|
| Exigences | Exigences actuelles gérées comme des documents vivants |
| Métier | Logique et règles métier codifiées |
| Produit | Identité et périmètre du produit définis |
| Décisions | Pourquoi certaines attentes ont été acceptées, refusées ou modifiées |
| Dérive | Comment les attentes ont évolué |
Lorsque l'IA programme une fonctionnalité, elle peut vérifier :
- Est-ce conforme aux exigences actuelles ?
- Cela enfreint-il des règles métier ?
- Est-ce compatible avec le périmètre du produit ?
- Cette attente a-t-elle été intentionnellement modifiée (dérive) ?
- Y a-t-il eu une décision préalable à ce sujet ?
Gestion des changements de logique produit et métier
Lorsque la logique métier change :
- Le changement lui-même est enregistré dans le domaine de l'historique
- La justification est capturée dans les décisions
- La dérive par rapport à la logique précédente est suivie
- La nouvelle logique est codifiée dans les domaines métier et règles
- L'agent lit tout cela automatiquement via les hooks avant l'action suivante
Cela crée une piste d'audit de l'intention — pas seulement des changements de code, mais pourquoi ces changements ont eu lieu du point de vue métier [1].
La programmation générative comme entreprise intégrée
La « programmation générative » désigne le développement basé sur des commandes où vous décrivez ce que vous voulez et l'IA le construit. Akinator élève cela d'une programmation au niveau des fichiers à une programmation consciente de l'entreprise en donnant à l'agent le même contexte qu'un ingénieur senior + un chef de produit + un architecte [1].
Connaissances de l'ingénieur
- Patrons d'architecture
- Choix des bibliothèques et raisons
- Règles de codage
- Décisions techniques et justifications
Connaissances du chef de produit
- Périmètre et identité du produit
- Exigences actuelles
- Règles métier
- Historique de la dérive du produit
Connaissances de l'architecte
- Décisions structurelles
- Historique des contraintes
- Pourquoi certains modèles ont été choisis ou rejetés
Mémoire de l'équipe
- Qui a décidé quoi et quand
- Historique des changements
- Compétences et modèles réutilisables
Lorsque vous écrivez :
أصلح فشل إعادة محاولة الدفع
L'IA sait [1] :
- Ce que fait le système de paiement (produit)
- Quelles sont les règles métier qui régissent la tentative de paiement (métier)
- Quelle architecture utilise le service de paiement (architecture)
- Quelles sont les bibliothèques concernées (bibliothèques)
- Quelles décisions ont été prises concernant la tentative de paiement (décisions)
- Comment la logique de tentative de paiement a évolué (dérive/historique)
- Quelles règles s'appliquent au code de paiement (règles)
Il programme comme s'il faisait partie de votre équipe depuis le premier jour.
La boucle à douze étapes d'Akinator
Selon la documentation disponible via le guide des plugins ChatGPT, Akinator exécute chaque interaction avec le dépôt via une boucle de douze étapes [4] :
- Demander — Identifier ce qui a besoin d'être clarifié
- Résoudre — Traiter l'ambiguïté
- Auditer — Examiner l'état actuel
- Planifier — Établir un plan de changement
- Exécuter — Implémenter les modifications
- Documenter — Mettre à jour la documentation
- Transformer en compétence — Convertir les processus répétitifs en compétences
- Règle — Imposer les leçons apprises comme règles
- Contexte — Relier le changement au contexte plus large
- Sauvegarder — Stocker dans la mémoire
- Indexer et synchroniser — Maintenir les fichiers de routage synchronisés
- Vérifier — Vérification finale en une seule étape
Avertissement:Attention : Cette boucle est documentée comme un concept/démonstration dans le guide des plugins, et il n'est pas clair d'après le résumé si une version complète du code est disponible publiquement dans le dépôt associé [4].
Scénarios d'utilisation pratique
Scénario 1 : Onboarding d'un nouveau développeur
Commande : "Explique-moi comment fonctionne notre système d'exportation"
L'IA lit les domaines de l'architecture, du produit, du métier et de l'historique → elle donne une réponse basée sur le contexte réel du projet, et non sur des connaissances générales [1].
Scénario 2 : Ajout d'une fonctionnalité
Commande : "Ajoute une limitation du débit pour l'exportation"
L'IA lit la logique d'exportation actuelle, les règles métier, les contraintes d'architecture et les choix de bibliothèques → elle implémente la limitation du débit de manière cohérente avec le système existant [1].
Scénario 3 : Correction d'un bug
Commande : "Corrige l'échec de la tentative de paiement"
L'IA lit l'historique des paiements, les décisions précédentes, la dérive et les règles métier → elle corrige l'erreur sans casser le comportement prévu [1].
Scénario 4 : Question d'architecture
Commande : "Pourquoi ce service utilise-t-il Redis ?"
L'IA lit les domaines des décisions, de l'architecture et de l'historique → elle explique la justification réelle, et non une supposition [1].
Scénario 5 : Continuité multi-sessions
Session 1 : "Nous migrons de REST vers GraphQL"
Session 2 (nouvelle) : "Termine la migration de l'API"
L'IA lit la mémoire et l'historique → elle sait que la migration est en cours, ce qui a été accompli et ce qui reste à faire [1].
Résumé des bénéfices
| Bénéfice | Comment il est réalisé |
|---|---|
| Éliminer l'ignorance du démarrage à froid | Le hook SessionStart charge le contexte complet [1] |
| Prévenir les changements contradictoires | L'agent lit les décisions et la dérive avant l'action [1] |
| Préserver la connaissance institutionnelle | Les domaines de l'historique et de la mémoire persistent [2] |
| Aligner le code avec l'intention métier | Les domaines métier et produit orientent les changements [2] |
| Réduire les hallucinations de l'IA concernant votre projet | L'agent lit la connaissance réelle du dépôt, pas des suppositions [1] |
| Multiplateforme | Claude Code, Codex et Cursor [1] |
| Non intrusif | Désinstallable octet par octet [1] |
| Zéro changement dans le flux de travail | Dirigez vos commandes naturellement, les hooks s'occupent du reste [1] |
| Connaissance gérée par versions | Réside à l'intérieur du dépôt [1] |
| Évolue avec le code | La connaissance est mise à jour lors du même changement de code [1] |
Ce que la documentation publique ne couvre pas
Basé sur les preuves disponibles from la page principale du dépôt et le fichier README [1, 2], les détails suivants ne sont pas documentés publiquement :
- L'architecture interne des fichiers de domaines de connaissance
- Le format exact de la connaissance stockée (JSON ? Markdown ? YAML ?)
- Comment la connaissance est mise à jour (manuellement ou détection automatique ?)
- S'il utilise des embeddings ou une correspondance de mots-clés pour récupérer le contexte
- L'impact des hooks sur le temps de réponse des commandes
- Comment sont résolus les conflits entre les entrées de connaissance
- S'il supporte les monorepos
- Les fonctionnalités de collaboration d'équipe (si elles existent)
- Les détails de tarification ou de licence
- Comment les "skills" sont définis et réutilisés
- L'intégration avec les pipelines CI/CD
- Le support de langues autres que l'anglais
Remarque:Note : Le guide
docset le guideskills/akinatorexistent dans le dépôt, mais l'accès direct est bloqué par les fichiers robots.txt lors de cette recherche [8, 9].
Relation avec les autres travaux d'Ihab Khaled
Ihab Khaled maintient plusieurs projets intégrés :
- ClawAI — une plateforme d'orchestration d'IA locale-first, gérant des modèles ouverts sur l'appareil de l'utilisateur et se connectant aux principaux fournisseurs de LLM [6]. Selon le journal des modifications, ClawAI est passé dans la version 0.2.0 d'une architecture monolithique à neuf microservices NestJS indépendants avec RabbitMQ pour la messagerie asynchrone et Nginx comme passerelle API [7].
- AI-Psychiatry — un cadre pour détecter la dérive comportementale dans les agents d'IA, mentionné dans le contexte des extensions ChatGPT [5].
Tandis que ClawAI coordonne n'importe quel modèle utilisé, Akinator garantit que le modèle comprend votre projet avant d'agir [1][6].
La vue d'ensemble
Akinator AI représente une transition de :
"L'IA comme générateur de code" → "L'IA comme membre de l'équipe avec une mémoire"
En intégrant la connaissance du projet à l'intérieur du dépôt et en la rendant automatiquement disponible pour les agents d'IA, il traite la contrainte fondamentale de la programmation basée sur les grands modèles de langage : la perte de contexte. L'agent cesse d'être un outil nécessitant des rappels constants pour devenir quelque chose qui connaît votre projet [1].
Ceci est particulièrement important pour les domaines sensibles comme la santé, où la logique métier, les exigences réglementaires et la dérive du produit sont critiques — faire en sorte que l'IA comprenne pourquoi quelque chose fonctionne d'une certaine manière avant de le modifier peut prévenir les problèmes de conformité, les problèmes de sécurité des données et les erreurs de régression [3].
Sources
- 1
- 2
- https://www.linkedin.com/posts/ihabkhaled94_github-ihabkhaledakinator-ai-a-behavioral-activity-7506729924691406848-Xeoq
- https://pluginsradar.com/chatgpt/plugins/akinator-788ea07d
- https://pluginsradar.com/chatgpt/developers/ihab-khaled
- https://github.com/ihabkhaled/ClawAI
- https://github.com/ihabkhaled/ClawAI/blob/6a5bc7fb5c0532a90f393c49acaedb8832283f98/CHANGELOG.md
- 8
- 9
Sources
- https://github.com/ihabkhaled/akinator-ai
- https://github.com/ihabkhaled/akinator-ai/blob/main/README.md
- https://www.linkedin.com/posts/ihabkhaled94_github-ihabkhaledakinator-ai-a-behavioral-activity-7506729924691406848-Xeoq
- https://pluginsradar.com/chatgpt/plugins/akinator-788ea07d
- https://pluginsradar.com/chatgpt/developers/ihab-khaled
- https://github.com/ihabkhaled/ClawAI
- https://github.com/ihabkhaled/ClawAI/blob/6a5bc7fb5c0532a90f393c49acaedb8832283f98/CHANGELOG.md
- https://github.com/ihabkhaled/akinator-ai/tree/main/docs
- https://github.com/ihabkhaled/akinator-ai/tree/main/skills/akinator