2026年6月16日

【Agent Platform】「何となく動く」→「自信を持って動く」。自作エージェントを定量的に評価するには


Content

AIエージェントを作ったはいいけど、こんな不安を感じたことはないでしょうか?


「動いてはいるけど、本当に正しく動いているの?」
「プロンプトを変えたら改善したのか悪化したのか分からない」
「本番リリースして大丈夫?という確信が持てない」

AIエージェントの開発で多くの人が直面するのが、この「定性的な手応えはあるけど定量的な確信がない」という壁です。

従来のソフトウェアではユニットテストや統合テストで品質を担保できました。しかしAIエージェントは出力が確率的であり、マルチターンの会話全体を通じて評価しなければならず、ツール呼び出しの正確さも見なければならないなど、従来のテスト手法では対応しきれません。

この課題を解決するのが、Google Cloud Agent Platform の Agent Evaluation 機能です。デプロイしたエージェントに対してテストシナリオを実行し、応答品質・ツール使用の正確さ・安全性などを自動スコアリングできます。さらに Optimize 機能を使えばプロンプトの改善案を自動生成・検証することまで可能です。

本記事では、私が作成したAIエージェントに対して、Agent Evaluationの使い方を解説します。


注意: Agent Evaluation は 2026年5月時点でプレビュー版です。本記事での評価実行は Gen AI Eval SDK を Colab Enterprise 上で使う方法で行います。

Agent Evaluationの詳しい説明

なぜAIエージェントの評価は難しいのか

従来のソフトウェアテストがAIエージェントに通用しない理由を整理してみましょう

Agent Evaluationとは

Agent Evaluationは、Google Cloud Agent PlatformがGen AI Evaluation Serviceと連携して提供する自動評価機能です(2025年5月時点プレビュー版)。

Gen AI Eval SDK を使って以下ができます:


評価の4フェーズ

Design(設計) → Execute(実行) → Score(スコア付け) → Refine(改善)

 


評価の3種類(いつ使うか)


使える評価指標

指標は定義済みカスタムLLMカスタムコードの3種類があります。

定義済み指標(単一ターン):

定義済み指標(マルチターン):


従来の評価手法との比較

実際の使用方法

Agent Evaluation は Colab Enterprise 上の Gen AI Eval SDK を使って実行します。コンソールの 評価 タブから「新しい評価」を押すと Colab Enterprise のノートブックが開き、そこからコードを実行する流れです。

事前準備

パッケージのインストール

Colab Enterprise のノートブックで以下を実行します:

こちらはNew evaluationすることで、GCP側は自動で生成してくれます。

エージェントへの質問内容なんかは評価したいエージェントに適した質問をするようにリファクタリングすることをおすすめします。

%pip install --upgrade --force-reinstall -q google-cloud-aiplatform[evaluation]

接続設定

import vertexai
from google.cloud import storage
from google.genai import types as genai_types
from vertexai import Client

PROJECT_ID = '<プロジェクトID>' LOCATION = 'us-central1' GCS_DEST = '<GCSバケット名>' AGENT = 'projects/<プロジェクト番号>/locations/us-central1/reasoningEngines/<ID>'
vertexai.init(project=PROJECT_ID, location=LOCATION) client = Client( project=PROJECT_ID, location=LOCATION, http_options=genai_types.HttpOptions(api_version="v1beta1"), )

Step 1:評価データセットの定義

評価に必要な情報を2つ定義します。

エージェント情報(agent_info)

評価SDKに「このエージェントはどんな構造か」を伝えるメタ情報です。

from vertexai import types

