Coach d'usage IA — fiabilisation de la collecte de session
Billet #232: Suivi coach d'usage IA - fiabilisation de la collecte de session, et expérimentation d'une alternative externe
Type : Automatisation / Workflow / Gouvernance
Composants concernés : .github/ai-coach.config.json, scripts/hooks/ai_coach_session_start.ps1, scripts/hooks/ai_coach_append_event.ps1, .github/agents/ai-coach.agent.md, .github/prompts/ai-coach-report.prompt.md, tests/test_ai_coach_infrastructure.py, logs/ai_coach_active_session.json
1. Contexte et objectif
Le coach d'usage IA mis en place précédemment dans le billet #224 visait à analyser une session de travail pour aider à mieux formuler les prompts, structurer plus efficacement les échanges avec l'IA, et limiter le gaspillage de tokens.
La session actuelle a montré une limite importante : le dispositif existant créait bien une session, mais ne capturait pas assez d'informations pour produire un vrai bilan exploitable. L'objectif de cette intervention a donc été de rendre la collecte réellement utile, sans basculer vers une transcription complète permanente.
En parallèle, une piste externe a été ouverte avec l'installation de l'extension GitHub Copilot usage insights, afin d'expérimenter une alternative à la solution custom en cours de construction.
2. Constat principal
Les vérifications menées pendant cette session ont confirmé que le coach fonctionnait au niveau technique minimal, mais pas encore au niveau analytique attendu.
Concrètement :
- la session active était bien créée ;
- un fichier d'événements était bien généré ;
- mais ce fichier ne contenait en pratique qu'un événement de démarrage (
SessionStart) ; - il ne permettait donc pas de reconstituer l'objectif, les actions importantes, les validations, ni le résultat final de la session.
Le système savait donc dire qu'une session avait commencé, mais pas expliquer ce qui s'y était passé.
3. Décision prise
Trois options ont été considérées :
- conserver le mode actuel ;
- activer une transcription complète permanente ;
- introduire quelques checkpoints structurés.
La troisième option a été retenue.
Le principe est simple : au lieu d'essayer de tout enregistrer, le coach doit capter quelques jalons clés, suffisants pour reconstituer le déroulé de la session et produire ensuite un bilan utile.
Quatre types de checkpoints ont été définis :
GoalSet— objectif de départ ;MajorAction— action importante ou changement de cap ;Validation— vérification ou preuve de confirmation ;Outcome— résultat final ou décision de clôture.
Cette approche a été jugée comme le meilleur compromis entre simplicité, lisibilité, coût et valeur réelle pour le coaching.
4. Actions réalisées
Les actions suivantes ont été menées pendant cette session :
-
Audit de la solution existante
- lecture des artefacts AI coach de la session active ;
- confirmation que le journal réel ne contenait qu'un
SessionStart; - relecture de la configuration, du hook de démarrage, de l'agent et du prompt de rapport.
-
Renforcement de l'architecture AI coach
- ajout d'un audit structuré dans
.github/ai-coach.config.json; - définition explicite des checkpoints recommandés :
GoalSet,MajorAction,Validation,Outcome.
- ajout d'un audit structuré dans
-
Évolution du hook de démarrage
- enrichissement de
scripts/hooks/ai_coach_session_start.ps1; - ajout d'un signal
StructuredAuditReady; - ajout des métadonnées nécessaires pour indiquer qu'un audit structuré est disponible.
- enrichissement de
-
Création d'un mécanisme d'écriture de checkpoints
- création du script
scripts/hooks/ai_coach_append_event.ps1; - ce script permet d'ajouter un jalon structuré à la session active ;
- il contrôle aussi les types d'événements autorisés pour éviter les journaux incohérents.
- création du script
-
Mise à jour de l'analyse du coach
- adaptation de
.github/agents/ai-coach.agent.md; - adaptation de
.github/prompts/ai-coach-report.prompt.md; - lorsque des checkpoints existent, ils deviennent la base prioritaire d'analyse.
- adaptation de
-
Ajout de tests de non-régression
- création de
tests/test_ai_coach_infrastructure.py; - ajout d'un test validant l'écriture d'un checkpoint structuré ;
- ajout d'un test validant le rejet d'un type d'événement non autorisé.
- création de
-
Exploration d'une alternative externe
- installation de l'extension GitHub Copilot usage insights ;
- objectif : comparer à terme la valeur d'une solution externe spécialisée avec celle du coach custom développé dans le dépôt.
5. Validation et résultat
La nouvelle approche a été validée de façon progressive.
-
Validation isolée
- création d'une session de test dans un environnement temporaire ;
- génération correcte des événements
SessionStartetStructuredAuditReady; - ajout réussi d'un checkpoint
GoalSet.
-
Validation automatisée
- exécution des tests de
tests/test_ai_coach_infrastructure.py; - résultat : validation réussie du nouveau mécanisme.
- exécution des tests de
-
Validation d'intégration
- exécution conjointe des tests AI coach et des tests de gouvernance documentaire ;
- résultat final observé : 10 tests passés sur le périmètre vérifié.
Le résultat concret de cette session est le suivant :
- le coach ne se limite plus à enregistrer l'ouverture d'une session ;
- il peut désormais conserver quelques jalons structurés utiles ;
- une base crédible existe maintenant pour produire un vrai bilan de session lors d'un prochain usage réel.
6. Limites et points d'attention
Quelques limites subsistent malgré cette amélioration :
- le système n'est pas encore entièrement automatique : pour obtenir un bilan riche, il faut encore enregistrer quelques checkpoints dans la session ;
- la mesure des tokens reste indirecte ;
- la solution custom progresse, mais n'est pas encore arrivée à son état final ;
- l'extension GitHub Copilot usage insights est installée, mais son évaluation reste à faire.
7. Conclusion
Cette session a permis de transformer une première base encore trop légère en un dispositif plus crédible.
Le point le plus important est que le coach dispose maintenant d'un mécanisme simple et exploitable pour documenter le déroulé réel d'une session, sans passer par une transcription complète permanente. Ce choix rend la solution plus réaliste pour un usage quotidien.
En parallèle, l'installation de l'extension GitHub Copilot usage insights ouvre une seconde piste utile : comparer, à terme, une solution externe spécialisée avec la solution custom développée dans ce dépôt.