Hermes Agent vs. OpenClaw
Ça fait bien un an et demi que je m’amuse avec l’IA. Façon LLM d’abord (en mode chat ou en appelant des API). Puis en mode agent, en développant mes propres MCP web. Puis en utilisant les « vrais » agents comme Claude Code d’Anthropic, ou Codex d’OpenAI, ou Gemini Code de Google, ou Mistral Vibe, etc. (ne cherchez pas, rien de chez Elon/X-quelquechose…, et ça n’est pas un hasard 😉 ). Et maintenant, je m’amuse avec mes propres agents (PicoClaw, Nanobot, puis OpenClaw)…
Comme vous pouvez le constater, je ne vous ai pas inondé d’articles. Pas que je n’aie rien à dire sur le sujet. Juste que… je n’aurais fait que répéter ce que vous pourriez lire partout. Ah si quand même : j’y reviendrai un jour, mais je suis quand même tombé de ma chaise :
- De façon amusée quand PicoClaw a modifié son propre code pour corriger un bug. Ça a donné quelque chose du genr : « Mais oui Manu, si je n’ai rien posté ici sur Telegram, c’est parce que j’ai utilisé ton adresse email comme identifiant Telegram. Mais j’ai trouvé d’où vient l’erreur, le souci est ici –> [extrait du code]. Mais ne t’inquiète pas, ça ne le fera plus, je viens de corriger » : et en effet, il avait corrigé son propre bug !!! Quand j’étais étudiant, ça, c’était de la science fiction ;
- De façon bien plus inquiétante quand j’ai vu nanobot… désactiver l’appel à une fonction de sécurité dans son code ! J’avais développé une skill (une « compétence » pour ceux qui ne connaissent pas) qui savait générer du Markdown ou du HTML comme format. Il suffisait de le préciser avec une option `
--format`. Or, une fonction sécurité basique empêchait l’agent IA d’utiliser certaines expressions régulières comme… format justement, en rapport à `FORMAT C:`, que les anciens qui ont connu le MS-DOS connaissent bien. Nanobot s’en est aperçu, et… mine de rien, il a corrigé son code en mettant en commentaire l’appel à la fonction de sécurité ! Plus de sécurité, plus de problème !!! Moins drôle comme histoire.
Bref, à part ces deux aventures, rien de croustillant à vous raconter que vous n’auriez pas déjà trouvé sur YouTube ou ailleurs… jusqu’à ce soir. En effet, je vois monter dans les stats depuis un mois un nouvel agent IA : Hermes Agent. Et pas qu’un peu. À l’heure où je vous parle, Hermes Agent consomme 1,5 fois plus de tokens sur le ranking d’OpenRouter qu’OpenClaw !
Curiosité piquée, j’ai installé la bête. Et… passez votre chemin. Je ne comprends pas la hype ! Je vous liste tout ce qui ne va pas (les promesses non tenues par rapport à OpenClaw) :
- Plus stable : bof. J’ai dû refaire deux fois la configuration de mon modèle (pour les néophytes : les informations concernant le modèle que j’utilise, car oui, ces bots n’intègrent pas d’IA, ils utilisent un modèle, la plupart du temps en payant une API) ;
- Plus rapide : c’était certainement vrai il y a un mois, quand OpenClaw ramait comme un ouf. Mais depuis 15 jours, les dernières versions pulsent très très vite, donc pas de différence ;
- Consomme moins de RAM : c’est certainement la seule vraie promesse tenue : 200 Mo d’empreinte RAM pour Hermes, contre 600 Mo pour OpenClaw ;
- Mieux construit : alors là… publicité mensongère !!! Alors qu’OpenClaw met le code d’un côté, les skills built-in (livrées de base) de l’autre, celles que tu as développées ailleurs, tes fichiers à toi encore ailleurs… tout est propre et structuré dans ton « workspace » (répertoire sous « ~/.openclaw »), différencié du code de base. Chez Hermes : tout est en vrac sous « ~/.hermes » ! Pas de fichier de consignes que tu peux éditer (sauf un `SOUL.md` je crois) ! Les skills sont en vrac à côté du code, à côté de ses propres scripts, à côté de tes skills à toi… un joyeux foutoir !
- Plus sécurisé : alors là aussi, publicité mensongère !!! Alors qu’OpenClaw publie son canal web avec un token, complété éventuellement par un mot de passe, dans Hermes : rien, c’est open bar. Dans OpenClaw, chaque canal (web, Telegram, etc.) doit avoir une approbation par une ligne de commande. C’est casse-pied, mais au moins c’est sécure. Chez Hermes : rien !
OpenClaw a été largement sécurisé depuis que son créateur (Peter Steinberger) a été recruté par OpenAI. De mon côté, je me suis abstenu d’ajouter des skills en provenance de ClawHub (il paraît qu’1/3 des skills intègrent des malwares, je n’ai pas vérifié), et j’ai mis des consignes pour qu’OpenClaw ne fasse pas n’importe quoi. Ses skills sont développées par moi-même, ou par lui sous ma surveillance. Ça plus quelques règles côté serveur (utilisation d’une seedbox, limitation des commandes auxquelles il a le droit), je pense que mon OpenClaw n’est pas une passoire. Alors que côté Hermes… il fait tout tout seul. C’est bien si on n’est pas programmeur, mais c’est risqué !
Bon, je reconnais que sur le papier, Hermes a un atout qu’OpenClaw n’a pas. Il sait « rêver ». Enfin… en quelque sorte. Quand on ne l’utilise pas, il lance tout seul une autoanalyse de ce qu’il a fait. S’il détecte un workflow qui revient souvent : il développe tout seul une skill qui synthétise ce travail répétitif. S’il voit qu’il y a une skill ou des consignes qui font qu’il tâtonne à chaque fois avant d’y arriver : il corrige la consigne, en ajoute, ou change le code pour ne plus avoir à tâtonner/galérer pour faire la même chose.
Sur le papier, c’est plutôt bien. C’est même le gros point fort d’Hermes. Mais le prix à payer est le manque de sécurité, de maîtrise (du résultat, du coût en appels d’API, en sécurité)… Bref, comme le promet la pub : on a un nouveau collègue qui bosse à nos côtés… et pas un esclave qui fait ce que tu lui dis. À condition… de lui faire totalement confiance (d’autant que vu le souk dans l’arborescence, va trouver ce qu’il fait tout seul…). Et là clairement, après 24 heures d’expérience, je ne suis pas prêt.
Là, vous allez me dire « mais qu’est-ce qui t’empêche d’apprendre à OpenClaw de rêver de la même façon » ? Deux raisons :
- La première est philosophique : pourquoi je ferais plus confiance à OpenClaw qu’à Hermes ? Pour l’instant, je lui fais confiance parce que c’est moi qui maîtrise son environnement, et qui supervise son développement. Si je le laisse partir tout seul, c’est comme si je me mettais un bandeau sur les yeux. Ça n’est pas rassurant.
- La deuxième raison : OpenClaw repose sur des fichiers de consigne/mémoire (en Markdown) monolithiques. Un « MEMORY.md » avec mes consignes, un « TOOLS.md » qui décrit ses skills et ses outils, etc. Certes, il y a aussi des fichiers « MEMORY-YYMMDD.md » créés par date (qui peuvent être indexés dans une base vectorielle, comme quand on fait du RAG), mais je ne sais pas jusqu’à quel point ils sont utilisés au quotidien. Si on laisse OpenClaw ajouter des consignes tout seul, tous les jours, ces fichiers vont devenir énormes, avec pour conséquence : trop de contexte dans les appels au LLM. Qui dit trop de contexte dit un LLM moins attentif, et pire, on peut arriver à dépasser la taille max acceptée par le modèle.
Alors qu’Hermes (et c’est le seul demi-bon point que j’ai trouvé) range sa « mémoire », ses « consignes », dans des fichiers Markdown qui restent petits, reliés entre eux par des fichiers Markdown, à la façon d’Obsidian. C’est malin. Enfin… ça a aussi des défauts : l’agent IA y ajoute des choses, mais je ne sais pas comment je pourrais en ajouter sans passer par lui (alors que tout seul, je peux ajouter une consigne dans un « TOOLS.md » dans un OpenClaw). Et… là aussi, je voudrais savoir s’il regarde vraiment tout quand l’arborescence grandit beaucoup. En effet, que la mémoire soit monolithique, organisée en arbre façon Obsidian, ou rangée dans une base vectorielle… Passé une certaine taille, on explose toujours le contexte du LLM.
Vous l’avez compris : je vais rester (pour l’instant) sur OpenClaw. Et franchement, j’aurais aimé lire le présent article il y a 24 heures pour ne pas perdre de temps sur Hermes. Voilà pourquoi je vous partage ce retour.
