ホームへ戻る

GitHub Repo

Pydantic AI 2.60.0がローカルコンテナと軽量仮想マシンのサンドボックスを追加、エージェント実行の分離を強化

Pydantic AIは10月23日に2.60.0を公開し、Docker/PodmanとBoxLiteのローカルサンドボックス統合を追加した。今回の更新では信頼されていない履歴メッセージの処理も変更されており、導入時にはネットワークのデフォルト設定とHarness APIの互換性に注意が必要だ。

Awkwafaba · CC BY-SA 4.0 · Image source
zh-Hant

Pydantic AI 2.60.0が10月23日にPyPIで公開され、エージェントがローカルの隔離環境でファイルを操作し、コマンドを実行するためのHarness機能として、DockerSandboxとBoxLiteSandboxが追加された。GitHubのリリースノートのタイトルには10月22日と記載されているが、実際の公開時刻とパッケージの公開記録はいずれも23日となっている。パッケージ記録

DockerSandboxは既存のDocker CLIを使用し、DockerまたはPodmanと組み合わせて、Coderのシェルツールとファイルツールをコンテナ内で実行する。ワークスペースは初回利用時に作成され、その後は会話履歴またはワークスペース参照を使って同じコンテナに再接続でき、生成したファイルも保持される。ただし、コンテナはデフォルトでブリッジネットワークを使用するため、インターネットやローカルネットワーク上のサービスに接続できる。ネットワークを遮断するには、allow_internet_access=Falseを明示的に設定する必要がある。プロジェクトディレクトリのマウント範囲も、導入する側が決める。Dockerサンドボックスのドキュメント

BoxLiteSandboxは、独立したカーネルとファイルシステムを持つ軽量仮想マシン内でツールを実行し、クラウドアカウントを必要としない。デフォルトではネットワークが無効で、接続を許可した場合はallowed_hostsで接続先を制限できる。公式が現在サポート対象として挙げているのはApple Silicon搭載のmacOSとLinuxで、Linuxの実行環境には/dev/kvmへのアクセスが必要だ。エンジニアリングチームにとって、これはコンテナとは異なる実行境界を提供するが、ホストのプラットフォームやネットワーク要件に応じた選択が必要となる。BoxLiteのドキュメント

同じリリースでは、モデル入力の信頼境界も強化された。sanitize_messagesは信頼されていない履歴からリクエストレベルのinstructionsを削除し、子エージェントのバックグラウンド出力はシステムプロンプト欄に入れず、<task_output>データとして提示するようになった。これらの変更は、エージェントが履歴やツールデータを受け取る方法を対象とするもので、プロンプトインジェクションを全面的に解決したものではない。2.60.0リリースノート

アップグレード時の検証では、ワークスペースの再接続、マウント権限、ネットワーク制限を確認したい。公式によるとHarnessは引き続き0.x段階にあり、マイナーバージョンでAPIが変更される可能性がある。また、確認時点ですでにguardrailをさらに修正した2.61.0が公開されていたため、導入時には後続リリースの説明も併せて確認する必要がある。2.61.0リリースノート

出典

  1. Pydantic AI 2.60.0 發布說明
  2. pydantic-ai 2.60.0 套件與發布紀錄
  3. Docker Sandbox 官方文件
  4. BoxLite Sandbox 官方文件
  5. Pydantic AI 2.61.0 發布說明