Comment nous avons construit Hermes pour soutenir toute notre équipe

153K
863
74
76
2.0K

TL;DR

Artie Labs détaille son déploiement de Hermes, un framework open-source d'agents IA, au sein de son équipe de 17 personnes. Ils expliquent comment ils ont personnalisé les profils d'agents pour des rôles spécifiques, géré les coûts via un serveur unique et mis en œuvre des routines nocturnes de « rêverie » pour l'optimisation de la mémoire.

Au moment où nous écrivons ces lignes, Artie est une équipe de 17 personnes. Chacun d’entre nous travaille aux côtés de Hermes, un harnais d’agent IA open source développé par @NousResearch. Il tourne sur une seule machine physique située en Allemagne, possède une personnalité différente pour chaque équipe, et rêve la nuit.

Voici comment nous en sommes arrivés là.

Cela a commencé comme un contact WhatsApp pour un ingénieur

Il y a quelques mois, l’un de nos ingénieurs (Ani, @anirudhsriramzz) utilisait Hermes pour son propre compte. Une configuration personnelle, tout simplement, avec laquelle il communiquait via WhatsApp.

À peu près à la même époque, Robin, notre CTO, est revenu d’un hackathon où un ami lui avait présenté toute une gamme d’agents gérant leur travail. La question qu’il a ramenée était simple : comment rendre cela accessible à tous chez Artie, et pas seulement aux ingénieurs ?

Nous avons d’abord regardé du côté d’OpenClaw. C’est bien. Mais il était facile de voir un agent s’égarer et faire quelque chose que personne n’avait demandé, et nous voulions des garde-fous avant de vouloir passer à l’échelle supérieure. Nous avons donc choisi Hermes et avons commencé à réfléchir à ce que devaient être ces garde-fous.

Un cerveau avec des œillères

Notre façon de voir les choses est la suivante : chaque laboratoire a livré un cerveau. Vous pouvez lui demander n’importe quoi, il répondra. Posez-lui la même question cinq fois et vous obtiendrez cinq réponses, toutes plausibles, mais toutes formulées différemment.

C’est acceptable pour une fenêtre de chat. Cela devient un problème lorsque vous voulez que le cerveau fasse un vrai travail. Si un ingénieur commercial demande une analyse des risques sur 25 fils clients ouverts, il a besoin du même format à chaque fois pour pouvoir agir dessus, comparer les semaines et avoir confiance dans l’outil.

Les chevaux de course portent des œillères pour se concentrer sur la piste plutôt que sur la foule. Les compétences (skills) et les outils sont ces œillères. Le harnais est la façon dont vous les attachez. Hermes, Codex, Claude Code et les autres sont tous des variantes de la même idée : un moyen de décider ce que le modèle est autorisé à faire et à quoi sa sortie doit ressembler.

Une fois que nous avons vu les choses ainsi, le projet a cessé d’être « configurer un chatbot » pour devenir « construire les œillères pour chaque tâche chez Artie ».

Un serveur à 60 $ en Allemagne fait tourner tout ça

Robin et Ani ont configuré le premier Hermes en environ trois heures un week-end. Nous avons loué le plan le moins cher sur Railway, lancé Hermes avec un profil par défaut, et laissé l’équipe d’ingénierie s’y mettre.

En cinq jours, nous atteignions constamment les limites d’utilisation de Railway. Chaque alerte était une incitation à monter en gamme. Ce fut la première vraie leçon : dès qu’une équipe adopte réellement un agent, la facture ne ressemble plus à celle d’un projet annexe.

Notre infrastructure de production tourne sur AWS et y reste. Mais il s’agissait ici d’un bac à sable interne pour les agents, pas d’une infrastructure client, et nous voulions voir jusqu’à quel point nous pouvions réduire les coûts. Nous avons trouvé Hetzner (@Hetzner_Online), une société d’hébergement allemande, et acheté une machine physique pour 60 $ par an. Tous les Hermes chez Artie tournent aujourd’hui sur cette machine.

Nous sommes une entreprise débrouillarde. Toute la question de l’IA chez Artie a été : comment rendre l’équipe aussi native à l’IA que possible sans brûler de l’argent ? La machine Hetzner a été la première réponse.

Ce que nous voulions vraiment

Avec une machine capable de supporter la charge, nous nous sommes assis et avons décidé à quoi servait Hermes. Deux objectifs.

Tout le monde a un acolyte. Ingénieurs, ventes, opérations, marketing, design. Une version junior de vous-même qui vous aide à faire plus, plutôt qu’une chose qui vous remplace. La peur dans l’industrie est que les agents prennent le job. Notre expérience est opposée : quand tout le monde en a un, tout le monde livre plus vite et prend en charge des travaux qu’il ne pouvait pas aborder auparavant.

