- 公開日
- 最終更新日
【Bedrock Agentcore】Observabilityを確認してみる
この記事を共有する
目次
はじめに
皆さんこんにちは!パーソル&サーバーワークスの小泉です。
前回の記事【Strands Agents】ブログレビューエージェントを作った際の学びではStrands AgentをLambdaにデプロイし、ログをAmazon CloudWatch Logs(以下、CloudWatch Logs)から確認していました。
そこで今回は、Amazon Bedrock AgentCore(以下、AgentCore)のObservabilityを使用すると、どのようにログの見え方が変わるのかということを記載します。
Bedrock AgentCore Observabilityとは
AgentCore Observabilityは、AI Agentのパフォーマンスの追跡、デバッグ、監視を支援するサービスです。
AgentCoreにおけるエージェントリソースの可観測性を理解するためには以下の用語を押さえる必要があります。
セッション
セッションは会話ややり取り全体をまとめる最上位レベルになります。
- 同じ会話内の複数のやり取りにおけるコンテキスト持続
- ユーザー固有の情報を維持するための状態管理
- 文脈理解のための会話履歴追跡
- 相互作用期間中のリソース配分と管理
- 同じエージェントとの異なるユーザー相互作用間の分離
トレース
トレースは、エージェント呼び出しから始まる単一のリクエスト-レスポンスサイクルの詳細な記録を表し、他のエージェントへの追加呼び出しを含む場合があります。
- タイムスタンプ、入力パラメータ、コンテキストなどのリクエスト詳細
- 処理ステップで実行された操作の順序を示す
- 入出力パラメータと実行時間を含むツール呼び出し
- 処理時間などのリソース利用指標
- 例外の詳細や復旧試行を含むエラー情報
- 応答生成の詳細と最終出力
スパン
スパンは、エージェントの実行における離散的で測定可能な作業単位を表します。
- 作業の正確な開始と終了時刻を示すタイムスタンプ
- 成功、失敗、またはその他の完了を示すステータス情報
CloudWatch Logsからログを確認した場合
ではまずはCloudWatch Logsを確認していきます。 見慣れている方も多いと思いますが、ログはこのように表示されます。

コードを改修する際に、CloudWatch Logsから対象のログを探してエラーの内容を探していました。
Bedrock AgentCore Observabilityからログを確認した場合
では次にBedrock AgentCoreにStrands Agentをデプロイした場合、どのようにログを確認するのか見ていきます。
このようにセッションからエラーがあった時のセッションがすぐにわかるので、どの実行の際にエラーが起きたのかがすぐにわかります。

またこのように、ツリー形式でどのようなイベントが発生しているかわかりやすくなっています。

実際にエラーがあった箇所を詳しく見てみると、どのようなエラーが起きているかわかります。
今回はRecognition へのアクセス拒否がされていることがわかります。

まとめ
Bedrock AgentCore Observabilityを使うことで、ログの確認が格段に楽になりました。 今後Strands Agentのデプロイ先は積極的にBedrock AgentCoreを採用したいと思います。
この記事は私が書きました
小泉 和貴
記事一覧全国を旅行することを目標に、仕事を頑張っています。