Jede Sitzung erhält ihren eigenen Cloud-Computer und Branch. Der Agent reproduziert den Fehler, schreibt den Fix, führt die Tests aus und öffnet eine Änderungsanfrage. Sie prüfen einen 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);});Nicht die Neuentwicklungen. Die kleinen, klar definierten Aufgaben darunter: Reproduktionen, Dependency-Updates, flakey Tests, eine Umbenennung in zweihundert Dateien.
Der Agent nimmt den Bericht, baut den Fall auf seiner eigenen Maschine nach und liefert entweder einen fehlschlagenden Test oder den Grund, warum er ihn nicht reproduzieren konnte. Eine Sitzung, die nicht reproduzieren kann, sagt das. Sie erfindet keinen Fix für einen Fehler, den sie nie gesehen hat.
Der Agent führt die Suite in einer Schleife aus, isoliert, welcher Test tatsächlich wie oft fehlschlägt, und findet den zugrunde liegenden Shared State oder die Zeitannahme. Die Änderungsanfrage enthält die gemessene Fehlerquote vor und nach der Änderung.
Aktualisieren, bauen, Suite ausführen, Changelog auf Breaking Changes prüfen und verschobene Call Sites patchen. Wird die Suite rot, öffnet der Agent die Änderungsanfrage trotzdem – mit den Fehlern in der Beschreibung statt mit einer grünen Behauptung.
Eine Umbenennung, ein API-Wechsel, eine aktivierte Lint-Regel – pro Datei trivial, in großem Maßstab unerträglich. Der Agent arbeitet Datei für Datei auf seinem eigenen Branch und liefert einen prüfbaren Diff.
Der Agent liest die Fehler des Tages, gruppiert sie nach Ursache statt nach Meldung, priorisiert sie danach, wie viele Personen betroffen sind, und bearbeitet den wichtigsten bis zum Patch.
Der Agent vergleicht dokumentiertes und tatsächliches Verhalten und korrigiert entweder die Dokumentation an den Code oder markiert den Code als fehlerhaft. Beides ist hier derselbe Commit-Typ – alles ist eine Datei.
Zurück kommt ein Diff auf einem Branch, dessen Tests bereits auf der erzeugenden Maschine ausgeführt wurden. Sie müssen nichts Neues lesen lernen.
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);+});
Der Agent committet auf dem Sitzungs-Branch und öffnet eine Änderungsanfrage gegen main. In der Prüfung kommt ein Diff mit Beschreibung an – dasselbe Objekt, das auch ein Kollege geöffnet hätte.
Die Sandbox ist eine echte Linux-Maschine. Der Agent installiert, baut und führt die Suite selbst aus. Eine rot ankommende Änderungsanfrage sagt dies in der Beschreibung, statt grün zu behaupten.
Sitzungen teilen sich keinen Arbeitsbaum. Zwanzig können gleichzeitig dasselbe Repository bearbeiten – jede auf ihrem eigenen Branch und Computer, ohne sich in die Quere zu kommen.
Der Großteil der Arbeit geschieht im Repository, das die Sitzung geklont hat. Konnektoren decken den Rest ab; ihre Zugangsdaten bleiben auf unserer Seite und gelangen nie auf die Maschine.
Easy Connect deckt über die OAuth-Bildschirme der Anbieter mehr als 3.000 Apps ab. Alles, was nicht in diesem Katalog enthalten ist, ist über MCP, OpenAPI, GraphQL oder rohes HTTP erreichbar – meist die ehrlichere Lösung für einen internen Service, da er von vornherein keinen öffentlichen Katalogeintrag hatte.
Drei Wege, dieselbe Sitzung zu starten. Isolation und Prüfpfad ändern sich nicht mit dem Trigger.
Beschreiben Sie den Fehler in einem Slack-Thread oder starten Sie eine Sitzung über die Web-App oder CLI. Sie erhalten eine Reaktion auf Ihrer eigenen Nachricht statt eines Bot-Posts, und die Antwort landet im selben Thread.
Setzen Sie eine Aktion auf Ask: Der Lauf pausiert beim Aufruf und wartet, während Aktion und Argumente angezeigt werden. Nach der Freigabe wird derselbe Aufruf abgeschlossen und die Sitzung genau an der Unterbrechungsstelle fortgesetzt.
Prüfen Sie die nächtlichen Ausnahmen um 06:00 Uhr. Oder verbinden Sie Ihr Alerting mit einem signierten Webhook, sodass ein Paging-Ereignis eine Sitzung mit der Incident-Payload im Prompt startet.
Die Frage ist nicht, was ein Agent schreiben kann, sondern was er landen lassen kann. Hier ist die genaue Antwort.
Ein Projekt, ein Satz Konnektoren, ein Speicher, der sich laufend erweitert. Jedes Team schreibt die Skills für seine eigene Arbeit; niemand setzt ein zweites System auf.
Beginne mit einer Aufgabe und wachse von dort aus.