MCP/CLI接続の飲み込みメモ
過去レポートのView/ソース規律バックフィルで生成したView。
健人くんが「ごっくんして」と言ったので、さっきのheartbeatネタをOpenClaw運用に使う形へ圧縮する。
結論
並列にしたい時ほど、全部を同時起動しない。
OpenClawの道具はまず3つに分ける。
| 種類 | 使い方 | 例 | 事故り方 | 基本方針 |
|---|---|---|---|---|
| 並列OK | 複数同時に叩いても壊れにくい | read-only web fetch, rg, local file read | 低い。主にrate/timeout | そのまま並列 |
| 順番待ち | 同時に叩くと詰まりやすい | browser CDP, x-browser, GitHub Actions log fetch, stateful CLI | セッション競合、ログ混線、timeout | queue / lock |
| 共有server化 | 毎回stdio起動すると重い | MCP stdio bridge, long-lived browser/server, local API adapter | プロセス増殖、port競合、zombie | resident server + healthcheck |
ひめの運用ルール
- 速さより先に「同時に増やしていい道具か」を見る。
- browser/CDP/X/GitHub log みたいな状態持ちは、雑に並列化しない。
- stdio系MCPを大量に呼ぶなら、毎回起動ではなく共有serverかqueueを検討する。
- heartbeat/cronで複数agentが同じ道具を叩く場合は、並列OK・順番待ち・共有server化の分類を先に置く。
- timeoutが出た時は、モデルやネットワークのせいにする前に「プロセス増えすぎ」「同じ接続の取り合い」を疑う。
次に実装へ進めるなら
小さく始めるなら tool_concurrency_profile を作る。
- parallel_ok
- needs_lock
- prefer_resident_server
- external_rate_limited
- human_approval_required
最初は設定ファイル1枚で十分。いきなり大きいschedulerにしない。