"Hermes Agent franchit 147K étoiles : refonte du cache, maturation accélérée de la plateforme aprÚs Tenacity"

"Hermes Agent franchit 147K étoiles : refonte du cache, maturation accélérée de la plateforme aprÚs Tenacity"
📑 Table of Contents

🧠 Refonte de l’architecture du cache : le prompt systĂšme est dĂ©sormais statique au niveau des octets

Ces travaux préparent ce qui deviendra la version fondatrice v0.14.0.

Le changement le plus marquant depuis Tenacity est la PR #24778 — une refonte complĂšte de la stratĂ©gie de mise en cache des prompts de Hermes Agent, fusionnĂ©e par Teknium le 13 mai.

Le problĂšme

Le prompt systĂšme Ă©tait reconstruit Ă  chaque appel API. La fonction _build_system_prompt_parts() s’exĂ©cutait Ă  l’intĂ©rieur de la boucle par appel sur le chemin de longue durĂ©e, redĂ©rivant la couche volatile (horodatage + instantanĂ© mĂ©moire + profil utilisateur) Ă  chaque tour. RĂ©sultat : les octets mutaient en cours de conversation dĂšs que la minute changeait ou qu’une mĂ©moire Ă©tait Ă©crite, invalidant ainsi les caches de prompt en amont chez OpenRouter, Portal et Anthropic.

“L’historique (systĂšme + tous les messages sauf les 1 ou 2 derniers) doit ĂȘtre statique au sein d’une session. La mise en cache repose sur une stabilitĂ© binaire parfaite.” — description de la PR #24778

La solution

La solution est élégante par sa simplicité : le prompt systÚme est désormais construit une fois par session et rejoué textuellement à chaque tour. Principaux changements :

  • ~715 lignes supprimĂ©es de run_agent.py — la branche du cache de prĂ©fixe longue durĂ©e, sa durĂ©e de vie et le drapeau _supports_long_lived_anthropic_cache ont Ă©tĂ© intĂ©gralement retirĂ©s
  • prompt_caching.py simplifiĂ© — une seule disposition (system_and_3) remplace l’approche complexe multi-blocs : 4 points de rupture (systĂšme + 3 derniers messages), tous avec cache_ttl
  • ClĂ©s de configuration supprimĂ©es — prompt_caching.long_lived_prefix et prompt_caching.long_lived_ttl retirĂ©es de hermes_cli/config.py
  • Fichier de test entier supprimĂ© — test_prompt_caching_live.py Ă©tait le test live longue durĂ©e ; il disparaĂźt avec la fonctionnalitĂ©

Le résultat

Le diff au format filaire est Ă©loquent : l’ANCIENNE disposition atteignait un taux de succĂšs cumulĂ© du cache de 66,6 % sur 8 tours (un unique miss en milieu de session lorsque l’empreinte SHA du bloc systĂšme changeait). La nouvelle disposition mono-bloc atteint 83,3 % — soit une amĂ©lioration de 16,7 points de pourcentage de l’efficacitĂ© du cache.

Pour les utilisateurs qui font tourner Hermes Agent Ă  l’échelle — en particulier ceux qui sollicitent les points de terminaison Portal ou Anthropic — cela se traduit directement par une latence rĂ©duite, moins d’appels API et des coĂ»ts diminuĂ©s.


đŸ·ïž Étiquetage unifiĂ© du client Portal

La PR #24779 introduit un nouveau module portal_tags.py qui marque chaque requĂȘte Hermes Ă  destination de Nous Portal avec client=hermes-client-v<version> (aujourd’hui : client=hermes-client-v0.13.0).

L’astuce : l’étiquette est extraite dynamiquement de hermes_cli.__version__ au moment de la requĂȘte. Lorsqu’une prochaine version fera Ă©voluer la chaĂźne de version, tous les points d’appel vers Portal enverront automatiquement la nouvelle Ă©tiquette — aucune autre modification de code n’est nĂ©cessaire. La mise Ă  jour de version par expression rĂ©guliĂšre du script de release se propage automatiquement partout.

Cette approche remplace le marqueur ad hoc client=aux issu de la #24194 par un mĂ©canisme unifiĂ©, versionnĂ©, qui couvre toutes les voies Portal — boucle principale de l’agent, client auxiliaire, rĂ©sumĂ©s de compression et replis de l’outil web.


☁ Qwen Cloud : Alibaba change de marque

La PR #24835 renomme le fournisseur alibaba de « Alibaba Cloud (DashScope) » en « Qwen Cloud » et le dĂ©place de la position 24 Ă  la position 6 dans le sĂ©lecteur de fournisseurs — juste au-dessus de Xiaomi MiMo, en dessous d’OpenAI Codex.

Cela reflĂšte le changement de marque en cours dans l’écosystĂšme chinois de l’IA : les offres d’IA gĂ©nĂ©rative d’Alibaba vivent dĂ©sormais sous la marque Qwen, et Hermes Agent suit le mouvement. L’identifiant interne alibaba et la variable DASHSCOPE_API_KEY restent inchangĂ©s — seul le libellĂ© Ă  destination de l’utilisateur a Ă©tĂ© dĂ©placĂ©.


🆕 Le pipeline de fonctionnalitĂ©s de la v0.14.0 prend forme

Si les commits fusionnés racontent une histoire, les PR ouvertes depuis le 11 mai donnent un aperçu de ce qui arrivera dans la prochaine version :

