

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Strands Agents SDK 및 AWS Fargate를 사용하여 다중 에이전트 회의 인텔리전스 플랫폼 배포
<a name="deploy-meeting-intelligence-strands-agents-fargate"></a>

*Aishita Batra 및 Muskan ., Amazon Web Services*

## 요약
<a name="deploy-meeting-intelligence-strands-agents-fargate-summary"></a>

이 패턴은 회의 트랜스크립트에서 구조화된 회의록, 실행 요약, 오디오 내레이션 및 형식이 지정된 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 및 고가용성을 포함합니다.

## 사전 조건 및 제한 사항
<a name="deploy-meeting-intelligence-strands-agents-fargate-prereqs"></a>

*사전 조건 *
+ 관리 권한이 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 리전별 서비스를](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/) 참조하세요. 구체적인 엔드포인트는 [서비스 엔드포인트 및 할당량](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) 페이지를 참조하고 서비스 링크를 선택합니다.

## 아키텍처
<a name="deploy-meeting-intelligence-strands-agents-fargate-architecture"></a>

**대상 아키텍처·**

이 솔루션은 다음 아키텍처와 AWS Fargate 함께 Strands Agents SDK를 사용하여에 다중 에이전트 AI 시스템을 배포합니다.

![](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/dfd870ca-7a7d-48cc-a62a-b14c8c3c7bb6/images/8f9c0497-153f-4361-80cd-791dc0fec8c5.png)


1. 사용자는 로컬 또는 원격 서버에서 호스팅되는 Streamlit 웹 애플리케이션을 통해 회의 기록을 업로드합니다.

1. 퍼블릭 서브넷의 Application Load Balancer는 두 가용 영역에 걸쳐 Fargate 서비스에 트래픽을 분산합니다.

1. Fargate 작업은 NAT Gateway 액세스 권한이 있는 프라이빗 서브넷에서 실행되며 FastAPI 백엔드 및 Strands 에이전트 오케스트레이션 로직을 호스팅합니다.

1. Strands 다중 에이전트 시스템은 구조화된 분 생성, 간결한 요약 생성, 오디오 내레이션, PDF 보고서 생성의 4가지 순차 에이전트를 통해 트랜스크립트를 처리합니다.

1. Amazon Bedrock은 분 및 요약 생성 에이전트를 위한 언어 모델 추론(Claude 3 Sonnet)을 제공합니다.

1. Amazon Polly는 간결한 요약을 MP3 오디오 내레이션으로 변환합니다.

1. Amazon S3는 업로드된 트랜스크립트, 생성된 출력 파일 및 작업 상태를 수명 주기 관리 정책과 함께 저장합니다.

1. Amazon CloudWatch는 Amazon SNS 알림을 통해 중앙 집중식 로깅, CPU 및 메모리 경보, 서비스 상태 모니터링을 제공합니다.

1. 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 인프라 프로비저닝 및 상태 검증 테스트를 통한 자동 배포 파이프라인입니다.

## 도구
<a name="deploy-meeting-intelligence-strands-agents-fargate-tools"></a>

