Apprentissage continu pour les agents IA de codage
Votre agent oublie tout entre les sessions. L'apprentissage continu résout ce problème.
La boucle
Expérience → Capturer → Réfléchir → Persister → Appliquer
↑ │
└───────────────────────────────────────┘
Démarrage rapide
Installez le hook (une seule étape) :
cp -r hooks/continual-learning .github/hooks/
S'initialise automatiquement à la première session. Aucune configuration nécessaire.
Mémoire à deux niveaux
Global (~/.copilot/learnings.db) — vous suit dans tous les projets :
- Patterns d'outils (quels outils échouent, lesquels fonctionnent)
- Conventions cross-projet
- Préférences de codage générales
Local (.copilot-memory/learnings.db) — reste avec ce repository :
- Conventions spécifiques au projet
- Erreurs courantes pour cette codebase
- Préférences de l'équipe
Comment les apprentissages sont stockés
Automatique (via hooks)
Le hook observe les résultats des outils et détecte les patterns de défaillance :
Session 1 : bash tool échoue 4 fois → apprentissage stocké : « bash échoue fréquemment »
Session 2 : hook surfacise cet apprentissage au démarrage → l'agent ajuste son approche
Natif à l'agent (via store_memory / SQL)
L'agent peut écrire directement les apprentissages :
INSERT INTO learnings (scope, category, content, source)
VALUES ('local', 'convention', 'This project uses Result<T> not exceptions', 'user_correction');
Catégories : pattern, mistake, preference, tool_insight
Manuel (fichiers de mémoire)
Pour une connaissance lisible et contrôlée en version :
# .copilot-memory/conventions.md
- Use DefaultAzureCredential for all Azure auth
- Parameter is semantic_configuration_name=, not semantic_configuration=
Compaction
Les apprentissages se dégradent au fil du temps :
- Les entrées plus anciennes que 60 jours avec un faible taux d'accès sont supprimées
- Les apprentissages de haute valeur (fréquemment référencés) persistent indéfiniment
- Les logs d'outils sont supprimés après 7 jours
Cela prévient une croissance illimitée tout en préservant ce qui importe.
Bonnes pratiques
- Une étape pour installer — si cela demande plus que
cp -r, cela ne sera pas adopté - Définissez correctement la portée — global pour les patterns d'outils, local pour les conventions de projet
- Soyez spécifique —
« Use semantic_configuration_name= »vaut mieux que« use the right parameter » - Laissez-le s'accumuler — les petites améliorations par session créent des gains exponentiels sur les semaines