# ADKの便利で実践的な使い方
📏 エージェントの品質を「何で」測るかは、評価の成否を分けます。ADKのEvaluation Criteriaは、ツール軌跡の正確性からハルシネーション検出、安全性評価まで、多角的な評価基準を組み込みで提供します。
📌 タイトル:Evaluation Criteria
🔗 URL:
🧩 概要
ADKは複数の組み込み評価基準を提供し、すべて0.0〜1.0のスコアで評価結果を返します。**tool_trajectory_avg_score**はエージェントのツール呼び出し順序を検証し、**response_match_score**はROUGE-1でレスポンスの一致度を測定します。**hallucinations_v1**はコンテキストに対する回答の根拠を検証し、**safety_v1**は有害コンテンツの有無を評価します。**multi_turn_task_success_v1**は複数ターンの会話でタスク達成度を測定します。
🛠 使い方
各評価基準はJSON設定ファイルで定義します。
**tool_trajectory_avg_score** — 3つのマッチタイプを選択できます。
```json
{
"criteria": {
"tool_trajectory_avg_score": {
"threshold": 1.0,
"match_type": "EXACT"
}
}
}
```
- `EXACT`: 期待されるツール呼び出しと完全一致(余分な呼び出しも不足も不可)
- `IN_ORDER`: 期待されるツールが順序通りに出現(間に他の呼び出しがあってもOK)
- `ANY_ORDER`: 期待されるツールがすべて存在(順序は問わない)
**response_match_score** — ROUGE-1によるユニグラム一致度です。
```json
{
"criteria": {
"response_match_score": 0.8
}
}
```
**hallucinations_v1** — レスポンスの各文をコンテキストに対して検証します。
```json
{
"criteria": {
"hallucinations_v1": {
"threshold": 0.8,
"judge_model_options": {
"judge_model": "gemini-flash-latest"
},
"evaluate_intermediate_nl_responses": true
}
}
}
```
各文には「supported(支持)」「unsupported(不支持)」「contradictory(矛盾)」「disputed(議論あり)」「not_applicable(該当なし)」のラベルが付与されます。スコアはsupportedとnot_applicableの割合で計算されます。
**safety_v1** — ヘイトスピーチ、ハラスメント、危険な情報の有無を評価します。
```json
{
"criteria": {
"safety_v1": 0.8
}
}
```
**multi_turn_task_success_v1** — 会話全体を通じたタスク達成度を評価します。
```json
{
"criteria": {
"multi_turn_task_success_v1": 0.8
}
}
```
🏗 実践的な使い方
**ツール軌跡の厳密な検証**: 金融取引や医療情報など、ツールの呼び出し順序が重要なドメインでは`EXACT`マッチタイプを使用します。例えば「まず認証→次に残高確認→最後に送金」という順序が厳守されるべきケースで、エージェントが正しい手順を踏んでいるかを検証できます。
**柔軟なツール検証**: 探索的なタスクでは`ANY_ORDER`を使い、必要なツールがすべて呼ばれたかだけを確認します。`IN_ORDER`は、主要なステップの順序は保証したいが、間に補助的なツール呼び出しを許容するケースに適しています。
**ハルシネーション検出の実践**: RAGベースのエージェントで`hallucinations_v1`を使用し、検索結果に基づかない情報をエージェントが生成していないかを自動検出します。`evaluate_intermediate_nl_responses`を有効にすれば、最終回答だけでなく中間的な回答も含めて検証できます。
**安全性とタスク達成の両立**: `safety_v1`と`multi_turn_task_success_v1`を組み合わせることで、「安全だがタスクを達成できないエージェント」や「タスクは達成するが不適切な内容を含むエージェント」を検出できます。
💡 ユースケース
🎯 金融・医療エージェントでのツール呼び出し順序の厳密な検証
🔍 RAGエージェントのハルシネーション自動検出
🛡 カスタマーサポートエージェントの安全性評価
📈 マルチターン対話でのタスク達成率の定量測定
⚠️ 注意点
- `safety_v1`、`multi_turn_task_success_v1`、`multi_turn_trajectory_quality_v1`、`multi_turn_tool_use_quality_v1`はGoogle Cloudプロジェクトの設定(`GOOGLE_CLOUD_PROJECT`、`GOOGLE_CLOUD_LOCATION`環境変数)が必要です。
- LLMベースの評価基準はジャッジモデルの判断にばらつきがあります。`num_samples`を設定して複数回サンプリングし、多数決で結果を安定させることを推奨します。
- `response_match_score`はROUGE-1(単語の重なり)のみで意味的な同等性は評価しません。意味的な評価には`final_response_match_v2`を検討してください。
✨ 適切な評価基準の選択は、エージェントの品質管理の基盤です。ドメインの特性に合わせてEXACT/IN_ORDER/ANY_ORDERを使い分け、ハルシネーション検出と安全性評価を組み合わせて多角的に品質を担保しましょう!
#
ADK# #
AIAgent#