Hermes Agent : 5 usages concrets pour maximiser sa production de code

Hermes Agent : 5 usages concrets pour maximiser sa production de code Hermes Agent propose plusieurs fonctionnalités inédites, dont la correction autonome du code et l'automatisation avancée des tests, afin de renforcer l'efficacité des équipes techniques.

Par rapport aux chatbots IA classiques, un agent IA peut ouvrir des fichiers, exécuter du code, naviguer sur le web ou encore envoyer des e-mails. De son côté, Hermes Agent se différencie lui-même des agents classiques sur différents points.

Lancé en février dernier par le laboratoire américain Nous Research, il promet une assistance quotidienne intelligente et un gain de temps majeur. Pour cela, au-delà de son autonomie et de sa mémoire, il possède une capacité d'autoapprentissage. Alors qu'un agent habituel complète une demande et oublie, Hermes identifie les patterns réutilisables. Après chaque tâche, il les consigne dans un fichier autonome SKILL.md. Celui-ci est ensuite rechargé pour optimiser l'exécution de tâches similaires futures.

Deuxièmement, alors que les agents classiques injectent tous les échanges passés en contexte, Hermes utilise une architecture de mémoire étagée. Par rapport aux agents habituels, Hermes se connecte aussi à plus de modèles. Il s'intègre directement dans l'éditeur de code.

Dans le but de tester ses capacités, nous lui avons donné cinq cas d'usage. Objectif : maximiser la production de code.

Au niveau de l'installation de l'agent, après avoir installé Python, la méthode recommandée sous Linux, macOS ou WSL2 est d'utiliser le script d'installation officiel dans le terminal :

Bash
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

Sur Windows en natif, l'installation se fait via PowerShell :

