기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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를 통해 자동으로 배포되며 내장된 모니터링, Auto Scaling 및 고가용성을 포함합니다.
사전 조건 및 제한 사항
사전 조건
관리 권한이 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(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 리전별 서비스를
참조하세요. 구체적인 엔드포인트는 서비스 엔드포인트 및 할당량 페이지를 참조하고 서비스 링크를 선택합니다.
아키텍처
대상 아키텍처·
이 솔루션은 다음 아키텍처와 AWS Fargate 함께 Strands Agents SDK를 사용하여에 다중 에이전트 AI 시스템을 배포합니다.

사용자는 로컬 또는 원격 서버에서 호스팅되는 Streamlit 웹 애플리케이션을 통해 회의 기록을 업로드합니다.
퍼블릭 서브넷의 Application Load Balancer는 두 가용 영역에 걸쳐 Fargate 서비스에 트래픽을 분산합니다.
Fargate 작업은 NAT Gateway 액세스 권한이 있는 프라이빗 서브넷에서 실행되며 FastAPI 백엔드 및 Strands 에이전트 오케스트레이션 로직을 호스팅합니다.
Strands 다중 에이전트 시스템은 구조화된 분 생성, 간결한 요약 생성, 오디오 내레이션, PDF 보고서 생성의 4가지 순차 에이전트를 통해 트랜스크립트를 처리합니다.
Amazon Bedrock은 분 및 요약 생성 에이전트를 위한 언어 모델 추론(Claude 3 Sonnet)을 제공합니다.
Amazon Polly는 간결한 요약을 MP3 오디오 내레이션으로 변환합니다.
Amazon S3는 업로드된 트랜스크립트, 생성된 출력 파일 및 작업 상태를 수명 주기 관리 정책과 함께 저장합니다.
Amazon CloudWatch는 Amazon SNS 알림을 통해 중앙 집중식 로깅, CPU 및 메모리 경보, 서비스 상태 모니터링을 제공합니다.
GitHub Actions는 상태 검증 테스트를 통해를 통한 자동화된 CI/CD 배포 AWS CDK 를 제공합니다.
자동화 및 규모 조정
ECS Fargate Auto Scaling - 70% CPU 및 메모리 사용률 임계값을 기반으로 인스턴스 1개에서 3개로 자동 컨테이너 조정.
CloudWatch 모니터링 - Amazon SNS 알림과 통합된 CPU(65%), 메모리(80%) 및 서비스 상태 경보입니다.
Application Load Balancer - 장기 실행 AI 처리 작업에 대해 60초 및 15분 유휴 제한 시간마다 상태 확인이 포함된 트래픽 배포입니다.
백그라운드 작업 처리 - 동시 작업 실행을 위해 FastAPI BackgroundTasks 사용한 비동기 회의 분석.
S3-based 작업 지속성 - 컨테이너 재시작 및 조정 이벤트 전반에서 작업 연속성을 보장하는 Amazon S3의 지속적인 작업 상태 스토리지입니다.
GitHub Actions CI/CD - CDK 인프라 프로비저닝 및 상태 검증 테스트를 통한 자동 배포 파이프라인입니다.
도구
서비스
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 작업 - CI/CD 배포 파이프라인을 자동화합니다. GitHub 작업 설명서를
참조하세요. 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 설명서의 최소 권한 부여 및 보안 모범 사례를 참조하세요.
관리형 오케스트레이션과 간소화된 운영 오버헤드가 필요한 프로덕션 배포에는 Consider AWS AgentCore를 사용합니다. Strands SDK는 에이전트 상호 작용 및 특수 워크플로 제어를 더 잘 사용자 지정해야 하는 경우에 선호됩니다.
사람이 생성한 회의록과 비교하여 에이전트 출력에 대한 체계적인 평가를 구현하여 시스템 프롬프트와 에이전트 성능을 지속적으로 개선합니다.
에픽
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
리포지토리 복제 |
| DevOps |
자체 Git 리포지토리 생성 |
| 앱 개발자 |
CI/CD에 대한 리포지토리 보안 암호를 구성합니다. |
| DevOps 엔지니어 |
CI/CD 워크플로를 사용하여 인프라를 배포합니다. |
| DevOps 엔지니어 |
인프라 배포를 확인합니다. |
| DevOps 엔지니어, 클라우드 관리자 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
로컬 개발 환경 설정 |
| 앱 개발자 |
백엔드 서비스 URL을 검색합니다. |
| 클라우드 관리자 |
애플리케이션을 시작하고 연결을 확인합니다. |
| 앱 개발자 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
회의 기록을 처리하고 출력을 확인합니다. |
| 앱 개발자 |
문제 해결
| 문제 | Solution |
|---|---|
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 배포 실패 |
|
백엔드가 연결되지 않음(스트리밍라이트가 연결 해제됨으로 표시됨) |
|
컨테이너 재시작 후 작업 상태 손실 |
|
관련 리소스
참조
도구
추가 정보
다중 에이전트 처리 워크플로
이 솔루션은 Fargate 작업 내에서 순차적으로 실행되는 4개의 특수 에이전트를 통해 회의 처리를 오케스트레이션합니다. 각 작업에는 고유한 작업 ID가 할당되고 확장성 및 장애 격리를 위해 비동기적으로 실행됩니다.
Structured Minutes Generator(
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 통합 및 출력
스트리밍 UI에는 작업을 시작하기 위해 S3 미리 서명된 URL을 통해 회의 기록을 업로드한 후 백엔드 연결, 대화 기록 입력 영역 및 회의록 생성이 표시됩니다.

처리가 완료되면 미리 서명된 S3 URL을 통해 구조화된 텍스트, 오디오 및 PDF 출력을 다운로드할 수 있으며, UI의 클릭 가능한 버튼을 통해 액세스할 수 있습니다.

