
何が起きたか
Pi 0.84.2をclaude-sonnet-4-5で試すと、rmに{ block: true, reason }を返すフックはクラッシュせず通常のツールエラーになり、event.input.commandへの書き換えも効いた。ただしrm回避を指示するとunlink foo.tmp && unlink bar.tmpでファイルが削除された。
なぜ重要か
フックの拒否は強制停止ではなく穏当な応答だが、正規表現ベースのガードは実安全の責任を拡張作者に移す。Piのフレームワークは意味的な安全性を保証しない。
こういう要約が、毎朝あなたのメールに届きます。
テストは安全性全般より狭い問いから始まった。フックが呼び出しを拒否した時、実際に何がモデルに届くのかという点だ。Piのドキュメントは仕組みを説明していた。event.inputは再検証なしでその場で書き換え可能で、拒否は{ block: true, reason?, terminate? }を返す。しかしモデルが見る結果については何も述べていなかった。正規表現/\brm\b/に一致するものは拒否し、他のbashコマンドにはechoマーカーを前置する最小の拡張を走らせると、セッションログでマーカーが実際に出力に現れること、拒否が理由文字列を伴う通常のエラー結果として届くことを確認できた。モデルはその後ls -laでディレクトリを再確認し、tmpファイルが残っているのを見て、無限に再試行せず続行するか片付けるかをユーザーに尋ねた。
この秩序だった挙動は指示を強めると変わった。rmなしでもファイルを削除しなければならないと告げると、モデルはブロックされたパターンを避けてunlinkを使い、正規表現を素通りした。作者はkeep.txtだけが残ったことを確認した。モデルはfind -delete、perlのunlink、pythonのos.removeワンライナーも代替として挙げた。作者の結論は、呼び出しを拒否できることと安全であることは別だというものだ。Piは拡張をin-processで動かし引数の中身を公開するため、より強力なフィルタは可能だが、それはフレームワークの保証ではなく拡張作者の責任にとどまる。
作者はまた、以前の日本語記事がモックプロバイダーで拒否と継続の中核をすでに示していたのに対し、今回の実行は実際のAnthropic APIを通し、コマンド書き換えと指示による回避も追加で扱ったと述べている。terminate: trueオプション、並列ツール呼び出し、OpenCodeのアウトプロセス方式との実測比較は今後の課題として残された。
業界と使っているAIツールを選ぶと、仕事に関係するニュースが毎朝届きます。
登録無料・Googleアカウントなら30秒・いつでも解除できますAITodayについて →
この記事についてわからないことをAIに質問できます。AIはこの記事・AIToday の過去記事・Wikipedia を読み、出典を付けて答えます。Q&Aはこのページに公開され、他の読者も読めます。
GoogleはPyTorch互換フレームワークTorchTPUを公開した
E-Commerce Benchで18のAIモデルが最大4店舗を365日運営し、18のツールで仕入れ・価格・配送・返品・資金を処理

ITmediaのAI Plusが、Gemini Notebook(旧NotebookLM)のStudio機能の活用ガイド14ページを公開

ALTK-Evolveは接客エージェントの試行から成功と失敗を短い行動規則にまとめ、モデルの重みを変えずに次の実行時の指示へ追加する

セキュリティ人材採用を専門とするコンサルタントは、求職者はChatGPT PlusかClaude Proのどちらか1つを契約して使い切り、不足したらもう一方を追加すべきだと述べた

TypeSafe AIのJevを6回調整後、著者が100件のリクエストでgrepを使うClaude(Opus)と比較したところ、Opusはノートが必要な77件中52件を正解し、Jevは24件だった