Un humain est toujours dans la boucle. Hermes peut faire tout ce qu’on lui ordonne de faire. Avant que quoi que ce soit n’arrive en production, dans la documentation ou devant un client, une personne vérifie.

Les humains excellent dans un domaine, les agents devraient aussi

Personne dans une équipe de 17 personnes n’est bon qu’en une seule chose. Mais tout le monde excelle quelque part. Nous recrutons pour cette excellence.

Nous nous sommes donc demandé pourquoi nos agents devraient être différents. Un ingénieur junior travaillant sur des textes marketing est un gaspillage. Un marketeur junior dans le code est pire encore. Nous avons modélisé les agents comme nous pensons aux humains : donnez à chacun un domaine, une personnalité et l’accès aux ressources nécessaires à ce domaine.

Cela nous a donné une famille de profils Hermes, un par équipe.

Hermes Plan et Hermes Code appartiennent à l’ingénierie. Plan est destiné au tech lead : déterminer si nous faisons A puis B, ou A et B en parallèle et C plus tard, et le noter. Plan dispatche le travail sur un tableau Kanban. Code récupère les tickets et exécute en arrière-plan sur notre base de code existante, ouvre des PR (Pull Requests), et attend. Un humain vérifie la PR, et seulement alors elle est fusionnée dans master. La fin d’une tâche lance la suivante dans le plan.

L’effet secondaire imprévu : la plupart du temps de l’ingénierie est désormais consacré à la planification. Historiquement, les gens vivaient dans le code et l’exécution. Maintenant, ils vivent dans la conception système et la revue, et Hermes Code gère l’intermédiaire.

Hermes Sales prépare avant un appel de découverte. Il recherche le prospect, identifie sa stack existante et extrait le contexte actuel sur l’affaire. Comme il a également accès à notre documentation et à nos connaissances techniques, il peut aller plus loin : si un prospect nous dit qu’il déplace des données avec un outil particulier, Hermes peut dire au commercial où cet outil a tendance à casser, par exemple sur la dérive de schéma (schema drift), avant même le début de l’appel.

Hermes Design et Hermes Code permettent ensemble au marketing de concevoir, construire et livrer des pages d’atterrissage sans solliciter un ingénieur. Notre site marketing est sous Next.js et nous n’utilisons plus de CMS. Design travaille dans le système de composants existant, vérifie si un composant existe déjà avant d’en inventer un nouveau, et transmet à Code pour l’implémentation.

Hermes BizOps gère le travail opérationnel récurrent : revues de pipeline, rapprochements, mises à jour des trackers, identification des exceptions nécessitant une intervention humaine.

Et il y a un profil par défaut pour tout ce qui ne rentre pas dans les cases.

La plupart d’entre nous parlent à ces agents via Slack. Certains utilisent Hermes desktop. Dans tous les cas, l’ensemble est passé de réactif à proactif : les agents ont déjà la base de code, la documentation, le CRM et Internet, ils peuvent donc répondre à partir de partout au lieu d’attendre qu’on leur fournisse le contexte.

Des compétences (skills), versionnées comme du code, dès le premier jour

Les profils sont des personnalités. Les compétences sont ce qui les rend compétents.

Une compétence est une procédure réutilisable pour une classe réelle de travail : quoi vérifier en premier, quelles sources sont autorisées, à quoi ressemble la sortie, comment la vérifier. Nous avons écrit les nôtres dès la première semaine et les avons placées dans un dépôt Git. Chaque Hermes lit depuis là-bas. Quand une compétence change, c’est un commit, avec historique, que chaque profil récupère.

Nous avons délibérément évité d’en écrire trop. Il y a mille façons de faire travailler l’IA pour vous et la plupart d’Internet vous dira de construire une usine autonome d’agents fonctionnant 24/7. Si vous aviez des tokens infinis, d’accord. Nous n’en avons pas. Un agent parcourant des centaines de compétences pour décider laquelle utiliser brûle des tokens dans la décision. Nous avons donc coupé tout ce qui n’était pas manifestement rentable, et nous continuons à couper.

La règle finale : si la valeur est évidente, le coût est justifié. Si la valeur est vague, on ne construit pas.

Hermes rêve

Hermes dispose d’un système cron. Vous pouvez lui donner une tâche et une fréquence, et il l’exécute seul.

Inspirés par les travaux d’Anthropic sur la mémoire des agents, nous avons utilisé ce système pour imiter quelque chose que font les humains. Pendant le sommeil paradoxal (REM), votre cerveau trie la journée. Certaines choses sont promues dans la mémoire à long terme. D’autres sont éliminées. Une année où vous avez déménagé et voyagé constamment est mémorable parce que rien ne s’est répété.

