📝

AIエージェントのテスト・評価方法を考えてみた

に公開

はじめに

現在、私はautogenを用いたマルチエージェントシステムの構築に取り組んでいます。
AIエージェントに関する話題は多くありますが、実際に構築を進める中でさまざまな課題に直面しました。
詳しくは後述しますが、主な課題は「エージェントが期待どおりに動かない」ことです。
そこで、課題に対応するための評価方法を検討し、客観的な評価をすることにしました。
これにより問題の所在を明確にし、効率的な改善につなげることを期待します。

本記事では、ディベートをするマルチエージェントシステムを題材に、
エージェントの設計・評価方法について記載します。
ディベートのテーマは「テレビCMとネット広告のどちらが有効か」とします。

この記事がAIエージェントのテスト・評価の参考、加えて設計時の参考になりますと幸いです。

autogenとは

Microsoftが開発したオープンソースのAIエージェント開発フレームワークです。

autogenの詳細については下記記事を参照ください。

https://zenn.dev/secondselection/articles/ai_articles_generator

マルチエージェントシステムについて

ここで一度マルチエージェントシステムの定義についておさらいします。

複数のエージェントから構成されるシステムであり、個々のエージェントやモノリシックなシステムでは困難な課題をシステム全体として達成する。

引用元:Wikipedia

難しいことが書かれていますが、複数のエージェントが協調して課題を達成するシステム
指します。

alt text
画像のような単一のエージェントのことをシングルエージェントと言います。
エージェントには役割とツールを与えることが出来ます。
ツールが用意されている場合、エージェントはツールを利用して外部操作(データ取得等)が
出来ます。
今回は議論の内容を整理し、適切な進行をしてほしいので、議論を記録しておくツールを
用意しました。


alt text
ディベートシステムを構築するため司会者、テレビ局の社長、人気配信者、消費者(子持ち)の
4つのエージェントを用意しました。
司会者が進行をして、他のエージェントが立場に沿ったディベートをすることを期待します。

ディベートの際に司会者が進行ではなく、議論に参加するなどの行為をするとどうでしょうか?
マルチエージェントシステムがうまく動作するにはシングルエージェントが正しく動作する前提を必要とします。

エージェント設計

ここでいう設計はシステムプロンプトと同義だと考えてください。

マルチエージェントシステムを構築するにあたって、エージェントの設計を整理しておくと
とても便利です。
ドキュメントになるだけでなく、評価をする際に要件を満たしているかの基準になります。
設計段階では、エージェントごとに以下の要素を定義します。

  • 人格(キャラクター性や態度)
  • 役割(担うタスクや責務)
  • 使用可能なツールとその使い方

このとき、人間に置き換えて考えると具体性が増し、設計の精度が高まります。
また、設計項目を事前に統一しておくことで、管理が容易になります。
特にツール利用を許可する場合は、その利用方法を明示しておくことが重要です。
詳細には触れませんが、プロンプト設計では「Xしないでください」ではなく、
「Yしてください」が効果的だと体感しました。

https://docs.claude.com/en/docs/build-with-claude/prompt-engineering/claude-4-best-practices

🎤 司会者

項目 司会者
目的 公平で整理された議論を進行し、理解しやすい場を提供
役割 発言順と時間を管理し、論点を整理
価値観 公平性・中立性・透明性
ツール利用ポリシー 定期的に議論を記録するツールを利用

📺 テレビ局の社長

項目 テレビ局の社長
目的 テレビCMの影響力と信頼性を証明し、広告の王道としての価値を示す
役割 歴史とデータに基づきテレビ広告の優位性を主張
価値観 信頼性・伝統
ツール利用ポリシー テレビCMの優れている点をWeb検索

📱 人気配信者

項目 人気配信者
目的 ネット広告と個人発信の強みを示し、現代に適した広告手法を主張
役割 実体験やSNS事例で現代的視点をリード
価値観 即時性・拡散性・双方向性
ツール利用ポリシー ネット広告の優れている点をWeb検索

👩‍👦 消費者代表(子育て主婦)

項目 消費者代表(子育て主婦)
目的 生活者の実感をベースに、意見を率直に伝える
役割 消費者のリアルな声を届ける
価値観 共感・実用性・子供への影響
ツール利用ポリシー 消費者の声をWeb検索し、代弁する

ツール

