에이전트를 직접 만들다 보면 정작 모델을 호출하는 코드보다 그 주변을 챙기는 코드가 더 길어지곤 합니다. 모델이 요청한 도구를 실행하고 결과를 다시 모델에 넣는 반복 루프를 짜야 합니다. 여러 턴에 걸친 대화를 저장하고, 길어진 컨텍스트도 정리해야 합니다. 명령을 실행할 격리된 환경과 그 권한까지 애플리케이션이 직접 준비해야 했습니다.
Amazon Bedrock Managed Agents, powered by OpenAI(이하 BMA)는 이 일을 AWS가 대신 맡아 운영하는 관리형 서비스입니다. BMA는 AWS와 OpenAI가 OpenAI Agents API를 바탕으로 함께 만든 서비스로, 2026년 9월 29일 프리뷰로 공개되었습니다. 개발자는 세션을 하나 만들면서 모델, 지침, 도구, 실행 환경을 지정하고 메시지를 보내기만 하면 됩니다.
1. Amazon Bedrock Managed Agents 한눈에 보기
1.1 BMA가 대신 맡는 일
BMA의 역할을 한 문장으로 줄이면 “에이전트의 생각은 BMA 안에서, 손발은 고객 계정의 실행 환경에서 움직인다”입니다. 모델을 호출하고 다음 할 일을 정하는 실행 루프는 BMA 안에서 실행되고, 명령과 도구는 고객 계정의 실행 환경에서 실행됩니다.
이 실행 루프를 Codex 하네스(Harness)라고 부릅니다. OpenAI의 Codex에서 가져온 루프로, 모델에게 다음 할 일을 묻고, 모델이 고른 도구를 실행하고, 그 결과를 다시 모델에 넘기는 과정을 반복합니다. 직접 구현할 때와 비교하면 표 1과 같습니다.
기능
직접 구현할 때
BMA를 사용할 때
실행 루프
도구 호출을 꺼내 실행하고 결과를 다시 넣는 반복을 직접 작성
Codex 하네스가 도구 선택과 반복을 처리
대화 상태
메시지와 도구 결과를 애플리케이션 저장소에 보관
세션이 메시지, 도구 호출, 중간 결과를 유지
긴 컨텍스트
요약이나 잘라내기를 직접 구현
하네스가 오래된 대화를 압축(Compaction)
재사용 절차
프롬프트 템플릿을 코드로 관리
파일로 작성한 Skills를 실행 환경에 배치
권한과 감사
애플리케이션 자격증명으로 처리
에이전트마다 IAM 역할 지정, 지원되는 API 활동은 AWS CloudTrail에 기록
인증
OpenAI API 키 관리
AWS 자격증명으로 요청에 서명, OpenAI API 키 불필요
표 1. 에이전트를 직접 구현할 때와 BMA를 사용할 때의 차이 (BMA 프리뷰 발표문과 Amazon Bedrock User Guide 기준)
그림 1은 요청 하나가 처리되는 모습입니다. 에이전트가 명령을 실행하거나 파일을 다뤄야 하면, BMA는 그 작업을 고객 계정의 실행 환경으로 보냅니다. 실행 환경에서는 codex exec-server라는 프로세스가 BMA에 연결된 채로 기다리다가 전달받은 명령만 실행합니다.
그림 1. BMA의 동작 구조 (Amazon Bedrock User Guide와 AgentCore Developer Guide의 BMA 문서 기준)
글 전체에서 사용하는 용어는 표 2와 같습니다.
용어
의미
세션(Session)
모델, 지침, 도구, IAM 역할, 실행 환경을 지정한 하나의 대화. 여러 메시지에 걸쳐 내용을 기억
턴(Turn)
메시지 하나를 처리하는 작업 단위. 도구 호출과 답변 생성을 포함
아이템(Item),
이벤트(Event)
아이템은 남겨 두는 대화 결과, 이벤트는 작업 진행을 실시간으로 알리는 신호
세션 역할(Session role)
BMA가 고객 대신 모델 추론과 Runtime 실행을 할 때 사용하는 IAM 역할
실행


