本質はツールの個数ではなく、復旧可能な状態・予測可能な中断・計測できる副作用です。
thread_id・checkpoint・interrupt・クォータを揃えれば、ノートブックでもリモート Mac でも長時間安定して回せます。
推論・RAG・ゲートウェイ・サンドボックスは 推論・RAG・OpenClaw・IDE ブリッジ と併読。ホーム・購入は閲覧のみログイン不要。意思決定表・受入・HowTo は下記。
| 次元 | 設計の要点 | リモート Mac 長時間実行のヒント |
|---|---|---|
| thread_id | セッションあたりキーは一つ。ユーザー/セッション対応と監査、同一キーへの同時書き込み禁止 | ゲートウェイで発行・返却し、クライアント任意文字列の衝突を防ぐ |
| checkpoint | デプロイ単位と名前空間を一致、グラフ版とアップグレード時のマイグレーション | 書き込み増幅:DB・SQLite ファイル・WAL、vacuum 窓の監視 |
| SQLite / Postgres | 低同時・素早い立ち上げ:SQLite+WAL、ローカル SSD | 複数ワーカー・監査:Postgres+プール。SQLite はネットワークボリュームに置かない |
| interrupt | 承認ノードで待機、待機状態と UI 文言を保存 | 無応答時は既定分岐・安全終了でワーカー占有を防ぐ |
| tool timeout | ツールのハードタイムアウト+サブグラフ予算+LLM の初トークン・総時間 | RTT・p95 を織り込み、OpenClaw のヒューズ・ログ項目と揃える |
| ディレクトリクォータ | workspace・checkpoint・アーティファクト・一時ダウンロードを分離、ソフト上限とハード上限 | inode・小ファイル嵐、掃除周期(IDE ブリッジ 参照) |
checkpoint:SQLite か Postgres か
SQLite:単一プロセス・低同時、WAL+ローカル SSD、iCloud 外。長時間はファイル増とロックに注意。Postgres:複数ワーカー・監査向け、プール・マイグレーション・autovacuum。リモート実行+中央 DB なら 時刻ずれと再接続 を統合テストへ。
サンドボックスクォータ受入チェックリスト
- thread_id とファイル接頭辞を連動させ、セッション削除時に scratch を連鎖削除できる。
- checkpoint とアップロード用ディレクトリを分離する。
- ツールごとのファイル・ディレクトリ上限と inode アラートを設定する。
- interrupt 待機中もリソースを占有するため、キュー TTL やワーカー移譲を決める。
- tool timeout 後は SIGTERM→SIGKILL でゾンビを残さない。
- 強制終了後に最新 checkpoint から復旧し、不変条件を比較する。
HowTo の要約
thread_id 固定 → DB とマイグレーション → interrupt/resume 契約 → 階層タイムアウト → クォータと掃除を CI → リモート Mac で数時間負荷とディスク曲線を確認。
リモート Mac 長時間実行の運用メモ
launchd/コンテナでは ログ・checkpoint・scratch を同一ローカルディスクに置きディスクアラートを先に。同一 thread_id の同時書き込みを避け、再接続は最新 checkpoint から。
# 命名例(チーム接頭辞に合わせて調整)
CHECKPOINT_DIR="$HOME/agent-state/checkpoints"
SANDBOX_WORKSPACE="$HOME/agent-state/scratch/$THREAD_ID"関連: OpenClaw ツール呼び出し · ホーム · 購入