Zum Hauptinhalt springen

Einen gültigen Test unter Quarantäne zu stellen, ist der Weg, auf dem ein Bug ausgeliefert wird

Tests, die manchmal fehlschlagen, werden unter Quarantäne gestellt, und echte Defekte werden während dieser Quarantäne gefunden. Ein Test, der einmal in zwanzig Läufen fehlschlägt, kann schlecht geschrieben sein, oder er legt eine Race Condition offen, die irgendwann eine Kundin oder einen Kunden trifft.

Ein flaky Test schlägt in der Regel unabhängig vom abgedeckten Code fehl, zu bestimmten Zeiten, auf bestimmten Commits, auf bestimmten Runnern und jedes Mal anders. Ein echter intermittierender Defekt ist an etwas gebunden: eine Änderung, ein Lastmuster oder eine Reihenfolge.

Jeder Fehler hat Kosten. Wenn Sie den Test unter Quarantäne stellen, der einen echten Defekt fängt, wird der Defekt ausgeliefert. Wenn Sie einem Test nachjagen, der wirklich flaky ist, verliert die Ingenieurin oder der Ingenieur eine Woche.

Der Agent untersucht und bezieht Stellung anhand der Belege. Er deaktiviert nichts und stellt nichts unter Quarantäne. Das Team, das den Test besitzt, trifft die letzte Entscheidung.

So bauen Sie den Agent in Agent Studio auf

Die Haupteingabe für den Agenten sind historische Laufdaten, in PostgreSQL gespeichert und als vollständige Fehlschlagdatensätze abgerufen, nicht als Raten, weil Raten die Muster verbergen würden, die die Frage beantworten.

Prompt-Fähigkeiten listen die bekannten Instabilitäten der Infrastruktur: häufige Komponenten, ein Prozess, der langsamer läuft, und eine Integration mit Rate Limit, damit diese Umgebungsursachen nicht jedes Quartal neu untersucht werden müssen.

Der System-Prompt verlangt, dass jede Stellungnahme Belege enthält, die ihr widersprechen könnten. Die alternative Lesart gilt nur unter genannten Bedingungen. Der Agent muss sagen, ob die Daten diese Alternative ausschließen.

Ist der Beleg dünn, entscheidet der Agent nicht. Reicht die Historie nicht, sagt er das und nennt, was die Frage klären würde.

Ein Start Scheduled-Flow sammelt die Kandidaten. Der Agent Chat-Knoten nimmt den Fehlschlagdatensatz entgegen, plus die Commits und Runner-Metadaten zu jedem Auftreten.

Ein GitHub-Knoten liefert den Quellcode des Tests und seine jüngsten Änderungen, weil ein Testfehlschlag nach der jüngsten Bearbeitung sonst ein völlig anderes Problem wäre.

Ergebnisse gehen nach Linear als ein Eintrag je Test, mit dem relevanten Argument. Ein Human in the Loop-Knoten hält das besitzende Team zwischen Fund und jeder Quarantäne.

Woraus dieser Agent besteht

  • PostgreSQL (Data): der vollständige Fehlschlagdatensatz, keine Flakiness-Rate.
  • Prompt-Fähigkeiten: die bekannten Instabilitäten Ihrer Infrastruktur.
  • System-Prompt: eine Stellungnahme mit ihrem Gegenbeleg.
  • System-Prompt: dünner Beleg als dünn berichtet, mit dem, was ihn klären würde.
  • Agent Chat (Util): Fehlschlagdatensatz plus Commits und Runner-Metadaten je Auftreten.
  • GitHub (Integration): der eigene Quellcode des Tests und seine jüngsten Änderungen.
  • Wenn ein ActionFlow ausreicht: Wenn Sie Fehlschläge nur nach Signatur gruppieren und in neu gegen wiederkehrend teilen müssen, bauen Sie den Workflow. Dieser Workflow erzeugt die Kandidaten überhaupt erst.

Häufige Fragen

KI-Workflows bauen

Legen Sie ein kostenloses Konto an, öffnen Sie eine Vorlage oder eine leere Fläche und führen Sie Ihren ersten ActionFlow aus.

Newsletter

Produktupdates erhalten

Neue Nodes, Agents und Produktnotizen. Wir senden E-Mails nur, wenn sich das Öffnen lohnt.

Sie können das Abonnement jederzeit beenden.