🇬🇧 This article is also available in English.

YC passe QM en open source : le harnais d'agents multijoueur qui fait tourner Y Combinator

YC passe QM en open source : le harnais d'agents multijoueur qui fait tourner Y Combinator
🇬🇧 This article is also available in English.
📑 Table of Contents

Ce que YC vient de publier sur GitHub

Le 31 juillet 2026, Y Combinator a publié QM — abréviation de Quartermaster — sous licence MIT. Pas une démo. Pas une liste d’attente. Le véritable harnais que YC a construit après avoir utilisé plus de 50 agents Hermes en interne et s’être heurté aux limites de ce que les assistants personnels peuvent faire quand on les donne à toute une entreprise.

Les chiffres témoignent de l’accueil : 7 500 étoiles et 788 forks en trois jours, 2,3 millions de vues sur le fil d’annonce. Mais ce qui compte, ce n’est pas l’engouement — c’est ce que YC a choisi de construire différemment de toutes les autres plateformes d’agents.

Le cœur tourne en TypeScript sur Node, avec Fastify pour le HTTP et Postgres pour l’état. Slack est un plugin intégré au processus via Bolt. L’interface web est construite avec Vite et rendue avec Lit. Le dépôt compte 342 fichiers TypeScript répartis sur 50 modules, et voici le ratio qui dit ce qu’est vraiment QM : 13 fichiers implémentent le harnais — la boucle d’appel du modèle. 26 implémentent le contrôle d’accès, l’identité, l’authentification, l’audit, les politiques, les identifiants et la sécurité. Deux fois plus de code détermine qui peut voir quoi qu’il n’en faut pour piloter l’agent.

(Source : AI Builder Club — YC QM Agent Harness : une lecture du code source)


La conception qui fait de QM un système d’entreprise, pas un assistant personnel

L’unité est le scope, pas l’utilisateur. Chaque personne reçoit un scope. Chaque canal Slack reçoit un scope. Chaque scope possède toute sa pile de manière indépendante : mémoire, système de fichiers, trousseau de credentials, planification cron, applications web et un bac à sable durable. L’agent d’un canal partagé a accès au même contexte accumulé, quel que soit le collègue qui lui parle.

Le choix du modèle relève de la politique de l’organisation, pas d’une préférence utilisateur. Un administrateur définit les harnais et les modèles approuvés. Les individus héritent de la valeur par défaut de l’organisation et peuvent la modifier dans la liste autorisée — mais ne peuvent jamais sélectionner un environnement d’exécution interdit. resolveRuntimeChoice dans le routeur du harnais valide chaque sélection par rapport à la liste approuvée.

Les credentials sont limités au scope, pas ambiants. Le token de messagerie de la finance ne fuit pas dans le bac à sable de l’ingénierie. Un scope ne voit que les entrées de son propre trousseau.

L’audit est intégré, pas ajouté après coup. Chaque décision de sortie aboutit à un réceptacle d’audit. Chaque tour est journalisé. Les actions des agents sont attribuables à une personne et à un scope.

(Source : Y Combinator — Annonce de QM ; Wavect — Revue de l’agent IA QM)

C’est une réponse radicalement différente à la question « comment donner des agents IA à une entreprise ? » par rapport à ce qui existait jusqu’ici. Claude Code, OpenCode et Codex sont des agents de codage pour un développeur dans un dépôt. Hermes et OpenClaw sont des assistants personnels qui montent en puissance pour les utilisateurs avancés. QM se place un niveau au-dessus — c’est le système d’exploitation qui gouverne une flotte d’agents à travers les services, chacun avec ses propres limites.


Le multi-utilisateurs, c’est censurer la transcription, pas seulement le salon

Le fichier le plus révélateur du dépôt est src/harness/tape-fold.ts. Dans un salon partagé, plusieurs personnes ayant des droits différents voient la même conversation avec l’agent. filterTapeForAudience filtre donc la bande de session en fonction du spectateur, vérifiant chaque enregistrement par rapport à l’habilitation du scope du spectateur.

Quand un spectateur n’a pas la permission de voir un message, le résultat de l’outil n’est pas supprimé — il est remplacé par un espace réservé. Le supprimer corromprait la structure de la transcription pour un lecteur qui peut encore voir l’appel d’outil qui l’a précédé. La substitution maintient la validité structurelle de la conversation tout en imposant les limites d’accès.

