Skip to main content

Cron vs. Heartbeat: Wann Sie was verwenden sollten

Sowohl Heartbeats als auch Cron-Jobs ermöglichen es Ihnen, Aufgaben nach einem Zeitplan auszuführen. Dieser Leitfaden hilft Ihnen, den richtigen Mechanismus für Ihren Anwendungsfall auszuwählen.

Schnellentscheidungshilfe

Heartbeat: Periodische Aufmerksamkeit

Heartbeats laufen in der Hauptsitzung in einem regelmäßigen Intervall (Standard: 30 Min). Sie sind dafür gedacht, dass der Agent Dinge überprüft und alles Wichtige hervorhebt.

Wann Sie Heartbeat verwenden sollten

  • Mehrere periodische Prüfungen: Statt 5 separater Cron-Jobs für Posteingang, Kalender, Wetter, Benachrichtigungen und Projektstatus kann ein einzelner Heartbeat all dies bündeln.
  • Kontextbewusste Entscheidungen: Der Agent hat den vollständigen Kontext der Hauptsitzung und kann intelligent entscheiden, was dringend ist und was warten kann.
  • Konversationelle Kontinuität: Heartbeat-Läufe teilen dieselbe Sitzung, sodass sich der Agent an kürzliche Gespräche erinnert und natürlich nachfassen kann.
  • Überwachung mit geringem Overhead: Ein Heartbeat ersetzt viele kleine Polling-Aufgaben.

Vorteile von Heartbeat

  • Bündelt mehrere Prüfungen: Ein Agenten-Zug kann Posteingang, Kalender und Benachrichtigungen gemeinsam prüfen.
  • Reduziert API-Aufrufe: Ein einzelner Heartbeat ist günstiger als 5 isolierte Cron-Jobs.
  • Kontextbewusst: Der Agent weiß, woran Sie gearbeitet haben, und kann entsprechend priorisieren.
  • Intelligente Unterdrückung: Wenn nichts Aufmerksamkeit erfordert, antwortet der Agent mit HEARTBEAT_OK und es wird keine Nachricht zugestellt.
  • Natürliches Timing: Verschiebt sich leicht je nach Warteschlangenlast, was für die meisten Überwachungen ausreichend ist.

Heartbeat-Beispiel: HEARTBEAT.md-Checkliste

Der Agent liest dies bei jedem Heartbeat und erledigt alle Punkte in einem Zug.

Heartbeat konfigurieren

Siehe Heartbeat für die vollständige Konfiguration.

Cron: Präzise Zeitplanung

Cron-Jobs laufen zu exakten Zeiten und können in isolierten Sitzungen ausgeführt werden, ohne den Hauptkontext zu beeinflussen.

Wann Sie Cron verwenden sollten

  • Exaktes Timing erforderlich: „Sende dies jeden Montag um 9:00 Uhr“ (nicht „irgendwann um 9“).
  • Eigenständige Aufgaben: Aufgaben, die keinen konversationellen Kontext benötigen.
  • Anderes Modell/Denken: Aufwendige Analysen, die ein leistungsfähigeres Modell rechtfertigen.
  • Einmalige Erinnerungen: „Erinnere mich in 20 Minuten“ mit --at.
  • Lautstarke/häufige Aufgaben: Aufgaben, die den Verlauf der Hauptsitzung überladen würden.
  • Externe Trigger: Aufgaben, die unabhängig davon laufen sollen, ob der Agent sonst aktiv ist.

Vorteile von Cron

  • Exaktes Timing: 5-Feld-Cron-Ausdrücke mit Zeitzonenunterstützung.
  • Sitzungsisolation: Läuft in cron:<jobId>, ohne den Hauptverlauf zu verschmutzen.
  • Modellüberschreibungen: Verwenden Sie pro Job ein günstigeres oder leistungsfähigeres Modell.
  • Zustellkontrolle: Isolierte Jobs verwenden standardmäßig announce (Zusammenfassung); wählen Sie bei Bedarf none.
  • Sofortige Zustellung: Der Ankündigungsmodus postet direkt, ohne auf den Heartbeat zu warten.
  • Kein Agentenkontext nötig: Läuft auch, wenn die Hauptsitzung inaktiv oder komprimiert ist.
  • Einmalige Ausführung: --at für präzise zukünftige Zeitstempel.

Cron-Beispiel: Tägliches Morgenbriefing

