4 Astuces cachées de Hermes issues des derniers commits : économies de tokens, pilotage du navigateur intégré, cron et recherche résiliente


On pourrait croire que la grande nouvelle de la semaine côté Hermes, c’était les fenêtres en verre dépoli de v0.20.4 — mais le projet officiel a fusionné en toute discrétion une série de fonctionnalités ces quatre derniers jours, sans keynote, sans visuel promo. Elles se cachent dans le journal des commits, et chacune vous fait économiser du vrai argent, du vrai effort ou un vrai mal de tête. Cet article couvre les quatre plus précieuses : économies de tokens, contrôle du navigateur, améliorations de cron et résilience de la recherche.

Astuce 1 — Économies de tokens : le caching de Muse Spark est pleinement actif

Si vous utilisez Muse Spark de Meta (api.meta.ai), c’est probablement la ligne la plus intéressante pour votre portefeuille cette semaine.

La PR #88601 (fusionnée le 17 août) fait passer le trafic d’api.meta.ai de chat completions à la Responses API — car seule cette dernière prend en charge le prompt caching. Les chiffres mesurés sont éloquents :

Wire Taux de hit du cache Prix d’entrée du palier contributeur
/v1/chat/completions (ancien) 0 % $0.10 / M tokens
/v1/responses (nouveau) 93–99 % $0.002 / M (en cache)

Sur les workloads agentiques — où le même system prompt et les mêmes définitions d’outils sont renvoyés encore et encore — c’est à peu près un écart de coût de 13×. Hermes envoie aussi automatiquement prompt_cache_retention: 24h, l’indice de cache à activation opt-in de Meta, pour maximiser l’effet. Après la mise à jour, les utilisateurs de Muse Spark bénéficient du caching automatiquement — rien à configurer.

Astuce 2 — Navigateur : l’agent peut enfin UTILISER la page, pas seulement la regarder

Le navigateur intégré de l’application desktop était un miroir sans tain : open_preview affichait une page dans le panneau, read_preview en relisait le texte, mais l’agent ne pouvait jamais la toucher. Tout ce qui nécessitait un clic passait par un Chromium séparé que l’utilisateur ne voit pas — sans aucune des sessions dans lesquelles vous êtes déjà connecté.

La PR #90197 (fusionnée le 20 août, sur main) change la donne, en ajoutant deux outils à l’ensemble desktop_ui :

  • drive_preview : action="elements" inventorie tout ce qui est cliquable ou saisissable, puis click, type, scroll et press agissent sur ces éléments ; back/forward/reload pilotent l’historique du panneau ;
  • annotate_preview : maintient une marque sur un élément jusqu’à ce que l’agent la retire — pour pointer quelque chose plutôt que d’agir dessus.

Deux détails techniques qui valent la peine d’être compris :

  1. De vraies entrées, pas des événements synthétiques : les actions passent par sendInputEvent de Chromium, pas par des événements distribués — une page ne peut pas faire la différence, et l’état hover/focus se comporte exactement comme celui d’un utilisateur (les clics synthétiques laissent les pages dans des états qu’aucun utilisateur n’aurait pu produire) ;
  2. Des handles d’éléments durables : les elements sont nommés d’après ce qu’ils sont et ce qu’ils affichent (btn-sign-in, inp-email) ; quand un framework détruit un nœud puis le reconstruit, le handle se re-binde automatiquement (l’agent reçoit rebound au lieu d’une suppression à laquelle réagir) — les flux « connexion puis rafraîchissement de liste » ne perdent plus de handles.

Le résultat : « connectez-vous à ce site et récupérez mes factures » se déroule désormais dans le navigateur, sous vos yeux, avec les sessions dont vous disposez déjà.

Astuce 3 — Cron : les cron relay gagnent des réponses à plat et un formatage riche

Les utilisateurs Enterprise qui connectent Slack via l’adaptateur relay ont remarqué l’écart : sur l’adaptateur Slack natif, les briefs de cron peuvent être publiés à plat dans le DM (cron_continuable_surface: in_channel) avec une simple réponse poursuivant la tâche — tandis que sur la voie relay, les briefs atterrissaient toujours dans un thread dédié et le contenu riche (tableaux Block Kit, code surligné) s’affichait sous forme de puces - littérales.

La PR #90038 (fusionnée le 20 août) comble cet écart (découvert lors d’une évaluation comparative en entreprise) :

  • CapabilityDescriptor gagne supports_inchannel_continuable, et l’adaptateur relay l’annonce et l’applique désormais — le mode in_channel fonctionne sur la voie relay ;
  • la résolution des surface-knobs de cron a été réécrite pour que les knobs Slack du relay vivent enfin dans un endroit qui fonctionne (platforms.relay.extra.slack.*) au lieu d’être lues puis ignorées ;
  • block formatting : le texte riche natif, les tableaux et le code surligné s’affichent désormais correctement via le relay.

Combiné avec le guide complet d’automatisation cron, les utilisateurs du relay bénéficient désormais d’une UX cron à parité avec le natif.

Astuce 4 — Résilience : les backends de recherche keyed défaillants bénéficient d’un secours keyless

Votre recherche web est configurée avec un backend à clé API. Il tombe en panne — et auparavant, cela signifiait une erreur, puis un basculement vers le suivant, et si tous les backends keyed sont en panne, la recherche meurt.

La PR #90688 (fusionnée le 20 août) ajoute un fallback discrètement élégant : quand un backend web keyed échoue, Hermes bascule sur le keyless ring pour un seul appel — et surtout, never sticky : le secours ne s’applique qu’à cet appel unique, si bien que le backend keyed reprend la main dès qu’il se rétablit.

Pour l’utilisateur : une erreur « recherche échouée » en moins, un « trouvé sans dépenser votre quota » en plus. Un petit changement, une fréquence quotidienne énorme.

Statut des versions

Astuce PR Fusionnée Statut
Caching du prompt Muse Spark #88601 17 août Dans v0.20.4 (publiée le 18 août)
Contrôle du navigateur intégré #90197 20 août main, non publiée
Cron relay à plat + texte riche #90038 20 août main, non publiée
Secours de recherche keyless #90688 20 août main, non publiée

Pour les essayer : hermes update (les utilisateurs de v0.20.4 obtiennent l’astuce 1 automatiquement) ; les trois autres arrivent avec la prochaine version ou depuis main (hermes update --branch main).

Pour conclure

Ce que ces quatre astuces ont en commun : personne ne les a annoncées, et elles vous affectent chaque jour. Le caching fait économiser du vrai argent, le contrôle du navigateur évite les changements de contexte, la mise à niveau de cron épargne les maux de tête d’intégration en entreprise, et le secours de recherche évite une panne à 3 h du matin. Tout a été fusionné entre le 17 et le 20 août ; la première est déjà disponible dans v0.20.4. Après la mise à jour, consultez la référence de la commande cron et mettez en œuvre ce qui vous concerne.