Chaque session dispose de son propre ordinateur cloud et de sa propre branche. L’agent reproduit le bug, écrit le correctif, exécute les tests et ouvre une demande de modification. Vous examinez un diff.
packages/queue/src/retry.tsconst delay = base * 2 ** attempt;// Full jitter. Without it every worker wakes on the same tick and the// retry storm is indistinguishable from the outage that caused it.const delay = Math.random() * base * 2 ** attempt; packages/queue/src/retry.test.tstest("spreads retries across the window", () => { const spread = sample(1_000).stddev / EXPECTED_MEAN; expect(spread).toBeGreaterThan(0.4);});Pas les réécritures. Le petit travail bien défini qu’elles cachent : reproductions, mises à jour de dépendances, tests instables, renommage dans deux cents fichiers.
Il prend le rapport, construit le cas sur sa propre machine et revient avec un test en échec ou la raison pour laquelle il n’a pas pu reproduire le problème. Une session qui ne peut pas reproduire le bug le dit. Elle n’invente pas de correctif pour un bug qu’elle n’a jamais vu.
Il exécute la suite en boucle, isole le test réellement défaillant et sa fréquence d’échec, puis trouve l’état partagé ou l’hypothèse temporelle sous-jacente. La demande de modification contient le taux d’échec mesuré avant et après.
Mettez à niveau, construisez, exécutez la suite, lisez le changelog pour repérer les changements incompatibles et adaptez les points d’appel concernés. Si la suite échoue, la demande de modification est tout de même ouverte, avec les échecs dans la description plutôt qu’une prétendue réussite.
Un renommage, un déplacement d’API, une règle de lint activée — le genre de changement trivial par fichier et insupportable à grande échelle. Il travaille fichier par fichier sur sa propre branche et livre un diff facile à examiner.
Il lit les erreurs de la journée, les regroupe par cause racine plutôt que par message, les classe selon le nombre de personnes touchées et traite la première jusqu’au correctif.
Il compare le comportement documenté au comportement réel et corrige le document pour l’aligner sur le code, ou signale que le code est fautif. Les deux sont le même type de commit ici — tout est un fichier.
Vous recevez un diff sur une branche, avec les tests déjà exécutés sur la machine qui l’a produit. Il n’y a rien de nouveau à apprendre à lire.
packages/queue/src/retry.ts-const delay = base * 2 ** attempt;+// Full jitter. Without it every worker wakes on the same tick and the+// retry storm is indistinguishable from the outage that caused it.+const delay = Math.random() * base * 2 ** attempt;packages/queue/src/retry.test.ts+test("spreads retries across the window", () => {+ const spread = sample(1_000).stddev / EXPECTED_MEAN;+ expect(spread).toBeGreaterThan(0.4);+});
L’agent valide son travail sur la branche de session et ouvre une demande de modification vers main. Vous examinez un diff accompagné d’une description — le même objet qu’aurait ouvert un collègue.
Le bac à sable est une vraie machine Linux : l’agent installe, construit et exécute lui-même la suite. Une demande de modification qui arrive en échec le précise dans la description au lieu de prétendre qu’elle est réussie.
Les sessions ne partagent pas leur arborescence de travail. Vingt sessions peuvent travailler simultanément sur le même dépôt, chacune sur sa propre branche et son propre ordinateur, sans se gêner.
La plupart du travail se déroule dans le dépôt cloné par la session. Les connecteurs couvrent le reste et leurs identifiants restent de notre côté, jamais dans la machine.
Easy connect couvre plus de 3 000 applications via leurs écrans OAuth. Tout ce qui ne figure pas dans ce catalogue est accessible via MCP, OpenAPI, GraphQL ou HTTP brut — généralement la réponse honnête pour un service interne, qui n’a jamais eu d’entrée de catalogue publique.
Trois façons de démarrer la même session. L’isolation et le parcours de revue ne changent pas selon le déclencheur.
Décrivez le bug dans un fil Slack ou démarrez une session depuis l’application web ou la CLI. Vous recevez une réaction sur votre propre message, pas une publication du bot, et la réponse arrive dans le même fil.
Définissez une action sur Ask : l’exécution s’arrête à l’appel et attend, en vous montrant l’action et ses arguments. Approuvez-la ; le même appel se termine et la session reprend exactement là où elle s’était arrêtée.
Triez les exceptions de la nuit à 06:00. Ou reliez vos alertes à un webhook signé afin qu’un événement de notification démarre une session avec la charge utile de l’incident déjà présente dans le prompt.
La question n’est pas ce qu’un agent peut écrire, mais ce qu’il peut intégrer. Voici la réponse exacte.
Un projet, un ensemble de connecteurs, une mémoire qui s’enrichit. Chaque équipe écrit les compétences adaptées à son travail, sans mettre en place un second système.
Commencez par une tâche et développez à partir de là.