AWS Amarathon 2025 振り返り

クラウドコスト分析をよりスマートに: StrandsとAgentCoreによるFinOpsインテリジェントエージェントの構築

振り返りシリーズ

セッションノート

2025年は「AIエージェント元年」と呼ばれており、その年まであとわずか二か月である。

  • ユーザーはすでに独自のAIエージェントを開発している。
  • プログラミングエージェントはAIエージェントの一種である。
  • AIエージェントとは、AIを活用したさまざまな「賢そうなアプリケーション」である。
  • 例として、議事録作成エージェント、面接準備エージェント、プログラミングエージェントがある。LLM時代の「AIエージェント」の特徴:
  • ロールプロファイリング: 役割や人格を定義し、パーソナライズされた振る舞いと応答を実現できる。
  • 計画と振り返り: 目標を達成するため、エージェントは計画を策定し、実行結果に基づいて調整できる。
  • 長期記憶: 人間のように、長期的なやり取りの情報や経験を保持できる。
  • ツール実行: テキストを生成するだけでなく、さまざまな外部ツールやAPIを呼び出して操作を実行できる。
  • AIエージェントは、コスト分析エージェントなど、実際の問題解決に役立つ。
  • Amazon Web Servicesを使用してコスト分析エージェントを開発する方法。AIエージェントの構築方法:
  • Bedrock Agents
  • AgentCore: 独自開発したエージェントをサーバーレス方式でデプロイし、認証、ツール、オブザーバビリティなどの機能を提供する。
  • Strands Agents: 最短3行の非常に簡潔なコードだけでAIエージェントを実装できるPython向けフレームワーク。
  • Strands AgentsでFinOpsエージェントを構築する。オープンソースのAIエージェントフレームワーク—Strands Agents
  • わずか3行のPythonコードでAIエージェントを作成
  • 利点: シンプル、軽量、優れた開発体験
  • Amazon Q Developerなど、Amazon Web Servicesに適用
  • Strandsの中核概念: 「モデル」と「ツール」の組み合わせ
  • LLMの能力向上により、AIエージェントの構築ではモデルとツールを指定するだけでよい
  • エージェントの作成: LLMとシステムプロンプトを設定し、プロンプトを与えて呼び出す
  • エージェントにツール機能を持たせる: Strandsは、計算やファイル操作などの組み込みツールを提供する
  • Python関数に@toolを追加して独自のツールを作成できる
  • MCPサーバーが提供するツールを取得でき、ローカルとリモートのMCPサーバーに対応
  • 複数のエージェントを構築: Agent as Tools、Swarm、Graphs、Workflows
  • Agent as Toolsの例: 上司・部下モデル。上司エージェントがサブタスクを割り当て、サブエージェントを呼び出して実行させ、結果を要約する
  • MCPに続く注目のトレンド: A2A(Agent to Agent)のサポート
  • StrandsにおけるA2Aの構築例: Tool Useを使用してリモートエージェントを呼び出せる専用クラスがある
  • エージェントのデプロイ: Bedrock AgentCoreを通じて迅速にデプロイ

AIエージェントのデプロイにおける問題:

  • 複雑なデプロイプロセス
  • 認証と認可の問題
  • 保守とモニタリングの課題
  • 実行コストの問題
  • ストリーミング出力に対応しているか Bedrock AgentCoreとは?
  • AIエージェント専用の「便利なコンポーネントセット」である
  • Runtime(サーバーレスインフラストラクチャ)、Memory(メモリ管理)、Gateway(ツール統合)、Identity(認証/認可)、Observability(保守とモニタリング)などの機能を含む
  • 任意のエージェントフレームワークと組み合わせ、必要に応じて機能を選択でき、APIを通じて容易に統合できる システム全体の中核はRuntime
  • AIエージェントの開発にどのフレームワークを使用しても、サーバーレス環境へ容易にデプロイできる
  • AIエージェント専用に用意された、コンテナ化Lambdaのようなもの
  • 専用のCLIツールキットを利用して、デプロイ操作を容易に完了できる
  • バックエンド部分が完成したら、次にフロントエンドの実装計画を検討する フロントエンドページで選択できるテクノロジー:
  • 初心者に優しい
  • 本番レベルの開発スイート
  • Pythonで美しいインターフェースを簡単に作成できる
  • Next.jsやReactなどのコードリポジトリを関連付けるだけで、自動デプロイを実現できる
  • JavaScriptに習熟していないバックエンドエンジニアに適した選択肢
  • Gen2バージョンでは、大幅な進化とパフォーマンス向上を実現している。