PR Fonctionnalité Auteur
#24936 Commande CLI hermes gateway send-message jwickers
#24938 Canal de mise Ă  jour des releases Sunwo0u
#24926 Respect de display.show_reasoning sur les complétions de chat du serveur API Zavianx
#24811 Primitives de suspension/reprise pour les tĂąches longues sur Kanban shanewas
#24925 Recherche de session : chargement contextuel seul (fenĂȘtrĂ©) via FTS5 shanewas
#24916 Progression des outils avec tampon pour les plateformes sans édition (Weixin) rzbdz
#24423 En-tĂȘtes X-Hermes-User-* / Chat-* pour l’identitĂ© multi-utilisateur gsskk

La PR de suspension/reprise Kanban (#24811) est particuliĂšrement notable — elle ajoute des primitives de suspension/reprise de premier ordre pour les tĂąches Kanban de longue durĂ©e, Ă©tendant ainsi le systĂšme de tableau multi-agents durable livrĂ© avec la v0.13.0.


🔧 Corrections et durcissement sur toute la pile

Les plus de 40 commits depuis le 11 mai couvrent l’ensemble de la surface de la plateforme Hermes Agent :

Sécurité

  • Contournement des confirmations DELETE corrigĂ© (80374d4d) — un drapeau DOTALL dans le motif d’approbation permettait une injection de retour Ă  la ligne pour contourner les confirmations DELETE
  • Correction de l’injection --no-sandbox du navigateur (#24930) — --no-sandbox est dĂ©sormais injectĂ© via cmd_parts plutĂŽt que AGENT_BROWSER_CHROME_FLAGS

Multiplateforme

  • Support CLI CJK — utilisation de display-width pour les Ă©tiquettes d’en-tĂȘte de la boĂźte de rĂ©ponse (#24843 par NorethSea)
  • Correction du scrollback TUI sous tmux — le tampon de dĂ©filement est vidĂ© au dĂ©marrage pour Ă©viter les fuites (#24843)
  • Correction du crash de la CLI Windows — la complĂ©tion des @-file ne plante plus quand les chemins ne sont pas dĂ©codables en cp1252 (#24843)

Plateformes de messagerie

  • Telegram — rĂ©action « en cours » retirĂ©e en cas d’annulation du traitement (#24628), helper de fil de discussion pour les rĂ©sultats de confirmation par slash
  • LINE — utilisation de build_source au lieu de create_source inexistant
  • WeCom (WeChat Work) — corrections de la remontĂ©e d’état de reconnexion WebSocket
  • Signal — messages de groupe provenant d’appareils liĂ©s traitĂ©s dans le chemin syncMessage
  • WhatsApp — dĂ©lai d’expiration de npm install rendu configurable
  • Email — implĂ©mentation de send_voice() pour l’envoi de piĂšces jointes audio (#24931)

Infrastructure

  • Docker — propriĂ©tĂ© de .venv corrigĂ©e pour que lazy_deps puisse installer les paquets de la plateforme (#24841)
  • CI — dĂ©lai d’attente des jobs e2e portĂ© Ă  15 minutes, ripgrep installĂ© dans les jobs e2e
  • Systemd — dĂ©lai de redĂ©marrage rĂ©duit
  • Changement de modĂšle — config.context_length obsolĂšte effacĂ© lors du changement de modĂšle

📊 En chiffres (11 mai → 13 mai)

MĂ©trique 11 mai 13 mai Évolution
Étoiles GitHub 143 510 147 782 +4 272
Forks 22 406 23 222 +816
Issues ouvertes 9 960 10 713 +753
Commits — 40+ en 48 h —
Contributeurs 13 uniques en 4 jours 25+ en 2 jours —

“Avec environ 2 136 nouvelles Ă©toiles par jour depuis le 11 mai, Hermes Agent continue d’ĂȘtre le runtime d’agent IA Ă  la croissance la plus rapide sur GitHub. Le projet est en bonne voie pour franchir les 150K Ă©toiles dans la semaine.” — The Agent Report

🔭 Prochaines Ă©tapes

Le cycle de release de la v0.14.0 se dessine clairement. Sur la base des PR ouvertes et de la densité des correctifs fusionnés, voici les points à surveiller :

  • EfficacitĂ© du cache — le changement rendant le prompt systĂšme statique en octets est le genre d’amĂ©lioration architecturale sur laquelle les gains s’accumulent
  • MaturitĂ© du Kanban — les primitives de suspension/reprise annoncent une gestion du cycle de vie des tĂąches de niveau entreprise
  • Étendue des plateformes — le support Weixin (progression des outils tamponnĂ©e) et les en-tĂȘtes API multi-utilisateurs suggĂšrent des cas d’usage croissants en entreprise/collaboration
  • Outillage CLI — la commande send-message et les fonctionnalitĂ©s de canal de release rendent Hermes Agent plus opĂ©rable Ă  grande Ă©chelle
  • 150K Ă©toiles — au rythme actuel, ce cap devrait ĂȘtre atteint en quelques jours, pas en semaines

Pour les dĂ©veloppeurs qui suivent l’évolution d’Hermes Agent : la pĂ©riode post-Tenacity n’est pas une phase de refroidissement — c’est une phase de construction. Le travail d’infrastructure qui arrive aujourd’hui (architecture de cache, outillage fournisseur, durcissement des plateformes) permet la prochaine vague de fonctionnalitĂ©s.


Couverture basĂ©e sur l’activitĂ© GitHub entre le 11 et le 13 mai 2026. Journal complet des commits : main...main