AI News HubLIVE
站内改写

AgentWatch: アンビエントエージェントによるプロアクティブなAWSモニタリング

この記事では、AgentWatchの機能を実践的な実装を通じて紹介します。このソリューションは15分ごとにインフラストラクチャチェックを実行し、複数のAWSアカウントにわたるCloudWatchメトリクス、ログ、アラームを要約します。エージェントはSlackに直接アクション可能なレポートを配信し、インフラストラクチャの状態に関する自然言語クエリに応答します。また、自動化を最大化しながら適切な人間の監督を維持する3つのヒューマン・イン・ザ・ループパターンについても探求します。

記事インテリジェンス

エンジニア中級

要点

  • AgentWatchは、AWSリソースをプロアクティブに監視するアンビエントエージェントです。
  • 15分ごとにインフラストラクチャを自動チェックし、Slackに構造化レポートを送信します。
  • 3つのヒューマン・イン・ザ・ループパターン(通知、質問、レビュー)で自動化と人間の監督をバランス。
  • Amazon BedrockとAgentCore Runtime上に構築され、自然言語クエリとクロスアカウントモニタリングをサポート。

重要な理由

このニュースが重要なのは、AgentWatchは、AWSリソースをプロアクティブに監視するアンビエントエージェントですためです。

技術的影響

モデル選定、推論コスト、プロダクト能力、評価基準に影響する可能性があります。

AgentWatchは、DevOpsチーム向けのアンビエントなAWSリソース監視を提供し、複数アカウントにわたるAmazon CloudWatchアラーム管理のリアクティブなサイクルから脱却します。CloudWatchアラームは発動が遅すぎ、AWS Lambdaエラーは気づかれないまま蓄積し、Amazon EC2のパフォーマンス低下は顧客からの報告まで検出されません。これにより、チームは問題を予防するのではなく、常に火災対応に追われることになります。毎日、手動でダッシュボードを確認し、CloudWatchアラームをトリアージし、すでにユーザーに影響を与えた問題を調査しています。メトリクスが流れ込み、数十のサービスにログが蓄積し、アラームが絶えず発報されますが、何が重要か、いつ重要か、そしてどう対処すべきかが本当の課題です。

このリアクティブな監視アプローチは、チームに運用上の課題をもたらします。ツール間のコンテキストスイッチ、断片的なデータソースからのインシデントストーリーのパッチワーク、予防可能だった問題の事後分析に何時間も費やします。何が間違っていたのかを理解する頃には、顧客はすでにパフォーマンス低下や停止を経験しています。オンコールエンジニアはアラート疲れで燃え尽き、チームの生産性は、イノベーションに充てるべき時間を日常的な監視タスクに奪われて低下します。これらの課題は、SLA目標の未達、顧客エスカレーション、そしてチームが予防措置ではなく火災対応に注力する結果としての技術的負債の増大につながります。現在の監視ツールでは、常にクエリ、分析、何に注意を払うべきかの判断が求められます。別のアプローチが必要です。そこで、AgentWatch(アンビエントAWSリソース監視エージェント)が、インフラストラクチャ監視に別のアプローチを提供します。このエージェントはチームと継続的に連携し、インフラストラクチャを観察し、パターンを分析し、人間の介入を必要とせずにインサイトを表面化します。システムを監視し、本当に人間の判断や行動が必要な場合にのみループに引き込みます。

この記事では、AgentWatchの機能を実践的な実装を通じて紹介します。このソリューションが15分ごとにインフラストラクチャチェックを実行し、複数のAWSアカウントにわたるCloudWatchメトリクス、ログ、アラームを要約する方法をご覧いただけます。エージェントはSlackに直接アクション可能なレポートを配信し、インフラストラクチャの状態に関する自然言語クエリに応答します。また、自動化を最大化しながら適切な人間の監督を維持する3つのヒューマン・イン・ザ・ループパターンについても探求します。

**アンビエントエージェントとは?**

アンビエントエージェントは、イベント駆動型の自律AIシステムへのシフトを表します。これらのエージェントはイベントストリームをリッスンし、動的に応答し、複数のイベントを同時に処理しながら人間の運用負担を軽減します。継続的な監視を人間の介入なしに提供しつつ、重要な決定ポイントでは適切な人間の関与を維持します。

