2026年 OpenClaw Active Memory とサブエージェントのリモート物理 Mac 再現:MEMORY.md 移行、書込発熱、ゲートウェイ Sandbox に揃えた JSONL 監査——7×24 長セッション Runbook(設定断片+FAQ)
プラットフォーム/SREが ZoneMac 型のリモート物理 Macで OpenClaw を 7×24 回すとき、Active Memory と サブエージェントの組合せでは三つの壁が定番です。MEMORY.md がサブツリーの cwd から別物になるパス分岐、監査 JSONL を足したディスク書込み過多(write-heat)、Sandbox がホストパスを遮ることで jq 結合が壊れる監査断絶です。本稿は意思決定表二枚、七ステップの再現 Runbook、コピペ用 JSON、引用用しきい値三つ、FAQをまとめます。外向きガードレールと deny 行の設計は OpenClaw Gateway の外向きガバナンスと Sandbox/監査ログの Runbook と線形に接続できます。JSONL ローテーションと Cron は 定時バックアップと JSONL 可観測性の Runbook を併読してください。
1. 対象範囲と読者
OpenClaw が macOS ゲートウェイ上にあり、Active Memory(ターン跨ぎの作業記憶)と サブエージェント(別プロセス・多くの場合別 cwd)を使う/使う予定がある前提です。クラウド課金 API やモデル割当の SLO は対象外で、パス契約・flush 間隔・監査フィールド・Sandbox 許可リストに絞ります。
結論は単純です。MEMORY.md(または同等の単一キャリア)を設定で宣言した絶対パスに固定し、サブエージェントはそのパスまたは制御 RPC 経由でのみ更新する。半減期+バッチ flushで write-heat を抑える。ゲートウェイ縁で発行した requestId を Sandbox 内外の JSONL で同一フィールド名に流す。
無人運用時のプロセス再起動や openclaw doctor の切り分けは 複数チャネルゲートウェイの doctor/18789 競合 Runbook の手順と併用すると復旧が速くなります。
2. 痛点の分解
- 制約:相対パス × 複数 cwd。 リポジトリサブフォルダから起動したサブエージェントが深い位置に
MEMORY.mdを書き、親プロセスは旧パスを読み続ける——健忘ではなくパス分岐です。 - 隠れコスト:write-heat は書き込み増幅。 毎ターン fsync まみれの全書換えに監査 JSONLが重なると、業務トラフィックより先に
iowaitが張り付きます。 - 安定性と監査:二書き手・二ツリー。 Sandbox がホストパスを遮ると、サブエージェントはプライベート領域にだけ監査を落とし、ホスト側
jq結合が壊れる——多くは requestId と書込許可ポリシーが未統一です。
3. 意思決定表
ロールアウト前に「記憶の載せ方」と「flush の攻め方」で合意してください。
| 記憶キャリア | 向くケース | 主要リスク |
|---|---|---|
| 単一 MEMORY.md | 小規模チーム、人間 diff、数千件未満 | 同時書込競合・単一ファイル肥大の尾部 |
| シャード(トピック/セッション) | 長セッションで LRU とアーカイブが必要 | 索引とファイル間参照の保守 |
| 外部ベクトル索引のみ | 検索優先の想起、ゲートウェイはオフホスト | ネットワーク分断時の劣化経路を事前定義 |
| write-heat 戦略 | ディスク親和性 | 一貫性リスク |
|---|---|---|
| 毎ターン全書換え | 低 | 低 |
| 閾値+時間窓バッチ flush | 高 | クラッシュ窓で最終バッチが落ちる(WAL か二重書込で緩和) |
| 高価値イベントのみ | 最高 | 悪質プロンプトの文脈が欠落しやすい |
4. 設定断片(Sandbox 整合)
例示 JSON です。フィールド名はピン留めした OpenClaw 版に合わせて置換してください。外せないのは 絶対パス、許可リスト、requestId の伝播です。
{
"memory": {
"path": "/Users/ocagent/workspace/MEMORY.md",
"encoding": "utf-8",
"flush": { "maxEvents": 32, "intervalMs": 5000, "halfLifeRounds": 12 }
},
"subagents": {
"defaultCwd": "/Users/ocagent/workspace",
"inheritEnv": ["OPENCLAW_REQUEST_ID", "MEMORY_PATH"]
},
"gateway": {
"auditJsonl": "/Users/ocagent/logs/gateway-audit.jsonl",
"sandbox": {
"writable": [
"/Users/ocagent/workspace/.sandbox/scratch",
"/Users/ocagent/logs/sandbox-audit.jsonl"
]
}
}
}
launchd の plist で MEMORY_PATH と OPENCLAW_REQUEST_ID をエクスポートするか、ゲートウェイラッパがリクエスト毎に注入し、SSH フォアグラウンド実行と無人デーモンの差を潰してください。
5. 七ステップ Runbook(リモート物理 Mac)
- 権威パスを凍結。 MEMORY ファイル、監査 JSONL、Sandbox 作業領域を Runbook 表紙で絶対パスに固定——Wiki とコードコメントの二重管理を禁止。
- MEMORY.md を移行。 メンテナンスまたは読取専用モードでコピーし、
diffで検証、ヘッダにmigratedAtを刻む。 - サブエージェント cwd を正規化。
defaultCwdをメインワークスペースに揃えるか、明示的な memory フラグ相当を渡す。 - JSONL スキーマを固定。 ゲートウェイと子で
ts/level/requestId/actor/memoryOp/durationMsを揃える。 - Sandbox 検収。 許可リスト外の書込は失敗し
deny行が出ること、成功はwritable配下にのみ留まることをプローブする。 - write-heat を調整。 毎ターン全 flush から窓付きバッチへ変える際は 24 時間会話スクリプトをリプレイし、
iostatと JSONL 増分を見る。 - リプレイ結合。 ホストと Sandbox の JSONL を
requestIdでjqアウター結合し、欠損ペアが一つでもあれば本番昇格を止める。
6. 引用用しきい値
- バッチ flush の初期窓: おおよそ 3〜8 秒、または 16〜32 イベントのどちらか先達。超長セッションでは半減期を伸ばして間隔を延ばす。
- 監査 JSONL ローテーション: 128〜256 MB 付近で分割し、オブジェクトストレージ同期がギガバイト尾部を運ばないようにする。
- 結合 SLA: プリプロドソークで 1 時間
requestId欠損 0%。本番は文書化した時計ズレバケットを除き持続 0.1% 超でアラート。
7. FAQ
Q: EACCES で MEMORY.md に書けません。
A: plist の UserName とファイル所有者を突き合わせ、共有ボリュームなら root のみ書込のマウントオプションを疑ってください。
Q: サブエージェントのログでは memory path が本設定と違うと出ます。
A: 環境変数の上書き順です。シェルプロファイルの古い MEMORY_PATH を削除し、launchd の EnvironmentVariables で明示してください。
Q: JSONL が巨大化してディスクが枯渇します。
A: 既定でプロンプト全文を残さず、ハッシュ・長さ・モデル別名に留め、巨大ペイロードはオブジェクトストレージのポインタへ退避します。
Q: Sandbox 監査ファイルは書けているのに集約できません。
A: ログシッパの許可リストにパスを載せるか、セキュリティレビュー済みの読み取り専用 APFS マウントをホストに公開してください。
8. 長セッションの記憶+監査 IO に Mac mini が向く理由
Active Memory と JSONL 監査は、実質高頻度の小さな IOと長寿命プロセスの組合せです。ディスク品質、スケジューラの公平性、消費電力特性が、write-heat 対策が机上で終わるかを決めます。Apple Silicon の Mac mini(例:M4) はユニファイドメモリ帯域とアイドル時おおよそ 4W 級の消費電力を両立し、記憶とログをローカル高速ストレージに載せた静音 7×24 ゲートウェイに適合します。
macOS は launchd、Unified Logging、APFS スナップショットで、Sandbox の deny 行や flush 退行が出たときの切り分け経路を短く保てます。Gatekeeper/SIP/FileVault は常時接続ボックスにおける説明責務も取りやすく、典型的な Windows ユーティリティホストよりマルウェア面の説明が楽です。
ノート PC から長セッションを リモート物理 Mac に移し、サブエージェント・ゲートウェイ Sandbox・JSONL ローテーションを同一ベースラインに載せ替えるなら、Mac mini M4 は 2026 年時点でも費用対効果の高い出発点です。パス契約を一度閉じれば、ステージングと本番で同じハードウェアプロファイルを維持しやすくなります。
本記事の Runbook を静音据え置きノードで本番相当に載せ替えたい場合は、ZoneMac のトップページからリモート物理 Mac のプランを確認し、今すぐ検証を回してください。
Active Memory と JSONL を専用 Mac で安定運用
絶対パスと launchd を固定した物理 macOS 上で、ステージングで検証した Active Memory/Sandbox 監査スタックをそのまま載せ替え。