View a markdown version of this page

オンライン評価を作成する - Amazon Bedrock AgentCore

オンライン評価を作成する

CreateOnlineEvaluationConfig API は、ライブトラフィックを使用してエージェントのパフォーマンスを継続的にモニタリングする新しいオンライン評価設定を作成します。この非同期オペレーションは、通常のオペレーション中に生成されるエージェントトレースを評価するようにサービスを設定します。

オンライン評価を作成するときは、一意の設定名、モニタリングするデータソース (CloudWatch ロググループまたはエージェントエンドポイントのリスト)、適用する評価者のリスト (最大 10、組み込み評価者とカスタム評価者の組み合わせ) を指定します。また、実行用の IAM サービスロール ARN も指定します。enableOnCreate パラメータは必須であり、作成直後に評価の実行を開始するか ( executionStatus = true)、明示的に有効になるまで無効のままにするか ( executionStatus = false) を決定します。

実行ステータスコントロール

executionStatus パラメータは、評価ジョブがトレースをアクティブに処理するかどうかを決定します。

  • ENABLED – 評価ジョブは継続的に実行され、受信トレースを処理し、評価結果を生成します。

  • DISABLED – 評価設定は存在しますが、ジョブは一時停止しています。トレースは処理または評価されません。

CLI を使用して実行ステータスを制御できます。

# Pause a running online evaluation agentcore pause online-eval "your_config_name" # Resume a paused online evaluation agentcore resume online-eval "your_config_name"

評価者の保護

executionStatusに設定して評価設定を作成するとENABLED、システムは選択したカスタム評価者を自動的にロックします。ロック後:

  • 変更不可 – 評価者の設定、プロンプト、または設定を更新することはできません。変更を加える必要がある場合は、新しい評価者のクローンを作成します。

  • 削除不可 – 評価ジョブが評価者を使用している間 (実行中)、評価者を削除することはできません。

AgentCore CLI、AgentCore SDK、および AWS SDK のコードサンプル

次のコードサンプルは、さまざまな開発アプローチを使用してオンライン評価設定を作成する方法を示しています。開発環境と設定に最適な方法を選択します。

AgentCore CLI
  1. # Create online evaluation configuration agentcore add online-eval \ --name "your_config_name" \ --runtime "your_runtime_name" \ --evaluator "Builtin.GoalSuccessRate" "Builtin.Helpfulness" \ --sampling-rate 1.0 \ --enable-on-create

    このコマンドは、オンライン評価設定をローカル agentcore.json に追加します。agentcore deploy を実行して、 AWS アカウントに作成します。

    注記

    AgentCoreプロジェクトディレクトリ内 ( で作成) agentcore create からこれを実行します。

Interactive
  1. オンライン評価設定の名前を入力します。

    オンライン評価設定名の入力
  2. 含める評価者を選択します。組み込み評価者と作成したカスタム評価者から選択できます。

    評価者の複数選択リスト
  3. サンプリングレート - 評価されるエージェントリクエストの割合を設定します。

    サンプリングレート入力
  4. デプロイ後に評価を自動的に有効にするかどうかを選択します。

    デプロイの選択時に を有効にする
  5. 設定を確認し、Enter キーを押して確認します。

    オンライン評価設定を確認する
AgentCore SDK
  1. from bedrock_agentcore_starter_toolkit import Evaluation # Initialize the evaluation client eval_client = Evaluation() # Replace these with your actual values config_name = "YOUR_CONFIG_NAME" agent_id = "YOUR_AGENT_ID" # e.g., agent_myagent-ABC123xyz # Create online evaluation configuration config = eval_client.create_online_config( config_name=config_name, # Must use underscores, not hyphens agent_id=agent_id, # Agent ID (e.g., agent_myagent-ABC123xyz) sampling_rate=1.0, # Percentage to evaluate (0-100). 1.0 = evaluate 1% of interactions evaluator_list=["Builtin.GoalSuccessRate", "Builtin.Helpfulness"], # List of evaluator IDs config_description="Online Evaluation Config", # Optional description auto_create_execution_role=True, # Automatically creates IAM role (default: True) enable_on_create=True # Enable immediately after creation (default: True) ) print("✅ Online evaluation configuration created!") print(f"Config ID: {config['onlineEvaluationConfigId']}") print(f"Status: {config['status']}") # Save the config ID for later operations config_id = config['onlineEvaluationConfigId'] print(f"\nSaved config_id: {config_id}")