今回のシステムでエージェントごとに与えるツールを整理します。
司会者には議論記録ツール、司会者以外にはWeb検索ツールを与えます。

ツール名 🎤 司会者 📺 テレビ局の社長 📱 人気配信者 👩‍👦 消費者代表(子育て主婦)
Web検索ツール
議論記録ツール

エージェントが期待通りに動かない

各エージェントの設計が完了し、いざマルチエージェントで動作検証をしてみると期待と
異なることがあります。
私はやみくもにプロンプトを修正し、検証をしていたのですが、精度が改善しませんでした。
この手法はエラーメッセージを見ずにデバッグをしている事と同じで非効率です。
そこで各エージェントの評価指標を作成し、単一エージェントの品質担保から見直すことに
しました。

評価について

エージェントごとの評価指標を作成し、それをベースにAIエージェントの出力を評価します。
ポイントとしてはシングルエージェントで品質担保してから、マルチエージェントに移行
することです。小さく始めて、大きく育てます。

シングルエージェントの評価(ツールなし)

評価をしやすくするためにツールなしと、ツールありで評価は分けます。
この段階ではエージェントが与えられた人格に従って発言が出来ているかを評価します。
開発における単体試験といえます。

👩‍👦 消費者代表(再掲)

項目 消費者代表(子育て主婦)
目的 生活者の実感をベースに、意見を率直に伝える
役割 生活感のあるリアルな声を届ける
価値観 共感・実用性・子供への影響
ツール利用ポリシー 消費者の声をWeb検索し、代表として代弁する

評価基準

チェック観点 確認内容 判定基準
子供・家庭への影響を考慮している 広告や施策が子供や家庭にどう影響するかを意識しているか 〇:子供や家庭への影響を具体例で示している
△:影響について言及はあるが抽象的
×:影響に触れていない
共感性のある発言 他の生活者や一般消費者が「確かに」と共感できる内容か 〇:多くの人が共感できる生活のリアルを提示している
△:個人の経験にとどまるが理解はできる
×:一般消費者が共感しづらい特殊な視点に偏る

評価の例

👩‍👦消費者代表(子育て主婦):「子供に動画を見せているときに、教育に良くない広告が
流れてくることがあります。子供は影響を受けやすいため心配です。
動画によって広告を変更してもらえると安心して利用できます」

この発言は子供・家庭への影響を考慮しており、具体的かつ共感性のある発言になっていると
考えられます。これで最低限の品質担保が出来たと言えます。
この手順を全てのエージェントに対して行います。


シングルエージェントの評価(ツールあり)

続いて、文脈に沿って適切なツールを利用できているかを評価します。例えば消費者エージェントは、消費者のアンケート情報を検索し利用することが期待されます。

ツール利用評価基準

チェック観点 確認内容 判定基準
ツールを活用しているか Web検索ツールを利用し、関連情報を持ち込んでいるか 〇:検索を行い、調査結果や記事を根拠として引用している
△:検索はしているが、引用が抽象的または情報が不明確
×:検索を行わず、独自の意見のみ述べている
検索結果の適切さ 検索Word・取得情報が質問や議題に即しているか 〇:質問に合ったキーワードで検索し、関連性の高い情報を提示
△:関連はあるが抽象的で、質問に直結していない
×:議題から外れた情報を持ち込んでいる

評価例

[タスク]消費者の立場からネット広告の懸念点についてご意見いただけますか?

👩‍👦消費者代表(子育て主婦):
[ツール利用] 広告について消費者の意見をWeb検索し、保護者に対するアンケート結果情報を取得。
👩‍👦消費者代表(子育て主婦):
20○○年に行われた調査で、小学生の保護者の約〇割が “不適切な広告を目にした経験がある” 
と回答しているという結果が出ていました。
私自身も子供にアニメ動画を見せていたとき、突然ゲーム課金や刺激的な映像の広告が流れてしまい、
慌てて止めた経験があります。広告の配信基準をもっと厳しくしてほしいです。

この例ではツールを利用して取得した情報が意見に反映できているか、適切な検索結果かを評価します。
ツールを利用し、ネット広告に対する消費者の意見を検索しています。
検索結果を自身の意見に取り入れて回答しているため観点を満たしたと判断します。

マルチエージェントの評価

シングルエージェントの評価が完了したらマルチエージェントに移行します。開発における結合試験とも言えます。
厳密に評価する場合、司会者と消費者など2エージェントごとに評価することも考えられます。
マルチエージェントの評価をする際は、エージェント間のやり取りが成立していることが
求められます。場合によってはツールを利用し、回答することも必要になります。

