OpenClaw (Moltbot/Clawdbot) ハートビート機能とは?

Ashley Innocent

Ashley Innocent

11 2月 2026

OpenClaw (Moltbot/Clawdbot) ハートビート機能とは?

OpenClaw (旧Moltbot/Clawdbot) は、実用的なローカル自動化(マシンの監視、ドリフトの検出、問題が山積する前の対処)に焦点を当てることで急速に人気を博しました。その約束の中心にあるのが、ハートビート機能です。

ハートビートは、定期的な健全性および状態シグナルです。OpenClawでは、稼働状況のping以上の役割を果たします。それは、階層化された意思決定パイプラインを実行します。

  1. まず安価な決定論的チェック(プロセス、ファイル、キューの深さ、APIステータス)
  2. 閾値とポリシーに対するルール評価
  3. 曖昧さが残る場合にのみオプションのモデルエスカレーション

この「まず安価なチェック、必要な時だけモデル」というパターンは、最近のコミュニティでの議論で開発者が求めていたものと全く同じです。すなわち、より良いコスト管理、より予測可能な動作、そして不必要なLLM呼び出しの削減です。

エージェントインフラストラクチャを構築しているのであれば、これが重要な考え方です。すなわち、ハートビートは、単なる監視イベントではなく、コントロールプレーンのプリミティブであるということです。

ボタン

OpenClawハートビートアーキテクチャの概要

実行時において、OpenClawのハートビートは通常、5つのステージからなるループとして実装されます。

  1. スケジューラがハートビートティックをトリガーします(例:15秒/30秒/60秒ごと)。
  2. プローブランナーが決定論的なプローブを実行します。
  3. ポリシーエンジンが状態遷移と深刻度を計算します。
  4. エスカレーションゲートがLLM/ツールプランナーが必要かどうかを決定します。
  5. アクションディスパッチャがアラート、修復タスク、または何もしない操作を発行します。

実際のイベントエンベロープは以下のようになります。

{
  "agent_id": "desktop-a17",
  "heartbeat_id": "hb_01JX...",
  "ts": "2026-02-11T10:18:05Z",
  "probes": {
    "cpu_load": 0.72,
    "disk_free_gb": 21.4,
    "mail_queue_depth": 0,
    "service_api": {
      "status": 200,
      "latency_ms": 83
    }
  },
  "policy": {
    "state": "degraded",
    "reasons": [
      "disk_free_below_warn"
    ]
  },
  "escalation": {
    "llm_required": false,
    "confidence": 0.93
  }
}

主要なシステム動作は以下の通りです。

実装における「まず安価なチェック」とは

OpenClawでは、安価なチェックは以下の条件を満たす必要があります。

一般的なプローブカテゴリ:

プローブコントラクト

ダウンストリームのロジックを安定させるため、厳密なプローブスキーマを使用します。

yaml ProbeResult: name: string ok: boolean observed_at: datetime value: number|string|object|null severity_hint: info|warn|critical error: string|null ttl_ms: integer

ttl_msは重要です。データが十分に新しい場合、バースト発生時の重複チェックをスキップします。

OpenClawがモデル推論にエスカレートすべき時

モデルエスカレーションは、決定論的ロジックが安全に判断できない場合にのみ発生すべきです。

良いエスカレーションのトリガー:

悪いエスカレーションのトリガー:

ステートマシン設計:アラートのフラッピングを回避する

ほとんどのハートビートの問題は、不安定な状態遷移から生じます。ヒステリシスを持つステートマシンを使用します。

遷移ルールには以下を含めるべきです。

例:

yaml transitions: healthy->degraded: condition: disk_free_pct < 15 consecutive: 2 degraded->critical: condition: disk_free_pct < 8 consecutive: 1 degraded->healthy: condition: disk_free_pct > 20 consecutive: 3 critical->recovering: condition: remediation_applied == true recovering->healthy: condition: disk_free_pct > 20 consecutive: 2

これにより、ノイズの多い振動が大幅に減少します。

ハートビートの取り込みと制御のためのAPI設計

ハートビートAPIを公開する場合、可能な限り明示的かつ冪等に保ちます。

推奨されるエンドポイント:

エージェントハートビートのセキュリティ境界

サンドボックス化と安全なエージェント実行に関するコミュニティの関心が高まっているのは当然のことです。ハートビートはしばしばアクションをトリガーするため、セキュリティ境界は交渉の余地がありません。

最小限の制御:

モデルが関与する場合:

要するに、ハートビートの検出は柔軟であることができますが、ハートビートアクションは制約されなければなりません。

可観測性とデバッグ戦略

ハートビートシステムをデバッグするには、まず以下のメトリクスを計測します。

ApidogによるOpenClawスタイルのハートビートAPIのテスト

ハートビートシステムは、不正なペイロード、リプレイイベント、競合状態といった境界で失敗します。Apidogは、これら境界を1つのワークスペースでテストするのに役立ちます。

実用的なフロー:

  1. ApidogのビジュアルデザイナーでOpenAPIを使ってハートビートエンドポイントを定義します。
  2. 正常、遅延、重複、破損したハートビートイベントのテストシナリオを構築します。
  3. 状態遷移とアクション出力に視覚的なアサーションを追加します。
  4. ダウンストリームチャネル(Slack/Webhook/修復サービス)を動的応答でモックします。
  5. CI/CDでスイートを実行し、リグレッションゲートとして機能させます。

テストケースの例

Apidogは設計、テスト、モック、ドキュメント作成を統合しているため、ハートビートロジックの進化に合わせてAPIコントラクトと動作が常に一致します。

もしあなたのチームが現在、これを複数のツールに分けて行っているなら、Apidogに統合することで、ずれをなくし、デバッグを迅速化できます。

エンジニアが見落としがちなエッジケース

クロックスキュー

ネットワークパーティション

バックプレッシャーストーム

サイレントプローブ障害

暴走する修復ループ

エスカレーション結果におけるモデルのドリフト

移行に関する注意:Moltbot/ClawdbotからOpenClawへの命名変更

名称変更の経緯により、パッケージ名、ドキュメント、エンドポイントのプレフィックスに混乱が生じました。統合を維持している場合:

これにより、コミュニティがOpenClawの命名に収束する間、エコシステムの中断が軽減されます。

推奨される本番環境のベースライン

ハートビートの展開における健全なデフォルトが必要な場合:

その後、ワークロードごとに調整します。開発者のデスクトップエージェントとサーバーエージェントは通常、異なるポリシーを必要とします。

最終的な要点

OpenClawのハートビート機能は、エージェントの健全性をチャット優先のワークフローではなく、規律ある制御ループとして扱うため、価値があります。成功するパターンは明確です。

この設計により、コストが低減され、予測可能性が高まり、より安全な自動化が実現されます。

ハートビートAPIを実装する際は、コントラクト、冪等性、ポリシーシミュレーション、およびテスト自動化に重点的に投資してください。Apidogは、OpenAPI仕様の設計、依存関係のモック、回帰テストの実行、ドキュメントの公開を1か所で行えるため、ここで非常に適しています。

現在OpenClawスタイルのハートビートを構築または統合している場合、まず厳密な決定論的ルールから始め、モデルのインテリジェンスは段階的に追加してください。信頼性はまず制約から生まれ、次にインテリジェンスが続きます。

ボタン

ApidogでAPIデザイン中心のアプローチを取る

APIの開発と利用をよりシンプルなことにする方法を発見できる