ASSERTは、開発者が書いた意図を、スコア付きで診断可能な評価結果に変換する、5段階のパイプラインで動作します。
平易な日本語(英語)でポリシーを書く:開発者は、製品の要件定義書、コンプライアンス文書、システムプロンプト、あるいはリリース前のチェックリストから、AIに期待する行動や禁止事項を自然言語で記述します 。例えば、「このサポートエージェントは、管理者の承認なしに5万円を超える返金を行ってはならない」といった具合です
。
LLMが仕様を解析し、構造化されたルールに変換:ASSERTは大規模言語モデル(LLM)を使用して、自由記述のテキストを解釈し、機械が処理可能な「許可される行動」と「許可されない行動」のセットに変換します 。
敵対的テストシナリオを自動生成:フレームワークは、AIエージェントがポリシーに違反するかどうかを徹底的に探るため、ピンポイントを突いたテストケースや、境界値、想定外の入力パターンをシステム的に大量生成します 。
対象エージェントに対してテストを実行:生成したテストスイートを実際のAIエージェント実装に対して実行し、エージェントが行ったすべての中間ステップとツール呼び出しを記録します 。ASSERTは特定のフレームワークに依存せず、LangChain、CrewAI、AutoGen、LiteLLM、OpenAIといった主要な開発キットすべてで動作します。Microsoftの独自基盤であるFoundryにロックインされることはありません
。
追跡可能なスコアレポートを受け取る:各テストは、合否判定と詳細な理由を提示する構造化されたスコアカードとして出力されます。実行トレース全体が保存されているため、開発者はエージェントが「どのツール呼び出しの、どの意思決定ステップで失敗したか」までドリルダウンして調査できます 。
ASSERTを一般的な評価ツールと区別する最大の特徴は、アプリケーション固有の行動境界に焦点を当てている点です。AIエージェントは、有用性や真実性に関する汎用ベンチマークで満点を取れたとしても、「顧客のメールアドレスを外部サービスと決して共有しない」といったプロダクト固有のルールには違反するかもしれません。ASSERTはまさに、そのような種類の失敗を捕捉するために構築されています 。
Microsoftはこのフレームワークを安全性重視のツールとして位置づけており、その評価手法は単なる品質指標のためではなく、安全性評価のために特別に検証されたアプローチに基づいていると説明しています 。
ASSERTは、Agent Control Specification (ACS) という別のオープンソースプロジェクトと同時にリリースされました 。ACSは、開発チームやセキュリティチームが「AIエージェントがしてよいこと、してはいけないこと」「いつ人間の承認が必要か」「どの証拠をログに残すべきか」を定義したポリシーファイルを移植可能な形で作成できるようにする標準仕様です
。
想定されている理想的なワークフローは、この二つを組み合わせたものです。まずASSERTで欠陥を発見し、次にACSでランタイム制御を適用し、そして再度ASSERTを実行して、ビフォー・アフターの指標で改善度を測定する 。この「仕様化→評価→制御→再評価」というループにより、エンジニアリングチームはAIエージェントシステムを本番環境にデプロイする前に、繰り返し可能なプロセスで堅牢化できるようになります。
実務上は、開発者が「この文書調査エージェントは、社外の人物にメールを送信してはならない。機密情報はCレベルの役員に限定し、常に以前の文脈を含めた簡潔な要約を提供しなければならない」といったルールを指定すれば、ASSERTが対応する敵対的テストケースを自動で生成・実行し、ポリシー違反があればスコア付きレポートと詳細なトレースで警告を発する、という流れになります 。
Comments
0 comments