C’est le genre de cicatrice de production qui n’apparaît qu’après avoir fait tourner des agents à grande échelle. N’importe qui peut mettre un agent dans un canal Slack. Lui faire tenir des propos différents selon le lecteur, sans casser le modèle de conversation, voilà l’ingénierie.

(Source : AI Builder Club — Lecture du code source)


Le proxy de sortie est le véritable bac à sable

QM embarque un proxy d’autorisation autonome (src/egress-authz-main.ts) par lequel toute commande dans le bac à sable doit passer. Ses défenses sont spécifiques et traitent des vecteurs d’attaque connus :

  • Jetons de capacité signés par requête, vérifiés avec la sérialisation compacte JWS, pas de confiance implicite sur le réseau
  • Points de terminaison de métadonnées cloud bloqués nommément : metadata.google.internal, metadata.goog et l’adresse link-local IPv4 169.254.0.0/16
  • Noms d’hôte résolus et revérifiés — l’adresse IP est vérifiée après la résolution DNS, ce qui ferme la porte au rebinding DNS
  • IPv6 link-local (fe80::/10) et les plages spécifiques à EC2 (fd00:ec2::254) bloquées

Le blocage de 169.254.169.254, c’est le signe qui ne trompe pas. C’est le point de terminaison des métadonnées AWS — ce qui transforme un agent capable de faire un curl sur une URL en un agent qui détient vos identifiants cloud. C’est l’une des premières choses que regarde un auditeur de sécurité et l’une des dernières qu’implémente un projet amateur.

(Source : Dépôt GitHub de QM — SECURITY.md)


La mémoire est un carnet Markdown, pas un magasin de vecteurs

Il n’y a aucun index d’embeddings nulle part dans le chemin mémoire de QM. La mémoire vit sous forme d’un carnet Markdown contenant des faits atomiques en puces, chacun horodaté de sa date de capture, stocké dans Postgres. Trois stratégies sont livrées, sélectionnables par déploiement :

Stratégie Comportement
per-turn (par défaut) Extrait les faits à la fin de chaque tour
scratch-promote Met les faits en tampon dans une zone de travail, promeut ce qui survit
agent-only L’agent écrit lui-même sa mémoire, pas d’extraction automatique

C’est la consolidation qui devient intéressante. Quand 10 nouvelles puces s’accumulent sous un marqueur, un passage du modèle opère sur le carnet numéroté et renvoie des actions, pas de la prose : UPDATE, DELETE, ADD: ou exactement NONE. La consigne demande au modèle de préférer UPDATE à DELETE + ADD quand un fait a évolué, de garder chaque fait atomique et de supprimer ce qui est périmé ou contredit.

Le format en liste d’actions signifie que les modifications de la mémoire sont revues et différenciables. On peut voir ce que l’agent a décidé d’oublier. C’est une meilleure piste d’audit qu’un fichier mémoire réécrit — et c’est le même schéma de consolidation qui circule dans les laboratoires d’IA, livré dans du code lisible.

(Source : AI Builder Club — Lecture du code source ; Dépôt QM)


Où se situe QM dans le paysage des harnais d’agents

QM ne remplace pas les agents personnels — il ajoute une couche de gouvernance à l’échelle de l’entreprise au-dessus d’eux. Le tableau comparatif est éloquent :

Dimension QM Hermes / OpenClaw Claude Code / Codex / OpenCode
Utilisateur principal Toute l’entreprise Personnel / utilisateur avancé Développeur dans un dépôt
Scopes Personne + canal, isolés Un seul utilisateur Une seule session
Administration et politique de l’organisation Niveau entreprise, première classe Bricolage ou absent Par développeur
Multi-utilisateurs Natif (filtrage de la bande, substitution) Émergent / limité Essaim / multi-session
Verrouillage éditeur Harnais interchangeables (4 options) Spécifique à la pile Lié à un seul harnais
Licence MIT Variable Variable

(Source : explainx.ai — YC QM, harnais multi-agents open source)

Pour une startup sur Slack qui veut un système d’agents unique pour toutes les fonctions — et non cinq bots distincts avec cinq modèles d’authentification — le modèle de scopes de QM est le facteur différenciant. Si vous voulez simplement un assistant IA personnel, Hermes ou OpenClaw restent plus simples. La décision tient à ce que le problème soit « mon agent » ou « nos agents ».


Le SECURITY.md honnête