アンビエントエージェントは、イベント駆動型で動的にトリガーされ、複数のタスクを並行して処理できるため、状況が急速に変化し継続的な注意を必要とする監視シナリオに最適です。アンビエントエージェントは特定のシナリオで最適に機能します。ワークフローに導入するには、エージェントが人間とどのように、いつ相互作用するか、またエージェントが実行しエンドユーザーに通知する際に人間がどのような制御を持つかを慎重に検討する必要があります。

**AWSインフラストラクチャへの適用**

AWSインフラストラクチャでは、AgentWatchがリソースを継続的に監視し、トレンドを特定し、手動でダッシュボードをクエリしたりログをふるいにかけたりすることなく、アクション可能なインテリジェンスを提供します。アンビエントエージェントの概念を理解したところで、AgentWatchがこれらの原則をAWSインフラストラクチャ監視にどのように実装するかを見ていきましょう。

**AgentWatchの紹介**

AgentWatchは、Amazon Bedrockの大規模言語モデル上に構築されたアンビエントAWS監視エージェントであり、Amazon Bedrock AgentCore Runtime(AIエージェントを大規模に実行するための安全でサーバーレスなホスティング環境)を使用してデプロイします。AgentCore Runtimeを使用すると、プログラムから呼び出せるHTTPエンドポイントとしてエージェントをデプロイできます。AgentCore Runtimeは認証、スケーリング、インフラストラクチャ管理を自動的に処理するため、運用上の懸念ではなくエージェントの機能に集中できます。

AgentWatchは、自動化と人間の制御のバランスをとるインテリジェントなインフラストラクチャ監視を実装する方法を示します。ハイブリッドアンビエントエージェントを構築しています。一部のタスクは完全に自律的(リソース使用率の監視や情報提供などの低リスク活動)ですが、他のアクション(アラーム原因の分析や修正の実装など)はユーザーの設定と承認が必要です。

組織によっては、コラボレーションに異なるコミュニケーションツールを使用するかもしれません。AI機能が進歩するにつれて、Slackなどのさまざまなコミュニケーションサービスを通じて、自律型ワーカー(エージェント)と異なる働き方をするようになるでしょう。これらのエージェントはタスクをより迅速かつ効率的に完了し、エンドユーザーとのより緊密なフィードバックループを維持します。このソリューションでは、Slackをエンドユーザーインターフェースとして使用し、アンビエントエージェントがメッセージを投稿し、オンデマンドでエージェントと対話できます。

この基盤を踏まえて、AgentWatchが3つのコアパターンを通じて適切な人間の監督をどのように維持するかを見ていきましょう。

**ヒューマン・イン・ザ・ループパターン**

ヒューマン・イン・ザ・ループは、信頼できるアンビエントエージェントを構築するための基本です。アンビエントエージェントは自律的に動作しますが、いつ人間を意思決定プロセスに参加させるべきかを知らなければなりません。AgentWatchは、自律性と適切な人間の監督のバランスをとる3つのコアHITLパターンを実装します。

  • **通知パターン**: 重要なイベントについて通知しますが、アクションは実行しません。エージェントが行動する権限を持たないが、認識すべきイベントをフラグ付けするのに役立ちます。実装: 15分ごと(パラメータ化可能、MonitoringScheduleレートで制御。5、10、30、60分間隔も可能)、AgentWatchはCloudWatchアラーム、重要な問題、AWSサービス全体のリソースヘルスをカバーする監視レポートを生成します。エージェントはこれらのレポートをSlackチャンネルに投稿し、即時のアクションや承認を必要とせずにチームに情報を提供します。15分間隔は、問題のタイムリーな検出と妥当なAPI使用量および通知頻度のバランスを取るために選択されました。これにより、問題を迅速にキャッチしつつ、アラート疲れを回避できます。
  • **質問パターン**: エージェントが次にどう進むか不確かな場合に、あなたに明確化を求めます。これにより、エージェントがあいまいな状況で誤った仮定をしたり不適切なアクションを取ったりするのを防ぎます。実装: AgentWatchが重大なアラームを検出したが、自動修復に進むかオンコールエンジニアにエスカレーションするか不明確な場合、Slackに質問を投稿してガイダンスを求めます。これは、SREが本番システムに重要な変更を加える前に上級管理者に相談する様子を模倣しています。
  • **レビューパターン**: エージェントがアクションを実行する前に、承認、拒否、編集が可能です。人間の判断が必要な機密性の高い操作に特に重要です。実装: AgentWatchがAWSリソースの変更、スケーリングポリシーの調整、アラームしきい値の変更など、潜在的に影響の大きいアクションを実行したい場合、関連するコンテキストと理由とともに提案アクションをSlack経由で提示します。その後、アクションの承認、完全な拒否、または実行前のパラメータ編集が可能です。

