本文へスキップ
MameTechNews
AI

OpenRouter、ツール呼び出しを英語の規則で止めるArmorをベータ公開

## POINTS

  • ハード拒否は許可規則で覆せず、ソフト拒否だけが例外で通る。消してはいけない操作はハード拒否に分ける。
  • Messages APIではクライアントが実行を止める。制御できない実装はoutput_modeをtextにして呼び出し自体を返さない。
  • ベータの判定は無課金で、追加遅延の中央値は279ミリ秒。判定不能時の既定とClaude Code互換の例外は違う。

OpenRouterは、モデルとアプリケーションの間でツール呼び出しを検査する分類器Armorをベータ公開した。呼び出しのたびに、その引数と会話、利用者が書いた規則を決定モデルへ渡し、規則ごとの一致確率から flagged か not_flagged を返す。flagged は実行せず、当たった規則をモデルに伝えて続きの作業を続けさせる。

規則は3種類だ。ハード拒否は一致すれば必ず止まり、許可では覆せない。ソフト拒否は通常止めるが、許可規則が同時に一致するか、会話でその操作が明示されていれば通す。許可規則自体は何も止めない。

カスタムエージェントは Responses API の plugins に id が armor の項目を足す。Claude Code互換では、Ori経由の permission-mode auto で、OpenRouterが提供するモデルに同じ自動承認を載せられる。Messages APIでは flagged の tool_use が応答に残るため、safeguard_results を無視するクライアントは実行してしまう。制御できないクライアントには output_mode を text にし、呼び出しをクライアントへ返さない。

Claude Code互換の規則集で測った追加遅延は中央値279ミリ秒、90パーセンタイル334ミリ秒。ベータ中の判定は課金されず、料金は一般提供前に告知される。判定不能時の既定は遮断だが、Claude Code互換では unavailable の呼び出しは通す。HIPAA、Zero Data Retention、データリージョン指定のプラグイン要求は403になり、Claude Code側はローカルの自動承認へ戻る。audit は判定だけ残して全部通し、本番の enforce の前に自分のトラフィックで誤検知を見られる。