【ITニュース解説】Amazon Bedrock AgentCore Runtime - Part 3 AgentCore Observability
2025年09月04日に「Dev.to」が公開したITニュース「Amazon Bedrock AgentCore Runtime - Part 3 AgentCore Observability」について初心者にもわかりやすいように丁寧に解説しています。
ITニュース概要
Amazon Bedrock AgentCoreの監視機能は、AIエージェントの動作を追跡・デバッグし、パフォーマンスを把握する。CloudWatchでリアルタイムなメトリクスやログを確認でき、エージェントの実行パスやエラー箇所を視覚化して問題解決に役立つ。OpenTelemetry対応で既存の監視システムとも連携可能だ。
ITニュース解説
Amazon Bedrock AgentCoreは、私たちが作ったAIエージェント(人工知能を搭載した対話型アシスタントのようなもの)が、実際にどのように動いているか、どこで問題が発生しているか、どれくらいの性能を出しているかなどを詳しく把握するための「可観測性(Observability)」という強力な機能を提供している。これは、エージェントを開発し、本番環境でユーザーに利用してもらう際に、そのエージェントの性能を継続的に監視し、何か問題が起きたときにその原因を迅速に特定し、解決するための非常に重要な仕組みだ。
可観測性機能は、エージェントのワークフロー(処理の流れ)の各ステップを詳細に可視化する。これにより、エージェントがどのような経路で処理を進めているのかを検査したり、途中で生成される中間的な出力内容を確認したり、性能上のボトルネックや障害が発生した際にどこが原因であるかをデバッグしたりすることが可能になる。
この機能は、Amazon CloudWatchというAWSの監視サービスと連携することで、エージェントの稼働状況をリアルタイムで確認できるダッシュボードを提供する。ここでは、エージェントが処理したセッションの数、リクエストに対する応答時間(レイテンシー)、処理にかかった合計時間、AIモデルが使用したトークン数(テキストの量)、そして発生したエラーの割合など、エージェントの「健康状態」を示す主要なメトリクス(数値データ)が利用できる。AgentCoreは、これらの監視データをOpenTelemetry(OTEL)という標準的な形式で出力するため、すでに運用している監視システムがある場合でも、容易に統合してデータを活用できる。デフォルトでエージェント自体、そのゲートウェイ(外部との窓口)、メモリリソースに関する基本的なメトリクスが収集されるが、必要に応じてエージェントのコードに追跡データやカスタムのメトリクス、ログを追加することも可能だ。
特に、AIモデルの利用状況に関する監視も充実している。CloudWatchのGenAI Observabilityという専用セクションに移動すると、「モデル呼び出しメトリクス」というパネルから、AIモデルが何回呼び出されたか、呼び出しにかかった時間、呼び出しが制限された回数(スロットル)、エラーが発生した回数、そして入力・出力・合計でどれくらいのトークンが使われたか、といった非常に有用なデータを確認できる。
さらに、「モデル呼び出しロギング」という機能を使えば、AIモデルとのやり取りの詳細な記録を残すことができる。この機能を有効にすると、モデルへの入力内容、エージェントが使用したツールとその結果、そしてモデルからの最終的な出力内容などがログとして記録される。これにより、エージェントがユーザーの質問にどのように応答したのか、なぜ特定の結果になったのか、といった詳細なプロセスを後から確認し、問題解決やエージェントの改善に役立てることが可能になる。ログはCloudWatch Logsに保存され、特定のログエントリーをクリックするだけで、その時のやり取りの具体的なデータを確認できる。
エージェントの処理が複数のサービスをまたがって行われる場合、その一連の流れを追跡することはデバッグに不可欠だ。そのために「CloudWatch Transaction Search」を有効にする。これにより、エージェントの処理の「足跡」をX-RayというAWSのサービスが追跡し、トランザクション(一連の処理)の詳細な流れを可視化できるようになる。OpenTelemetryは、このような分散環境での処理の追跡データを収集するためのオープンソースの標準的なフレームワークだ。AWSでは、このOpenTelemetryをAWS環境で使いやすくした「AWS Distro for OpenTelemetry (ADOT)」を提供している。エージェントを構築する際に利用されるスターターキットでは、このADOT SDKが自動的にエージェントのコードに組み込まれるように設定されていることが多く、特別な設定なしに分散トレーシングの恩恵を受けられるようになっている。
これらのデータは、CloudWatchのGenAI Observabilityの「Bedrock AgentCore」パネルで、さらに視覚的に分かりやすく表示される。 「Agents View」では、エージェント全体のセッション数、発生したエラーやスロットル率といった基本的な稼働状況の概要を確認できる。 「Sessions View」では、ユーザーとの個々の対話(セッション)の一覧が表示され、それぞれのセッションの概要を把握できる。 特定のセッションをクリックすると、そのセッションで実行された処理の「Traces View」が表示される。これは、そのセッション内で行われた処理の流れを詳細に追跡したもので、処理の各段階を「スパン」と呼ぶ。例えば、エージェントが外部のエンドポイントを呼び出し、認証トークンを取得し、ゲートウェイを経由してAIモデルが特定のツールを呼び出す、といった一連の複雑な処理が、それぞれのスパンとして表示される。各スパンをクリックすると、その処理でやり取りされたデータの内容を確認でき、また、スパンの右側にはその処理にかかった時間がミリ秒単位で表示される。
さらに、これらのスパンが時間軸上でどのように進行したかを示す「Timeline View」や、エージェントの処理フローをグラフで視覚的に理解できる「Trajectory View」も提供される。このTrajectory Viewは、特にエラーが発生した際に非常に有用だ。もし処理の途中でエラーが発生すれば、そのエラーが起きたスパンが赤色で表示されるため、問題がどこで発生したのかを一目で特定できる。
これらのAgentCoreの可観測性機能は、エージェントの開発者や運用者にとって、エージェントの動作を深く理解し、問題発生時に迅速に原因を特定して解決し、継続的にエージェントの性能を向上させるために不可欠なツールだ。システムエンジニアを目指す上では、このような監視・デバッグツールを効果的に使いこなすスキルは、安定したシステムを構築し運用するために非常に重要となる。