PydanticAIは型で契約を書き、OpenClawは出口で守ります。最小権限のツール許可リストJSON Schemaで形を固定し、タイムアウトサーキットで抑え、ログフィールドと短い失敗要約だけ返します。

目次:詰まり · 分担 · 許可リスト · スキーマ · 遮断 · ログ · 手順 · 検収 · 補足

リモート常駐と SSH が前提。InstructorKernel再試行可観測性

最初に詰まる三つ

クライアントだけでは出口検証が弱い。補助関数が見えると許可が膨らむ。タイムアウト一層では遅延の所在が読みにくい。

分担の対照

役割 ノブ
エージェント 実装と結果型 登録名
ゲートウェイ 拒否と監査 許可と版
遮断 遅延と連敗 秒と閾値

最小権限のツール許可リスト

公開面は一本化し許可された関数名だけ通します。登録も同じ並びに縮約し内部関数は出しません。未知は推論前に四系、下流鍵はホスト内です。

JSON Schema による検証

Pydanticスキーマを引数と応答へ載せ同一版で必須と列挙を止めます。検収は版ずらしで先落ちを見ます。

タイムアウトとサーキット遮断

接続秒全体秒を別名で書き先発火をログへ。連敗は閾値と冷却で開閉し再試行嵐の余白を残します。

ログフィールドの設計

相関論理モデル名段階終了理由上流ステータス許可版スキーマ版を揃え要約は短構造のみ、本文と鍵片と絶対パスは伏せます。

再現手順(六段)

venv と依存固定。

python3 -m venv .venv
source .venv/bin/activate
pip install -U pip pydantic-ai openai httpx pydantic

URL・鍵・秒・許可を export。

export OPENAI_BASE_URL=http://127.0.0.1:8787/v1
export OPENAI_API_KEY=sk-gateway-scoped
export LLM_CONNECT_TIMEOUT_SEC=8 LLM_TOTAL_TIMEOUT_SEC=45
export GATEWAY_TOOL_ALLOWLIST=search_kb,run_sql,notify_slack

ループバックで OpenClaw を起動し doctor を緑に。スキーマを定義名へ一致。サーキット閾値と冷却。禁名・スキーマ破り・遅延で再現検収。

検収チェック表

  • 許可外が四系
  • 二種タイムアウトの先後がログ可読
  • 版が正典と一致
  • 要約に相関と短コードと一行
  • サーキット開閉が残る
  • 料金購入ヘルプが無ログインで開く

補足

専用リモートマックの方が尾部が安定します。料金購入ブログヘルプログイン不要です。

要約:許可リストと JSON Schema と二重タイムアウトとサーキットとログと短い要約を束ねればリモートでも再現できます。