Dies läuft exakt um 7:00 Uhr New Yorker Zeit, nutzt Opus für Qualität und kündigt eine Zusammenfassung direkt auf WhatsApp an.

Cron-Beispiel: Einmalige Erinnerung

Siehe Cron jobs für die vollständige CLI-Referenz.

Entscheidungsflussdiagramm

Kombination beider Ansätze

Die effizienteste Einrichtung nutzt beide:
  1. Heartbeat übernimmt die routinemäßige Überwachung (Posteingang, Kalender, Benachrichtigungen) in einem gebündelten Zug alle 30 Minuten.
  2. Cron übernimmt präzise Zeitpläne (tägliche Berichte, wöchentliche Reviews) und einmalige Erinnerungen.

Beispiel: Effiziente Automatisierungseinrichtung

HEARTBEAT.md (alle 30 Min geprüft):
Cron-Jobs (präzises Timing):

Lobster: Deterministische Workflows mit Freigaben

Lobster ist die Workflow-Laufzeit für mehrstufige Tool-Pipelines, die deterministische Ausführung und explizite Freigaben benötigen. Verwenden Sie es, wenn die Aufgabe mehr als einen einzelnen Agenten-Zug umfasst und Sie einen wiederaufnehmbaren Workflow mit menschlichen Kontrollpunkten wünschen.

Wann Lobster passt

  • Mehrstufige Automatisierung: Sie benötigen eine feste Pipeline von Tool-Aufrufen, keinen einmaligen Prompt.
  • Genehmigungsgates: Nebeneffekte sollten pausieren, bis du freigeschaltet hast, und dann wieder fortfahren.
  • Wiederaufnehmbare Läufe: Setzen Sie einen pausierten Workflow fort, ohne frühere Schritte erneut auszuführen.

Zusammenspiel mit Heartbeat und Cron

  • Heartbeat/Cron entscheiden, wann ein Lauf stattfindet.
  • Lobster definiert, welche Schritte stattfinden, sobald der Lauf startet.
Für geplante Workflows verwenden Sie Cron oder Heartbeat, um einen Agenten-Zug auszulösen, der Lobster aufruft. Für ad-hoc-Workflows rufen Sie Lobster direkt auf.

Operative Hinweise (aus dem Code)

  • Lobster läuft als lokaler Subprozess (lobster CLI) im Tool-Modus und gibt einen JSON-Umschlag zurück.
  • Wenn das Tool needs_approval zurückgibt, setzen Sie mit resumeToken und dem Flag approve fort.
  • Das Tool ist ein optionales Plugin; aktivieren Sie es additiv über tools.alsoAllow: ["lobster"] (empfohlen).
  • Wenn Sie lobsterPath übergeben, muss es ein absoluter Pfad sein.
Siehe Lobster für vollständige Nutzung und Beispiele.

Hauptsitzung vs. isolierte Sitzung

Sowohl Heartbeat als auch Cron können mit der Hauptsitzung interagieren, jedoch unterschiedlich:

Wann Sie Cron in der Hauptsitzung verwenden sollten

Verwenden Sie --session main mit --system-event, wenn Sie Folgendes möchten:
  • Die Erinnerung/das Ereignis soll im Kontext der Hauptsitzung erscheinen
  • Der Agent soll es beim nächsten Heartbeat mit vollem Kontext verarbeiten
  • Kein separater isolierter Lauf

Wann Sie isolierten Cron verwenden sollten

Verwenden Sie --session isolated, wenn Sie Folgendes möchten:
  • Ein unbeschriebenes Blatt ohne vorherigen Kontext
  • Andere Modell- oder Denk-Einstellungen
  • Zusammenfassungen direkt in einem Kanal ankündigen
  • Verlauf, der die Hauptsitzung nicht überlädt

Kostenüberlegungen

Tipps:
  • Halten Sie HEARTBEAT.md klein, um den Token-Overhead zu minimieren.
  • Bündeln Sie ähnliche Prüfungen in Heartbeat statt in mehreren Cron-Jobs.
  • Verwenden Sie target: "none" bei Heartbeat, wenn Sie nur interne Verarbeitung wünschen.
  • Nutzen Sie isolierten Cron mit einem günstigeren Modell für Routineaufgaben.

Verwandt

  • Heartbeat – vollständige Heartbeat-Konfiguration
  • Cron jobs – vollständige Cron-CLI- und API-Referenz
  • System – Systemereignisse + Heartbeat-Steuerung