ホームAIエージェントは行動する前に自らのツール結果を検証できるか?

エヴァ・ウォンテクニカルライター であり ZimaSpaceの常駐ティンカーでもあります。 生涯のオタクであり、 ホームラボとオープンソースソフトウェアに情熱を持っています。彼女は複雑な技術的概念をわかりやすく、 実践的なガイドに翻訳することを専門としています。エヴァはセルフホスティングは楽しくあるべきで、怖がるものではないと信じています。彼女のチュートリアルを通じて、コミュニティが ハードウェアのセットアップを解明する手助けをしています。初めてのNAS構築からDockerコンテナの習得まで。

はい、ホームAIエージェントは実行前に多くのツール結果を検証できます。ただし、信頼できるチェックは、モデルが最初に置いた前提から独立していなければなりません。

エージェントがローカルカレンダーを検索し、配送メールを読み取り、予定のキャンセルを準備しているとします。流暢なツール応答でも、誤った日付、古い記録、あるいは一見もっともらしい不正なフィールドが含まれている可能性があります。検証とは、同じモデルに自分の解釈が正しいか尋ねることではなく、アクションの境界に到達する前に、構造、識別情報、新しさ、権限、証拠を確認することです。

検証は決定論的なチェックから始まる

最も低コストなチェックには、別のモデルは必要ありません。ツール名、引数スキーマ、レスポンススキーマ、レコード識別子、タイムスタンプ、単位、許容値の範囲を検証します。カレンダー検索では、想定されたアカウントに存在するイベントIDが返されるべきです。ファイル操作では、承認済みのディレクトリ内に解決される必要があります。購入合計は、取引を送信する前に明細から再計算して一致を確認すべきです。

OpenAIのAgents SDKは、チェックに失敗した際に実行を拒否または中断できる入力および出力ガードレールをサポートしています。これらのガードレールが有用なのは、通常の回答生成の外側に配置されるためです。型バリデーターは、日付が事実として正しいことまでは証明できません。しかし、欠落したデータ、曖昧なデータ、想定外のデータを、エージェントが続行する許可として扱うのを防げます。

決定論的な検証により、見えない曖昧さは「合格」「不合格」「証拠不十分」という明示的な状態に変換されます。その状態はツール結果とともに引き継ぐべきです。エージェントは一時的な障害の後に読み取り専用の検索を再試行してもかまいませんが、計画を進めるために欠落した識別子を捏造したり、不正なレスポンスを想定された形式に無理に変換したりしてはいけません。

独立した証拠が循環的な自己チェックを防ぐ

意味的な検証では、結果が計画されたアクションを裏付けているかを確認します。最も強力なパターンは、独立した観測結果を比較することです。たとえば、荷物の配達状況を配送業者の記録と注文IDの両方で確認したり、最初のツールが生成したテキスト概要ではなく、ファイルシステムへの問い合わせで空きディスク容量を確認したりします。チェックが同じ障害原因を共有していない場合にのみ、一致には意味があります。

ReActフレームワークは、推論とアクションを交互に行い、固定された処理チェーンの後ろに観測結果を追加するのではなく、観測によって計画を更新できるようにします。これにより追跡可能性は向上しますが、観測結果はあくまでデータであり、真実そのものではありません。検証器は、返された証拠を、識別情報の一致、現在のタイムスタンプ、十分な残高、取り消し可能な対象など、明示的な述語と比較すべきです。

同じモデルに同じトランスクリプトを批評させれば、矛盾を検出できる場合はあります。しかし、それは独立した検証ではありません。批評役も同じ学習上の偏りを共有しており、説得力のある誤った結果を受け入れる可能性があります。あいまいな判断にはモデルベースのレビューを使い、重要な主張は2つ目のツール、チェックサム、データベース制約、または人間に基づけてください。自己内省を増やしても、新たな真実の情報源が自動的に生まれるわけではありません。