チェック観点 確認内容 判定基準
ツールを活用しているか Web検索ツールを利用し、関連情報を持ち込んでいるか 〇:検索を行い、調査結果や記事を根拠として引用している
△:検索はしているが、引用が抽象的または情報が不明確
×:検索を行わず、独自の意見のみ述べている
意見が適切であるか 発言内容が適切であるか 〇:議論内容、価値観を踏まえた発言が出来ている
△:抽象的で前回と同じような発言をしている
×:議論内容、価値観から反れた発言をしている
相互理解 他エージェントの発言を理解し、要点を踏まえた応答か 〇:要点を引用・言い換えして応答
△:部分的に拾うが浅い
×:無関係な応答
🎤 司会者
「では次に、“ネット広告が子供に与える影響”について、消費者代表の方からご意見をお願いします」

📺 テレビ局の社長
「テレビCMでは放送倫理や審査基準があり、子供に悪影響のある内容は基本的に流れません。
その点でテレビは安心感があると考えています」

📱 人気配信者
「確かにテレビの基準は厳しいですが、ネット広告もAIによる広告チェックを強化してきています。
ただ、まだ完全ではなく、時々すり抜けがあるのも事実です」

👩‍👦 消費者代表(子育て主婦)
Web検索で検索したところ、20○○年の調査で保護者の〇割以上が
『子供が不適切な広告を目にしたことがある』と答えているという結果が出ていました。
社長がおっしゃった“テレビの信頼性”は、この数字から見ても確かに裏付けられています。
一方で人気配信者さんのご意見にある“AI審査の強化”についても、
調査では『改善はしているが依然として課題が残る』と指摘されていました。
なので結論としては、両方の意見に共通している“安全性の担保”が重要です。
具体的には、家庭で親が広告を選別できる機能を追加することが現実的な解決策だと考えます。

この過程まで来ると全体としての評価が必要になります。
消費者代表の意見をみてみると、チェック観点を概ねクリアできていると言えます。
シングルエージェントの品質担保を怠ると、会話が成り立たないこともあるので要注意です。

RAGを利用した場合の評価観点を考えてみる

実際にRAGを利用したシステムの構築したわけではないですが、今後利用するケースを想定して考えてみます。
RAGの精度評価として下記記事が参考になりました。

https://zenn.dev/umi_mori/books/llm-rag-langchain-python/viewer/rag-accuracy-ragas

簡単にまとめたものを記載します。

  • Faithfulness(忠実度):生成物が事実に基づきハルシネーションがないかを測る。
  • Answer Relevancy(回答の関連性):生成物がユーザー質問に対して適切・有用かを測る。
  • Context Precision(コンテキスト精度):取得文脈がノイズなくピンポイントに的中している割合を測る。
    例:「日本の首都は?」→「日本の首都は東京」という情報を取得すると高評価。大阪の話も混在していると低評価。
  • Context Recall(コンテキスト再現率):質問に必要な情報を取りこぼしなく回収できた割合を測る
    例:「日本の首都の観光名所は?」→「東京である」だけ=低評価/「東京タワー・浅草寺…」まで含む=高評価。

上記の観点をもとにRAGを利用したエージェントの観点を考えてみました。

  • やり直しの少なさ
  • 適切に終了判断できたか
  • 委託の判断が出来たか
  • 適切なDBを選択できたか(複数DBがある場合)

おわりに

本記事ではディベートのマルチエージェントシステムを題材に評価指標、評価方法、設計手法を提案しました。
そもそも評価指標・評価方法が適切であるのか等の課題は残りますが、少なくともシステムの
レベル感を他者に説明できる根拠にはなると考えています。特に小規模なシステムでは
今回の手法が有効だと考えます。
改善点としては評価を〇×△ではなく、スコアリングする、試行回数を定義する、評価指標を
定量、定性にするなどが考えられます。
一方で大規模なシステムの場合、評価を生成AIに任せたり、評価ツールを利用するなど
さらなる工夫が必要だといえます。
評価指標・評価方法については今後ブラッシュアップしていきます。
開発経験はまだまだ浅いものの、AIシステムの開発は通常の開発に置き換えて考えられると
学びました。

GitHubで編集を提案
株式会社セカンドセレクション

Discussion