要点

  • クラウドコスト分析は企業と個人の双方にとって極めて重要である。AIエージェント元年には、Amazon Web Servicesのテクノロジースタックを使用して、クラウドコストの分析を支援するAIエージェントを迅速に構築できる。
  • Strands Agentsは、マルチエージェントシステムを柔軟に構築するためのフレームワークであり、わずか3行のPythonコードでAIエージェントをセットアップできる。極めてシンプルで、高い拡張性を備えている。
  • Strands AgentsはMCPおよびA2Aプロトコルをサポートし、エージェント間の連携とツール共有を可能にする。
  • Strands AgentsはBedrock AgentCoreとシームレスに統合し、本番レベルのデプロイを実現できる。
  • AgentCoreを使用すると、デプロイと保守のプロセスを簡素化できる。Runtimeコンポーネントは、自動スケーリングを備えたサーバーレスランタイム環境を提供する。
  • Memory、Identity、Gateway、Observabilityなどのコンポーネントは、メモリ、認証、ツール統合、モニタリングの統合機能を提供する。
  • CLIによる自動パッケージングとデプロイにより、本番環境へ迅速に移行できる。

Amazon Bedrock AgentCoreのアーキテクチャ

コアサービス

  • AgentCore Runtime: AIエージェントまたはツールのコードをホストする、安全なサーバーレス実行環境。セキュリティのためにセッションを完全に分離し、最長8時間の長時間非同期タスクをサポートする。
  • Framework: 一般的なオープンソースのエージェントフレームワーク(LangGraph、CrewAIなど)と、あらゆる基盤モデルをサポートする。
  • Agent Instructions: エージェントの振る舞いと機能を定義する。
  • Agent Local Tools: タスクを実行するための、特定のエージェントにローカルなツール。
  • Agent Context: 会話内の一時的なセッション固有の状態を管理する。
  • AgentCore Gateway: エージェントがツールやリソースを検出して接続するための安全な方法を提供する。既存のAPI(Lambda関数やOpenAPI仕様など)をエージェント対応ツールへ変換し、カスタム統合作業を最小限に抑えられる。
  • AgentCore Memory: 短期記憶と長期記憶の両方を管理し、エージェントがコンテキストを認識した会話を行えるようにする。会話のコンテキストを保存し、セッションをまたいだユーザー設定などの永続的な知識を抽出する。
  • AgentCore Identity: エージェント向けに、安全でスケーラブルなIDおよびアクセス管理を提供する。認証と認可を処理し、エージェントがユーザーに代わってAWSリソースやサードパーティサービスへ安全にアクセスできるようにする。
  • CloudWatch GenAI Observability(AgentCore Observability): 本番環境におけるエージェントのパフォーマンスについて、包括的なモニタリング、トレース、デバッグ機能を提供する。Amazon CloudWatchとOpenTelemetry互換のテレメトリを活用し、エージェントのワークフローに関する詳細な運用インサイトを提供する。組み込みツール
  • AgentCore Code Interpreter: データ分析や計算などの複雑なタスクのため、分離されたサンドボックス環境でエージェントがコードを安全に記述、実行できるようにする。
  • AgentCore Browser: エージェントが大規模にWebサイトを操作して情報を抽出できる、高速で安全なクラウドベースのブラウザランタイムを提供する。外部とのやり取り
  • App & Models: エージェントシステムは、ユーザーアプリケーション、およびAmazon Bedrockやその他のプロバイダーが提供するさまざまな基盤モデル(FM)と連携してタスクを実行する。

Amazon Bedrock AgentCoreスターターツールキット

  • Code: プロセスはAIエージェントのソースコードから始まる。
  • Build: ツールキット内の「agentcore launch」コマンドがAWS CodeBuildプロジェクトを自動的に起動する。
  • Container: CodeBuildがエージェントコードをコンテナイメージにコンパイルし、環境(ARM64アーキテクチャなど)に合わせて最適化する。
  • ECR(Elastic Container Registry): 構築されたコンテナイメージがAmazon ECRリポジトリへ「プッシュ」され、そこがイメージの永続ストレージとして機能する。
  • AgentCore Runtime: 続いてイメージが、AIエージェントの実行環境である安全なサーバーレスのAmazon Bedrock AgentCore Runtimeへデプロイされる。
  • X-Ray: システムはオブザーバビリティのためにAWS X-Rayと統合され、本番環境でのエージェントのパフォーマンスに関するトレースとデバッグ機能を提供する。
  • Automation: 下部のテキストは、agentcore-starter-toolkitがこれらの設定とデプロイの手順を自動的に処理することを示している。