*서비스*
+ Amazon Bedrock - 회의 분석 및 요약 에이전트를 위한 언어 모델 추론(Claude 3 Sonnet)을 제공합니다. [Amazon Bedrock 설명서를](https://docs.aws.amazon.com/bedrock/) 참조하세요.
+ Amazon CloudWatch - 컨테이너 성능을 모니터링하고, 애플리케이션 로그를 캡처하고, CPU, 메모리 및 서비스 상태 임계값에 대한 경보를 트리거합니다. [Amazon CloudWatch CloudWatch 설명서를](https://docs.aws.amazon.com/cloudwatch/) 참조하세요.
+ Amazon Elastic Container Service(Amazon ECS) - 상태 확인 및 서비스 검색을 사용하여 Fargate 컨테이너 작업을 오케스트레이션합니다. [ Amazon ECS 설명서를](https://docs.aws.amazon.com/ecs/) 참조하세요.
+ Amazon Polly - 간결한 회의 요약을 MP3 오디오 내레이션으로 변환합니다. [Amazon Polly 설명서를](https://docs.aws.amazon.com/polly/) 참조하세요.
+ Amazon Simple Notification Service(Amazon SNS) - CloudWatch 모니터링에서 경보 알림을 전송합니다. [Amazon SNS 설명서를](https://docs.aws.amazon.com/sns/) 참조하세요.
+ Amazon Simple Storage Service(Amazon S3) - 업로드된 트랜스크립트, 생성된 출력 파일 및 작업 상태를 수명 주기 관리와 함께 저장합니다. [Amazon S3 설명서를](https://docs.aws.amazon.com/s3/) 참조하세요.
+ AWS CDK - 모든 인프라를 코드로 정의하고 배포합니다. [AWS CDK 설명서를](https://docs.aws.amazon.com/cdk/) 참조하세요.
+ AWS Fargate - 1\~3개의 인스턴스에서 자동 크기 조정을 통해 서버를 관리하지 않고 컨테이너화된 애플리케이션 워크로드를 실행합니다. [AWS Fargate 설명서를](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html) 참조하세요.
+ Elastic Load Balancing - Fargate 작업에 수신 트래픽을 가용 영역 전체에 분산합니다. [Elastic Load Balancing 설명서를](https://docs.aws.amazon.com/elasticloadbalancing/) 참조하세요.

*기타 도구*
+ **Docker** - 로컬 테스트를 위한 컨테이너 이미지를 빌드합니다. [Docker 설명서를](https://docs.docker.com/) 참조하세요.
+ **FastAPI** - 작업 제출, 상태 확인 및 파일 작업을 위한 REST API 백엔드를 제공합니다. [FastAPI 설명서를](https://fastapi.tiangolo.com/) 참조하세요.
+ **GitHub 작업** - CI/CD 배포 파이프라인을 자동화합니다. [GitHub 작업 설명서를](https://docs.github.com/en/actions) 참조하세요.
+ **ReportLab** - 구조화된 회의록에서 형식이 지정된 PDF 보고서를 생성합니다. [ReportLab 설명서를](https://docs.reportlab.com/) 참조하세요.
+ **Strands Agents SDK** - `@tool` 데코레이터 패턴을 사용하여 최소한의 코드로 다중 에이전트 워크플로를 오케스트레이션합니다. [Strands SDK 설명서를](https://strandsagents.com/) 참조하세요.
+ **Streamlit** – 트랜스크립트 업로드 및 출력 다운로드를 위한 웹 기반 사용자 인터페이스를 제공합니다. [Streamlit 설명서를](https://docs.streamlit.io/) 참조하세요.

*코드 리포지토리*

이 패턴의 코드는 GitHub [sample-ai-meeting-minutes-generator](https://github.com/aws-samples/sample-ai-meeting-minutes-generator) 리포지토리에서 사용할 수 있습니다.

## 모범 사례
<a name="deploy-meeting-intelligence-strands-agents-fargate-best-practices"></a>
+ 각 에이전트에 대해 명확하고 집중적인 시스템 프롬프트를 사용하여 일관된 출력 형식과 전문적인 회의 문서를 보장합니다.
+ 비용 최적화 및 자동 파일 정리를 위해 90일 보존으로 Amazon S3 수명 주기 관리를 구현합니다.
+ Amazon S3 기반 작업 추적을 사용하여 컨테이너 재시작 및 안정적인 처리를 위한 조정 이벤트 전반에 걸쳐 상태를 유지합니다.
+ 사전 모니터링을 위한 Amazon SNS 알림을 사용하여 CPU, 메모리 및 서비스 상태에 대한 CloudWatch 경보를 구성합니다.
+ 시스템 오류 및 보안 문제를 방지하기 위해 처리 전에 파일 업로드 및 콘텐츠 형식을 검증하고 삭제합니다.
+ 최소 권한 원칙을 따르고 작업을 수행하는 데 필요한 최소 권한을 부여하세요. 자세한 내용은 IAM 설명서의 [최소 권한 부여](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) 및 [보안 모범 사례](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)를 참조하세요.
+ 관리형 오케스트레이션과 간소화된 운영 오버헤드가 필요한 프로덕션 배포에는 Consider AWS AgentCore를 사용합니다. Strands SDK는 에이전트 상호 작용 및 특수 워크플로 제어를 더 잘 사용자 지정해야 하는 경우에 선호됩니다.
+ 사람이 생성한 회의록과 비교하여 에이전트 출력에 대한 체계적인 평가를 구현하여 시스템 프롬프트와 에이전트 성능을 지속적으로 개선합니다.

## 에픽
<a name="deploy-meeting-intelligence-strands-agents-fargate-epics"></a>

### 인프라 배포
<a name="deploy-the-infrastructure"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 리포지토리 복제 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html)<pre>git clone https://github.com/aws-samples/sample-ai-meeting-minutes-generator.git<br /></pre>[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html)<pre>cd meeting-minutes-app<br /></pre> | DevOps | 
| 자체 Git 리포지토리 생성 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html)<pre>git remote set-url origin https://<your-git-platform>.com/<your-username>/<your-repo-name>.git<br /></pre>[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html)<pre>git push -u origin main<br /></pre> | 앱 개발자 | 
| CI/CD에 대한 리포지토리 보안 암호를 구성합니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html) | DevOps 엔지니어 | 
| CI/CD 워크플로를 사용하여 인프라를 배포합니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html)<pre>git add .<br />git commit -m "Deploy multi-agent meeting intelligence platform"<br />git push origin main<br /></pre>[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html) | DevOps 엔지니어 | 
| 인프라 배포를 확인합니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html) | DevOps 엔지니어, 클라우드 관리자 | 

### 애플리케이션 구성 및 시작
<a name="configure-and-launch-the-application"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 로컬 개발 환경 설정 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html)<pre>cd meeting_minutes_agent/app<br /></pre>[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html)<pre>python -m venv venv<br />source venv/bin/activate  # Linux/Mac<br /># Or on Windows: venv\Scripts\activate<br /></pre>[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html)<pre>pip install -r requirements.txt<br />pip install streamlit<br /></pre> | 앱 개발자 | 
| 백엔드 서비스 URL을 검색합니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html) | 클라우드 관리자 | 
| 애플리케이션을 시작하고 연결을 확인합니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html)<pre>BACKEND_URL="http://<your-service-url>.us-east-1.elb.amazonaws.com" streamlit run meeting_minutes_agent/app/streamlit_app.py<br /></pre>[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html) | 앱 개발자 | 

### 솔루션 확인
<a name="verify-the-solution"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 회의 기록을 처리하고 출력을 확인합니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html) | 앱 개발자 | 

## 문제 해결
<a name="deploy-meeting-intelligence-strands-agents-fargate-troubleshooting"></a>


| 문제 | Solution | 
| --- | --- | 
| Amazon Bedrock 모델 액세스 오류 | 리전에서 Anthropic Claude 3 Sonnet 모델이 활성화되어 있는지 확인합니다. Amazon Bedrock 콘솔을 열고 **모델 액세스를** 선택한 다음 Claude 3 Sonnet에 **액세스 권한이 부여**됨이 표시되는지 확인합니다. | 
| CDK 부트스트랩 실패 |  배포 전에 `cdk bootstrap aws://<account-id>/<region>` 수동으로를 실행합니다. 자격 AWS CLI 증명에 CloudFormation Amazon S3 및 IAM에 대한 권한이 있는지 확인합니다. | 
| [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html) |  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 배포 실패 | `AWS_ACCESS_KEY_ID` 및 `AWS_SECRET_ACCESS_KEY`리포지토리 보안 암호가 올바르게 구성되었는지 확인합니다. IAM 사용자에게 CDK 배포 권한(CloudFormation, Amazon ECS, Amazon S3, IAM)이 있는지 확인합니다. | 
| 백엔드가 연결되지 않음(스트리밍라이트가 연결 해제됨으로 표시됨) | `BACKEND_URL` 환경 변수가 CloudFormation 출력 탭의 ServiceURL과 일치하는지 확인합니다. Amazon ECS 콘솔에서 Fargate 서비스가 실행 중이고 정상인지 확인합니다. | 
| 컨테이너 재시작 후 작업 상태 손실 | `S3_JOB_TRACKING` 환경 변수를 구성하여 Amazon S3 기반 작업 지속성을 활성화합니다. 이렇게 하지 않으면 작업 상태가 메모리에만 저장되고 컨테이너 재시작 시 손실됩니다. | 

## 관련 리소스
<a name="deploy-meeting-intelligence-strands-agents-fargate-resources"></a>

*참조*
+ [Amazon Bedrock 사용 설명서](https://docs.aws.amazon.com/bedrock/latest/userguide/)
+ [Amazon Polly 개발자 안내서](https://docs.aws.amazon.com/polly/latest/dg/)
+ [Amazon ECS 개발자 안내서](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/)
+ [AWS Fargate 사용 설명서](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html)
+ [AWS CDK CDK 개발자 안내서](https://docs.aws.amazon.com/cdk/v2/guide/)
+ [Elastic Load Balancing 사용 설명서](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/)

*도구*
+ [Strands Agents SDK 설명서](https://strandsagents.com/)
+ [FastAPI 설명서](https://fastapi.tiangolo.com/)
+ [Streamlit 설명서](https://docs.streamlit.io/)
+ [GitHub 작업 설명서](https://docs.github.com/en/actions)

## 추가 정보
<a name="deploy-meeting-intelligence-strands-agents-fargate-additional-information"></a>

*다중 에이전트 처리 워크플로*

이 솔루션은 Fargate 작업 내에서 순차적으로 실행되는 4개의 특수 에이전트를 통해 회의 처리를 오케스트레이션합니다. 각 작업에는 고유한 작업 ID가 할당되고 확장성 및 장애 격리를 위해 비동기적으로 실행됩니다.

1. **Structured Minutes Generator**(`generate_structured_minutes`) - 원시 회의 트랜스크립트와 제목을 입력으로 사용합니다. Amazon Bedrock Claude 3 Sonnet을 사용하여 회의 정보, 의제 항목, 토론 요약, 담당자 및 기한이 있는 작업 항목, 다음 단계를 포함한 포괄적인 회의록을 생성합니다. 출력을 일반 텍스트 파일로 저장합니다.

1. **간결한 요약 생성기**(`concise_minutes_agent`) - 에이전트 1의 구조화된 전체 시간을 입력으로 사용합니다. Amazon Bedrock Claude 3 Sonnet을 사용하여 오디오 생성 및 빠른 읽기를 위해 3,000자 미만의 요약을 생성합니다.

1. **오디오 생성기**(`audio_generator_agent`) - 에이전트 2의 간결한 분을 입력으로 사용합니다. Amazon Polly와 함께 Strands `speak` 도구를 사용하여 간결한 요약을 설명하는 MP3 오디오 파일을 생성합니다.

1. **PDF 보고서 생성기**(`create_comprehensive_pdf`) - 에이전트 1의 구조화된 전체 시간을 입력으로 사용합니다. ReportLab 라이브러리를 사용하여 사용자 지정 제목 스타일, 섹션 헤더, 읽기 가능한 텍스트 레이아웃 및 메타데이터가 포함된 전문 PDF 보고서를 생성합니다.

*데이터 흐름*

1. **사용자 업로드** - Streamlit UI 또는 직접 API 직접 호출을 통해 업로드된 회의 트랜스크립트입니다.

1. **작업 초기화** - FastAPI는 고유한 작업 ID를 생성하고 비동기 처리를 위해 즉시 반환합니다.

1. **백그라운드 처리** - 4단계 Strands 에이전트 워크플로가 순차적으로 실행됩니다.

1. **파일 관리** - 생성된 파일은 미리 서명된 다운로드 URL을 사용하여 Amazon S3에 업로드됩니다. URLs

1. **작업 완료** - 생성된 모든 출력에 대한 다운로드 링크로 상태가 업데이트됩니다.

*향후 개선 사항 고려 사항*
+ 컨테이너 간 안정성을 위해 Amazon DynamoDB를 사용한 지속적인 작업 추적
+ 다중 형식 입력 지원(`.docx`, `.pdf`, 오디오 트랜스크립션 파일)
+ 실시간 WebSocket 진행 상황 업데이트

**End-to-End 처리 흐름**
+ 이 솔루션은 Fargate 작업 내에서 실행되는 특수 에이전트의 조정된 시퀀스를 통해 회의 처리를 오케스트레이션합니다.
+ 각 작업에는 **고유한 작업 ID**가 할당되고 확장성과 장애 격리를 보장하기 위해 비동기적으로 실행됩니다.
+ 워크플로에는 **트랜스크립트 수집 → 구조화된 분 생성 → 경영진 요약 → 오디오 내레이션 → PDF 보고서 생성**이 포함되며, 각 단계는 **검증되고 실시간으로 기록**됩니다.

**4단계 에이전트 처리**

1. **구조화된 분 생성기** - 자세한 회의록을 생성합니다.

1. **간결한 요약 생성기** - 빠른 검토 및 오디오 내레이션을 위한 요약을 생성합니다.

1. **오디오 생성**기 - 요약의 MP3 내레이션을 생성합니다.

1. **PDF 보고서 생성기** - 형식이 매끄럽고 형식이 지정된 PDF 보고서를 생성합니다.

**자동화된 파일 관리 및 클라우드 통합**
+ **자동 출력 업로드: **구조화된 텍스트, 오디오 및 PDF 보고서는 작업 ID별로 적절한 파티셔닝을 통해 **Amazon S3**에 자동으로 업로드됩니다. ** IDs**
+ **무결성 검사 및 수명 주기 관리:** 업로드 확인, 파일 검증 및 정리가 기록되어 운영 투명성과 신뢰성을 보장합니다.
+ **FastAPI **백그라운드 작업은 비동기 작업 실행을 관리합니다.

**UI 통합 및 출력**
+ 스트리밍 UI에는 작업을 시작하기 위해** S3 미리 서명된 URL**을 통해 회의 기록을 업로드한 후 백엔드 연결, 대화 기록 입력 영역 및 회의록 생성이 표시됩니다.  
![](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/dfd870ca-7a7d-48cc-a62a-b14c8c3c7bb6/images/f608a187-91bf-4524-a849-907eb5efb182.png)
+ 처리가 완료되면 **미리 서명된 S3 URL**을 통해 구조화된 텍스트, 오디오 및 PDF 출력을 다운로드할 수 있으며, UI의 클릭 가능한 버튼을 통해 액세스할 수 있습니다.  
![](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/dfd870ca-7a7d-48cc-a62a-b14c8c3c7bb6/images/b4fa32f4-32c3-43ae-b140-0f6a58ebe245.png)  
![](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/dfd870ca-7a7d-48cc-a62a-b14c8c3c7bb6/images/eb878259-f90e-4d9f-8a4d-42627d04bdd1.png)