프로덕션 환경의 AI 에이전트가 직면한 10대 운영 과제
많은 엔터프라이즈 엔지니어링 조직이 주피터 노트북이나 단순 PoC 환경에서 검증한 AI 에이전트를 프로덕션으로 전환하는 과정에서 심각한 인프라 병목에 직면합니다. 실제 사용자가 유입되면 모델의 추론(Inference) 능력 자체보다 세션 격리, 다중 턴 및 수일 단위의 대화 상태 영속화, 도구(Tool) 호출별 인증 관리, 하부 운영체제(OS) 보안 패치 등 에이전트 추론과 직접 관련 없는 10가지 운영 부담이 발생하기 때문입니다.
"An agent that works in a notebook isn’t an agent in production. After real users arrive, you own work that has nothing to do with your agent’s reasoning."
Amazon Bedrock AgentCore는 프레임워크나 모델에 구애받지 않고 대규모로 에이전트를 구축, 연결 및 최적화할 수 있는 관리형 플랫폼입니다. AgentCore는 컴퓨팅을 담당하는 Runtime, 도구 연동 및 인증을 중계하는 Gateway, 세션 및 영속 상태를 보관하는 Memory로 계층을 분리하여 이러한 운영 부담을 단계적으로 해소합니다.
| 구분 | 기존 자체 호스팅(Self-Hosted) 방식 | Bedrock AgentCore 관리형 방식 |
|---|---|---|
| 컴퓨팅 및 OS 관리 | 인스턴스/컨테이너 프로비저닝 및 OS 패치 직접 수행 | AgentCore Runtime이 세션별 MicroVM 단위로 격리 관리 |
| 상태 및 메모리 관리 | 인프로세스 딕셔너리 혹은 자체 DB 구축 (프로세스 종료 시 휘발) | AgentCore Memory를 통한 크로스 세션/멀티턴 영속화 및 만료 설정 |
| 도구 인증 및 통합 | 에이전트 코드 내 인증 로직 및 엔드포인트 하드코딩 | AgentCore Gateway가 MCP 프로토콜 기반 IAM/JWT 인증 대행 |
| 네트워크 및 거버넌스 | WAF, VPC, Secrets 수동 연동 | AWS IAM, VPC, Bedrock Guardrails 네이티브 통합 |
3단계 마이그레이션: LangGraph 에이전트의 AgentCore 전환
기존에 구축된 LangGraph 기반 고객 지원 에이전트를 AgentCore로 전환하는 과정은 기존 로직의 훼손 없이 단계적으로 진행됩니다. 이 에이전트는 고객의 문의를 분류하여 불만 고객은 상담원에게 에스컬레이션하고, 일반 문의는 주문 조회(lookup_order), 반품 처리(process_return), FAQ 검색(search_faq) 도구를 활용해 응답하는 구조입니다.
- Stage 0: 로컬 LangGraph 베이스라인 측정
- Stage 1: Runtime/Gateway/Memory 계층 분리
- Stage 2: Strands 기반 모델 주도 계획 재구성
- Stage 3: AgentCore Harness 완전 위임
Stage 1: 비즈니스 로직 유지 및 5대 인프라 부담 제거
Stage 1 마이그레이션에서는 에이전트의 추론 로직과 그래프 토폴로지를 그대로 유지한 채 인프라 계층만 전환합니다. AgentCore의 `BedrockAgentCoreApp` 래퍼를 적용하여 진입점을 구성하며, 코드베이스의 변경 범위는 매우 제한적입니다.
- 코드 수정 최소화: 실제 샘플 기준 내부 코드 45줄 수정, SDK 지원 외 신규 코드 22줄 추가, 기존 코드 85줄을 무수정 임포트하여 총 152줄 수준에서 마이그레이션이 완료되었습니다.
- 세션 격리 및 컨텍스트 전달: 기존에 임의로 생성하던 `thread_id` 대신 Runtime이 전달하는 `RequestContext`의 `session_id`를 활용하여 세션별 완전 격리를 달성합니다.
- 도구의 MCP 표준화: `lookup_order`와 `process_return`은 AgentCore Gateway를 통해 AWS Lambda 기반의 Model Context Protocol (MCP) 도구로 등록되어 SigV4 서명 기반 IAM 인증으로 호출됩니다. 반면 외부 공유가 필요 없는 `search_faq`는 로컬 파이썬 함수로 유지됩니다.
- 영속적 체크포인터 적용: 메모리 내 `MemorySaver`를 AgentCore Memory 기반의 퍼스트 파티 체크포인터(`langgraph-checkpoint-aws`)로 교체하여 프로세스 재시작 및 다중 복제본 간 대화 지속성을 보장합니다.
AI 주도 개발 생명주기(AI-DLC)와 멀티 에이전트 거버넌스
소프트웨어 개발 생명주기(AI-DLC) 구축 단계에서 AgentCore는 단순한 챗봇을 넘어 복잡한 엔지니어링 작업을 자동화하고 휴먼 인 더 루프(Human-in-the-Loop) 거버넌스를 유지하는 핵심 백본으로 활용됩니다.
SQL 스키마 기반 Mermaid ER 다이어그램 자동 생성
데이터베이스 변경 사항이 풀 리퀘스트(PR)로 제출될 때 문서 동기화 누락을 방지하기 위해 서버리스 이벤트 기반 에이전트가 동작합니다. 개발자가 SQL 파일을 Amazon S3에 업로드하면 Lambda 트리거가 동작하여 AgentCore Runtime 상의 Strands 프레임워크 에이전트를 호출합니다. Claude Sonnet 4 모델이 DDL 문을 파싱하여 Mermaid 엔터티 관계 다이어그램(.mmd)을 생성하고, 세션 컨텍스트는 90일 만료 주기를 가진 AgentCore Memory에 보관됩니다. 대용량 스키마는 청크 단위로 분할 분석되어 컨텍스트 윈도 한계를 극복합니다.
다차원 코드 보안 분석 및 3대 메모리 전략
GitLab CI/CD 파이프라인과 연동된 다중 에이전트 시스템은 Python 및 Java 코드의 취약점과 정책 위반을 점검합니다. AgentCore Gateway를 통해 CVE 데이터베이스 점검 람다와 보안 정책 점검 람다를 MCP 도구로 분리 호출함으로써 단일 책임 원칙을 유지합니다.
이 시스템은 AgentCore Memory의 3가지 자가 관리 메모리 전략을 활용합니다.
- 시맨틱 전략 (Semantic Strategy): 상세 코드 분석 결과, CVE 발견 내역, 정책 위반 세부사항을 문맥 기반 검색이 가능하도록 저장합니다.
- 요약 전략 (Summary Strategy): 대시보드 시각화 및 트렌드 분석을 위한 집계 지표와 품질 점수(1~10점)를 유지합니다.
- 사용자 선호도 전략 (User Preference Strategy): 세션 간 웹 대시보드 레이아웃 및 필터 설정값을 보존합니다.
멀티모달 옴니채널 고객 경험: WhatsApp 주문 비서 실증
AgentCore는 20억 명 이상의 사용자를 보유한 WhatsApp 플랫폼과 연계하여 텍스트, 음성 메모, 실시간 음성 통화를 단일 백엔드에서 처리하는 옴니채널 비서 구현에 확장 적용되었습니다. 패스트푸드 및 퀵서비스 레스토랑(QSR) 환경에서 채널별로 파편화되던 고객 이력을 단일 고객 ID 해시 기반의 AgentCore Memory로 통합합니다.
채널별 멀티모달 런타임 분리 아키텍처
인바운드 웹훅은 Amazon API Gateway와 SQS를 통해 비동기 처리되며, 미디어 유형에 따라 3개의 전용 컨테이너 런타임으로 분기됩니다.
- 텍스트 메시지 (Chat Runtime): Amazon Nova 2 Lite 모델을 Bedrock Converse API로 호출하여 메뉴 안내 및 주문을 처리합니다.
- 음성 메모 (Voice Note Runtime): Amazon Nova 2 Sonic 모델을 활용하여 음성 입력을 16kHz PCM으로 변환 후 음성-대-음성(Speech-to-Speech) 세션으로 직접 응답합니다. 별도의 텍스트 전사(STT) 파이프라인 없이 Voice-in, Voice-out을 구현합니다.
- 실시간 음성 통화 (Voice Call Runtime): Meta Calling API의 WebRTC SDP 오퍼를 수신하여 Amazon Kinesis Video Streams (KVS) 관리형 TURN 릴레이를 통해 미디어를 중계합니다. DTLS/SRTP 기반 통화 환경에서 Amazon Nova 2 Sonic이 실시간 대화를 주도하며, 이 런타임만 유일하게 VPC 및 NAT Gateway 환경에서 구동됩니다.
모든 런타임은 AgentCore Gateway를 통해 노출된 백엔드 REST API 도구(`GetMenu`, `AddToCart`, `PlaceOrder` 등)를 공통으로 호출하며, AWS CDK를 통해 ARM64 컨테이너 기반으로 자동 배포됩니다.