Skip to content

Boucle d'apprentissage et mémoire

源码版本v2026.7.20

Responsabilité

C'est le cœur de ce qui distingue Hermes d'un agent ordinaire : une boucle « qui s'améliore à l'usage ». Elle distille chaque tour de conversation en : (1) évolution des compétences — création / réécriture de compétences depuis l'expérience (agent/learning_mutations.py) ; (2) mémoire — récupération des conversations passées par FTS5 recherche plein texte + résumé LLM (memory_manager), complétée par la modélisation dialectique de l'utilisateur via Honcho ; (3) graphe d'apprentissage — organise les compétences et mémoires en nœuds / arêtes (agent/learning_graph.py) ; (4) examen en arrière-planbackground_review digère l'historique dans un thread et produit des actions de réécriture exécutables. Les réécritures de compétences sont finalement réinjectées dans le système de compétences pour être réutilisées aux tours suivants.

Fichiers clés

Nœuds de compétence et graphe d'apprentissage

Réécriture compétence / mémoire

Gestion de la mémoire

Examen en arrière-plan

Flux de données

  1. À la fin de chaque tour de conversation, la boucle principale confie un instantané des messages au thread d'examen en arrière-plan (agent/background_review.py:956).
  2. _digest_history (agent/background_review.py:122) résume l'historique récent et produit des actions candidates (créer / réécrire une compétence, écrire un souvenir).
  3. La réécriture d'une compétence est persistée via edit_node:157 / la suppression via delete_node:124, et le cache est vidé par _clear_skill_cache:200.
  4. L'écriture mémoire passe par MemoryManager:354, est masquée (agent/memory_manager.py:164) puis indexée par FTS5, et compressée par un résumé LLM.
  5. Au début du tour suivant, build_memory_context_block (agent/memory_manager.py:337) injecte les souvenirs pertinents dans build_turn_context:268 ; les compétences sont injectées via agent/skill_bundles.py.
  6. Le graphe d'apprentissage complet est agrégé par build_learning_graph:254, pour que l'UI / le debug affiche les corrélations compétences / souvenirs.

Résumé

La boucle d'apprentissage transforme « la conversation » en « actif » : l'examen en arrière-plan dépose silencieusement l'expérience en compétences et souvenirs, qui sont réinjectés automatiquement au tour suivant. Quatre pièces clés — learning_graph (le graphe), learning_mutations (réécriture), memory_manager (recherche + masquage + résumé), background_review (digestion asynchrone). C'est le socle du mécanisme par lequel Hermes « grandit avec l'utilisateur », et la différence fondamentale avec un « appel de LLM sans état ».

Site d'apprentissage communautaire non officiel. Basé sur le code source de NousResearch/hermes-agent (licence MIT).