AWS Native Agentic AI Platform: 매니지드 서비스 기반 Agent 중심 접근
개요
AWS 매니지드 서비스를 활용하면 인프라 운영이 아닌 Agent의 비즈니스 로직에 집중할 수 있습니다. GPU 관리, 스케일링, 가용성, 보안을 AWS가 처리하고, 개발팀은 Agent가 해결할 문제에만 역량을 투입합니다.
AWS Agentic AI 스택은 세 개의 축(Pillar)으로 구성됩니다.
| Pillar | 서비스 | 역할 |
|---|---|---|
| 기반(Foundation) | Amazon Bedrock | 모델 액세스, RAG, 가드레일, 프롬프트 캐싱 |
| 개발(Development) | Strands Agents SDK | 에이전트 프레임워크, MCP 네이티브, 도구 통합 |
| 운영(Operations) | Amazon Bedrock AgentCore | 서버리스 배포, 메모리, 게이트웨이, 정책, 평가 |
이 문서는 AWS 매니지드 서비스가 제공하는 Agent 개발 최적화 접근을 다룹니다. 매니지드 서비스로 충분한 영역은 AWS에 맡기고, 팀의 역량을 Agent 비즈니스 로직에 집중하는 전략입니다. 다만 이 접근은 다중 모델 여정의 첫 단계입니다. 트래픽 증가에 따른 비용 압박, 도메인 특화 SLM 필요성, 데이터 주권 요구가 생기면 EKS 기반 오픈 아키텍처로 확장하여 자체 호스팅 모델과 Bedrock을 하이브리드로 조합하는 것이 현실적 최적해입니다.
도전과제 해결 매핑
기술적 도전과제에서 다룬 5가지 핵심 과제를 AWS Native 접근으로 해결하는 방법:
| 도전과제 | AWS Native 해결 방안 |
|---|---|
| GPU 리소스 관리 및 비용 최적화 | Bedrock 서버리스 추론 — GPU 관리 불필요 |
| 지능형 추론 라우팅 및 게이트웨이 | Bedrock Cross-Region Inference + AgentCore Gateway |
| LLMOps 관찰성 및 비용 거버넌스 | AgentCore Observability + CloudWatch |
| Agent 오케스트레이션 및 안전성 | Strands SDK + Bedrock Guardrails + AgentCore Policy |
| 모델 공급망 관리 | Bedrock Model Evaluation + Prompt Management |
GPU 인프라 관리, 스케일링, 가용성, 보안을 AWS가 처리하므로 팀은 Agent 비즈니스 로직에만 집중할 수 있습니다. 더 세밀한 제어가 필요한 경우 EKS 기반 오픈 아키텍처와 조합할 수 있습니다.
AWS Agentic AI 서비스 아키텍처
3-Pillar 아키텍처
Amazon Bedrock: 기반 레이어
Amazon Bedrock은 Agentic AI 플랫폼의 기반 인프라를 제공합니다. 100개 이상의 파운데이션 모델에 단일 API로 접근하고, RAG, 가드레일, 프롬프트 캐싱까지 매니지드로 지원합니다.
핵심 기능
| 기능 | 설명 | 핵심 가치 |
|---|---|---|
| 모델 액세스 | Claude, Nova, Llama, Mistral 등 100+ 모델 | 단일 API, 모델 전환 코드 변경 불필요 |
| Knowledge Bases | 문서 파싱 → 청킹 → 임베딩 → 인덱싱 → 검색 | 원클릭 RAG 파이프라인, S3 업로드만으로 완료 |
| Guardrails | PII 필터링, 프롬프트 인젝션 방어, 토픽 제한 | 콘솔에서 정책 설정, 코드 변경 없음 |
| Prompt Caching | 반복 컨텍스트 캐싱 | 비용 최대 90% 절감, 지연 최대 85% 단축 |
| Cross-Region Inference | 리전 간 자동 트래픽 분산 | 용량 한계 시 자동 폴백, 가용성 향상 |
| Prompt Management | 프롬프트 버전 관리, A/B 테스트 | 프롬프트 이력 추적, 롤백 지원 |
| Model Evaluation | 자동화된 모델 평가, 배치 처리 | LLM-as-a-judge, 사람 평가 워크플로우 |
긴 시스템 프롬프트나 반복적인 도구 정의를 사용하는 Agent는 Prompt Caching을 활성화하면 비용과 지연을 대폭 줄일 수 있습니다. 특히 RAG 컨텍스트가 자주 반복되는 패턴에 효과적입니다.
Strands Agents SDK: 개발 프레임워크
Strands Agents SDK는 AWS가 Apache 2.0으로 공개한 오픈소스 에이전트 프레임 워크입니다. 최소한의 코드로 프로덕션급 Agent를 구현하며, Model-agnostic 설계로 Bedrock 외에도 다양한 모델 프로바이더를 지원합니다.
최소 코드 Agent 구현
from strands import Agent
from strands.models import BedrockModel
# 기본 Agent — 3줄로 완성
agent = Agent(
model=BedrockModel(model_id="anthropic.claude-sonnet-4-20250514"),
tools=["calculator", "web_search"],
)
result = agent("서울의 현재 기온을 섭씨와 화씨로 변환해줘")
MCP 네이티브 지원
from strands import Agent
from strands.tools.mcp import MCPClient
# MCP 서버 연결 — 외부 도구를 자동 탐색하여 Agent에 통합
mcp_client = MCPClient(server_url="http://mcp-server:8080")
agent = Agent(
model=BedrockModel(model_id="anthropic.claude-sonnet-4-20250514"),
tools=[mcp_client], # MCP 도구 자동 탐색 및 등록
)
result = agent("최근 주문 내역을 조회하고 배송 상태를 확인해줘")
커스텀 도구 정의
from strands import Agent, tool
@tool
def lookup_customer(customer_id: str) -> dict:
"""고객 정보를 조회합니다."""
# 비즈니스 로직 구현
return {"name": "홍길동", "tier": "GOLD", "since": "2023-01"}
@tool
def create_ticket(title: str, priority: str, description: str) -> dict:
"""고객 문의 티켓을 생성합니다."""
return {"ticket_id": "TK-2026-0042", "status": "OPEN"}
agent = Agent(
model=BedrockModel(model_id="anthropic.claude-sonnet-4-20250514"),
tools=[lookup_customer, create_ticket],
system_prompt="당신은 고객 서비스 Agent입니다. 고객 정보를 조회하고 필요 시 티켓을 생성합니다.",
)
Strands SDK 핵심 특성
| 특성 | 설명 |
|---|---|
| Apache 2.0 | 상업적 사용 자유, 포크 가능 |
| Model-agnostic | Bedrock, OpenAI, Anthropic API, Ollama 등 다양한 백엔드 지원 |
| Framework-agnostic | FastAPI, Flask, Lambda 등 어떤 런타임에서든 실행 |
| MCP 네이티브 | Model Context Protocol 빌트인 지원, 별도 어댑터 불필요 |
| AgentCore 통합 | agentcore deploy 한 줄로 프로덕션 배포 |
| 스트리밍 응답 | 토큰 단위 스트리밍, 실시간 UX 지원 |
Amazon Bedrock AgentCore: 운영 플랫폼
AgentCore는 Agent의 프로덕션 운영에 필요한 모든 것을 매니지드로 제공하는 플랫폼입니다. 2025년 GA(General Availability)로 출시되었으며, 7개의 핵심 서비스로 구성됩니다.
7대 핵심 서비스
1. Runtime — 서버리스 Agent 배포
AgentCore Runtime은 Firecracker MicroVM 기반의 격리된 실행 환경을 제공합니다.
| 항목 | 사양 |
|---|---|
| 격리 수준 | Firecracker MicroVM (하드웨어 수준 격리) |
| 세션 지속 | 최 대 8시간 연속 세션 |
| 스케일링 | 0에서 자동 확장, 요청 없으면 0으로 축소 |
| 배포 | agentcore deploy CLI 또는 CloudFormation |
| 콜드 스타트 | 수 초 이내 |
# Strands Agent를 AgentCore에 배포
agentcore deploy \
--agent-name "customer-service" \
--entry-point "agent.py" \
--runtime python3.12 \
--memory 512 \
--timeout 3600
2. Memory — 단기/장기 기억 관리
Agent가 대화 컨텍스트와 사용자 선호를 기억하도록 하는 매니지드 메모리 서비스입니다.
| 메모리 유형 | 설명 | 활용 예시 |
|---|---|---|
| 단기 메모리 | 세션 내 대화 기록 | 멀티턴 대화에서 이전 질문 참조 |
| 장기 메모리 | 세션 간 지속 정보 | 사용자 선호, 과거 상호작용 패턴 |
| 자동 요약 | 긴 대화를 자동 요약하여 저장 | 컨텍스트 윈도우 초과 시 핵심 정보 유지 |
| 사용자 프로파일 | 개인화 정보 학습 | "이 사용자는 간결한 답변을 선호" |