翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Strands Agents SDK と AWS Fargate を使用してマルチエージェント会議インテリジェンスプラットフォームをデプロイする
Aishita Batra と Muskan、Amazon Web Services
概要
このパターンは、会議のトランスクリプトから構造化された議事録、エグゼクティブサマリー、オーディオナレーション、フォーマットされた PDF レポートを自動的に生成 AWS Fargate するマルチエージェント会議インテリジェンスプラットフォームを にデプロイします。このソリューションでは、Strands Agents SDK を使用して、4 つの特殊な AI エージェント、言語モデル推論用の Amazon Bedrock、text-to-speech変換用の Amazon Polly をオーケストレーションします。
ユーザーは Streamlit ウェブインターフェイスを介して会議のトランスクリプトをアップロードし、システムは調整されたエージェントパイプラインを介して非同期的に会議トランスクリプトを処理します。インフラストラクチャは AWS AWS Cloud Development Kit (AWS CDK) を使用した GitHub Actions を通じて自動的にデプロイされ、組み込みのモニタリング、自動スケーリング、高可用性が含まれます。
前提条件と制限
前提条件
AWS アカウント 管理者権限を持つアクティブな
AWS CDK バージョン 2.114.1 以降がインストールされている
AWS CLI 適切な AWS Identity and Access Management (IAM) アクセス許可を使用してインストールおよび設定されている
Node.js 18 以降
Python 3.12 以降
インストール済みGit
Docker のインストール (オプション、ローカルテスト用)
リポジトリシークレットが設定された GitHub アカウント:
AWS_ACCESS_KEY_IDおよびAWS_SECRET_ACCESS_KEYリージョンで Anthropic Claude 3 Sonnet モデルにアクセスできる Amazon Bedrock
Amazon Polly アクセスが有効 (ほとんどのリージョンでデフォルトで有効)
Amazon Simple Storage Service (Amazon S3)、Amazon Elastic Container Service (Amazon ECS)、Fargate、Elastic Load Balancing、Amazon Virtual Private Cloud (Amazon VPC) の IAM アクセス許可
Amazon VPC、IAM、Amazon CloudWatch、Amazon Simple Notification Service (Amazon SNS)
制限事項
処理時間は、トランスクリプトの複雑さに応じて、会議ごとに 2~7 分です。
文字起こしの最大長は、リクエストあたり 50,000 文字です。
オーディオ概要は自動的に 3,000 文字に要約されます (Amazon Polly 文字制限)。
Amazon Bedrock Claude 3 Sonnet の可用性は、 によって異なります AWS リージョン。
ジョブのステータスはメモリに保存され、S3-based永続性を設定しない限り、コンテナの再起動間で永続化されません。
直接アップロードは
.txtファイルのみをサポートします。Application Load Balancer は、リクエストの処理に 15 分のタイムアウトを適用します。
一部の AWS サービスは、すべての で利用できるわけではありません AWS リージョン。リージョンの可用性については、AWS 「リージョン別のサービス
」を参照してください。特定のエンドポイントについて確認するには、「サービスエンドポイントとクォータ」ページを参照し、サービスのリンクを選択してください。
アーキテクチャ
ターゲット アーキテクチャ
このソリューションは、次のアーキテクチャの で Strands Agents SDK を使用してマルチエージェント AI システムをデプロイ AWS Fargate します。

