OpenClaw Heartbeats: Wie man Agenten proaktiv statt nur reaktiv macht
Das Problem mit rein reaktiven Agenten
Ein Agent, der nur auf Nachrichten wartet, ist im Grunde ein besserer Chatbot. Du schreibst, er antwortet. Das ist nützlich — aber es verschwendet das eigentliche Potenzial.
Stell dir vor, du hast um 9 Uhr ein wichtiges Meeting, und dein Agent weiß das — aber sagt dir nichts, weil du ihn nicht gefragt hast. Oder eine kritische E-Mail landet im Posteingang, und der Agent schläft einfach weiter.
Das ist der Unterschied zwischen reaktiv und proaktiv. OpenClaw-Heartbeats lösen genau das.
---
Was ist ein Heartbeat?
Ein Heartbeat ist eine periodische Nachricht, die OpenClaw automatisch an deinen Agenten schickt — wie ein Wecker, der alle 30 Minuten klingelt.
Der Agent bekommt den Heartbeat-Prompt, prüft was ansteht, und entscheidet: Gibt es etwas zu melden? Oder ist alles ruhig?
```
# Wie ein Heartbeat in der Praxis aussieht (OpenClaw intern):
→ [System] Heartbeat: Prüf HEARTBEAT.md, führe Aufgaben aus.
Wenn nichts anliegt: antworte mit HEARTBEAT_OK.
```
Das Schlüsselprinzip: HEARTBEAT_OK ist ein Signal, nicht eine Pflicht. Wenn es etwas zu tun gibt, tut der Agent es. Wenn nicht, sagt er kurz Bescheid und schläft weiter.
---
Wie wir Heartbeats in unserem 6-Agenten-Setup nutzen
Sam (Teamlead) — alle 30 Minuten
Sam bekommt regelmäßige Heartbeats und prüft dabei (rotierend, nicht alle gleichzeitig):
Das klingt nach viel — aber durch Rotation checkt Sam pro Heartbeat nur 1-2 Dinge. Der Rest schläft.
Atlas (CEO-Agent) — täglich um 8:00 Uhr
Atlas hat einen einzigen Cron-Job: täglich um 8:00 Uhr einen Tagesbericht an Dimitrios schicken. Kein Heartbeat-Polling — ein präziser Zeitplan.
Das ist ein wichtiger Unterschied: Heartbeat für flexible, gestaffelte Checks. Cron für exakte Termine.
Peter (Coding-Agent) — kein Heartbeat
Peter wartet nur auf explizite Coding-Aufgaben. Ein Heartbeat würde nur Token verbrennen ohne Mehrwert. Nicht jeder Agent braucht Heartbeats.
---
HEARTBEAT.md: Dein Kontrollzentrum
Die einfachste Art, Heartbeats zu steuern, ist eine `HEARTBEAT.md` im Workspace. Der Agent liest diese Datei bei jedem Heartbeat und weiß, was er prüfen soll.
```markdown
# HEARTBEAT.md
Regelmäßige Checks
Status
```
Der Agent liest die Datei, führt die relevanten Checks durch, und aktualisiert die Status-Zeilen. So vermeidet er doppelte Checks und verbrennt keine unnötigen Tokens.
---
Heartbeat-Status tracken mit JSON
Für präziseres Tracking nutzen wir eine einfache JSON-Datei im Workspace:
```json
// memory/heartbeat-state.json
{
"lastChecks": {
"email": 1741603200,
"calendar": 1741600000,
"disk": null
}
}
```
Der Agent liest diesen Timestamp, vergleicht mit der aktuellen Zeit, und entscheidet: "E-Mail wurde vor 3 Stunden geprüft — Zeit für einen neuen Check."
Das klingt nach viel Logik — aber in der Praxis schreibst du das einmal in die `HEARTBEAT.md` als Instruktion, und der Agent managt den Rest selbst.
---
Das Stille-Prinzip: Kein Spam, bitte
Der häufigste Fehler bei Heartbeats: zu viele Nachrichten.
Wenn der Agent bei jedem Heartbeat schreibt — auch wenn nichts passiert ist — nervt das schnell. Deshalb gilt das Stille-Prinzip:
| Situation | Aktion |
|-----------|--------|
| Nichts Wichtiges | `HEARTBEAT_OK` (keine Nachricht) |
| Etwas Relevantes | Kurze Nachricht senden |
| Kritischer Alert | Sofortige Nachricht, auch nachts |
In unserem Setup hält Sam von 23:00 bis 08:00 Uhr die Klappe — außer bei echten Notfällen (Disk full, Server down). Das Ruhefenster ist fest in der `HEARTBEAT.md` definiert:
```markdown
Ruhefenster
Zwischen 23:00 und 08:00 UTC keine Nachrichten —
außer bei kritischen Alerts (Disk >90%, Server nicht erreichbar).
```
---
Heartbeat vs. Cron: Wann was?
Das ist eine Frage, die wir oft stellen mussten. Die Antwort:
Heartbeat nutzen wenn:
Cron nutzen wenn:
Beispiel aus unserem Setup:
---
Token-Kosten: Was kostet ein Heartbeat?
Das ist die legitime Frage. Unsere Erfahrungswerte:
Mit Claude Haiku für Heartbeats und Claude Sonnet/Opus nur für echte Arbeit: vernachlässigbare Kosten.
Pro-Tipp: Nutze das günstigste Modell (Haiku) für Heartbeat-Checks. Wenn wirklich Arbeit ansteht, kann der Agent entscheiden, komplexere Aufgaben zu delegieren oder zu eskalieren.
---
Praktische Heartbeat-Konfiguration
In der OpenClaw-Config (oder per `openclaw configure`) setzt du den Heartbeat-Intervall:
```
# openclaw gateway heartbeat --interval 30
# → Heartbeat alle 30 Minuten
```
Der Heartbeat-Prompt ist frei konfigurierbar:
```
Prüf HEARTBEAT.md im Workspace. Führe die dort definierten Checks durch.
Wenn nichts ansteht: antworte mit HEARTBEAT_OK.
```
Einfach, klar, wiederholbar.
---
Was wir gelernt haben
Nach mehreren Monaten mit proaktiven Agenten:
1. Fang klein an. Ein Check (nur E-Mail) ist besser als zehn auf einmal.
2. Ruhefenster sind nicht optional. Ohne sie kriegst du nachts Pings für unwichtige Dinge.
3. HEARTBEAT_OK muss ehrlich gemeint sein. Der Agent soll wirklich schweigen wenn nichts anliegt — nicht höflich.
4. State in Dateien, nicht im Kopf. Timestamps in JSON speichern verhindert doppelte Checks.
5. Heartbeats ≠ Cron. Versteh den Unterschied und nutze beide gezielt.
Der Unterschied zwischen einem Agenten, der nur wartet, und einem, der mitdenkt — das ist der Heartbeat.
Die vollständige Konfiguration — inklusive HEARTBEAT.md-Templates, heartbeat-state.json-Schema und der genauen OpenClaw-Einstellungen für alle 6 Agenten — ist im OpenClaw Setup Playbook dokumentiert.
Vollständig auf Deutsch verfügbar. 🇩🇪