LangGraph-Alternative

Eine Laufzeit für Agent-Workflows statt einer Bibliothek in Ihrer Anwendung.

LangGraph ist ein guter Weg, einen Agent-Graphen in Code auszudrücken. Dagu ist die Schicht, die ihn ausführt: eine einzige selbst gehostete Binary, in der ein Workflow YAML ist, Agents gewöhnliche Schritte sind und Zeitpläne, Queues, Retries, dauerhafte Pausen und Lauf-Historie aus der Engine kommen statt aus der Anwendung, die Sie darum herum schreiben.

Ein geplanter Agent-Workflow, ganz ohne Drumherum
# triage.yaml
schedule: "*/15 * * * *"
max_active_runs: 1

steps:
  - id: fetch
    run: ./scripts/fetch-new-issues.sh
    output: ISSUES

  - id: classify
    action: harness.run
    with:
      provider: claude
      prompt: Classify each issue in ${ISSUES}. Return JSON.
    output_schema: schemas/triage.json
    retry_policy:
      limit: 3
      interval_sec: 30
    depends: [fetch]

  - id: apply_labels
    run: ./scripts/apply-labels.sh
    depends: [classify]

Workflows sind YAML, kein Anwendungscode

Schritte sind Prozesse, also funktioniert jede Sprache und jede CLI

Zeitpläne, Queues, Retries und Historie stecken in der Binary

Wartende Läufe geben den Prozess frei und setzen später fort

At a glance

LangGraph und Dagu aus Betriebssicht

Form
Dagu

Eine Workflow-Engine, die Sie als Binary betreiben.

LangGraph

Eine Bibliothek, die in eine Python- oder JavaScript-Anwendung eingebettet wird.

Definition
Dagu

Deklaratives YAML, versioniert neben dem Code, den es ausführt.

LangGraph

Graphaufbau im Anwendungscode.

Betrieb
Dagu

Zeitpläne, Queues, Retries, Artefakte und Lauf-Historie kommen mit der Engine.

LangGraph

Checkpointer persistieren den Graphzustand; Planung und Bereitstellung kommen von Ihrem Dienst oder von LangGraph Platform.

Arbeitseinheit
Dagu

Ein Prozess: jede Sprache, jede CLI, bei Bedarf im Container.

LangGraph

Eine Funktion im Host-Prozess.

In depth

Where each tool fits

01

Eine Bibliothek braucht eine Anwendung. Eine Engine nicht.

LangGraph baut den Graphen. Etwas muss ihn dennoch planen, in eine Queue legen, wiederholen, seinen Zustand persistieren und zeigen, was passiert ist. Dieses Etwas ist der Dienst, den Sie schreiben, oder LangGraph Platform. Dagu ist bereits diese Schicht.

  • Eine Binary starten. Kein Webdienst zu schreiben, kein Worker-Pool zu entwerfen
  • Zeitpläne, Queues, Retries und Lauf-Historie sind Engine-Funktionen, keine Integrationen
  • Dieselbe Definition läuft auf einem Laptop, einer VM oder einem Coordinator mit Workern
02

Schritte sind Prozesse, deshalb ist der Workflow nicht sprachgebunden

LangGraph-Knoten sind Python- oder JavaScript-Funktionen in Ihrem Prozess. Ein Dagu-Schritt ist ein Kommando, also ist die Arbeitseinheit das, was in Ihrer Umgebung ohnehin schon läuft.

  • Shell-Skripte, Binaries, Container, SSH-Kommandos, HTTP-Endpunkte und SQL aus einem Workflow aufrufen
  • Coding-Agents über harness.run ausführen: Claude, Codex, Gemini, OpenCode oder eine interne CLI
  • Jedem Schritt eine Container-Sandbox mit expliziten Mounts, Toolchain und Egress-Regeln geben
03

Zeichnen Sie den Graphen, wenn Sie können, und geben Sie die Reihenfolge ab, wenn nicht

LangGraph verlangt, jeden Pfad zu zeichnen. Das ist richtig, bis die Reihenfolge davon abhängt, was ein Reviewer gesagt hat. Dagu behält type: graph als Standard und ergänzt type: controller für die Arbeit, die nie in einen Graphen passte.

  • Ein Controller-Workflow deklariert Abschlusskriterien und lässt ein Modell die nächste Aktion wählen
  • Das Modell wählt nur aus den deklarierten Schritten, der Wirkungsradius ist also die Datei
  • Beide Typen erzeugen denselben Lauf, mit denselben Logs, Retries, Artefakten und derselben Historie

FAQ

Practical questions before adopting Dagu

Ersetzt Dagu LangGraph eins zu eins?

Nein. Beide sitzen auf verschiedenen Schichten. LangGraph passt, wenn Sie Modellaufrufe in Python oder JavaScript komponieren und den Graphzustand fein steuern wollen. Dagu passt besser, wenn die Arbeit aus Kommandos und Agent-CLIs besteht, die Zeitpläne, Retries, Freigaben und eine Audit-Spur brauchen.

Kann ich LangGraph weiter innerhalb von Dagu nutzen?

Ja. Behalten Sie die LangGraph-Anwendung als Skript oder Container und führen Sie sie als Schritt aus. Dagu liefert darum herum Zeitplan, Retry-Policy, Logs, Artefakte und Lauf-Historie.

Wie geht Dagu mit Human-in-the-Loop um?

Human Tasks und ask_user innerhalb von Controller-Workflows unterbrechen den Lauf dauerhaft. Der Prozess endet, der Worker-Slot wird frei, und der Lauf setzt in einem frischen Prozess fort, sobald jemand antwortet.

Braucht Dagu eine Datenbank?

Nein. Dagu ist eine einzelne Binary, die Definitionen, Lauf-Historie und Logs als Dateien ablegt. Vor dem ersten Lauf ist weder eine Metadatenbank noch ein Message Broker zu betreiben.

Next step

Start with one workflow.

Install Dagu, move one fragile script or agent task into YAML, and decide from a real run history.