ツールの「返事」を、モデルが読む前に検める──Codex 0.151が、MCPの戻り値に“書き換えできる関所”を置いた
OpenAIのCodex 0.151.0が、MCPツールの戻り値をモデルが読む前に検査・書き換えできる「出口の関所」を追加。0.150のInterruptフックや自走まわりの修正とあわせ、エージェントの安全設計が運用者の裁量に開かれつつある動きを整理します。
OpenAI のコーディングエージェント「Codex」が、8月29日に rust-v0.151.0 を公開しました。目玉は、外部ツール(MCP サーバ)が返した結果を、モデルが読む前に拡張機能側で検査・書き換えできるようにした点です。前回この連載で触れた 0.149 から、0.150 を挟んで小さな更新が続いています。今回はその流れをまとめます。
入口ではなく「戻り」に手を入れる
これまでエージェントの制御点は、主にツールを呼ぶ前にありました。承認を挟む、実行を止める、といった入口側の関所です。0.151.0 が加えたのは出口側、つまりツールが返した値がモデルに届く前に割り込む口です。
公式の表現では「拡張機能が、MCP ツールの結果をモデルに届く前に検査・置換できる」となっています。呼び出しの可否だけでなく、返ってきた中身そのものを手元で加工できる、という違いです。
これが効く場面は、たとえば次のようなものです。
- 不審な指示の除去: 外部ページや文書が返す本文に紛れ込んだ「AI への命令文」を、モデルが読む前にそぎ落とす。いわゆるプロンプトインジェクション対策の一手になり得ます。
- 機密のマスキング: ツールの戻り値に混じる鍵やトークンを、モデルへ渡す前に伏せる。
- 出力量の抑制: 巨大なレスポンスを要約・切り詰めてから渡し、文脈と課金を節約する。
いずれも「置ける」だけで、何を削り何を残すかは利用者が書きます。仕組みは配られましたが、判断は手元に残ります。
「起動直後はツールが揃わない」への猶予
同じ 0.151.0 では、任意接続の MCP サーバについてツール発見に猶予期間(grace period)を設けられるようになりました。接続に時間のかかるサーバが、起動直後には道具を出し切れていない、という取りこぼしへの対処です。
あわせてプラグイン目録も、リポジトリごとの設定を束ね、壊れた登録があっても正しいプラグインまで巻き添えで隠さないよう直されました。無人で回す構成ほど、こうした「起動時の見落とし」は効いてきます。
0.150 で入った土台
3日前の 0.150.0(8月26日)は、ターミナルでの取り回しをまとめて厚くした版でした。主な追加は次の通りです。
- タスクの相互参照: 他の Codex タスクを
@で参照し、読む・作る・伝えるをターミナルから指示できる。 - Interrupt フック: 実行中のターンが中断されたときに、コマンドや MCP ハンドラを走らせられる。今回の「出口フック」と対で、割り込み時の後始末を差し込める。
- 権限モードの切替ショートカット: 承認の強さをキー一つで巡回でき、Vim 風の
.で直前の編集を繰り返せる。 - 細かな整え: 無名タスクへの自動タイトル、
/copyの選択コピー、Markdown リンクのクリック化。
0.150.1(8月27日)は、遠隔での文脈圧縮が保持画像もトークン予算に数えるようにした小さな修正でした。
「自走」の地固めが続く
0.151.0 の残り半分は、無人・長時間で走らせる構成の穴を塞ぐ修正でした。目立つものを挙げます。
- 権限プロファイルをターン間で保ち、
/cdがサンドボックスの制限を弱めないようにした。 - 古くなった Guardian(安全判定)の分類が、権限の変更後にも行動を通してしまう穴を塞いだ。
- 入れ子のサブエージェントが使ったトークンを、親ゴールの予算に合算するようにした。
- モデルを切り替えたり別モデルへ退避したりしても、使えるツールと推論の強さがずれないようにした。
いずれも派手さはありませんが、承認を挟まず回す前提の機能ほど、この種の「静かなズレ」が事故に直結します。
導入と、見落としたくない裏側
出口フックは、あくまで拡張機能として自分で書いて挿し込む口です。既定で中身を検めてくれるわけではありません。まずは戻り値を素通しで観察し、削る条件を絞ってから有効化するのが無難でしょう。
同時に、こうした「関所」自体が新しい注意点でもあります。ツールの結果を書き換えられる権限は強力で、拡張の作りが甘ければ、そこが新たな攻撃面になり得るとの指摘もあります。正当な結果まで誤って削れば、モデルは黙って情報を欠いたまま進みます。便利さと引き換えに、検問の実装品質そのものが問われる、という見方もできます。
とはいえ、外部から返る文字列を「無検査でモデルに流す」時代からは一歩進みました。ツールの入口と出口の両方に手を入れられるようになったことで、エージェントの安全設計は、より運用者の裁量に開かれつつあります。
参照: Codex rust-v0.151.0 リリースノート(GitHub) / rust-v0.150.0 リリースノート(GitHub) / Codex Releases 一覧 / Codex Updates(Releasebot)