Ainsi, chaque nuit, quand personne ne l’utilise, chaque Hermes rêve. Il examine ce qu’il a fait ce jour-là, décide ce qui était utile et ce qui ne l’était pas, promeut les parties utiles dans la mémoire et dégrade le reste. Ensuite, il envoie un rapport à notre ingénieur. Le rapport dit des choses comme : j’ai mal fait ceci, j’ai mal fait cela, je l’ai corrigé, j’ai stocké la correction, et j’ai oublié l’habitude qui l’a causée.

Au fil des semaines, chaque profil devient plus affirmé sur ce qu’il devrait et ne devrait pas faire pour son équipe. Nous n’avons pas programmé ces opinions. Elles sont venues du rêve.

Pourquoi nous gérons notre propre harnais

On nous demande pourquoi nous n’utilisons pas simplement Cursor, Codex ou Claude Code.

Nous pourrions, et techniquement nous pourrions déplacer les charges de travail demain. Mais parce que nous exécutons et opérons Hermes nous-mêmes, le modèle sous-jacent peut être celui de n’importe qui. Si un laboratoire augmente ses prix la semaine prochaine, nous changeons. Nos profils sont maintenant assez stables pour que changer de modèle ne les casse pas. Un lundi, nous pouvons être sur un modèle Anthropic ; si les prix bougent, nous pouvons être sur OpenAI vendredi.

La deuxième raison concerne les fonctionnalités. Si Cursor ne supporte pas l’authentification dont vous avez besoin, ou continue à faire la même erreur dans votre base de code, vous ouvrez un ticket et attendez. Quand Hermes a besoin de quelque chose, nous le construisons. Hermes fait partie d’Artie, intégré à nos systèmes comme n’importe quel outil interne, au lieu d’être quelque chose que nous avons greffé et espérons voir continuer à fonctionner.

L’ingénierie IA coûte cher actuellement parce que l’économie des tokens n’est pas stabilisée. Un jour, faire tourner ces trucs sera presque gratuit. En attendant, posséder le harnais est notre façon de garder le contrôle de la facture.

Où nous en sommes aujourd’hui, et la suite

Hermes est peut-être à 85 ou 90 % de l’objectif. Il effectue un vrai travail chaque jour. La première passe n’est pas toujours la meilleure.

Nous investissons donc dans les évaluations (evals). Chaque fois qu’Hermes reçoit une question et produit une réponse, nous voulons savoir ce qui a pris du temps, quelles compétences il a appelées, quels outils ont échoué et pourquoi. Nous hébergeons nous-mêmes Arize Phoenix, qui est open source, afin d’obtenir cela sans acheter un autre outil. Les traces d’Hermes vont dans Phoenix, et Phoenix nous dit : cette tâche a appelé cinq compétences et deux outils, cet outil a pris le plus de temps, celui-ci a échoué, voici pourquoi.

Sous cela, nous gérons la télémétrie via Datadog : tokens dépensés, taux de succès par tâche, alertes vers l’astreinte si un Hermes tombe ou si le magasin de mémoire se remplit. Chaque tâche s’exécute dans un sandbox, et nous avons construit notre propre système de nettoyage qui vide les sandboxes quotidiennement.

Le but de tout cela est que nous n’avons plus à deviner si un changement a amélioré Hermes. Nous changeons une compétence, nous obtenons un rapport. Si c’est mieux, ça reste. Si c’est pire, nous revenons en arrière.

Nous avons également intégré la documentation directement dans le serveur Hermes : ce qu’il y a dans votre config, ce que vous êtes autorisé à faire, ce que signifient les données. N’importe quel Hermes peut la lire. Ce qui signifie que nous pourrions lancer un Hermes dont le seul rôle serait de lire les données d’évaluation et d’améliorer les autres profils.

C’est essentiellement Hermes Coach. Il coach Hermes.

Dix-sept personnes, un serveur allemand, une famille d’agents qui vont dormir chaque nuit et se réveillent un peu plus affûtés. Nous avons construit cela parce que nous sommes petits et voulions livrer comme si nous ne l’étions pas.

Enregistrer en un clic

Lire les articles viraux en profondeur avec l’IA de YouMind

Enregistrez la source, posez des questions ciblées, résumez l’argument et transformez un article viral en notes réutilisables dans un seul espace de travail IA.

Découvrir YouMind
Pour les créateurs

Transformez votre Markdown en un article 𝕏 impeccable

Quand vous publiez vos propres textes longs, la mise en forme 𝕏 des images, tableaux et blocs de code est pénible. YouMind transforme un brouillon Markdown complet en un article 𝕏 impeccable, prêt à publier.

Essayer Markdown vers 𝕏

D'autres patterns à décoder

Articles viraux récents

Explorer plus d'articles viraux