세션이 복구돼도 외부 작업은 중복될 수 있다: Managed Agents의 책임 경계
관리형 실행이 맡는 세션 복구와 애플리케이션이 맡는 권한·데이터·외부 부작용 검증을 구분한다.

Anthropic Applied AI 팀은 에이전트를 운영하려면 코드 실행 공간, 자격증명, 세션, 관측, 확장 관리가 필요하다고 설명한다. Managed Agents는 이러한 기반을 제공하지만, 애플리케이션이 맡아야 할 권한 관리, 검증, 데이터 처리 책임까지 없애 주지는 않는다.
API에서 Agent SDK, 그리고 Managed Agents까지
2023년 Anthropic이 개발자에게 처음 API를 공개했을 때의 사용 방식은 단순했다. 토큰을 입력하면 토큰이 반환되었고, 문서 요약이나 티켓 분류 같은 단일 턴 작업은 요청 한 번과 모델 응답 한 번으로 충분했다.
원본 그림 크게 보기 (https://portfolio.ywsung.com/static/images/c198f593-5e93-4060-a07a-cfd31b1c77d3.webp (새 창)) · 공식 원문 (https://claude.com/blog/building-with-claude-managed-agents (새 창))
하지만 여러 단계를 거치는 작업에는 모델의 판단, 도구 실행, 결과 전달을 반복하는 루프가 필요하다. API를 직접 호출하는 팀은 이 실행 구조를 직접 구축하고 모델이 바뀔 때마다 맞춰서 유지보수해야 한다.
2025년 출시된 Claude Agent SDK는 이 문제를 일부 해결했다. Claude Code와 동일한 하네스 위에서 에이전트를 만들 수 있게 되었고, 루프와 툴 실행, 서브에이전트, 컨텍스트 관리가 미리 조율되어 제공되며 모델이 발전함에 따라 하네스도 함께 개선된다.
그럼에도 프로덕션 배포 단계에서는 다음과 같은 과제가 남는다.
호스팅과 스케일링: 에이전트는 어디서 실행되며, 여러 시간에 걸쳐 이어지는 작업은 얼마나 오래 유지되는가
세션 관리: 에이전트 히스토리와 진행 상태는 어디에 저장되며, 작업이 중단된 후 다시 이어갈 수 있는가
파일시스템 관리: 에이전트가 파일을 생성하고 수정할 작업 공간은 어디인가
실행 격리: 생성된 코드는 어디서 실행되며, 오류가 발생했을 때 영향 범위는 어디까지인가
자격증명: 에이전트가 내부 시스템에 어떻게 접근하는가
관측 가능성: 에이전트가 자율 실행 중 예상치 못한 동작을 했을 때 모든 단계를 역추적하여 재구성할 수 있는가

판단 루프와 코드 실행 환경 분리하기
Claude Managed Agents는 하네스(뇌)와 샌드박스(손)를 분리한다. 기존 방식은 에이전트 하네스와 코드를 실행하는 파일시스템이 같은 컨테이너 안에 묶여 있어 세 가지 문제가 발생한다.
컨테이너가 실행된 뒤에야 모델 추론이 시작된다.
자격증명이 있는 곳 가까이에서 코드가 실행된다.
컨테이너가 종료되면 실행도 함께 중단된다.
Managed Agents는 하네스와 코드 실행 샌드박스를 분리하고, 모델·도구 호출과 그 결과를 순서대로 기록하는 세션 로그로 둘을 연결한다. 덕분에 컨테이너 준비와 추론 시작을 동시에 진행할 수 있고, 실행 기록도 프로세스 외부에 보존한다.
핵심 개념: 에이전트, 환경, 세션
Managed Agents는 세 가지 기본 리소스로 구성된다.
에이전트(Agent): 모델, 프롬프트, 툴 세트, 가드레일을 정의하는 설정 파일이다.
환경(Environment): 에이전트가 실행되는 컨텍스트로, 샌드박스 컨테이너, 네트워크 규칙, 사전 설치된 패키지를 포함한다. Anthropic 클라우드나 자체 인프라에서 호스팅할 수 있다.
세션(Session): 에이전트와 환경을 연결하는 개별 실행 단위이다. 독립된 격리 샌드박스 인스턴스를 가지며, 전체 이벤트 히스토리와 샌드박스 상태를 서버 측에 유지한다.
에이전트와 환경은 한 번만 정의해 두고 동일한 설정으로 여러 세션을 실행할 수 있다.

프로덕션에서 실제로 달라지는 점
자격증명을 샌드박스 외부에 분리
하네스와 샌드박스가 같은 컨테이너에서 실행되면 생성된 코드가 실행되는 곳 가까이에 자격증명이 놓이게 되어, 프롬프트 인젝션으로 토큰이 유출될 위험이 있다. Managed Agents의 Vaults (https://platform.claude.com/docs/en/managed-agents/vaults (새 창))는 MCP, CLI, GitHub 등 툴 자격증명을 별도 볼트에 보관하고, 필요할 때만 프록시를 통해 요청하여 복호화한다. 저장 시에는 봉투 암호화가 적용되며, 자격증명을 조회할 때는 서명된 요청 토큰이 필요하다.
환경 준비와 추론 병행을 통한 지연 시간 단축
기존에는 툴을 쓰지 않는 세션이라도 컨테이너가 켜질 때까지 기다려야 했다. Managed Agents는 환경을 병렬로 띄우는 동시에 추론을 즉시 시작하며, 툴을 실행하지 않는 세션은 아예 컨테이너 구동을 건너뛴다. 내부 테스트 결과 첫 토큰 도달 시간(time-to-first-token)이 중간값(p50) 기준 약 60%, 95백분위(p95) 기준 90% 이상 줄어들었다.
세션 내구성과 관측 가능성
세션은 이벤트 스트림 형태로 동작하며, 모든 모델 호출, 툴 호출, 실행 결과가 프로세스 외부 로그에 기록된다. 덕분에 이벤트를 실시간으로 수신하고 세션을 재개할 수 있어, 애플리케이션에서 별도의 데이터베이스나 세이브포인트를 직접 구현할 부담이 줄어든다. 세션이 유휴 상태가 되면 컨테이너를 체크포인트로 저장했다가 중단된 지점부터 다시 이어간다.
Claude Developer Console에서는 에이전트 세션의 시각적 타임라인과 트랜스크립트를 확인하며 디버깅할 수 있는 환경을 제공한다.
Dreaming을 통한 세션 간 메모리 정제
Dreaming (https://platform.claude.com/docs/en/managed-agents/dreams (새 창))은 에이전트 세션과 메모리 저장소를 검토해 패턴을 추출하고 메모리를 큐레이션하는 비동기 프로세스이다. 누적된 세션 로그를 읽어 들여 반복되는 실수와 사용자 선호도를 바탕으로 메모리를 다듬는다.
자체 샌드박스와 모델 추론의 데이터 경계
뇌와 손이 분리된 구조 덕분에 Anthropic 관리형 클라우드뿐만 아니라 자체 호스팅 샌드박스 (https://platform.claude.com/docs/en/managed-agents/self-hosted-sandboxes (새 창))를 VPC 내부에 구축해 코드 실행 환경, 파일시스템, 네트워크 이그레스를 직접 통제할 수 있다. 단, 하네스와 모델 추론 자체는 Anthropic 환경에서 실행되므로 모든 데이터가 VPC 외부로 나가지 않는 구성이라고 해석해서는 안 된다. 비공개 네트워크 내부의 MCP 서버에 Claude를 연결할 때는 MCP 터널 (https://platform.claude.com/docs/en/agents-and-tools/mcp-tunnels/overview (새 창))을 사용한다.
하네스는 모델과 함께 진화해야 한다
Anthropic에 따르면 Claude Sonnet 4.5는 컨텍스트 한도에 가까워지면 작업을 서두르는 '컨텍스트 불안' 증상을 보였고, 이를 하네스 차원의 컨텍스트 리셋으로 대응했다고 한다. 반면 Claude Opus 4.5에서는 이러한 현상이 사라지면서 기존의 리셋 처리가 오히려 불필요한 비용이 되었다.
관리형 하네스를 쓰면 이처럼 모델 특성에 맞춘 조정을 제공자에게 맡길 수 있다. 개발 팀은 하네스를 직접 유지보수할 부담을 덜 수 있지만, 실제 사용하는 모델과 도구, 업무 조건에서 에이전트가 의도대로 동작하는지 평가할 책임은 여전히 팀에 남는다.
실제 사용 사례
다음은 Anthropic이 소개한 고객 사례이다.
Notion: Managed Agents 위에서 Custom Agents를 실행한다. 태스크 보드에서 작업을 할당하면 관련 문서와 미팅 노트를 가져와 완성된 코드, 덱, 사이트를 워크스페이스에 반환한다. 초기 프로토타입에서 약 12시간 분량의 작업을 20분으로 단축했다.
Rakuten: 제품, 영업, 마케팅, 재무 분야의 전문 에이전트를 각각 약 1주일 만에 출시했다.
Sentry: 디버깅 에이전트인 Seer와 패치를 작성해 PR을 생성하는 Claude 에이전트를 연결하여, 수개월 걸리던 작업을 수주 만에 구축했다.
초기 설정과 운영 준비 구분하기
콘솔 platform.claude.com (https://platform.claude.com (새 창))에서 제공하는 템플릿이나 자연어 설정으로 시작할 수 있다. 하지만 초기 설정을 마쳤다고 해서 곧바로 운영 환경에 투입할 준비가 끝난 것은 아니다. 실행 권한, 자격증명 경계, 세션 재개, 외부 동작 중복, 데이터 전송 범위를 실제 업무 조건에서 직접 확인해야 한다.
Claude Code는 기본 내장된 /claude-api 스킬을 통해 Managed Agents 구축 참고 자료를 제공한다. /claude-api managed-agents-onboard를 실행하면 문답 형식으로 새 Managed Agent 설정을 안내하는 워크스루가 시작된다.
처음에는 권한과 데이터 범위를 제한한 작업부터 시작해 세션 재개, 외부 작업 중복, 감사 기록을 점검하는 것이 좋다. 관리형 실행 환경이 처리해 주는 복구와 애플리케이션이 직접 책임져야 할 복구를 구분해 검증한 뒤에 운영 범위를 넓혀야 한다.
가상의 티켓 생성 작업에서 외부 서버가 저장은 마쳤지만 응답이 끊겼다고 가정해 보자. 세션 로그에 성공 응답이 남지 않았다고 해서 외부 시스템에 티켓이 생성되지 않았다는 뜻은 아니다. 복구된 에이전트가 동일한 생성 작업을 다시 시도하면 티켓이 두 건 만들어질 수 있다. 이는 Managed Agents에서 실제로 관측된 결함이 아니라, 세션 복구와 외부 시스템 상태가 맞닿는 경계에서 점검해야 할 실패 조건이다.
애플리케이션은 논리적으로 동일한 작업에 대해 요청 식별자를 유지하며, 외부 서비스가 멱등 키를 지원한다면 같은 키로 결과를 조회하거나 재시도한다. 멱등 키를 지원하지 않는다면 업무 식별자를 활용해 이미 생성된 작업이 있는지 확인할 방법을 검토한다. 결과를 확인할 수 없는 경우 곧바로 실패로 단정하지 않고 미확인 상태로 남겨 두어 추가 생성을 멈추는 선택도 필요하다.
검증 단계에서는 생성 직전 중단, 서버 저장 후 응답 유실, 정상 응답 후 세션 중단을 구분해 살펴본다. 각 상황에서 최종 생성된 티켓 수와 소유자, 재개 기록이 예상과 일치하는지 확인한다. 세션이 정상 재개됐다는 관측과 실제 업무가 정확히 한 번만 완료됐다는 관측을 분리해 기록해야 제공자와 애플리케이션의 책임을 혼동하지 않는다.
원문: The evolution of agentic surfaces: building with Claude Managed Agents (https://claude.com/blog/building-with-claude-managed-agents (새 창)) — Gagan Bhat, Isabella He (Anthropic Applied AI, 2026년 6월 10일)
참고 자료
Scaling Managed Agents: Decoupling the brain from the hands — Anthropic (https://www.anthropic.com/engineering/managed-agents (새 창))
Claude Managed Agents 문서 (https://platform.claude.com/docs/en/managed-agents/overview (새 창))
