Nous Research : quinze intégrations de mon code dans Hermes Agent, une revue de Bot Screen
Hermes Agent, le logiciel d’agent de Nous Research, fait tourner les agents des dirigeants que j’équipe. Quand il leur manque quelque chose, je le corrige. D’avril à septembre 2026, les mainteneurs ont intégré mon code quinze fois : 22 commits, mon nom conservé. En septembre, à l’invitation de Teknium, j’ai relu Bot Screen, qui permet à une personne de reprendre la main sur l’agent : cinq problèmes reproduits, puis corrigés avant la fusion.
Contexte
Hermes Agent est le logiciel d’agent de Nous Research. Je l’utilise pour une flotte d’agents destinée à des dirigeants qui ne développent pas. Les manques que je corrige viennent de cet usage : fournisseur xAI, voix, image, effort de raisonnement, livraison de fichiers, longueur de contexte.
Aucune de mes pull requests n’a été fusionnée telle quelle. Les mainteneurs les reprennent : cherry-pick, rebase, ou salvage, avec l’auteur conservé dans l’historique Git. Le décompte utile est ailleurs : les pull requests fusionnées qui contiennent mes commits.
Le relevé du 27 septembre 2026 a examiné 114 pull requests. Il en compte 15 fusionnées avec mon code, issues de 16 des miennes, et 22 commits dont je suis l’auteur sur la branche principale. J’en ai ouvert 68 : 49 fermées, 19 encore ouvertes ce jour-là. Au 28 septembre, aucune nouvelle fusion ; quatre pull requests ouvertes le 27 septembre, après le relevé, sont en attente et ne sont pas des intégrations.
Nous Research n’est pas un client. J’ai travaillé avec les équipes de Nous Research, au sens de ces reprises et de cette revue.
Ce qui a été fait
Les quinze reprises, de la première à la dernière. La date est celle de la fusion, en UTC. Le titre est raccourci. Chaque lien est public.
| PR | Fusion | Titre |
|---|---|---|
| #5604 | 6 avril | Cache de prompt xAI |
| #7093 | 10 avril | Longueurs de contexte Grok |
| #7372 | 10 avril | Fournisseur xAI natif |
| #9923 | 14 avril | Préfixe fournisseur xAI |
| #14473 | 23 avril | Transcription Grok |
| #14765 | 23 avril | Génération d’images xAI |
| #22807 | 9 mai | Effort de raisonnement vers xAI |
| #29277 | 20 mai | Modèles retirés, migration |
| #29376 | 20 mai | Pauses de voix, au choix |
| #30579 | 22 mai | Contexte Grok Build |
| #37089 | 2 juin | Routage des modèles vidéo |
| #70510 | 24 juillet | Routage x_search et xurl |
| #72170 | 26 juillet | Livraison des fichiers |
| #85434 | 13 août | Cache de contexte grok-4.6 |
| #109295 | 12 septembre | Synthèse sans erreur 400 |
Reprises fusionnées par mois
Avril 6, mai 4, juin 1, juillet 2, août 1, septembre 1. Source : API GitHub, relevé du 27 septembre 2026. Reprises fusionnées par mois
API GitHub, lecture seule, 27 et 28 septembre 2026.
Deux intégrations sont partielles, deux autres partagées. La pull request 9923 ne retient pas deux des changements proposés. La pull request 14765 retire le chemin d’édition d’image. La pull request 72170 réunit six contributeurs : un de mes commits sur dix. La pull request 109295 me compte comme auteur du correctif, avec un co-auteur, et des tests d’autres personnes.
Les corps de ces reprises le disent. « Cherry-picked from #5548 by @Julientalbot ». « Salvaged from #7050, contributor authorship preserved ». « Credit to @Julientalbot — authorship preserved via rebase-merge ». Sur la pull request 70510, le mainteneur écrit que la doctrine de routage « was right and most of it survived verbatim ».
D’autres pull requests reprennent une idée que j’avais proposée, sans mon code. Le 3 mai, la pull request 19132 : « Your config.yaml integration approach was the foundation ». Le 6 avril, la pull request 5595 applique un correctif proposé dans la mienne, sans me nommer. Le 10 mai, la pull request 23291 reprend la même intention par une voie plus simple. Le 13 mai, la pull request 25126 me cite parmi les propositions remplacées. Le code vidéo vient d’un autre auteur.
Le 12 septembre, quatre pull requests concurrentes du même correctif ont été fermées en me désignant comme premier auteur : trois avec la formule « cherry-picked from #32777 by @Julientalbot, the first submitter », la quatrième avec « credit goes there ». Une cinquième, qui rebasait la mienne, a été fermée le même jour : « Julien Talbot stays the author ». Le correctif lui-même est celui de la pull request 109295.
La revue est à part. Bot Screen montre le bureau de l’agent dans Hermes Desktop, permet d’en prendre le contrôle, puis de le rendre. La pull request 108914 a été ouverte par Teknium le 12 septembre, et fusionnée le 23 septembre. À son invitation, j’ai revu l’interaction entre la personne et l’agent. La revue est publique le jour même, à 19:14 UTC. Cinq cas, chacun avec une sonde de régression. Trois prioritaires : les outils navigateur continuaient d’agir pendant que la personne tenait le contrôle ; une capture traversait un cycle complet de prise et de restitution ; une déconnexion anormale rendait la main à l’agent en pleine saisie. Deux secondaires : une image périmée restait affichée comme en direct ; l’état de contrôle d’un hôte s’appliquait à un autre, au même chemin de profil. Deux remarques de conception complétaient ces cinq points. J’ai écrit les limites de la revue : pas d’essai réel du bureau à distance, pas d’étude avec des utilisateurs.
Ce qui a changé
Mesuré, sur le dépôt. Teknium a répondu le jour même, à 19:54 UTC : « Thanks @Julientalbot — every finding reproduced. » Le corps de la pull request consacre une section à ce second tour, à mon nom, et désigne la sonde du navigateur comme mon test : « your probe, red on the previous head ». Les cinq corrections et la remarque sur un bail illisible étaient en place à la fusion. La remarque sur le motif affiché pendant l’action humaine a été traitée, puis le mécanisme a été retiré le 13 septembre. L’attente des actions en cours avant de confirmer la prise de main a été refusée, par décision du mainteneur. Je suis relecteur de Bot Screen, pas son auteur. J’en suis un relecteur parmi dix-huit nommés dans le corps, le premier de la liste.
Les quinze reprises sont dans l’historique. Leur présence dans le code d’aujourd’hui, après des refactors ultérieurs, n’a pas été auditée.
Limites
Une reprise proposée le 22 septembre, pull request 118788, reprend trois de mes commits sur la transcription vocale, auteur conservé. Elle était ouverte au 28 septembre, sans fusion. Ce n’est pas une intégration.
Les pull requests ouvertes le 21 septembre pour Grok 4.7 ne sont pas comptées non plus. Une phrase de clôture, « your contribution is what shipped », sur une de mes pull requests fermées, est contredite par l’attribution : le code livré vient d’un autre auteur. Je ne la reprends pas.
Le travail sur ces pull requests est assisté par des agents. Le chiffre de 68 pull requests déposées n’est pas un chiffre de 68 contributions. Le chiffre qui tient est 15 fusions, 22 commits, une revue.
Sources
- Relevé du 27 septembre 2026 : 114 pull requests examinées, API GitHub en lecture seule. Recomptage du 28 septembre : aucune fusion nouvelle contenant mes commits.
- Quinze reprises fusionnées, liens dans le tableau ci-dessus. Revue : pull request 108914, revue du 12 septembre, réponse de Teknium.
- Crédits sans code repris : pull requests 19132, 5595, 23291, 25126. Clôtures avec crédit : 61777, 95796, 104377, 109207, 108747, 109446.