Generate presentations with Amazon Bedrock AgentCore
Quick Summary
Amazon Bedrock AgentCore 기반 감독 에이전트가 기업 문서를 RAG로 검색해 PowerPoint 생성과 요약을 수행하며, AWS 내부 테스트에서는 프레젠테이션 생성이 90초 미만에 완료됐다.
🖼️ 인포그래픽

🖼️ 4컷 인포그래픽

💡 한 줄 요약
Amazon Bedrock AgentCore 기반 감독 에이전트가 기업 문서를 RAG로 검색해 PowerPoint 생성과 요약을 수행하며, AWS 내부 테스트에서는 프레젠테이션 생성이 90초 미만에 완료됐다.
📌 핵심 요약
- 금융 서비스 팀의 수작업 프레젠테이션 작성을 자동화하기 위해 Amazon Bedrock AgentCore runtime과 Strands Agents 기반 감독 에이전트가 generate_pptx와 generate_summary 도구를 선택·호출한다. 90초 미만이라는 생성 시간은 AWS 내부 테스트 결과다.
- Amazon Bedrock Knowledge Bases가 Amazon S3 문서를 처리하고, Amazon Titan Text Embeddings v2와 Amazon OpenSearch Serverless로 관련 내용을 검색한다. Anthropic Claude Sonnet 4.6이 콘텐츠를 작성하고 Stability AI Stable Image Inpaint가 슬라이드 이미지를 생성하며, 원문에 근거한 검색은 환각 감소를 목표로 한다.
- .NET 8 minimal APIs 기반 REST API가 기존 기업 애플리케이션과 연결되며, Amazon API Gateway와 AWS Lambda를 거쳐 감독 에이전트를 호출한다. Amazon DynamoDB가 대화 상태를 유지하고, 완성된 문서는 Amazon S3에 저장돼 사전 서명 URL로 제공된다.
- Amazon Bedrock Guardrails, AWS KMS 암호화, IAM 최소 권한, 테넌트별 AWS STS 역할 수임 등을 적용한다. 다만 Amazon Bedrock Knowledge Bases의 접근 방식 때문에 Amazon OpenSearch Serverless 컬렉션 데이터 플레인은 공개 접근이 가능해야 하며, IAM 데이터 접근 정책으로 보호하고 대시보드는 VPC 전용으로 제한한다.
- 배포에는 모델 및 AgentCore 접근 권한, 프라이빗 서브넷이 있는 기존 Amazon VPC, ARM64 컨테이너 빌드 환경 등이 필요하다. Amazon API Gateway Regional REST API 통합 타임아웃은 기본 29초에서 최소 300초로 설정해야 하며, 배포는 아티팩트 빌드, 인프라 배포, AgentCore runtime 에이전트 배포의 세 단계로 진행된다.
🧩 주요 포인트
- 감독 에이전트와 전문 도구의 역할 분리 → PowerPoint 생성과 요약을 요청에 따라 조합하고, 기존 도구를 수정하지 않고 새 도구를 추가할 수 있는 확장 구조다.
- 기업 문서 검색과 생성 모델의 결합 → 콘텐츠를 출처에 근거하도록 설계했지만, 환각 감소라는 목적과 내부 테스트의 90초 미만 결과를 모든 환경의 정확성·성능 보장으로 해석해서는 안 된다.
- 보안 통제와 배포 제약의 결합 → VPC 격리만으로 구성을 설명할 수 없으며, Amazon OpenSearch Serverless의 공개 데이터 플레인 보호와 Amazon API Gateway의 최소 300초 통합 타임아웃을 함께 고려해야 한다.
🧠 상세 정리
1. 금융 서비스의 프레젠테이션 작성 자동화
원문은 금융 서비스 팀이 분기 보고서, 규정 준수 문서, 시장 분석을 읽고 고객용 PowerPoint를 만드는 데 매주 상당한 시간을 쓰는 상황에서 출발한다. 이 작업에는 수백 페이지의 자료 검토, 핵심 데이터 추출, 슬라이드 구성, 보조 시각 자료 생성이 포함되며, 제안하는 시스템은 이러한 흐름을 AI 에이전트로 자동화한다. AWS는 내부 테스트에서 프레젠테이션 생성이 90초 미만에 완료됐다고 설명하지만, 입력 문서 규모나 슬라이드 수 등 구체적인 측정 조건은 제공된 본문에 제시하지 않는다. 콘텐츠 작성에는 Anthropic Claude Sonnet 4.6, 벡터 검색에는 Amazon Titan Text Embeddings v2, 슬라이드 이미지 생성에는 Stability AI Stable Image Inpaint를 사용한다. 글은 생성 시간을 줄이면서 기업의 원본 문서에 내용을 근거시키는 접근을 소개하고, 구현 코드가 담긴 공개 저장소도 제공한다.
2. 감독 에이전트와 두 전문 도구
대규모 지식 기반에서 문서를 만들려면 자료 검색, 개요 구성, 텍스트 작성, 이미지 생성, 파일 조립을 처리해야 하므로, 원문은 이 책임을 하나의 거대한 함수에 넣는 대신 도구 기반 구조로 나눈다. Amazon Bedrock AgentCore runtime에 배포된 단일 감독 에이전트는 Strands Agents 프레임워크로 구현되며, 사용자 요청에 따라 문서 생성이나 요약 또는 두 작업 모두를 선택한다. generate_pptx는 PPTX Generator Lambda를 호출하고, 이 함수가 지식 기반 검색부터 슬라이드 개요와 AI 이미지 생성, 최종 PowerPoint 조립까지 수행한다. generate_summary는 RAG를 이용해 지식 기반의 정보를 추출하고 종합하는 역할을 맡는다. AgentCore runtime은 격리된 컨테이너 실행, 세션 관리, 내장 식별 기능과 관측 기능을 제공하며, 새 기능은 기존 도구를 수정하지 않고 에이전트 코드에 도구를 추가하는 방식으로 확장할 수 있다.
3. 기업 문서를 근거로 삼는 RAG 흐름
RAG는 모델의 학습 데이터에만 의존하지 않고 기업 데이터에서 관련 문맥을 검색해 응답을 생성하도록 하는 접근이며, 이 구현은 Amazon Bedrock Knowledge Bases를 사용한다. 사용자가 Amazon S3에 기업 문서를 업로드하면 시스템이 문서를 파싱하고 청크로 나누며, 표·차트·이미지 같은 멀티모달 콘텐츠에는 별도 처리를 적용한다. Amazon Titan Text Embeddings v2가 각 청크를 의미를 담은 고차원 벡터로 변환하면 Amazon OpenSearch Serverless가 이를 저장하고 검색 가능한 벡터 데이터베이스를 구성한다. 질의 시에는 사용자 요청도 임베딩으로 변환해 유사도 검색을 수행하고, 검색된 청크를 언어 모델의 문맥으로 제공해 출처에 근거한 응답을 생성한다. 이 구조는 환각을 줄이도록 설계됐으며, Knowledge Bases가 고객 VPC 엔드포인트가 아닌 AWS 관리 인프라에서 접근하기 때문에 OpenSearch Serverless 컬렉션 데이터 플레인은 공개 접근을 허용해야 한다. 컬렉션은 IAM 데이터 접근 정책으로 보호하고, OpenSearch Serverless 대시보드는 VPC 전용 접근으로 제한한다.
4. 생성 과정에 적용하는 콘텐츠 안전장치
원문은 기업용 AI 애플리케이션이 조직의 콘텐츠 기준과 규정 준수 요구를 충족하기 위해 콘텐츠 조정 기능을 필요로 한다고 설명한다. Amazon Bedrock Guardrails는 문서 생성 파이프라인의 여러 단계에 통합되며, 입력 단계에서는 부적절한 요청과 인젝션 문제를 예방하는 데 도움이 되도록 사용자 요청을 필터링한다. 출력 단계에서는 모델이 생성한 내용을 콘텐츠 정책에 맞춰 모니터링하고, 개인 식별 정보인 PII는 탐지해 익명화하거나 차단한다. 구현은 AWS Cloud Development Kit인 AWS CDK를 통해 기업 문서 생성에 맞춘 사용자 지정 정책의 가드레일을 생성한다. 에이전트는 모델 호출 수준에서 가드레일을 적용하므로, 각 배포에서 수동 설정을 반복하지 않고 일관된 콘텐츠 안전 통제를 제공하려는 구조다.
5. 요청 처리 경로와 계층별 보안 구성
사용자 요청은 Amazon API Gateway에서 AWS Lambda의 .NET 기반 Chat API로 전달되고, API는 Amazon DynamoDB에 대화 상태를 유지하면서 AgentCore runtime의 감독 에이전트를 호출한다. 감독 에이전트는 문서 생성에 컨테이너형 Python 함수인 PPTX Generator Lambda를, 요약에는 retrieve_and_generate API로 지식 기반을 조회하는 Summary Generator Lambda를 사용한다. 검색한 문서 청크는 Anthropic Claude Sonnet 4.6에 문맥으로 제공되며, 완성된 문서는 Amazon S3에 저장한 뒤 사전 서명 URL로 다운로드할 수 있게 한다. API에는 AWS WAF 관리형 규칙과 IP 기반 요청률 제한을 적용하고, Amazon Cognito Plus 기능 플랜과 고급 보안 모드로 위협 보호를 구성한다. DynamoDB에는 시점 복구·삭제 보호·고객 관리형 AWS KMS 암호화를, S3에는 버전 관리·서버 접근 로깅·퍼블릭 액세스 차단을 적용한다. Lambda의 AWS X-Ray 추적, 정규식 기반 테넌트 ID와 세션 ID 검증, 테넌트별 AWS STS 역할 수임도 보안과 운영 구성에 포함된다.
6. 배포 전에 필요한 환경과 서비스 제약
배포를 위해서는 인프라 생성 권한이 있는 활성 AWS 계정, 자격 증명을 설정한 AWS CLI, 필요한 서비스 접근 정책을 가진 IAM 역할이 필요하다. 개발 도구로는 Amazon.Lambda.Tools를 전역 설치한 .NET SDK 8, AWS CDK와 Lambda용 Python 3.12 이상, Node.js와 AWS CDK CLI를 준비해야 한다. 컨테이너 이미지는 Docker 또는 Finch로 빌드하며 ARM64 지원이 필요하고, 프라이빗 서브넷을 갖춘 기존 Amazon VPC와 배포 아티팩트용 Amazon S3 버킷도 요구된다. Amazon Bedrock에서는 Anthropic Claude Sonnet 4.6, Amazon Titan Text Embeddings v2, Stability AI Stable Image Inpaint에 접근할 수 있어야 하며, 모델 가용성은 리전별 지원 정보를 확인하도록 안내한다. 계정에서 Amazon Bedrock AgentCore 접근도 활성화해야 하고, Amazon API Gateway Regional REST API의 통합 타임아웃은 기본 29초가 아니라 최소 300초로 설정해야 한다.
7. 저장소 설정과 AWS CDK 초기화
설정은 공개 저장소 aws-samples/sample-generating-powerpoint-presentations-with-amazon-bedrock을 복제하고 프로젝트 루트에 pipeline-params.ini를 만드는 단계에서 시작한다. 예시 설정은 environment를 dev로 두고, PPTX와 감독 에이전트의 컨테이너 레지스트리, 배포용 S3 버킷, VPC ID, 모델 식별자와 이미지 태그를 지정한다. 파싱용 ParsingInferenceProfileId는 us.anthropic.claude-haiku-4-5-20251001-v1:0, 에이전트용 AgentInferenceProfileId는 us.anthropic.claude-sonnet-4-6으로 제시되며, 임베딩과 이미지 생성에도 각각의 모델 ID를 설정한다. awscliprofile에는 사용할 AWS CLI 프로필 이름을 넣거나, 환경 변수의 자격 증명을 사용하려면 비워 둘 수 있다. 계정과 리전별로 한 번 cdk bootstrap을 실행해 AWS CloudFormation의 CDKToolkit 스택을 만들고, pipeline-build.sh·pipeline-deploy.sh·deploy-agentcore.sh에 실행 권한을 부여한다.
8. 빌드부터 AgentCore runtime 배포까지
배포는 아티팩트 빌드, 인프라 배포, AgentCore runtime 에이전트 배포의 세 단계로 구성되며, 먼저 pipeline-build.sh가 .NET Chat API 프로젝트를 컴파일하고 Lambda 배포 패키지를 만든다. 같은 빌드 과정에서 Docker 또는 Finch로 PPTX Generator 컨테이너 이미지를 생성하고 Amazon ECR에 인증한 뒤 이미지를 푸시하며, 빌드 아티팩트는 asset-output 디렉터리에 저장한다. 이어 pipeline-deploy.sh가 의존 순서에 따라 VPCEndpointsStack, OpensearchStack, AgentCoreStack, ChatApiStack의 네 AWS CloudFormation 스택을 배포한다. 각 스택은 서비스용 VPC 엔드포인트, 벡터 저장용 OpenSearch Serverless 컬렉션, 가드레일·Lambda·IAM 역할과 AWS Systems Manager Parameter Store 설정, API Gateway와 Chat API Lambda를 각각 구성한다. 마지막 deploy-agentcore.sh는 ARM64 감독 에이전트 컨테이너를 빌드해 Amazon ECR에 푸시하고 AgentCore runtime과 엔드포인트를 생성한다. 제공된 본문은 그다음 작업을 설명하던 문장 중간에서 끝나므로, 이후 배포 절차나 완료 확인 방법은 이 자료만으로 확인할 수 없다.
🧾 핵심 주장 / 시사점
- 도구 기반 구조는 요청 해석과 실제 작업 실행을 분리하므로, 문서 생성과 요약을 유지하면서 다른 기능을 추가하기에 유리한 설계다.
- RAG와 Guardrails는 서로 다른 문제를 다룬다. 전자는 기업 문서에 근거한 콘텐츠 생성을 지원하고, 후자는 입력·출력 정책과 PII 처리를 담당하므로 각각의 역할을 구분해 이해할 필요가 있다.
- 내부 테스트의 90초 미만 생성 시간과 최소 300초의 API 통합 타임아웃 요구는 성격이 다르다. 전자는 특정 테스트의 성능 결과이고, 후자는 배포 시 충족해야 하는 구성 조건이다.
✅ 액션 아이템
- Amazon Bedrock 모델 및 AgentCore 접근 권한, 기존 Amazon VPC의 프라이빗 서브넷, ARM64 컨테이너 빌드 환경을 배포 전 확인.
- Amazon OpenSearch Serverless의 공개 데이터 플레인에 적용할 IAM 데이터 접근 정책과 대시보드의 VPC 전용 접근 구성 검토.
- Amazon API Gateway 통합 타임아웃을 최소 300초로 설정하고, 아티팩트 빌드·인프라 배포·AgentCore runtime 에이전트 배포 순서로 진행.
❓ 열린 질문
- 90초 미만이라는 내부 테스트 결과는 어떤 문서 분량과 PowerPoint 생성 규모에서 측정됐는가?
- Amazon Bedrock Knowledge Bases의 검색 결과가 생성 콘텐츠의 환각을 얼마나 줄이는지 어떻게 평가할 수 있는가?
- Amazon OpenSearch Serverless의 공개 데이터 플레인에서 IAM 데이터 접근 정책이 허용할 접근 범위는 어떻게 정할 것인가?