Il y a une nouvelle catĂ©gorie d'outils d'IA qui prend forme discrĂštement : des agents qui ne vivent pas dans une fenĂȘtre de chat que vous ouvrez et fermez, mais qui tournent en continu dans le cloud et vous parlent via une messagerie, comme un collĂšgue qui ne se dĂ©connecte jamais.
Hermes est l'une des implĂ©mentations les plus intĂ©ressantes de cette idĂ©e, et ce qui le distingue d'agents comparables comme OpenClaw, c'est une boucle d'auto-amĂ©lioration intĂ©grĂ©e â un systĂšme qui surveille vos conversations, en extrait des schĂ©mas utiles et transforme ces schĂ©mas en amĂ©liorations permanentes de sa propre mĂ©moire et de ses compĂ©tences.
Cet article explique comment Hermes est construit, comment le configurer et comment cette boucle d'auto-amélioration fonctionne réellement sous le capot.
Ce qu'est Hermes et en quoi il diffĂšre d'OpenClaw
Hermes est un agent d'IA résidant dans le cloud, structurellement similaire à OpenClaw : il fonctionne 24h/24 et 7j/7, et vous interagissez avec lui via une application de messagerie plutÎt que via un terminal ou un onglet de navigateur.
Les différences significatives sont au nombre de trois.
PremiĂšrement, Hermes est livrĂ© avec une bibliothĂšque de compĂ©tences intĂ©grĂ©es beaucoup plus vaste, ce qui vous Ă©vite de devoir configurer vous-mĂȘme les intĂ©grations.
DeuxiĂšmement, le processus d'installation est considĂ©rablement plus simple â une interface textuelle guidĂ©e s'occupe de presque tout.
TroisiÚmement, et c'est le point le plus important, Hermes est conçu pour une amélioration continue : il n'exécute pas seulement des tùches, il accumule des connaissances procédurales sur la façon de les exécuter plus efficacement au fil du temps.
Installation et configuration initiale
Pour faire fonctionner Hermes, une seule commande suffit.
Sous Windows, vous exécutez ceci dans PowerShell :
iex (irm
Sous Linux, macOS ou WSL, l'équivalent est :
curl -fsSL
Une fois installé, redémarrez le terminal et exécutez hermes setup pour lancer un processus de configuration guidée qui vous accompagne dans le choix du modÚle, du backend du terminal, de la passerelle de messagerie et de la configuration des outils.

Choix et routage des modĂšles

La premiÚre vraie décision lors de la configuration est de choisir quel fournisseur de LLM alimente le « cerveau » de l'agent. L'authentification se fait via OAuth plutÎt qu'avec des clés API brutes, ce qui permet de se connecter via une session Claude Code ou Codex CLI existante, plutÎt que de générer une clé API distincte.
Ce qui est vraiment bien conçu ici, c'est la façon dont Hermes sĂ©pare le modĂšle utilisĂ© pour votre conversation principale des modĂšles utilisĂ©s pour les tĂąches d'arriĂšre-plan et auxiliaires. Par dĂ©faut, le mĂȘme modĂšle gĂšre les deux, mais chaque tĂąche auxiliaire peut ĂȘtre pointĂ©e vers un fournisseur diffĂ©rent de maniĂšre indĂ©pendante.
Les tĂąches qui prennent en charge ce type de remplacement sont :
- vision â analyse et description d'images
- web_extract â rĂ©sumĂ© de longues pages web
- compression â compression d'un contexte de conversation qui dĂ©borde
- title_generation â gĂ©nĂ©ration de titres de session
- curator â l'agent d'arriĂšre-plan responsable de la boucle d'auto-amĂ©lioration
- kanban_decomposer â dĂ©composition de grandes tĂąches en sous-tĂąches en mode Kanban
- goal_judge â l'agent qui vĂ©rifie si un /goal a rĂ©ellement Ă©tĂ© atteint
Ceci est configuré directement dans config.yaml, par exemple :
1# Primary model for chat and complex reasoning2model:3 provider: "anthropic"4 default: "claude-4-8-sonnet"5 auxiliary:6 vision:7 provider: "gemini"8 model: "gemini-2.5-flash"9 compression:10 provider: "custom"11 base_url: "http://localhost:11434/v1"12 api_key: "none"13 model: "qwen2.5:32b"
Ce type de routage explicite rĂ©sout un vrai problĂšme avec OpenRouter comme choix par dĂ©faut : le mĂȘme modĂšle nominal est souvent dĂ©ployĂ© par de nombreux fournisseurs diffĂ©rents, souvent dans des quantifications diffĂ©rentes, et OpenRouter va mĂ©langer silencieusement chaque nouvelle requĂȘte entre environ vingt d'entre eux.
L'effet pratique est qu'au sein d'une mĂȘme session, vous ne parlez pas Ă un modĂšle cohĂ©rent â vous parlez Ă une sĂ©rie tournante d'instances configurĂ©es diffĂ©remment de ce modĂšle, dont certaines gĂšrent les appels d'outils et les templates de prompts de maniĂšre plus fiable que d'autres. Le routage manuel dans Hermes Ă©vite complĂštement ce problĂšme.

Il est également utile de noter que si vous souhaitez économiser de l'argent sur le modÚle conversationnel sans sacrifier la qualité du codage, Hermes prend en charge les commandes /claude_code et /codex qui délÚguent les tùches de codage directement à ces outils CLI plutÎt que de les gérer avec le modÚle de chat configuré.

Backends de terminal

Un Ă©lĂ©ment central de l'architecture est l'environnement de backend de terminal, qui dĂ©termine oĂč et comment les commandes shell et les scripts Python s'exĂ©cutent rĂ©ellement, et comment l'agent accĂšde Ă votre systĂšme de fichiers. Hermes en prend en charge cinq.
Local est le dĂ©faut. Les commandes s'exĂ©cutent directement sur votre machine avec les mĂȘmes autorisations que votre compte utilisateur â aucune isolation. C'est le bon choix pour le dĂ©veloppement local et l'usage personnel de confiance oĂč vous souhaitez que l'agent modifie vos fichiers de projet rĂ©els.
La sécurité repose ici entiÚrement sur un systÚme d'approbation intégré qui intercepte les commandes destructrices (un rm -rf /, un DROP TABLE) et demande une autorisation explicite avant de les exécuter.
Docker exĂ©cute l'agent dans un bac Ă sable isolĂ© afin qu'il ne puisse pas toucher Ă votre systĂšme hĂŽte. SSH fait exĂ©cuter les commandes et travailler sur les fichiers de l'agent sur un serveur distant via une connexion distante. Modal exĂ©cute tout dans des bacs Ă sable cloud sans serveur â vous louez essentiellement du calcul Ă la seconde, en ne payant que pour les secondes rĂ©elles oĂč votre code s'exĂ©cute.
Daytona est une couche de gestion de conteneurs spécialement conçue pour les agents de codage IA ; c'est plus rapide que d'utiliser Docker directement et gÚre automatiquement la configuration de l'environnement et l'installation des dépendances.
Pour la plupart des cas d'usage personnels, Local est vraiment suffisant â les autres options comptent principalement si vous exĂ©cutez du code non fiable ou si vous opĂ©rez Ă l'Ă©chelle d'une Ă©quipe.
Passerelle de messagerie et configuration des outils

AprĂšs le backend du terminal, la configuration passe au choix de l'endroit oĂč vous allez rĂ©ellement parler Ă l'agent â Telegram Ă©tant l'option la plus aboutie. Le sĂ©lectionner vous donne un lien direct qui crĂ©e un bot prĂ©-configurĂ© ; aucune configuration manuelle de jeton de bot n'est nĂ©cessaire.



Le reste de la configuration vous guide Ă travers l'activation d'outils individuels et de leurs fournisseurs respectifs â automatisation du navigateur, gĂ©nĂ©ration d'images, synthĂšse vocale et recherche web. Pour la recherche web en particulier, Firecrawl ou Exa auto-hĂ©bergĂ©s se dĂ©marquent comme des choix solides pour le scraping et la rĂ©cupĂ©ration orientĂ©s agents.




La recherche X nĂ©cessite un abonnement Grok pour ĂȘtre activĂ©e, ce qui est bon Ă savoir avant de la chercher dans le menu.

Les commandes slash Ă connaĂźtre
Hermes est livrĂ© avec une longue liste de commandes slash, la plupart explicites par leur nom, mais quelques-unes mĂ©ritent d'ĂȘtre mentionnĂ©es spĂ©cifiquement.
- /background <prompt> exécute une tùche en arriÚre-plan sans interrompre votre session principale.
- /goal définit un objectif à long terme vers lequel l'agent travaille de maniÚre persistante, avec des sous-commandes pour mettre en pause, reprendre, effacer ou vérifier l'état ;
- /subgoal gÚre des objectifs plus petits imbriqués sous un objectif actif.
- /kanban orchestre un travail asynchrone de longue durĂ©e sur plusieurs agents indĂ©pendants â fonctionnant comme un vĂ©ritable tableau Kanban oĂč un ensemble de tĂąches est distribuĂ© entre des agents ouvriers et progresse Ă travers les Ă©tapes Ă faire, en cours et terminĂ© au fur et Ă mesure qu'il est transmis entre eux.
Du cÎté développement, /github_pr_workflow gÚre le cycle complet de la branche à la fusion, y compris l'IC, /github_code_review examine les demandes de tirage, et /codebase_inspection analyse la répartition des langages et le nombre de lignes d'un dépÎt. /dogfood est un mode QA dédié qui recherche des bogues dans une application web et produit un rapport étayé par des preuves. /spike exécute une expérience rapide et jetable pour valider une idée avant de s'engager dans le développement complet, et /systematic_debugging travaille sur les bogues en quatre phases, comprenant la cause profonde avant de tenter une correction.
Il existe Ă©galement un ensemble de commandes spĂ©cifiques Ă l'intĂ©gration â /notion, /obsidian, /airtable, /google_workspace, /arxiv, /blogwatcher, /polymarket, /ocr_and_documents, /youtube_content â chacune encapsulant un service externe ou un flux de travail spĂ©cifique, plus /bundles, qui regroupe plusieurs compĂ©tences existantes sous une seule commande slash via de petits fichiers de configuration YAML.
TĂąches cron et Webhooks
Deux primitives d'automatisation méritent une attention particuliÚre.
- Les tùches cron vous permettent de planifier l'exécution d'un script à intervalles réguliers ; si vous passez
-no-agentlors de la crĂ©ation, Hermes exĂ©cutera un script Python ou bash simple et transmettra simplement sa sortie Ă votre messagerie, sans utiliser aucun jeton LLM. - Les webhooks sont l'Ă©lĂ©ment le plus puissant : ils permettent Ă l'agent de rĂ©agir Ă des Ă©vĂ©nements externes plutĂŽt qu'Ă une minuterie. Vous pouvez configurer un webhook de sorte que, par exemple, une nouvelle demande de tirage GitHub dĂ©clenche automatiquement un agent avec un prompt et un ensemble de compĂ©tences spĂ©cifiques â mettant effectivement en place un agent de rĂ©vision de garde sans aucune intervention manuelle par PR.
Moteurs de contexte
Le moteur de contexte régit la façon dont Hermes compresse et gÚre l'historique des conversations lorsqu'il approche de la limite de jetons du modÚle, et il existe deux options.
- La valeur par défaut, appelée Compressor, applique un résumé avec perte à la partie médiane d'une longue conversation.
- L'alternative, LCM (Lossless Context Management), adopte une approche structurellement différente : au lieu de produire un résumé textuel, il construit un graphe orienté acyclique des points clés de la conversation, permettant à l'agent de naviguer d'une vue d'ensemble hautement compressée jusqu'aux messages originaux spécifiques qui la soutiennent.

Moteurs de mémoire
Les fournisseurs de mémoire externes fonctionnent parallÚlement aux fichiers de mémoire locale intégrés d'Hermes, MEMORY.md et USER.md, ajoutant des capacités telles que la recherche sémantique et les graphes de connaissances.
Plusieurs peuvent ĂȘtre configurĂ©s directement via l'interface de configuration.
- Honcho est conçu pour modéliser un profil utilisateur détaillé, en utilisant des appels LLM d'arriÚre-plan pour synthétiser les observations sur deux couches : une couche de base de résumés de session et de profils, et une couche dialectique qui analyse les besoins actuels de l'utilisateur.
- OpenViking est une base de donnĂ©es de contexte qui construit une hiĂ©rarchie de connaissances de type systĂšme de fichiers, prenant en charge la rĂ©cupĂ©ration de contexte Ă plusieurs niveaux et triant automatiquement les faits extraits en six catĂ©gories â Ă©vĂ©nements, modĂšles, prĂ©fĂ©rences, etc. â Ă la fin de chaque session.
- Mem0 est un service de mémoire cloud entiÚrement géré ; l'extraction de faits s'effectue cÎté serveur via LLM, et il comprend la recherche sémantique, le reclassement des résultats et la déduplication automatique, bien qu'étant hébergé dans le cloud, c'est aussi la seule option ici avec un coût récurrent.
- Hindsight est un systÚme de mémoire à long terme plus avancé construit sur un graphe de connaissances, dans le style GraphRAG. Il extrait des entités des sessions, établit des relations entre elles et préserve les tours de conversation complets, y compris les appels d'outils, avec une mémoire divisée en quatre catégories : les faits sur le monde, la propre expérience de l'agent, les opinions et les observations.
- Holographic est un magasin de faits local, basĂ© sur SQLite, sans dĂ©pendances externes, comprenant un systĂšme de notation de confiance pour les faits stockĂ©s et l'utilisation de reprĂ©sentations rĂ©duites holographiques pour prendre en charge les requĂȘtes algĂ©briques et compositionnelles, avec la capacitĂ© de dĂ©tecter automatiquement les contradictions dans sa base de connaissances.
- RetainDB est une API cloud pour la mémoire d'équipe, offrant une recherche hybride sur les méthodes vectorielles, BM25 et de reclassement, avec une mémoire divisée en sept types distincts et une compression delta pour maintenir un stockage efficace.
- ByteRover est un systÚme de mémoire local et portable accessible via une CLI, construisant un arbre de connaissances hiérarchique et extrayant les faits importants avant que la compression avec perte n'ait une chance de les supprimer du contexte.
- Supermemory offre une mémoire à long terme sémantique avec une API de graphe : il ingÚre les journaux de session complets aprÚs la fin d'une conversation pour construire son graphe de connaissances, nettoie périodiquement les faits rappelés pour éviter la pollution par les tours en cours, et peut isoler la mémoire dans des conteneurs séparés par profil d'agent.
Pour une utilisation quotidienne, la mĂ©moire locale par dĂ©faut est vraiment adĂ©quate pour la plupart des gens â les systĂšmes plus lourds Ă©changent un coĂ»t rĂ©el en ressources, en particulier la RAM pour les options hĂ©bergĂ©es localement, contre des capacitĂ©s dont la plupart des flux de travail n'ont pas encore besoin.
La boucle d'auto-amélioration
C'est la fonctionnalitĂ© qui distingue le plus Hermes d'un agent conventionnel : un ensemble de processus d'arriĂšre-plan asynchrones qui analysent en continu vos conversations, en extraient des schĂ©mas utiles et Ă©crivent ces schĂ©mas dans la mĂ©moire Ă long terme et la mĂ©moire procĂ©durale (compĂ©tences) â puis maintiennent ces connaissances accumulĂ©es afin qu'elles ne se dĂ©gradent pas avec le temps. L'ensemble du systĂšme fonctionne en parallĂšle de votre chat principal et est construit Ă partir de trois composants : un systĂšme de dĂ©clenchement, un agent de rĂ©vision d'arriĂšre-plan et un conservateur.
- Le systÚme de déclenchement
Hermes n'analyse pas chaque message en temps réel, car cela brûlerait des jetons pour aucun bénéfice. Au lieu de cela, il s'appuie sur deux compteurs qui déclenchent un passage de réflexion une fois qu'ils franchissent un seuil.
Un dĂ©clencheur de mĂ©moire se dĂ©clenche toutes les dix invites utilisateur, vĂ©rifiant si de nouveaux faits dignes d'ĂȘtre enregistrĂ©s sont apparus dans la conversation.
Un dĂ©clencheur de compĂ©tence se dĂ©clenche toutes les dix itĂ©rations d'appel d'outil au sein d'un seul tour, partant du principe que si l'agent vient de passer autant d'Ă©tapes Ă se battre avec un problĂšme par essais et erreurs, cette expĂ©rience mĂ©rite d'ĂȘtre analysĂ©e et Ă©ventuellement transformĂ©e en une compĂ©tence rĂ©utilisable.
Une fois que l'un ou l'autre compteur atteint sa limite, une fonction interne se déclenche, transmettant un instantané de la conversation en cours à un processus de révision d'arriÚre-plan.
- L'agent de révision d'arriÚre-plan
Cet instantané est envoyé à un processus d'agent complÚtement séparé et isolé qui s'exécute en parallÚle sans interrompre votre session principale. Il fonctionne dans deux directions.
- Du cĂŽtĂ© dĂ©claratif, s'il remarque de nouvelles prĂ©fĂ©rences utilisateur ou des dĂ©tails d'environnement â une prĂ©fĂ©rence pour Supabase, un projet Ă©pinglĂ© Ă Python 3.12 â il met Ă jour MEMORY.md ou USER.md, selon le fichier auquel le fait appartient.
- Du cÎté procédural, s'il détecte que l'agent vient de résoudre un problÚme non trivial ou d'élaborer un processus complexe, il peut créer une nouvelle compétence, modifier une compétence existante, appliquer un correctif ciblé ou en supprimer une carrément. Toute compétence qu'il crée est explicitement étiquetée comme générée par l'agent, de sorte que son origine soit toujours traçable.
Pour que le conservateur puisse Ă©valuer lesquelles de ces compĂ©tences auto-gĂ©nĂ©rĂ©es valent rĂ©ellement la peine d'ĂȘtre conservĂ©es, Hermes maintient un journal d'utilisation cachĂ© qui suit, pour chaque compĂ©tence : combien de fois elle a Ă©tĂ© chargĂ©e dans un prompt, combien de fois l'agent l'a ouverte pour la lire, combien de fois elle a Ă©tĂ© modifiĂ©e, ainsi que les horodatages de crĂ©ation, de derniĂšre utilisation et de derniĂšre modification.
- Le conservateur
Sans contrÎle, ce processus peut éventuellement produire des centaines de compétences, certaines redondantes, d'autres obsolÚtes.
Le conservateur existe pour empĂȘcher cette base de connaissances de se dĂ©grader. Il ne dĂ©marre que lorsque deux conditions sont simultanĂ©ment remplies : suffisamment de temps s'est Ă©coulĂ© depuis sa derniĂšre exĂ©cution (sept jours, par dĂ©faut), et l'agent principal est inactif depuis assez longtemps (deux heures, par dĂ©faut) pour qu'un passage de maintenance lourd n'interfĂšre pas avec le travail actif.
Avant d'apporter des modifications, il sauvegarde automatiquement l'intĂ©gralitĂ© du rĂ©pertoire des compĂ©tences, de sorte que tout rĂ©sultat insatisfaisant puisse ĂȘtre annulĂ© via une seule commande de terminal.
Le travail du conservateur se déroule en deux phases :
- La premiĂšre est purement mĂ©canique et n'implique aucun appel LLM : il vĂ©rifie les mĂ©triques d'utilisation, marque comme obsolĂšte toute compĂ©tence gĂ©nĂ©rĂ©e par l'agent inutilisĂ©e depuis plus de 30 jours, et dĂ©place tout ce qui est inutilisĂ© depuis plus de 90 jours dans un dossier d'archive. Les compĂ©tences importantes peuvent ĂȘtre explicitement Ă©pinglĂ©es pour les protĂ©ger de ce processus.
- La deuxiĂšme phase est une vĂ©ritable rĂ©vision LLM, exĂ©cutĂ©e via une instance d'agent isolĂ©e distincte utilisant le modĂšle configurĂ© pour la tĂąche auxiliaire du conservateur â par dĂ©faut le mĂȘme modĂšle que la conversation principale, bien qu'il puisse ĂȘtre pointĂ© vers quelque chose de moins cher. Il faut ĂȘtre prudent quant Ă l'utilisation d'un modĂšle trop bon marchĂ©, car la qualitĂ© de ces dĂ©cisions a un vĂ©ritable effet en aval sur la bibliothĂšque de compĂ©tences.
Pour chaque compĂ©tence, le conservateur dĂ©cide de la conserver telle quelle si elle est toujours prĂ©cise et utile, de la corriger si elle contient des erreurs ou des mĂ©thodes obsolĂštes, de la fusionner avec une autre compĂ©tence couvrant sensiblement le mĂȘme domaine (en dĂ©plaçant correctement tous les scripts, Ă©valuations ou fichiers de rĂ©fĂ©rence associĂ©s et en réécrivant les chemins relatifs dans le processus), ou de l'archiver complĂštement.
à la fin du cycle, il produit un rapport détaillé comprenant une carte de renommage montrant exactement comment les anciens noms de compétences correspondent aux nouveaux aprÚs d'éventuelles fusions, de sorte que le raisonnement derriÚre chaque décision soit entiÚrement vérifiable.
Bien utiliser Hermes
Les agents cloud comme celui-ci sont vraiment prĂ©cieux pour tout processus que vous pouvez exĂ©cuter 24h/24 et 7j/7 â le travail de codage Ă©tant l'exception notable â Ă condition que vous ayez effectivement numĂ©risĂ© ce processus avec soin et construit une compĂ©tence solide autour de lui, y compris des Ă©valuations.
Le flux de travail qui tend à produire de bons résultats ressemble à ceci :
- Commencez par vous enregistrer, en dĂ©tail, en parcourant le processus du dĂ©but absolu Ă la fin, idĂ©alement en utilisant un outil de dictĂ©e pour le capturer avec prĂ©cision â et cette Ă©tape ne fonctionne que si vous comprenez vraiment le processus ou si vous l'avez correctement recherchĂ©.
- Prenez cet enregistrement ou ces notes et introduisez-les dans un agent de codage en utilisant un outil de crĂ©ation de compĂ©tence pour produire une premiĂšre Ă©bauche ; elle ne sera pas encore assez bonne pour ĂȘtre dĂ©lĂ©guĂ©e, surtout pour quoi que ce soit de complexe.
- IntĂ©grez des Ă©valuations â des solutions de rĂ©fĂ©rence qui reprĂ©sentent un rĂ©sultat correct â car ce sont elles qui vous permettent de mesurer rĂ©ellement si la compĂ©tence fonctionne bien plutĂŽt que de deviner.
- Exécutez la compétence dans un environnement de test et affinez à la fois les évaluations et le contenu de la compétence en fonction de ce que vous observez, en effectuant la majeure partie de cette édition à la main plutÎt qu'en la déléguant.
- Ce n'est qu'une fois que la compĂ©tence se comporte de maniĂšre cohĂ©rente et dĂ©terministe qu'elle doit ĂȘtre confiĂ©e Ă l'agent toujours actif. Si le processus dĂ©pend d'un service externe, il vaut la peine de vĂ©rifier si un serveur MCP ou une CLI existant le couvre dĂ©jĂ avant d'en construire un Ă partir de zĂ©ro.
Le point plus large est que l'éventail des choses que vous pouvez confier à un agent comme celui-ci est limité principalement par votre capacité à spécifier le travail, et non par la capacité brute de l'agent.
Trois principes semblent tenir dans tous les cas d'usage : ne déléguez pas le travail de codage à un agent cloud non supervisé 24h/24 et 7j/7, gardez un humain dans la boucle pour examiner ce que l'agent produit réellement, et considérez le perfectionnement des compétences comme un travail continu plutÎt que comme quelque chose que vous terminez une fois et dont vous vous éloignez.
Si cela a Ă©tĂ© utile â mettez-le en signet. Vous voudrez y revenir.
Pour plus d'analyses comme celle-ci, suivez @ScottyBeamIO
Sans fioritures, seulement ce qui fonctionne réellement.