これらのHITLパターンはチームに複数のメリットをもたらします。重要な瞬間に適切な人間の監督を確保することで実装リスクを低減します。パターンはエンジニアリングチームに見られる自然な人間のコミュニケーションを模倣しており、直感的に採用できます。時間の経過とともに、エージェントはフィードバックから学習し、意思決定を継続的に改善します。

**アーキテクチャと実装**

AgentWatchは、15分ごとにAWSインフラストラクチャデータを自律的に収集・要約するスケジュール監視システムを実装します。この監視アプローチは、AI駆動エージェントを使用して現在のシステム情報を収集し、Slack通知を通じて構造化されたステータスレポートを提供します。

図1: AgentWatchアーキテクチャ図

AgentWatchの監視サイクルは、Amazon EventBridgeがcronルールを通じて15分ごとにAWS Lambda関数をトリガーすることから始まります。このLambda関数は、OAuth 2.0クライアント資格情報を使用してAmazon Cognitoで認証し、ベアラートークンを取得した後、監視プロンプトでAgentCore Runtimeを呼び出します。AgentCoreは、LangChainエージェント(言語モデルを利用したアプリケーション構築用フレームワークで、ツールを使用し会話コンテキストを維持可能)をインスタンス化します。このエージェントは、7つの専用CloudWatch監視ツールにアクセスでき、ダッシュボード、ロググループ、サービスログ、エラーパターン、アラームステータス、クロスアカウントメトリクスなど、インフラストラクチャデータを体系的に収集し、AWS環境全体の包括的な可視性を提供します。

データ収集が完了すると、LangChainエージェントは集約されたCloudWatchデータをAmazon BedrockのClaude Sonnetモデルに送信し、生の監視情報をコンテキストに関連した人間が読めるインサイトに処理・変換します。インテリジェントな要約はエージェントを通じてAgentCore Runtimeに戻り、Lambda関数に返されます。Lambda関数は分析を、ログ分析とアラームステータスのための整理されたセクションを含む構造化されたSlackブロックにフォーマットします。その後、AgentWatchはWebhookを介してフォーマットされた監視レポートを指定されたSlackチャンネルに配信し、チームにコラボレーションワークスペース内で直接、AWSインフラストラクチャに関する定期的で自動化されたヘルスアップデートを提供します。これらの監視タスクは手動介入なしに発生します。

AgentWatchは、AWSインフラストラクチャ向けの7つの専用監視ツールにアクセスできるLangChainエージェントとして構築されています。エージェントはAmazon Bedrock Claudeモデルを自然言語理解に使用し、CloudWatchダッシュボードの分析、ログの取得、アラームの調査、クロスアカウント監視を実行できます。アーキテクチャは、スケジュール監視とオンデマンド対話機能の両方を備えたハイブリッドアンビエントモデルに従います。LLMの自然言語理解を活用して、AgentWatchは複雑なAWS監視シナリオを分析します。どのツールの組み合わせが監視カバレッジを提供するかを判断し、アクション可能なインサイトを含む人間が読めるレポートを生成します。エージェントは対話全体で会話コンテキストを維持し、フォローアップの質問や監視戦略の段階的な洗練をサポートします。

エージェントはAgentCore Runtimeにデプロイされ、スケーラブルなAIエージェントを実行するための安全でサーバーレスな専用ホスティング環境を提供します。AgentCore Runtimeは複数のエージェントフレームワークとモデルプロバイダーをサポートします。デプロイ後、エージェントはプログラムから呼び出せるHTTPエンドポイントとして利用可能になります。AgentCore Identityは、CognitoをIDプロバイダーとするOAuth 2.0を使用して認証を処理しますが、他のOIDC準拠のIDプロバイダーも使用できます。

デプロイメントインフラストラクチャは、連携して動作する3つの主要コンポーネントで構成されます。まず、Lambda関数がオーケストレーションレイヤーとして機能します。Cognitoで認証してベアラートークンを取得し、適切なプロンプトでAgentCore Runtimeエンドポイントを呼び出し、応答をSlack用にフォーマットします。