YC vient de mettre en open source son harness multijoueur
BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology
Transcript
00:00:00vous vous souvenez quand un nouveau framework JavaScript sortait chaque semaine ? Eh bien, c'est la même chose
00:00:04qui se reproduit, mais avec les environnements d'agents. Et cette fois, ceux qui brassent généralement l'argent
00:00:09ont vraiment touché un clavier et écrit du code — bon, en vrai, c'est sûrement Claude qui l'a fait, mais
00:00:14l'accélérateur de startup Y Combinator a sorti son propre environnement d'agent, Qm, qu'ils qualifient
00:00:19d'environnement d'agent multijoueur pour travailler sur Slack et sur le web, et il possède quelques
00:00:24fonctionnalités intéressantes, en plus d'être spécialement conçu pour les startups. Donc, si vous dirigez une entreprise qui dégage zéro
00:00:29bénéfice, c'est peut-être l'outil qu'il vous faut. Alors, c'est quoi exactement Qm ? Si vous avez parcouru le dépôt GitHub,
00:00:39vous en êtes probablement ressorti avec plus de questions que de réponses, car il explique assez mal
00:00:44son propre fonctionnement. Le mot “environnement” (harness) fait penser à un autre Claude Code, quelque chose qu'on installe sur
00:00:49son ordinateur portable et qu'on lance dans son terminal. En réalité, c'est une application web full-stack que les entreprises
00:00:54déploient sur leur propre infrastructure, et chaque membre de l'organisation y dispose de son espace de travail isolé.
00:01:00En dessous, vous disposez d'un backend sans interface gérant les boucles d'agents et de Postgres contenant
00:01:05qui conserve l'historique des sessions. Rien ne réside donc sur votre machine. Il se connecte à Slack pour que tout le monde
00:01:10puisse l'utiliser là où il travaille déjà, ou vous pouvez le piloter directement depuis l'interface web. Ainsi, si vous souhaitez le configurer
00:01:15une bonne fois pour toutes et l'oublier, c'est possible. Et si vous voulez rester à la page avec les derniers
00:01:19outils, abonnez-vous à Better Stack. Alors, pourquoi utiliser ce truc ? Voyons ça de plus près. Qm s'exécute
00:01:26dans le cloud, pas sur votre machine. Cela signifie que l'agent et les appels d'outils se font hors de l'appareil, et vous
00:01:32pouvez y accéder depuis n'importe quel appareil connecté au web. Chaque espace de travail a son propre conteneur doté
00:01:38de son propre espace de stockage, de sorte que tout ce que l'agent installe reste installé. Demandez-lui de configurer un environnement Python
00:01:44lundi, il y sera toujours vendredi, avec les fichiers et tout ce qu'il a cloné. Chaque espace de travail
00:01:50est donc une vraie machine qui conserve son propre état. Vient ensuite le contexte partagé : vous pouvez créer un projet et y ajouter
00:01:56des coéquipiers afin de partager mémoire, fichiers, applications et connecteurs au sein de l'organisation. Cela signifie que
00:02:02vous configurez les choses une fois et tout le monde en profite. Par défaut, chacun dispose d'un espace personnel, qui est en fait
00:02:09un projet défini sur privé, ce qui vous permet de configurer uniquement ce auquel vous avez accès et de paramétrer en toute sécurité
00:02:15des éléments tels que des identifiants sans les partager. Cependant, si vous souhaitez que plusieurs membres de l'équipe aient accès
00:02:20aux mêmes outils, fichiers ou identifiants, c'est également possible. L'interface web fait d'ailleurs un travail assez lamentable
00:02:26pour vous indiquer dans quel contexte vous vous trouvez, avec pratiquement rien à l'écran pour vous faire savoir où vous configurez
00:02:32les choses. Vous pouvez voir ici que je clique sur mon projet partagé et, dans les fichiers, j'ai un petit indicateur pour
00:02:37me dire que je télécharge dans ce projet, mais dans d'autres onglets, je ne vois aucun indicateur. Je m'attendrais à voir
00:02:43un élément d'interface persistant pour m'indiquer mon contexte actuel, mais nul doute que cela sera ajouté bientôt. L'avantage suivant,
00:02:49ce sont les environnements (harnesses). Si vous aimez particulièrement la façon dont fonctionne un certain outil comme Claude Code par exemple,
00:02:54vous pouvez le configurer pour qu'il s'exécute à l'intérieur de Qm. Vous pouvez voir ici que l'environnement par défaut est Pi, mais je peux basculer sur Claude
00:03:01et je ferai tourner exactement le même environnement Claude Code dont j'ai l'habitude, mais dans un environnement cloud.
00:03:06Intégrer Claude Code dans cette liste a demandé un peu de recherche, et c'est l'administrateur qui décide quels environnements
00:03:11tout le monde est autorisé à choisir. Par défaut, vous obtenez uniquement celui avec lequel votre déploiement a démarré,
00:03:16donc mon menu déroulant a commencé avec seulement Pi et rien d'autre. Il n'y a aucune option pour ça dans le panneau
00:03:21d'administration, j'ai donc dû le configurer via un appel API : un PUT sur l'endpoint des environnements avec les identifiants des
00:03:27deux environnements que je veux, et après un rafraîchissement, les deux apparaissent. L'avantage suivant, c'est qu'il possède une surface
00:03:32d'outils vraiment réduite. C'est quelque chose que j'ai beaucoup apprécié : l'agent dispose seulement de sept outils (exécution, lecture,
00:03:38écriture, publication, mémoire, historique et arrière-plan). Tout le reste n'est qu'une commande shell
00:03:43à l'intérieur de son propre bac à sable (sandbox). Ainsi, au lieu de brancher une pile de serveurs MCP en espérant que le modèle choisisse le bon,
00:03:49vous pouvez simplement lui confier une machine et le laisser travailler comme vous le feriez. C'est la même approche
00:03:53qu'adopte Claude Code, et il est agréable de voir que c'est intégré au cœur de la conception. Alors, comment lâcher
00:03:58un agent sur les données de l'entreprise sans que cela tourne au vinaigre ? Il existe un paramètre global à l'organisation pour cela,
00:04:03avec trois niveaux. En mode strict, quasiment chaque appel d'outil se met en pause et attend qu'un humain l'approuve. Le mode auto
00:04:09est celui par défaut : il passe les données externes et les résultats d'outils au crible d'un classificateur avant qu'ils n'atteignent le modèle.
00:04:16Et en mode dangereux, il n'y a aucun filtrage ni pause. Une équipe peut renforcer ce niveau pour son propre périmètre, mais
00:04:21elle ne peut pas l'assouplir au-delà de ce que l'organisation a choisi. Il y a aussi une politique de commandes qui s'applique quel que soit
00:04:27le mode actif, de sorte que les suppressions récursives et le SQL destructeur sont bloqués, même en mode
00:04:33dangereux. On a envie d'avoir ce genre de sécurité avant de placer un agent devant toute l'entreprise,
00:04:36ce qu'on n'obtient pas quand tout le monde fait tourner ses propres agents en local. Globalement, je vois Qm
00:04:42comme un outil puissant pour les équipes ayant un accès partagé à la documentation de l'entreprise, car en tant qu'administrateur, vous pouvez
00:04:47configurer un accès granulaire aux outils externes via des identifiants, choisir d'inclure des fichiers ou
00:04:52une mémoire sur la façon d'exécuter divers processus. Vous pouvez même créer des compétences partagées accessibles à tous les membres de votre projet.
00:04:58Ainsi, plutôt que des configurations isolées comme nous l'avons aujourd'hui avec nos outils CLI, cela permet aux organisations
00:05:04de bénéficier du travail acharné de chacun. Personnellement, je pense que ça vaut le coup d'œil : il a déjà récolté 13 000
00:05:09étoiles sur GitHub, mais je dirais qu'il y a encore beaucoup à faire concernant l'UI et l'UX. Pour être juste envers
00:05:14les développeurs, le projet n'a que deux semaines, il n'est donc littéralement pas mature. Cependant, le potentiel ici
00:05:18est énorme. C'est open source et vous pouvez contrôler et modifier absolument tout, y compris changer le
00:05:24code source si nécessaire. Vous pouvez donc y jeter un œil sur le dépôt GitHub lié dans la description,
00:05:29et si vous avez aimé, n'oubliez pas de vous abonner à Better Stack et je vous dis à la prochaine !