# エージェントが持つツールの定義 google_search_tool = genai_types.FunctionDeclaration( name="search_agent", description="Google検索で最新情報を調べる", parameters={ "properties": {"query": {"type": "string"}}, "required": ["query"], "type": "object", }, )
# エージェント情報 agent_info = types.evals.AgentInfo( agents={ "my_agent": types.evals.AgentConfig( agent_id="my_agent", instruction="""あなたはユーザーに寄り添うパーソナル業務アシスタントです。
過去のやり取りから得たユーザーの情報(名前・役職・好み・プロジェクトの状況など)を
積極的に活用して、パーソナライズされた応答をしてください。
回答は日本語で、ユーザーの好みに合わせて丁寧に行ってください。"""
, tools=[genai_types.Tool(function_declarations=[google_search_tool])], ) }, root_agent_id="my_agent", )

テストプロンプト(agent_dataset)

エージェントに投げるテスト質問のリストです。

import pandas as pd

session_inputs = types.evals.SessionInput(user_id="terasaka", state={})
agent_prompts = [ "こんにちは!私はシステムサポートの寺坂といいます。AI活用推進を担当しています。回答は箇条書きで簡潔にまとめてもらえると助かります。", "現在、社内向けの生成AIガイドラインを策定するプロジェクトを進めています。進め方についてアドバイスをください。", "Google ADKの最新バージョンの主な特徴を調べてください。", "私の名前と担当業務、そして今進めているプロジェクトを教えてください。", "生成AIガイドラインに含めるべき重要な項目を5つ挙げてください。", ]
agent_dataset = pd.DataFrame({ "prompt": agent_prompts, "session_inputs": [session_inputs] * len(agent_prompts), })

Step 2:推論実行

デプロイ済みエージェントに各プロンプトを投げ、応答とトレースを収集します。

agent_dataset_with_inference = client.evals.run_inference(
    agent=AGENT,
    src=agent_dataset,
)
agent_dataset_with_inference.show()

実行すると進捗バーが表示されます:

Agent Run: 100%|██████████| 5/5 [00:24<00:00, 4.94s/it]

Step 3:評価実行

収集したトレースをもとに AutoRater がスコアリングします。結果は GCS とコンソールに保存されます。

import time

evaluation_run = client.evals.create_evaluation_run( dataset=agent_dataset_with_inference, agent=AGENT, agent_info=agent_info, metrics=[ types.RubricMetric.FINAL_RESPONSE_QUALITY, types.RubricMetric.TOOL_USE_QUALITY, types.RubricMetric.HALLUCINATION, types.RubricMetric.SAFETY, ], dest=GCS_DEST, )
# 完了まで待機 while evaluation_run.state not in {"SUCCEEDED", "FAILED", "CANCELLED"}: evaluation_run.show() evaluation_run = client.evals.get_evaluation_run(name=evaluation_run.name) time.sleep(5)
evaluation_run = client.evals.get_evaluation_run( name=evaluation_run.name, include_evaluation_items=True ) evaluation_run.show()

ステータスは 「PENDING → INFERENCE → RUNNING → SUCCEEDED」 の順で遷移します。

動作確認

今回の検証で確認できたことをそのまま記録します。

✅ 推論は正常完了

5件のプロンプト全てに対してエージェントが応答し、トレースが収集されました。

✅ ツール呼び出しのトレースが取得できた

トレースデータから、エージェントが適切なタイミングでsearch_agentを呼び出していることが確認できました。

Case「Google ADKの最新バージョンの主な特徴を調べてください」

[my_agent] 「承知いたしました。Google ADKの最新バージョンの主な特徴についてお調べいたしますね。」
[my_agent] ツール呼び出し: search_agent(args: 'Google ADK 最新バージョン 主な特徴')
[my_agent] ツール応答: 「Google ADK(Agent Development Kit)は、AIエージェントの構築、
管理、評価、デプロイを効率的に行うためのオープンソースフレームワークです...」

Case「生成AIガイドラインに含めるべき重要な項目を5つ挙げてください」

[my_agent] 「生成AIガイドラインですね。重要な項目を5つ、検索して調べてみますね。」
[my_agent] ツール呼び出し: search_agent(args: '生成AIガイドライン 重要な項目')
[my_agent] ツール応答: 「生成AIガイドラインにおける重要な項目は多岐にわたりますが、
主に以下の点が挙げられます...」

この結果から、エージェントは日本語で正しく動作し、必要な場面でツールを自律的に呼び出せていることが確認できます。

⚠️ スコアメトリクスは取得できなかった

今回の検証では、FINAL_RESPONSE_QUALITYなどの数値スコアは取得できませんでした。

原因として、Gen AI Eval SDK がまだ**実験的段階(Experimental)**にあり、ADKで構築したエージェントとの完全な互換性が確立されていない可能性があります。実際にノートブック実行中に以下の警告が出ていました:

ExperimentalWarning: The Vertex SDK GenAI evals.run_inference module is experimental
ExperimentalWarning: The Vertex SDK GenAI evals.create_evaluation_run module is experimental

Agent Evaluation はプレビュー機能であり、今後のアップデートで対応範囲が広がることが期待されます。

以下実行結果画面の一部抜粋です。


評価結果の分析(機能説明)

スコアが取得できた場合、ダッシュボードの [Evaluation] セクションで以下の情報を確認できます。

確認できること:

  • Summary metrics — 全指標の平均スコアと標準偏差
  • Agent info — 評価に使ったエージェントの構成(インストラクション・ツール定義)
  • Detailed results — ケースごとの応答・スコア・説明文・トレース詳細

Agent Evaluation は失敗ケースを自動的に意味的クラスタに分類する機能も持ちます。何件かの失敗が同じ原因かどうかを一目で把握でき、改善の優先度をつけやすくなります。

失敗クラスター分析(例)
================================
クラスター1(3件):
→ ツールを呼ばず直接回答してしまった
→ 共通パターン: ユーザーが簡単な質問をした場合

クラスター2(1件):
→ 意図しない話題に脱線した

品質アラートの設定

本番運用時に備えて、スコアが閾値を下回ったときに通知を受け取る設定ができます。

コンソールからの設定手順:

  1. [Evaluation] → [Online monitors] タブを開く
  2. 対象モニターの [Create alerting policy] を選択
  3. 通知チャネルを設定:

  1. [Create policy] で完了

設定後は、エージェントの品質が低下した瞬間に通知が届き、問題の起点となったトレースへのリンクも付いてきます。


Optimizeでプロンプトを自動改善

評価結果を受けて、adk optimize コマンドでプロンプトを自動改善できます。GEPA(Gemini-based Evaluation and Prompt Automation)アルゴリズムが評価スイートに対してシステムプロンプトを繰り返し改善します。

# Optimize の実行
uv run adk optimize my_agent

実行すると以下のサイクルが自動で走ります:

現在のプロンプトで評価 → 失敗パターンを分析

改善案を生成 → 評価を再実行 → スコアを比較

改善されていれば採用 → 再度繰り返す

数値で改善の根拠を示せるため、チームや上長への説明コストも下がります。

まとめ

本記事では、Google Agent Platform の Agent Evaluation 機能を使って、前回作成したMemory Bankエージェントを評価する方法を解説しました。

今回のポイント

  • Agent Evaluation は Colab Enterprise 上の Gen AI Eval SDK で実行する(2025年5月時点)
  • 推論実行(run_inference)→ 評価実行(create_evaluation_run) の2ステップが基本の流れ
  • 定義済みの7種の指標(単一ターン4種+マルチターン3種)があり、目的に応じて組み合わせられる
  • スコアリングの前段階として、トレースデータ(ツール呼び出し履歴) は確実に取得できる
  • 現時点ではプレビュー機能のため、エージェント構成によってはスコア取得に互換性の問題が生じる場合がある
  • adk optimize がプロンプト改善のサイクルを自動化し、スコアで効果を確認できる(スコア取得が前提)

開発フローへの組み込み方

Quality Flywheel(継続的改善サイクル)

Agent Evaluationが目指しているのは、評価→分析→改善の継続的なサイクルです。

評価(Score) → 分析(失敗クラスタリング) → 改善(Optimize)
↑ ↓
└──────────────── 再評価 ─────────────────────┘

このサイクルを回し続けることで、「何となく動く」から**「自信を持って動く」**エージェントへと育てていけます。

システムサポートでは、Google Cloudの導入や活用を支援しております。

Google Cloudを導入したい・導入したけど使いこなせていない…という方は、お気軽にご相談ください!


Google Cloud 導入・活動支援に関するご相談はこちら

2026年6月16日 【Agent Platform】「何となく動く」→「自信を持って動く」。自作エージェントを定量的に評価するには

Category Google Cloud

ご意見・ご相談・料金のお見積もりなど、
お気軽にお問い合わせください。

お問い合わせはこちら