Plain Text
iex (irm https://hermes-agent.nousresearch.com/install.ps1 )

Et on lance Hermes :

Bash
Hermes

Nous passons ensuite par la plateforme "Nous Portal" et prenons un crédit de 10 euros. Ceci afin de choisir comme modèle deepseek-v4-flash. Celui-ci possède peut-être le meilleur rapport qualité-prix. Il coûte environ 10 centimes de dollar par million de tokens à l'entrée et environ 20 centimes de dollar par million de tokens à la sortie. Notons que ce modèle de langage open source offre une fenêtre de contexte de 1000K tokens. Il est particulièrement indiqué pour la génération de code, la recherche avancée, le RAG et l'inférence de masse. Après avoir activé les différentes options et gardé l'exécution en local, nous lançons Hermes, en tapant simplement "Hermes" dans PowerShell.
Indiquons qu’il est possible de déléguer les tâches d'Hermes à Claude Code. Pour cela, il est recommandé de passer par la délégation ponctuelle avec le flag -p, c'est-à-dire l'option qu'on ajoute à une commande pour modifier son comportement. Par exemple :

Bash
claude -p "Ajoute la gestion d'erreurs sur tous les appels API dans src/" \
 --allowedTools "Read,Edit" --max-turns 10

Dans ce cas, Hermes lance la commande depuis son terminal, récupère le résultat et continue son workflow.

Cas d'usage 1 : la revue de code automatisée

Vérifier son travail avant de le sauvegarder dans l'historique du projet peut être chronophage. Un agent classique attendrait une instruction à chaque fois. Hermes doit pouvoir enchaîner de lui-même la lecture de chaque fichier, l'analyse, la synthèse et la rédaction d'un rapport.

Pour le tester, nous tapons dans PowerShell :

PowerShell
hermes -p "Analyse tous les fichiers dans C:\chatbot-rag-local et génère un rapport de revue de code dans un fichier review.md" --yes

Pour décrypter ce prompt, indiquons que "hermes" accompagné du flag "p", permet de demander à l'agent de lancer un prompt direct. Il n'ouvre pas le mode interactif. En fin de prompt, le flag "yes" permet à Hermes d'exécuter toutes les actions, sans demander confirmation à chaque étape.

Après une vingtaine de minutes tout de même, Hermes a lu les fichiers. Il a restitué un rapport détaillé avec les points à corriger, classés par priorité. Le fichier review.md a également bien été créé.

Extrait. © Copie d'écran

On aperçoit ici un résumé des problèmes et les correctifs associés des différents fichiers. Le rapport parle par exemple d'une erreur de mise en forme qui fait planter Python et propose une solution.

Cas d'usage 2 : la correction d'erreurs avec mémoire persistante

Lors du développement, il arrive parfois de tomber sur une erreur récurrente. Un agent classique peut résoudre le problème mais oublier la solution à la session suivante. Hermes, lui, peut écrire la résolution du problème dans sa mémoire persistante. Il s'agit, dans notre cas, du fichier MEMORY.md géré par l'agent. Grâce à cela, lors du redémarrage, Hermes relit ce fichier au début de sa session et sait réagir face aux problèmes.

Pour le tester, nous écrivons :

J'ai cette erreur dans mon projet Onboarding. Quand je tape ce message dans PowerShell :
PowerShell
cd C:\Users\admin>python verif_onboarding.py
Je reçois :
Plaintext
C:\Users\admin\AppData\Local\Programs\Python\Python311\python.exe: can't open file 'C:\\Users\\admin\\verif_onboarding.py': [Errno 2] No such file or directory.
Diagnostique et explique-moi comment corriger. Mémorise la solution pour les prochaines fois.
© Copie d'écran

Hermes reconnaît Errno 2 comme une erreur standard Python qui signifie "fichier introuvable". Il analyse le chemin C:\Users\admin\verif_onboarding.py. Hermes utilise alors son outil interne memory (avec l'action add) pour écrire la solution dans son fichier de mémoire globale (MEMORY.md). Celle-ci contient la solution : naviguer dans le bon dossier avant d'exécuter. Si une erreur similaire se produit, Hermes aura automatiquement cette information dans son contexte au démarrage de la prochaine session

Cas d'usage 3 : la génération de documentation automatique

Maintenir une documentation à jour peut être fastidieux. Les fonctions évoluent, les commentaires ne suivent pas, et le projet peut devenir plus lourd à gérer. Alors qu'avec un assistant classique, le processus est en partie manuel et morcelé, avec Hermes, c'est l'autonomie de l'agent qui prime.

Pour expérimenter cela, nous écrivons dans Hermes :

Lis le fichier C:\Users\admin\MonProjetRH\verif_onboarding.py. Génère des docstrings Google Style pour toutes les fonctions et classes qui n'en ont pas encore. Pour chaque fonction, documente : ce qu'elle fait, les paramètres (Args:) avec leur type, et la valeur retournée (Returns:). Montre-moi le fichier complet avec les docstrings ajoutées.

Dans ce cas, Hermes ouvre bien le fichier. Il analyse le code et génère les docstrings. Il réécrit le document. Il peut ensuite répéter ce cycle sur d'autres fichiers, sans nouvelle intervention.

Extrait. © Copie d'écran

On voit ici que le fichier verif_onboarding.py a été automatiquement mis à jour avec les éléments demandés. Les commentaires sont notés en orange. Hermes respecte le format Google Style demandé.

Cas d'usage 4 : la refactorisation sécurisée avec validation

Le refactoring de code consiste à restructurer l'intérieur d'un logiciel. Son but est d'avoir une meilleure lisibilité et maintenabilité du code, grâce à des modifications mineures. Alors qu'avec un assistant classique, ce processus fait intervenir l'utilisateur, Hermes permet par exemple d'exécuter les tests de validation.

Pour travailler cela, nous écrivons :

Je travaille sur le projet situé dans C:\chatbot-rag-local. C'est un chatbot RAG en Python. Je veux remplacer toutes les utilisations de l'ancienne fonction fetchData() par la nouvelle librairie fetchClient. Parcours tous les fichiers .py du projet un par un. Pour chaque fichier concerné, applique la modification. Puis lance pytest pour vérifier que rien n'est cassé. Si les tests passent, continue au fichier suivant. Si un test échoue, annule la modification de ce fichier, note le nom du fichier et le message d'erreur dans un fichier refacto-log.md à la racine du projet, et passe au suivant. A la fin, donne-moi un résumé de ce qui a été modifié et de ce qui a échoué.

On voit qu'Hermes lance les tests et lit le résultat. Si l'essai est un succès, l'agent conçu par Nous Research recommence la procédure avec le prochain fichier .py de la liste. Si c'est un échec, il annule la modification.

Ici, Hermes a bien produit un rapport structuré dans refacto-log.md. Il n'a pas modifié le code inutilement.

Cas d'usage 5 : la notification dans Slack

Une notification sur Slack permet par exemple de savoir qu'Hermes a terminé une tâche. A noter qu'Hermes Agent intègre nativement une fonctionnalité de passerelle multiplateforme, ou Gateway, permettant de le connecter directement à Slack, Discord ou Telegram . Toutefois, on peut aussi créer un script personnalisé.

Pour mettre en place cela, on peut créer dans Slack un canal #hermes-notifications. Pour cela, sur api.slack.com/apps, nous créons une nouvelle App. Nous allons sur Incoming Webhooks et activons Add New Webhook. Nous copions ensuite l'URL. La nouvelle App, appelée "Hermes", est créée "from scratch", dans un fichier en local, ici C:\Users\admin.

Nous y créons ensuite le fichier notif.py en tapant :

Python
import requests, sys
WEBHOOK = "VOTRE_URL"
message = sys.argv[1] if len(sys.argv) > 1 else "Hermes a terminé une tâche."
requests.post(WEBHOOK, json={"text": message})

Pour savoir si cela fonctionne, on écrit dans PowerShell :

PowerShell
cd C:\Users\admin
python notif.py "Test Hermes✅"

Le message "Test Hermes ✅" est bien parti dans le canal Slack. 

© Copie d'écran

Nous mentionnons ensuite ceci dans Hermes :

Génère une fonction Python qui calcule le nombre de jours travaillés entre deux dates en excluant les week-ends. Sauvegarde-la dans C:\Users\admin\jours_travailles.py puis exécute : python C:\Users\admin\notif.py "✅ jours_travailles.py généré"

Après plusieurs dizaines de minutes, Hermes a créé le fichier et envoyé la notification sur Slack.