AWS Certified Generative AI Developer Professional AIP-C01: 학습 참고 자료
요약
AWS Certified Generative AI Developer Professional(AIP-C01) 자격증 취득을 위한 학습 가이드입니다. Bedrock, Agents, Knowledge Bases를 활용한 생성형 AI 애플리케이션 설계, 구현, 보안 전략을 다룹니다.
핵심 포인트
- 시나리오 기반 문제 해결을 위해 제약 조건(비용, 지연 시간 등) 파악이 핵심
- 도메인 1(FM 통합 및 데이터)이 전체 시험의 31%로 가장 높은 비중 차지
- RAG와 Fine-tuning의 차이 및 벡터 스토어 확장 패턴 학습 권장
- Bedrock Agents, Guardrails, IAM 보안 패턴 등 실무적 구현 능력 요구
저는 AIP-C01을 준비하면서 이 자료를 만들었습니다. Bedrock, Agents, 그리고 Knowledge Bases를 매일 업무에 사용했기에 준비 기간을 단축할 수 있었습니다.
이것은 개념 수준의 학습 참고 자료입니다: 공식 시험 가이드와 AWS 문서를 바탕으로 작성된 서비스 구분, 의사 결정 트리(Decision Trees), 그리고 흔히 발생하는 실수(Gotchas)를 담고 있습니다. 시험 문제나 복제된 시험 콘텐츠는 포함되어 있지 않습니다.
시험: AWS Certified Generative AI Developer – Professional (AIP-C01)
형식: 65문항, 180분. 시나리오 기반, 긴 지문. 합격 점수: 750/1000.
레벨: Professional (약 2년 이상의 AWS 경험 및 1년 이상의 생성형 AI 실무 경험 가정).
학습 접근 방식
시험에 대하여
AIP-C01은 AWS에서 생성형 AI 애플리케이션을 설계(Architect), 구현(Implement), 그리고 보안(Secure)할 수 있는지를 테스트합니다. 문제는 특정 제약 조건(비용, 지연 시간(Latency), 컴플라이언스(Compliance), 규모(Scale), 최소한의 노력)이 포함된 비즈니스 시나리오를 제시하고, 적절한 서비스나 패턴을 선택하도록 요구합니다. 핵심 기술은 서비스 목록을 암기하는 것이 아니라, 그 제약 조건 단어를 인식하고 이를 올바른 결정으로 매핑하는 것입니다.
두 번째로 좋은 정답(Second-best answers)은 마치 정답처럼 보이도록 설계되어 있습니다. 차이점은 대개 시나리오 속의 단어 하나에 있습니다 ("관리형(Managed)", "최소한의 코드(Minimal code)", "실시간(Real-time)", "비실시간(Non-real-time)"). 두 옵션이 똑같이 정답처럼 보인다면, 하나는 작동은 하지만 과잉 사양(Overkill)일 것입니다. 더 단순하거나 더 관리형(Managed)인 선택지를 선호하십시오.
권장 학습 순서
아래 나열된 순서대로 5개 도메인을 학습하십시오. 도메인 1이 가장 비중이 크며(31%), 다른 모든 것의 기초가 되는 개념을 제공합니다.
도메인 1: FM 통합, 데이터 및 컴플라이언스 (31%). 이것부터 다루십시오. 가장 자주 테스트되는 구분은 RAG(Retrieval-Augmented Generation) 대 미세 조정(Fine-tuning)입니다. 다음 사항에 집중하십시오: Knowledge Bases 동기화 동작, 벡터 스토어 규모 확장 패턴 (pgvector 대 OpenSearch Service), 그리고 프롬프트 엔지니어링(Prompt Engineering) 기법.
도메인 2: 구현 및 통합 (26%). 에이전트(Agents) 및 배포 패턴. 다음 사항에 집중하십시오: Bedrock Agents 대 AgentCore 대 Step Functions, Converse API 대 InvokeModel, 제어권 반환(Return of Control), 그리고 스트리밍 아키텍처(Streaming architectures).
도메인 3: AI 안전, 보안 및 거버넌스 (AI Safety, Security & Governance) (20%). Guardrails 메커니즘 (4가지 필터 유형 및 모드 전체), Bedrock을 위한 IAM 액세스 제어 패턴, VPC 엔드포인트(VPC endpoint) 대 NAT 게이트웨이(NAT gateway), Q Business 대 Knowledge Bases.
도메인 4 + 5: 최적화 및 테스트 (Optimization & Testing) (합계 23%). 처음 세 개 도메인이 탄탄해지면 더 접근하기 쉽습니다. 비용 함정 (Provisioned 대 On-demand), 평가 지표 (ROUGE/BLEU/BERTScore), 그리고 스로틀링 복구 패턴 (throttling recovery patterns).
최종 검토 (Final Review)
시험을 치르기 전에 "Exam Traps: Deep Dive"를 처음부터 끝까지 읽고, 각 행이 즉각적으로 떠오를 때까지 "Quick Pattern Recognition"을 반복 훈련하세요. "Wrong Answer Patterns"를 한 번 검토하십시오. 이는 신뢰할 수 있는 함정 답안들을 표시해 줍니다.
시험 당일 팁 (Tips for Exam Day)
- 각 시나리오의 마지막 문장을 먼저 읽으세요. 실제 질문이 명시되어 있습니다.
- 특정 제약 조건 단어를 식별하세요: "비용 최소화 (minimize cost)", "개발 노력 최소화 (minimize development effort)", "실시간 (real-time)", "컴플라이언스 (compliance)", "인터넷 접속 불가 (no internet access)".
- 약 3분 이상 걸리는 문제는 표시해 두고 건너뛰세요. 나머지를 완료한 후 다시 돌아오십시오.
- 180분 / 65문항은 문제당 대략 2.5~3분입니다. 다시 검토할 시간이 있습니다.
도메인 1: FM 통합, 데이터 및 컴플라이언스 (FM Integration, Data & Compliance) (31%)
1.1 파운데이션 모델 선택 (Foundation Model Selection)
핵심: 비용, 지연 시간(latency), 정확도 사이의 균형을 맞추면서 모델의 역량을 사용 사례에 맞게 매칭합니다.
서비스:
- Amazon Bedrock: Claude, Titan, Llama, Mistral, Cohere에 대한 관리형 액세스 제공
- Amazon Nova: Pro (복잡한 추론), Lite (대량/저렴), Micro (텍스트 전용), Premier (가장 뛰어난 성능), Sonic (음성), Canvas (이미지), Reel (비디오)
- Amazon SageMaker JumpStart: 완전한 제어 권한을 가진 오픈 소스 모델 배포
- Amazon Bedrock Cross-Region Inference: 용량이 있는 리전으로 라우팅
의사결정 트리 (Decision Tree):
- 관리형 + 토큰당 과금 (pay-per-token) → Bedrock
- 커스텀/오픈 소스 모델 → SageMaker
- 비용 효율적인 대량 처리 → Nova Lite
- 복잡한 다단계 추론 → Nova Pro / Claude
- 멀티모달 (텍스트+이미지) → Claude 3, Nova Pro
- 실시간 음성 → Nova Sonic
함정 (Traps):
- Amazon Bedrock Intelligent Prompt Routing은 품질 임계값(quality threshold)을 충족하는 가장 저렴한 모델을 자동으로 선택합니다.
- Amazon Bedrock Custom Model Import는 미세 조정된(fine-tuned) 모델을 Bedrock 내부로 가져옵니다 (SageMaker뿐만이 아닙니다).
- 프로비저닝된 처리량 (Provisioned Throughput) ≠ 예약 인스턴스 (Reserved Instances); 이는 전용 모델 용량(dedicated model capacity)을 의미합니다.
- 교차 리전 추론 (Cross-Region Inference) = 가용성(availability)을 의미하며, 비용 최적화(cost optimization)가 아닙니다.
1.2 RAG (Retrieval-Augmented Generation, 검색 증강 생성)
핵심 (Core): 쿼리 시점에 외부 지식을 사용하여 파운데이션 모델 (FM)의 응답을 증강합니다. 환각 (hallucinations) 현상을 방지하고, 재학습 없이도 답변을 최신 상태로 유지합니다.
서비스 (Services):
- Amazon Bedrock Knowledge Bases: 관리형 RAG: 자동 청킹 (auto-chunks), 임베딩 (embeds), 저장 (stores), 검색 (retrieves)
- Amazon OpenSearch Service: HNSW를 이용한 벡터 검색, 하이브리드 (키워드 + 의미론적 (semantic)) 검색
- Amazon Aurora PostgreSQL + pgvector: 관계형 데이터베이스 (relational DB) 내의 벡터 저장소
- Amazon S3 Vectors: 수십억 개의 벡터, 비용 효율적
- Amazon Titan Text Embeddings V2: 1024차원 (1024-dim), 정규화됨 (normalized)
- Amazon Kendra: 의미론적 (semantic) + 키워드 하이브리드 방식의 엔터프라이즈 검색
의사 결정 트리 (Decision Tree):
- 관리형 RAG, 최소한의 코드 → Bedrock Knowledge Bases
- 하이브리드 검색 (키워드 + 벡터) → OpenSearch Service 또는 Kendra
- 이미 PostgreSQL을 사용 중인 경우 → Aurora + pgvector
- 수십억 개의 벡터, 비용에 민감한 경우 → S3 Vectors
- 정밀도를 위한 재순위화 (Re-ranking) → Cohere Rerank를 사용하는 Bedrock Knowledge Bases
함정 (Traps):
- 청킹 전략 (Chunking strategy)이 중요함: 고정 크기 (fixed-size, 단순함), 의미론적 (semantic, 관련성 높음), 계층적 (hierarchical, 문맥을 위한 부모-자식 구조).
- RAG = 동적 지식 (dynamic knowledge); 미세 조정 (Fine-tuning) = 스타일/형식/도메인 적응.
- Bedrock Knowledge Bases는 메타데이터 필터링 (metadata filtering)을 지원함; 벡터 유사도 (vector similarity) 검색을 수행하기 '전'에 범위를 좁힐 것.
- 하이브리드 검색 (Hybrid search) = BM25 (키워드) + kNN (벡터) 점수를 결합함.
- 규모 (Scale): pgvector는 중간 규모 (수백만 건)에 적합하며, OpenSearch Service는 엄격한 지연 시간 (latency) 조건 하의 대규모 (수억 건)에 적합함.
- 데이터 최신성 (Data freshness): Bedrock Knowledge Bases는 동기화 (sync) 단계가 필요함; 거의 즉각적인 업데이트를 위해서는 OpenSearch Service + 실시간 인덱싱 파이프라인 (real-time indexing pipeline)을 선호할 것.
- 규모 + 지연 시간 패턴 (Scale + latency pattern): 엄격한 1초 미만 지연 시간 SLA를 요구하는 매우 큰 코퍼스 (수억 개의 레코드/벡터) → OpenSearch Service; 중간 규모 또는 기존의 PostgreSQL 사용 환경 → pgvector.
1.3 프롬프트 엔지니어링 (Prompt Engineering)
핵심 (Core): 원하는 출력을 얻기 위해 파운데이션 모델 (FMs)에 입력할 내용을 설계함.
기법 (Techniques):
- 제로샷 (Zero-shot): 단순한 작업, 명확한 지시 사항
- 퓨샷 (Few-shot): 특정 출력 형식이 필요한 경우 (예시 제공)
- 생각의 사슬 (Chain-of-Thought): 복잡한 추론 (단계별 진행)
- ReAct: 추론 + 행동 (에이전트 (agents))
서비스 (Services):
- Amazon Bedrock Prompt Management: 프롬프트 템플릿의 버전 관리, 저장 및 관리
- Amazon Bedrock Flows (이전 명칭 Prompt Flows): 분기 (branching) 기능이 있는 워크플로로 프롬프트를 체이닝 (chaining)
- Amazon Bedrock Converse API: 시스템 프롬프트 (system prompts), 도구 사용 (tool use)을 포함하는 통합 멀티 모델 API
함정 (Traps):
- 시스템 프롬프트 (System prompts)는 행동/페르소나를 설정하며, 사용자 프롬프트 (user prompts)는 실제 질의임.
- 온도 (Temperature): 0 = 결정론적 (deterministic), 1 = 창의적 (creative).
- Bedrock Flows는 조건 (conditions), 병렬 분기 (parallel branches), 반복자 (iterators)를 포함할 수 있음.
- Converse API는 모든 모델에 대해 도구 사용 (tool_use)을 정규화 (normalizes)함.
1.4 벡터 스토어 및 임베딩 (Vector Stores & Embeddings)
핵심 (Core): 임베딩 (Embeddings)은 텍스트/이미지를 밀집 벡터 (dense vectors)로 변환함. 벡터 스토어 (Vector stores)는 유사도 검색 (similarity search)을 가능하게 함.
서비스 (Services):
- Titan Text Embeddings V2: 텍스트 (text), 1024차원 (1024-dim), 정규화됨 (normalized)
- Amazon Titan Multimodal Embeddings: 동일한 벡터 공간 (vector space) 내의 텍스트 (text) + 이미지 (image)
- Cohere Embed: 다국어 지원 (multilingual, 100개 이상의 언어)
- OpenSearch Service k-NN: HNSW 알고리즘
- pgvector: PostgreSQL 확장 기능 (extension), IVFFlat 또는 HNSW
함정 (Traps):
- HNSW = 근사 최근접 이웃 (approximate nearest neighbor), IVFFlat보다 빠르지만 메모리를 더 많이 사용함.
- 코사인 유사도 (Cosine) = 방향 (direction); L2 = 거리 (distance); 내적 (inner product) = 크기 + 방향 (magnitude+direction).
- 임베딩 모델 (embedding model)과 벡터 스토어 (vector store) 간의 차원 불일치 (Dimension mismatch) = 오류 발생.
- 임베딩 모델을 변경할 때는 재색인 (Re-indexing)이 필요함.
- Titan V2는 정규화된 벡터 (normalized vectors)를 생성하지만, V1은 그렇지 않음. 동일한 인덱스 (index) 내에서 혼용할 수 없음.
1.5 생성형 AI를 위한 데이터 파이프라인 (Data Pipelines for GenAI)
서비스 (Services):
- AWS Glue: ETL, 크롤러 (crawlers), 데이터 카탈로그 (data catalog)
- Amazon Bedrock Data Automation: 비정형 문서 (unstructured docs)에서 구조화된 데이터 (structured data) 추출
- Amazon Textract: 문서를 위한 OCR
- AWS Step Functions: 다단계 파이프라인 (multi-step pipelines) 오케스트레이션 (orchestrate)
- Amazon EventBridge: 새로운 데이터 발생 시 파이프라인 트리거 (trigger)
함정 (Traps):
- Bedrock 지식 기반 (Knowledge Bases)은 Amazon S3로부터 자동으로 동기화할 수 있음; 기본적인 RAG를 위해서는 커스텀 파이프라인 (custom pipeline)이 필요하지 않음.
- 커스텀 청킹 로직 (custom chunking logic)이 필요한 경우, 지식 기반 (Knowledge Bases) 수집 전 단계에 AWS Lambda 기반의 파이프라인이 필요함.
- Glue는 구조화된/반구조화된 (structured/semi-structured) ETL용이며, 벡터 임베딩 (vector embedding)을 직접 수행하는 용도가 아님.
도메인 2: 구현 및 통합 (Implementation & Integration) (26%)
2.1 에이전트형 AI 및 Bedrock 에이전트 (Agentic AI & Bedrock Agents)
핵심 (Core): 에이전트 (Agents)는 도구 (tools)를 사용하여 자율적으로 추론 (reason), 계획 (plan), 그리고 행동 (take actions)을 수행함.
서비스 (Services):
- Amazon Bedrock Agents: 액션 그룹 (도구로서의 Lambda)을 갖춘 관리형 에이전트 (managed agents)
- Amazon Bedrock AgentCore: 조립 가능한 빌딩 블록 (Runtime, Memory, Identity, Gateway, Observability, 내장 도구)
- Strands Agents SDK: 커스텀 에이전트를 위한 오픈 소스 Python SDK
- Agent Squad: 오픈 소스 멀티 에이전트 오케스트레이션 (orchestration), 이전 명칭은 Multi-Agent Orchestrator (관리자/전문가 라우팅)
- Model Context Protocol (MCP): 표준화된 도구 인터페이스 (tool interface)
- AWS Step Functions: 결정론적 워크플로 오케스트레이션 (deterministic workflow orchestration)
의사 결정 트리 (Decision Tree):
- 관리형 에이전트, 최소한의 코드 → Bedrock Agents
- 에이전트 로직에 대한 완전한 제어 → Strands Agents SDK
- 여러 전문 에이전트의 협업 → Agent Squad
- 결정론적 다단계 워크플로 → Step Functions
- 에이전트의 외부 도구 액세스 필요 → 액션 그룹 (Action Groups, Lambda) 또는 MCP 서버
- 메모리 + ID + 이벤트 기능을 갖춘 커스텀 에이전트 → AgentCore
함정 (Traps):
- 액션 그룹 (Action Groups) = OpenAPI 스키마로 정의된 AWS Lambda 함수.
- 제어권 반환 (Return of Control) = 에이전트가 일시 중지하고 액션을 클라이언트에 반환하면, 클라이언트가 이를 실행하고 결과를 반환함.
- Bedrock Agents는 내부적으로 ReAct 패턴을 사용함.
- AgentCore vs Agents: AgentCore = 조립 가능한 인프라; Agents = 완전 관리형 턴키 (turnkey) 솔루션.
- Step Functions는 실행 순서를 보장하며, AI의 의사 결정(decision-making)을 보장하는 것이 아님.
2.2 배포 패턴 (Deployment Patterns)
의사 결정 트리 (Decision Tree):
- 단순한 Bedrock 호출, 급증하는 트래픽 → AWS Lambda + Amazon API Gateway
- 장시간 실행되는 에이전트 세션 → Amazon Elastic Container Service (Amazon ECS) / AWS Fargate
- 커스텀 모델 호스팅 → Amazon SageMaker 실시간 엔드포인트 (Real-time Endpoint)
- 배치 추론 (비실시간) → SageMaker 비동기 (Async) 또는 Bedrock 배치 (Batch)
- 예측 가능한 높은 처리량 → 프로비저닝된 처리량 (Provisioned Throughput)
- 스트리밍 응답 → WebSocket API 또는 Lambda 응답 스트리밍 (Response Streaming)
함정 (Traps):
- Lambda의 15분 제한 시간(timeout)은 복잡한 에이전트 체인(agent chains)에서 문제가 될 수 있습니다.
- SageMaker Serverless = 콜드 스타트(cold starts)가 발생하므로, 지연 시간(latency)에 민감한 워크로드에는 적합하지 않습니다.
- 멀티 모델 엔드포인트(Multi-model endpoints)는 인스턴스를 공유하여 여러 모델에 대한 비용을 절감합니다.
- 추론 구성 요소(Inference Components) = SageMaker에서 세밀한 리소스 할당(fine-grained resource allocation)을 가능하게 합니다.
- Step Functions Standard vs Express: Standard = 장기 실행(long-lived), 정확히 한 번 실행(exactly-once), 콜백 대기(Wait for Callback) 지원. Express = 단기 실행(short), 최소 한 번 실행(at-least-once), 대기(Wait) 상태 지원 안 함.
- 명확화 워크플로(Clarification workflows) + 인간 참여(human-in-the-loop) = 콜백 대기(Wait for Callback)를 사용하는 Step Functions Standard.
- 대화 상태(conversation state)를 위한 Amazon DynamoDB: 온디맨드(on-demand) + 서버 측 암호화(server-side encryption) + 세션 ID를 키(key)로 사용.
- Amazon Augmented AI (Amazon A2I): 신뢰도가 낮은 결과(low-confidence results)를 사람 검토자(human reviewers)에게 전달.
2.3 기업 통합 (Enterprise Integration)
의사 결정 트리 (Decision Tree):
- 내부 문서를 활용한 기업용 검색/질의응답(Q&A) → Amazon Q Business
- 개발자 생산성 → Amazon Q Developer
- 동기식 REST API → API Gateway + Lambda + Bedrock
- 실시간 스트리밍 → WebSocket 또는 AWS AppSync 구독(subscriptions)
- 비동기 처리(Async processing) → Amazon Simple Queue Service (Amazon SQS) + Lambda + Bedrock
함정 (Traps):
- Q Business는 문서 접근에 대해 기존의 IAM/SSO 권한을 준수합니다.
- API Gateway는 반복되는 동일한 프롬프트에 대해 응답을 캐싱(cache)할 수 있습니다.
- Bedrock의 스로틀링(throttling) 발생 시 디커플링(decoupling)을 위해 SQS를 사용하십시오 (큐에 저장 후 재시도).
- Converse API는 InvokeModelWithResponseStream을 통해 스트리밍을 지원합니다.
2.4 Amazon Bedrock API
의사 결정 트리 (Decision Tree):
- 단순 단일 호출 → InvokeModel
- 멀티 모델 지원, 도구 사용(tool use) → Converse API (권장)
- 스트리밍 필요 → InvokeModelWithResponseStream
- 생성(generation)을 포함한 RAG → RetrieveAndGenerate
- 커스텀 RAG 로직 → Retrieve + 자체 생성 호출
함정 (Traps):
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기