AWS SDK
  1. import boto3 # Your input log group that contains agent traces LOG_GROUP_NAME = "/aws/agentcore/test-agent-traces" # The service.name attribute from Otel SERVICE_NAME = "strands_healthcare_single_agent.DEFAULT" # The role created earlier with the required permissions for eval role_arn = f"arn:aws:iam::{ACCOUNT_ID}:role/AgentCoreEvaluationRole" client = boto3.client('bedrock-agentcore-control') create_config_response = client.create_online_evaluation_config( onlineEvaluationConfigName="strands_healthcare_agent_1", description="Continuous evaluation of a healthcare agent", rule={ "samplingConfig": {"samplingPercentage": 80.0} }, dataSourceConfig={ "cloudWatchLogs": { "logGroupNames": [LOG_GROUP_NAME], "serviceNames": [SERVICE_NAME] } }, evaluators=[{"evaluatorId":"Builtin.Helpfulness"}], evaluationExecutionRoleArn=role_arn, enableOnCreate=True )
AWS CLI
  1. aws bedrock-agentcore-control create-online-evaluation-config \ --online-evaluation-config-name "strands_healthcare_agent_1" \ --description "Continuous evaluation of a healthcare agent" \ --rule '{"samplingConfig": {"samplingPercentage": 80.0}}' \ --data-source-config '{"cloudWatchLogs": {"logGroupNames": ["/aws/agentcore/test-agent-traces"], "serviceNames": ["strands_healthcare_single_agent.DEFAULT"]}}' \ --evaluators '[{"evaluatorId": "Builtin.Helpfulness"}]' \ --evaluation-execution-role-arn "arn:aws:iam::{YOUR_ACCOUNT_ID}:role/AgentCoreEvaluationRole" \ --enable-on-create

コンソール

Amazon Bedrock AgentCore コンソールのビジュアルインターフェイスを使用して、オンライン評価設定を作成できます。このメソッドは、評価設定の構成に役立つガイド付きフォームと検証を提供します。

AgentCore オンライン評価を作成するには

  1. Amazon Bedrock AgentCore コンソールを開きます。

  2. 左側のナビゲーションペインで、評価 を選択します。

  3. 評価設定の作成 を選択します。

    1. (オプション) 評価名 に、オンライン評価設定の名前を入力します。

    2. (オプション) 作成後に評価設定を有効にするには、評価名の下にあるチェックボックスをオンにします。

    3. (オプション) 評価設定の説明 に、AgentCore 評価設定の説明を入力します。

    4. (オプション) セッションアイドルタイムアウト には、1~60 分の時間を入力します。デフォルトは 15 分です。

  4. データソース で、次のいずれかを選択します。

    1. エージェントエンドポイントで を定義する – AgentCore ランタイムで以前に作成したエージェントを選択するか、エージェント を選択して新しいエージェントを作成します。次に、エージェントからエンドポイントを選択します。

    2. CloudWatch ロググループの選択 – 最大 5 つのロググループを選択します。オブザーバビリティのためにエージェントが使用するサービス名を入力します。AgentCore ランタイムでホストされているエージェントの場合、サービス名は <agent-runtime-name>.<agent-runtime-endpoint-name> の形式に従います。AgentCore ランタイムの外部で実行されているエージェントの場合、サービス名は OTEL_RESOURCE_ATTRIBUTES 環境変数で設定されます。

  5. 評価者 では、組み込み評価者とカスタム評価者を含め、評価設定ごとに最大 10 人の評価者を選択します。

  6. (オプション) フィルター では、評価するセッションを識別するために最大 5 つのフィルターを追加します。

  7. (オプション) サンプリング では、0.01%~100% のパーセンテージを選択して、評価されるセッションの割合を制御します。デフォルトは 10% です。

  8. Amazon Bedrock IAM ロール では、次のいずれかを選択します。

    1. 既存のロールを使用する – 必要なアクセス許可が既にある IAM サービスロールを選択します。

    2. 新しいロールの作成 – 新しい IAM サービスロールを作成します。

  9. エージェントAgentCoreのオンライン評価設定を作成するには、評価設定の作成を選択します。