La plupart des lancements d’agents open source noient leur posture de sécurité dans un discours marketing. Le SECURITY.md de QM est inhabituellement direct sur ses limites :

  • Les administrateurs de l’organisation peuvent lire le contenu des scopes sans l’accord des utilisateurs. « Un administrateur est un lecteur de contenu privilégié, pas seulement un administrateur de politique. » Défendable pour une startup, rédhibitoire dans des environnements réglementés.
  • Pas de frontière multi-tenant durcie. Suppose une seule organisation avec des utilisateurs internes authentifiés. Les applications web publiées font exception, avec une autorisation par lien de capacité.
  • Ne protège pas contre un opérateur compromis.
  • Version 0.1.0. Explicitement « précoce, avec des bugs, expérimentale ».

(Source : QM SECURITY.md)

Un modèle de menace qui nomme ses propres lacunes est un signal plus fort sur la culture d’ingénierie que n’importe quel benchmark. C’est le document à remettre à votre auditeur de sécurité avant de déployer.


Faut-il déployer QM ?

Un oui raisonnable : Vous êtes une startup technique sur Slack, vous voulez des scopes privés plus des salons partagés, vous pouvez opérer Postgres et Fly.io ou AWS, et vous acceptez un logiciel bêta où les administrateurs peuvent lire les conversations des agents.

Un non raisonnable : Vous avez besoin de frontières multi-tenant ou d’utilisateurs externes, vous êtes dans un environnement réglementé ou vous voulez un produit managé avec un SLA.

La voie médiane : Lisez les cinq motifs architecturaux ci-dessus. Volez les deux qui comblent une brèche que vous avez déjà (le proxy de sortie, le modèle de scopes, la consolidation de la mémoire revue et différenciable). Surveillez le dépôt. YC accepte les contributions sous forme d’ADR — des textes écrits par des humains, pas des PR de code — ce qui est un modèle inhabituel qui peut accélérer ou ralentir selon la disponibilité des mainteneurs.

La vraie valeur de QM n’est pas nécessairement en tant que cible de déploiement. C’est la première architecture de référence pour ce à quoi ressemble un système d’exploitation d’agents à l’échelle de l’entreprise quand ceux qui l’ont construit ont déjà fait tourner plus de 50 agents en interne et se sont heurtés aux murs eux-mêmes.


FAQ

Q : QM, est-ce simplement Claude Code avec Slack ?
Non. Claude Code, OpenCode, Codex et Pi peuvent tous piloter la boucle d’agent de QM, mais QM ajoute le système d’exploitation d’entreprise autour : identité, persistance par scope, politique administrative, audit, applications web, crons et le proxy de sortie. C’est une couche de gouvernance, pas un simple wrapper de modèle.

Q : Comment QM se compare-t-il à Hermes ou OpenClaw ?
Hermes et OpenClaw sont des plateformes d’agents personnels — excellentes pour les utilisateurs individuels avancés. QM vise le problème à l’échelle de l’entreprise : plusieurs personnes avec des scopes distincts partageant des salons, avec une politique centralisée. Si vous êtes seul, restez sur Hermes. Si vous êtes une équipe de 20 personnes ou plus réparties sur quatre services, le modèle de scopes de QM est ce qu’il vous faut.

Q : Est-il sûr de donner à QM l’accès aux données de l’entreprise ?
QM isole les données par scope et embarque un véritable proxy de sortie. Mais le SECURITY.md est explicite : les administrateurs peuvent lire le contenu, il n’y a pas de multi-tenant, et il ne protège pas contre les opérateurs compromis. Commencez avec la posture de sécurité Stricte (chaque appel d’outil nécessite une approbation humaine) et lisez SECURITY.md avant de déployer.

Q : Combien ça coûte à faire tourner ?
QM lui-même est gratuit (MIT). Les coûts proviennent de l’infrastructure cloud (Fly.io ou AWS, Postgres, calcul), de l’utilisation des API de modèles (tokens par employé/flux de travail) et du temps d’ingénierie de plateforme (déploiement, mises à jour, réponse aux incidents, gestion des credentials). La revue de Wavect estime qu’un pilote réaliste nécessite des capacités d’ingénierie de plateforme dédiées.

Q : QM peut-il utiliser d’autres modèles que les quatre harnais listés ?
Actuellement, les harnais pris en charge sont Pi, OpenCode, Codex et Claude Code — chacun avec son propre adaptateur derrière une interface Harness partagée. En ajouter un nouveau signifie écrire un nouvel adaptateur. L’architecture est conçue pour cela, mais ce n’est pas encore un simple changement de fichier de configuration.


Pour aller plus loin