ユーザーは、ローカルまたはリモートサーバーでホストされている Streamlit ウェブアプリケーションを介して会議のトランスクリプトをアップロードします。
パブリックサブネットの Application Load Balancer は、2 つのアベイラビリティーゾーンにトラフィックを Fargate サービスに分散します。
Fargate タスクは、NAT Gateway アクセスを持つプライベートサブネットで実行され、FastAPI バックエンドと Strands エージェントオーケストレーションロジックをホストします。
Strands マルチエージェントシステムは、構造化分生成、簡潔なサマリー生成、オーディオナレーション、PDF レポート作成の 4 つのシーケンシャルエージェントを通じてトランスクリプトを処理します。
Amazon Bedrock は、数分の言語モデル推論 (Claude 3 Sonnet) とサマリー生成エージェントを提供します。
Amazon Polly は簡潔な概要を MP3 オーディオナレーションに変換します。
Amazon S3 は、アップロードされたトランスクリプト、生成された出力ファイル、ジョブステータスをライフサイクル管理ポリシーとともに保存します。
Amazon CloudWatch は、一元化されたログ記録、CPU およびメモリアラーム、Amazon SNS 通知によるサービスヘルスモニタリングを提供します。
GitHub Actions は、ヘルス検証テスト AWS CDK で を通じて CI/CD の自動デプロイを提供します。
自動化とスケール
ECS Fargate Auto Scaling – CPU 使用率とメモリ使用率の 70% のしきい値に基づく 1 ~ 3 インスタンスの自動コンテナスケーリング。
CloudWatch モニタリング – CPU (65%)、メモリ (80%)、Amazon SNS 通知と統合されたサービスヘルスアラーム。
Application Load Balancer – 60 秒ごとのヘルスチェックと、長時間実行される AI 処理タスクの 15 分のアイドルタイムアウトを含むトラフィック分散。
バックグラウンドタスク処理 – FastAPI BackgroundTasks を使用した非同期会議分析による同時ジョブ実行。
S3-basedジョブ永続性 – コンテナの再起動とスケーリングイベント全体でジョブの継続性を確保する Amazon S3 の永続的なジョブステータスストレージ。
GitHub Actions CI/CD – CDK インフラストラクチャのプロビジョニングとヘルス検証テストによる自動デプロイパイプライン。
ツール
AWS サービス
Amazon Bedrock – 会議分析および要約エージェント用の言語モデル推論 (Claude 3 Sonnet) を提供します。Amazon Bedrock のドキュメントを参照してください。
Amazon CloudWatch – コンテナのパフォーマンスをモニタリングし、アプリケーションログをキャプチャし、CPU、メモリ、サービスのヘルスしきい値のアラームをトリガーします。Amazon CloudWatch CloudWatch ドキュメントを参照してください。
Amazon Elastic Container Service (Amazon ECS) – ヘルスチェックとサービス検出を使用して Fargate コンテナタスクを調整します。 「Amazon ECS ドキュメント」を参照してください。
Amazon Polly – 会議の概要を MP3 オーディオナレーションに変換します。Amazon Polly のドキュメントを参照してください。
Amazon Simple Notification Service (Amazon SNS) – CloudWatch モニタリングからアラーム通知を配信します。Amazon SNSドキュメント」を参照してください。
Amazon Simple Storage Service (Amazon S3) – アップロードされたトランスクリプト、生成された出力ファイル、ジョブステータスをライフサイクル管理で保存します。Amazon S3 のドキュメントを参照してください。
AWS CDK – すべてのインフラストラクチャをコードとして定義してデプロイします。AWS CDK ドキュメントを参照してください。
AWS Fargate – サーバーを管理せずにコンテナ化されたアプリケーションワークロードを実行し、1 ~ 3 インスタンスの自動スケーリングを行います。AWS Fargate ドキュメントを参照してください。
Elastic Load Balancing – 受信トラフィックをアベイラビリティーゾーン間で Fargate タスクに分散します。Elastic Load Balancing のドキュメントを参照してください。
その他のツール
Docker – ローカルテスト用のコンテナイメージを構築します。Docker ドキュメント
を参照してください。 FastAPI – ジョブの送信、ステータスチェック、ファイルオペレーション用の REST API バックエンドを提供します。FastAPI ドキュメント
を参照してください。 GitHub Actions – CI/CD デプロイパイプラインを自動化します。GitHub Actions のドキュメント
を参照してください。 ReportLab – 構造化された会議の議事録からフォーマットされた PDF レポートを生成します。ReportLab ドキュメント
」を参照してください。 Strands Agents SDK –
@toolデコレータパターンを使用して、最小限のコードでマルチエージェントワークフローをオーケストレーションします。「Strands SDK ドキュメント」を参照してください。 Streamlit – トランスクリプトのアップロードと出力のダウンロードのためのウェブベースのユーザーインターフェイスを提供します。「Streamlit ドキュメント
」を参照してください。
コードリポジトリ
このパターンのコードは、GitHub sample-ai-meeting-minutes-generator
ベストプラクティス
エージェントごとに明確で焦点を絞ったシステムプロンプトを使用して、一貫した出力形式とプロフェッショナル会議ドキュメントを確保します。
コスト最適化と自動ファイルクリーンアップのために、90 日間の保持期間を持つ Amazon S3 ライフサイクル管理を実装します。
Amazon S3 ベースのジョブ追跡を使用して、コンテナの再起動とスケーリングイベントの状態を維持し、信頼性の高い処理を実現します。
プロアクティブモニタリング用の Amazon SNS 通知を使用して、CPU、メモリ、サービスの状態に関する CloudWatch アラームを設定します。
システムエラーやセキュリティの問題を防ぐために、処理前にファイルのアップロードとコンテンツ形式を検証してサニタイズします。
最小特権の原則に従い、タスクの実行に必要な最小限の権限を付与します。詳細については、IAM ドキュメントの「最小限の特権を認める。」と「IAM でのセキュリティのベストプラクティス」を参照してください。
マネージドオーケストレーションと簡素化された運用オーバーヘッドを必要とする本番環境のデプロイには、Consume AWS AgentCore を使用します。Strands SDK は、エージェントのインタラクションと特殊なワークフロー制御をより詳細にカスタマイズする必要がある場合に推奨されます。
人間が生成した会議議事録に対するエージェントの出力の体系的な評価を実装して、システムプロンプトとエージェントのパフォーマンスを継続的に改善します。
エピック
| タスク | 説明 | 必要なスキル |
|---|---|---|
リポジトリをクローンします |
| AWS DevOps |
独自の Git リポジトリを作成する |
| アプリ開発者 |
CI/CD のリポジトリシークレットを設定します。 |
| DevOps エンジニア |
CI/CD ワークフローを使用してインフラストラクチャをデプロイします。 |
| DevOps エンジニア |
インフラストラクチャのデプロイを検証する。 |
| クラウド管理者、DevOps エンジニア |
| タスク | 説明 | 必要なスキル |
|---|---|---|
ローカル開発環境をセットアップする |
| アプリ開発者 |
バックエンドサービス URL を取得します。 |
| クラウド管理者 |
アプリケーションを起動し、接続を確認します。 |
| アプリ開発者 |
| タスク | 説明 | 必要なスキル |
|---|---|---|
会議のトランスクリプトを処理し、出力を検証します。 |
| アプリデベロッパー |
トラブルシューティング
| 問題 | ソリューション |
|---|---|
Amazon Bedrock モデルアクセスエラー | Anthropic Claude 3 Sonnet モデルがリージョンで有効になっていることを確認します。Amazon Bedrock コンソールを開き、モデルアクセスを選択し、Claude 3 Sonnet がアクセス許可を表示していることを確認します。 |
CDK ブートストラップが失敗する | デプロイ前に |
| 停止したタスクの詳細については、Amazon ECS コンソールを確認してください。一般的な原因には、不正な IAM ロールのアクセス許可、Amazon Bedrock アクセスの欠落、VPC 設定の問題などがあります。タスクの CloudWatch ログを確認します。 |
処理タイムアウト (15 分の ALB タイムアウト) | Application Load Balancer のアイドルタイムアウトは 15 分です。非常に長いトランスクリプトの場合は、入力サイズを 50,000 文字未満に減らすか、CDK 設定で ALB タイムアウトを増やします。 |
オーディオ生成が失敗する | Amazon Polly には 3,000 文字の制限があります。簡潔な要約エージェントは、この制限の下でコンテンツを自動的に に圧縮します。オーディオ生成が引き続き失敗する場合は、Amazon Polly アクセスがリージョンで有効になっていることを確認します。 |
GitHub Actions のデプロイが失敗する |
|
バックエンドが接続されていない (Streamlit shows disconnected) |
|
コンテナの再起動後にジョブステータスが失われました |
|
関連リソース
リファレンス
ツール
追加情報
マルチエージェント処理ワークフロー
このソリューションは、Fargate タスク内で順番に実行される 4 つの専門エージェントを通じて会議処理を調整します。各ジョブには一意のジョブ ID が割り当てられ、スケーラビリティと障害分離のために非同期的に実行されます。
構造化分ジェネレーター (
generate_structured_minutes) – 未加工の会議のトランスクリプトとタイトルを入力として受け取ります。Amazon Bedrock Claude 3 Sonnet を使用して、会議情報、アジェンダ項目、ディスカッションの概要、担当者と期限のあるアクション項目、次のステップなど、包括的な会議議事録を作成します。出力をプレーンテキストファイルとして保存します。簡潔なサマリージェネレーター (
concise_minutes_agent) – エージェント 1 から構造化された完全な分を入力として受け取ります。Amazon Bedrock Claude 3 Sonnet を使用して、オーディオ生成とクイック読み取り用に 3,000 文字未満のエグゼクティブサマリーを作成します。オーディオジェネレーター (
audio_generator_agent) – エージェント 2 からの入力として簡潔な分を取ります。Amazon Polly で Strandsspeakツールを使用して、簡潔な概要を示す MP3 オーディオファイルを生成します。PDF レポートジェネレーター (
create_comprehensive_pdf) – エージェント 1 から構造化された完全な分を入力として受け取ります。ReportLab ライブラリを使用して、カスタムタイトルスタイル、セクションヘッダー、読み取り可能なテキストレイアウト、メタデータを含むプロフェッショナル PDF レポートを作成します。
データフロー
ユーザーアップロード – Streamlit UI または直接 API コールを通じてアップロードされた会議トランスクリプト。
ジョブの初期化 – FastAPI は一意のジョブ ID を作成し、非同期処理のためにすぐに を返します。
バックグラウンド処理 – 4 ステップの Strands エージェントワークフローは順番に実行されます。
ファイル管理 – 生成されたファイルは、署名付きダウンロード URL を使用して Amazon S3 にアップロードされます。 URLs
ジョブの完了 – ステータスは、生成されたすべての出力のダウンロードリンクで更新されます。
今後の機能強化に関する考慮事項
コンテナ間の信頼性のための Amazon DynamoDB による永続的なジョブ追跡
マルチフォーマット入力のサポート (
.docx、.pdf、オーディオ文字起こしファイル)WebSocket のリアルタイム進行状況の更新
End-to-Endの処理フロー
このソリューションは、Fargate タスク内で実行されている一連の特殊なエージェントの調整を通じて、会議の処理を調整します。
各ジョブには一意のジョブ ID が割り当てられ、スケーラビリティと障害分離を確保するために非同期的に実行されます。
ワークフローには、トランスクリプトの取り込み → 構造化された分の生成 → エグゼクティブサマリー → オーディオナレーション → PDF レポートの作成が含まれ、各ステップが検証され、リアルタイムで記録されます。
4 ステップのエージェント処理
構造化分ジェネレーター – 詳細な会議議事録を作成します。
簡潔なサマリージェネレーター – クイックレビューと音声ナレーションのエグゼクティブサマリーを作成します。
オーディオジェネレーター – 概要の MP3 ナレーションを生成します。
PDF レポートジェネレーター – 洗練されたフォーマットの PDF レポートを生成します。
自動ファイル管理とクラウド統合
自動出力アップロード: 構造化テキスト、オーディオ、PDF レポートは、ジョブ ID による適切なパーティショニングを使用して Amazon S3 に自動的にアップロードされます。 IDs
整合性チェックとライフサイクル管理: アップロードの確認、ファイルの検証、クリーンアップがログに記録され、運用の透明性と信頼性が確保されます。
FastAPI バックグラウンドタスクは、非同期ジョブの実行を管理します。
UI 統合と出力
Streamlit UI には、バックエンド接続、トランスクリプト入力エリア、S3 署名付き URL を介して会議トランスクリプトをアップロードした後の 分の生成が表示され、ジョブを開始します。

処理が完了すると、構造化テキスト、オーディオ、PDF 出力は署名付き S3 URL 経由でダウンロードでき、UI のクリック可能なボタンからアクセスできます。

