LEITFADEN

KI-Workflows überwachen und optimieren

Mit HYPDB.ONE behältst du den Überblick über deine KI-Agenten, Cronjobs und Automatisierungen – und holst das Maximum aus jedem Workflow heraus.

Sobald mehrere KI-Workflows parallel laufen – Agenten, Cronjobs, Daten-Pipelines – wird die Übersicht zur Herausforderung. Welcher Workflow läuft noch? Wo hakt es? HYPDB.ONE liefert dir ein zentrales Monitoring-Dashboard, das diese Fragen in Echtzeit beantwortet.

Diese Anleitung zeigt dir, wie du Workflows systematisch überwachst, Zustände auswertest und Optimierungen gezielt umsetzt.

⚠ KORREKTUR (04.10.2026): Diese Anleitung dokumentierte früher ein Kommandozeilen-Werkzeug hypdb workflow add|stats|alert|update|run|diff|analyze sowie hypdb workflow add --name --type --schedule. Dieses Programm existiert auf dem System nicht — which hypdb liefert nichts, /usr/local/bin/hypdb fehlt. Auch die genannten Unterbefehle sowie die Optionen --model, --retry, --threshold, --window, --unit gab es nie. Eine Cron-Zeile sieht vollkommen plausibel aus und scheitert dann still — der gefährlichste Fehlertyp. Auch gpt-5-nano als Modellname war erfunden, und das „Workflows → Monitoring"-Menü existiert nicht.

Was stattdessen stimmt: Workflows werden als Cronjobs verwaltet, und deren Zustand ist eine JSON-Datei, die man lesen kann. Die echten Feldnamen stehen unten — alle 47 gemessen, keine Beispiele.

Live-Status (gemessen beim Laden)

SYSTEM-STATUS GET /api/status
--Lädt Status

Workflow-Registry: die gibt es nicht — Cronjobs sind es

Es gibt keine separate „Workflow-Registry", in die du etwas per Befehl einträgst. Ein Workflow ist ein Cronjob. Er wird in einer JSON-Datei unter ~/.hermes/cron/jobs.json bzw. ~/.hermes/profiles/<profil>/cron/jobs.json beschrieben.

Auf diesem System liegen – Jobs in – Dateien. So sieht ein echter Job aus (gekürzt, echte Feldnamen):

{
  "id": "…",
  "name": "…",
  "prompt": "…",              // die Aufgabe
  "schedule": "…",             // Zeitplan
  "schedule_display": "…",
  "repeat": …,
  "enabled": true,
  "script": "…",               // optionales Skript
  "workdir": "…",
  "deliver": "…",             // wo das Ergebnis hin soll
  "model": "…",
  "provider": "…",
  "timeout_seconds": …,
  "last_run_at": …,
  "last_status": "…",
  "failure_streak": 0,
  "last_error": null
}