必要な証拠の量はアクションのリスクで決まる

読み取り専用の推奨事項では、不確実性を許容できますが、破壊的なアクションではそうはいきません。検証ポリシーでは、可逆性、金銭的影響、プライバシーへの露出、対象者、影響範囲に基づいてアクションを分類すべきです。一時ファイルの名前変更には1回のスキーマチェックで十分かもしれません。しかし、写真アーカイブの削除、外部メッセージの送信、ファイアウォールの変更、金銭の支出には、より強力な証拠と、場合によっては明示的な承認が必要です。

人間によるレビューは、現在のエージェント安全対策ガイダンスにおける主要な制御手段です。特に、実行が機密性の高い境界を越える場合に重要です。ホームサーバーはワークフローを一時停止し、正確な対象と証拠を提示して、保留状態をローカルに保持できます。承認はそれらの正確な引数に紐付けるべきです。そうすれば、後続のモデルターンで別の受信者、パス、金額に差し替えられることを防げます。

すべてのチェック役が同じ汚染された情報源を使っている場合、チェックと実行の間に環境が変化した場合、またはアクションをロールバックできない場合、自己検証という主張は破綻します。ツール出力にポリシーを上書きする指示が含まれている場合も同様です。結果は信頼できないデータとして扱い、検証から実行までの間隔を最小限にし、譲れない権限はモデルではなくツールアダプターに強制させてください。

アクション前の証拠エンベロープを使用する

実行前に、提案されたアクション、正規化された引数、情報源からの観測結果、検証結果、有効期間、リスク分類、承認状態を含む、1つの構造化されたエンベロープを必須にします。エンベロープにハッシュまたは一意の識別子を付与し、その識別子をアクションツールに渡します。いずれかの引数が変更された場合は、エンベロープを無効にし、以前の承認を再利用せずに再検証してください。

ローカルエージェントのハーネスは、セッション、ツール、権限を管理するため、この制御に適した場所です。ZimaSpaceによるエージェントハーネスプラグインの概要は、モデルの周囲で機能がどのように拡張されるかを示しています。同じレイヤーで、証拠ゲートによって機能を制限すべきです。ツールが利用可能であることと、ツールの使用が承認されていることは別の状態です。

エンベロープは、正常な結果、不正なデータ、もっともらしいが古い結果、独立した情報源同士の矛盾という4つのケースでテストしてください。低リスクで正常な処理だけが進み、不確実な処理は一時停止し、拒否された処理がプロンプトによる説得で復旧できない場合にのみ合格とします。目的は、エージェントが慎重そうに話すことではありません。検証されていない状態が、保護されたアクションを技術的に起動できないようにすることです。

アクションのリスク 最低限必要な検証 実行ルール
読み取り専用 スキーマと新しさ 安全に再試行
可逆的なローカル変更 識別情報と状態のチェック 記録してロールバックを許可
外部とのコミュニケーション 受信者、内容、対象者 プレビューまたは承認
破壊的または金銭的な処理 独立した証拠 明示的な対象限定承認

よくある質問

2つ目のLLMを検証役にできますか?

別のプロンプトやモデルを使えば多様性を加えられますが、それでも確率的な仕組みです。意味的なレビューには使用できますが、決定論的なツールや人間が検証できる事実について、唯一のゲートとして使うべきではありません。

すべてのツール呼び出しを2回検証すべきですか?

いいえ。検証はリスクと不確実性に応じて調整すべきです。過剰なチェックは遅延を増やし、新たな障害点を生む可能性があります。一方、保護されたアクションには、より強力で独立した証拠が必要です。

ログによって、エージェントが先にチェックしたことを証明できますか?

ログが完全で改ざんを検知できるものであれば、記録された処理順序を示せます。ただし、情報源のデータが正しかったことまでは証明できません。そのため、証拠の識別子と検証結果をアクションとともに保持してください。

テック&AIハブ

もっと読む

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.