Flusssteuerung
Über Agents und Operatoren hinaus bietet betool Steuerungsknoten, um die Logik einer Pipeline zu strukturieren.
Bedingung
Ein condition-Knoten leitet exchanges basierend auf einem Prädikat an mehrere Ausgänge.
Konfiguration:
- Eingabe-Slot — was ausgewertet wird (
exchange.intent,webhook.payload.type…) - Zweige — für jeden Wert (oder jede boolesche Bedingung) ein benannter Ausgang
- Standardzweig — obligatorisch (fail-safe)
Typische Verwendung: Routing basierend auf der von einem Klassifizierungs-Agent erkannten Absicht oder basierend auf einem von einem Operator zurückgegebenen HTTP-Status.
Schleife
Ein loop-Knoten iteriert über eine Sammlung. Konfiguration:
- Sammlungs-Slot — die zu durchlaufende Liste
- Iterationsvariable — der lokale Name des aktuellen Elements
- Limit — maximale Anzahl der Iterationen (Sicherheitsvorkehrung)
Bei jeder Iteration wird der interne Teilgraph gegen das aktuelle Element ausgeführt. Die Ausgaben werden zu einer Liste aggregiert.
Eine unbegrenzte Schleife ist eine Zeitbombe. Setzen Sie immer das Maximal-Limit. Der Editor verweigert die Veröffentlichung ohne eines.
Filter
Ein filter-Knoten entfernt exchanges, die ein Prädikat nicht erfüllen. Nützlich, um Rauschen zu eliminieren, bevor nachgelagerte LLM-Kosten anfallen.
Beispiel: Filtern von E-Mails, deren Feld from auf einer Sperrliste steht, oder von Webhooks, bei denen type != "order.created".
Menschliche Freigabe (Bestätigung)
Ein confirmation-Knoten pausiert die Pipeline und wartet, bis ein Mensch über die Admin-Oberfläche zustimmt oder ablehnt.
Konfiguration:
- Frage — was vom Prüfer verlangt wird (mit Kontext-Platzhaltern)
- Zweige —
approved/rejected(und optional benutzerdefinierte Optionen) - Timeout — wenn keine Antwort eingeht, an den Standardzweig leiten
- Benachrichtigung — wen benachrichtigen (E-Mail, Mattermost, Slack)
Typische Anwendungsfälle:
- Bestätigung eines ausgehenden Anrufs mit hohem Wert.
- Validierung einer Stornierungs-E-Mail vor dem Versand.
- Freigabe einer sensiblen Antwort vor der Veröffentlichung.
Der Verlauf bewahrt Namen und Zeitstempel des Prüfers — vollständig nachvollziehbar für Audit-Zwecke.
Bewährte Praktiken
- Verdrahten Sie immer den Standardausgang. Ein exchange, der ins Leere fällt, bleibt in
processingund blockiert die Warteschlange. - Halten Sie Bedingungen einfach. Eine Bedingung mit 12 Zweigen ist ein Signal, dass Sie zwei kaskadierte Agents statt verdichteter Logik benötigen.
- Begrenzen Sie verschachtelte Schleifen. Eine Schleife in einer Schleife in einer Schleife bedeutet explodierende Kosten. Transformieren Sie die Sammlung stattdessen lieber vorgelagert.