Quelle: ~/.hermes/cron/jobs.json + ~/.hermes/profiles/*/cron/jobs.json, 4 Dateien ausgewertet.

Die echten Zustandsfelder — und was sie bedeuten

Es gibt kein Menü „Workflows → Monitoring" mit farbigen Listen. Der Zustand eines Jobs steht in sechs Feldern, die man direkt liest. Das ist die vollständige Liste der Überwachungs-relevanten Felder:

FeldBedeutungWorauf du achtest
enabledJob ist scharftrue bei kaputtem Zeitplan = der Job tut alle 30 Minuten nichts, ohne Meldung. Der gefährlichste Zustand.
last_statusErgebnis des letzten LaufsAbweichung von ok ist der Einstieg für die Fehlersuche.
failure_streakAnzahl Fehlschläge in FolgeSteigt er, ist es kein Zufall mehr.
last_errorLetzte FehlermeldungDer eigentliche Fundort. Steht hier etwas, ist der Fehler nicht geraten.
last_run_atWann zuletzt gelaufenLeer trotz enabled: true = der Job läuft gar nicht.
next_run_atNächster geplanter LaufIn der Vergangenheit = hängender oder pausierter Job.

Quelle: dieselben 4 Cron-Dateien, Feldnamen über alle 47 Jobs gemergt.

Kennzahlen: welche es wirklich gibt

Diese Anleitung versprach früher sieben Metriken je Workflow — Durchlaufzeit, Token-Verbrauch, Fehlerrate, Erfolgsquote, Auslastung, Wartezeit, Speichernutzung — abrufbar mit hypdb workflow stats. Diesen Befehl gibt es nicht, und eine Workflow-Metrik-Datenbank gibt es nicht.

Belegbar sind stattdessen diese Zahlen, jede von einer echten Route geliefert:

  • System-Kennzahlen — CPU, RAM, Speicher, Netzwerk: GET /api/status (metrics).
  • Aktive Agenten — wie viele Prozesse laufen: GET /api/status (agenten_online, agenten_detail).
  • Produkt-Skills — was der Tarif freischaltet: GET /api/skills.
  • Content-Protokolle — Laufzeit des Auto-Content-Systems: GET /ac/stats auf 127.0.0.1:7920.
  • Cron-Zustand — die sechs Felder aus Schritt 2, direkt aus der JSON-Datei.
CONTENT-SYSTEM (127.0.0.1:7920)GET /ac/stats
--Lädt

Hinweis: Diese Route ist bewusst nicht über die öffentliche Adresse erreichbar. Ein 200 auf Port 7777 für /ac/stats wäre der nginx-Fallback, kein Backend.

Alarme: der gefährlichste Cronjob-Fehler

Es gibt kein hypdb workflow alert --on error --threshold 3. Es gibt aber ein deutlich schlimmeres Problem, das dieselbe Funktion erfüllt: einen Cronjob, der fehlschlägt und es niemandem sagt.

Genau das ist der Fall, wenn enabled: true gilt und der Zeitplan trotzdem nie feuert. Prüfe deshalb bei jedem Job diese drei Dinge in dieser Reihenfolge:

  • enabled — ist der Job überhaupt scharf?
  • next_run_at — liegt die Zeit in der Zukunft?
  • last_run_at — ist das Feld gefüllt, wenn der Job längst laufen müsste?

Ist enabled: true und last_run_at leer, läuft der Job nicht — und er meldet sich nicht. Genau das ist der Fehler, den ein echter Cronjob-Monitor als Erstes finden muss.

Engpässe identifizieren und optimieren

Mit belegbaren Zustandsfeldern lassen sich echte Muster erkennen. Diese Muster treten auf dem laufenden System tatsächlich auf:

  • Agent-Prozess weg — agenten_online fällt. Zwei Rollen laufen hier normal: gateway und cli.
  • Speicherknappheit — metrics.speicher in Prozent, mit speicher_detail für belegt/frei. Schreiben und Ausführen brauchen Platz.
  • Hohe Temperatur — temperatur in Grad. Dauerhaft hohe Werte kosten Leistung.
  • Cronjob-Fehlerkette — failure_streak > 0 mit last_error gefüllt.
  • Content ohne Nachweis — /ac/stats zeigt published_with_proof: 0. Protokolleinträge können allesamt simuliert sein; das Backend unterscheidet das in log_status.
  • Backend nicht erreichbar — eine Route antwortet nicht. Dann wird nichts angezeigt, statt eine Zahl zu erfinden.

Überprüfen statt behaupten

Der wichtigste Grundsatz dieser überarbeiteten Anleitung: kein Befund ohne Werkzeug und Ausgabe. Ein HTTP-Status von 200 beweist nicht, dass eine Route echt ist — nginx liefert bei fehlenden Pfaden die Startseite mit 200 zurück. Ein Toter-Link-Scan, der nur den Status prüft, meldet deshalb alles als gesund.

Deshalb gilt: Existenz auf der Platte prüfen, dann Status messen, dann den Inhalt ansehen. Erst wenn alle drei zusammenpassen, gilt etwas als vorhanden.

💡 TIPP: Führe Optimierungen immer schrittweise durch – ändere jeweils nur eine Variable. So erkennst du genau, welche Anpassung die gewünschte Verbesserung bringt.
⚡ PRO-TIPP: Der Cronjob selbst ist das Werkzeug: Lass einen Intervall-Job regelmäßig die sechs Zustandsfelder aller Jobs prüfen und bei Abweichung einen Bericht liefern. Ein stiller Cronjob-Fehler bleibt nur dann still, wenn ihn niemand automatisiert beobachtet.
🔗 WEITERFÜHREND: Cron Healthcheck · Monitoring-Dashboard einrichten · Workflows mit Cron automatisieren · Logs & Audit

Starte jetzt mit der Überwachung deiner KI-Workflows. HYPDB.ONE macht deine Automatisierung transparent, messbar und optimierbar.

JETZT STARTEN