삼태연구소
SAMTAELABS삼태연구소
트렌드2026년 4월 12일·7분 읽기

AI 에이전트의 두뇌와 손을 분리하면 무슨 일이 벌어지는가 — Anthropic Managed Agents 해설 (anthropic.com)

Managed AgentsAnthropicClaudeAI 에이전트에이전트 아키텍처하네스 설계멀티 에이전트LLM 인프라컨텍스트 엔지니어링장기 실행 에이전트
AI 에이전트의 두뇌와 손을 분리하면 무슨 일이 벌어지는가 — Anthropic Managed Agents 해설

한줄 요약

Claude의 두뇌(추론)와 손(실행)을 분리하면 에이전트는 더 안정적이고, 더 빠르고, 더 안전해진다.

무엇이 달라지나?

AI 에이전트 아키텍처의 가장 큰 함정은 모델 능력이 올라갈수록 하네스(harness)가 오히려 발목을 잡는다는 역설이다. Anthropic은 자사 엔지니어링 블로그를 통해 이 문제를 정면으로 다룬 Managed Agents 설계 원칙을 공개했다.

핵심 아이디어는 고전 운영체제에서 빌려온다. OS가 하드웨어를 프로세스·파일 같은 추상 인터페이스로 가상화해 수십 년의 생명력을 얻었듯, Managed Agents는 에이전트를 구성하는 세 요소를 독립 인터페이스로 분리했다.

  • Session: 세션 동안 발생한 모든 이벤트를 담는 추가 전용(append-only) 로그
  • Harness(두뇌): Claude를 호출하고 도구 호출을 라우팅하는 루프
  • Sandbox(손): Claude가 코드를 실행하고 파일을 편집하는 실행 환경

이전 설계는 세 요소를 단일 컨테이너에 묶었다. 컨테이너 하나가 죽으면 세션도 함께 사라졌다. 운영팀은 문제가 생긴 컨테이너를 마치 애완동물처럼 수작업으로 되살려야 했다(클라우드 업계의 표현을 빌리면 "pet" 방식). 디버깅을 위해 컨테이너 내부에 직접 접근해야 했는데, 그 컨테이너에는 사용자 데이터도 함께 들어 있었다.

분리 이후에는 전혀 다른 그림이 된다. 하네스가 샌드박스를 execute(name, input) → string이라는 단일 인터페이스로만 호출한다. 컨테이너가 죽어도 하네스는 이를 도구 호출 에러로 처리하고, Claude가 재시도를 결정하면 새 컨테이너를 provision({resources})로 초기화하면 끝이다. 하네스 자체가 죽어도 세션 로그는 외부에 보존되어 있으므로 wake(sessionId)로 재기동해 이어가면 된다.

성능 수치가 말해주는 것

기존 구조에서는 세션이 샌드박스를 필요로 하든 않든, 모든 세션이 컨테이너 기동 비용을 전부 선불로 지불했다. 분리 후에는 컨테이너가 실제로 필요한 시점에 도구 호출로 즉석에서 프로비저닝된다. 그 결과 최초 응답 토큰까지 걸리는 시간(TTFT)이 p50 기준 약 60%, p95 기준 90% 이상 단축됐다고 Anthropic은 밝혔다.

보안 경계가 구조적으로 달라진다

단일 컨테이너 설계에서는 Claude가 생성한 코드와 인증 토큰이 같은 공간에 존재했다. 프롬프트 인젝션 하나로 토큰 탈취가 가능한 구조였다. 분리 후에는 토큰이 샌드박스에 절대 도달하지 않는다. Git 접근은 초기화 시점에 리포지토리에 직접 연결해두고, MCP 커스텀 도구의 OAuth 토큰은 외부 보안 볼트에 보관한다. Claude의 코드가 실행되는 샌드박스에서는 어떤 자격증명도 읽을 수 없다.

세션은 컨텍스트 윈도우가 아니다

장기 작업은 Claude의 컨텍스트 윈도우를 초과한다. 기존 접근법(압축, 트리밍)은 어떤 토큰을 버릴지 비가역적으로 결정해야 했다. Managed Agents에서는 세션 로그 자체가 외부 컨텍스트 객체가 된다. getEvents()를 통해 하네스가 필요한 위치의 이벤트 슬라이스를 선택해 가져올 수 있다. 맥락을 되감거나 특정 시점 이전 상황을 다시 읽는 것도 가능하다. 무엇을 버릴지 결정하기 전에, 무엇이 있었는지를 언제든 다시 확인할 수 있다.

실무에서 어떤 의미인가?

이 설계의 진짜 가치는 모델이 좋아질수록 하네스를 버리지 않아도 된다는 데 있다. Anthropic 자신도 Claude Sonnet 4.5에서 "컨텍스트 불안(context anxiety)" 현상을 잡기 위해 컨텍스트 리셋 로직을 하네스에 넣었다가, Claude Opus 4.5에서는 그 동작이 사라져 해당 코드가 사실상 죽은 코드가 됐다고 인정했다. 모델 가정이 하네스 코드 안에 하드코딩될수록 유지보수 부채가 쌓인다.

Managed Agents는 이 문제를 인터페이스 안정성으로 해결한다. 내부 구현은 교체해도 인터페이스는 유지된다. Claude Code처럼 범용 하네스도, 특정 도메인에 최적화된 전용 하네스도 같은 구조 위에서 작동할 수 있다.

또 하나 주목할 점은 "many brains, many hands" 확장 모델이다. 두뇌와 손이 분리되면 두뇌 여러 개가 하나의 손을 공유하거나, 두뇌가 다른 두뇌에게 손을 넘겨주는 다중 에이전트 협업이 인터페이스 수준에서 자연스럽게 지원된다. 하네스가 샌드박스의 실체(컨테이너인지, 디바이스인지)를 알 필요가 없기 때문이다.

도입 전 체크포인트

이 아키텍처를 실제로 적용하거나 참고할 때 짚어볼 포인트들이다.

1. 현재 하네스 안에 얼마나 많은 모델 가정이 박혀 있는가 컨텍스트 길이, 특정 실패 패턴, 응답 포맷 등이 코드로 고정돼 있다면 모델 업그레이드 시 회귀 위험이 크다.

2. 세션 로그가 외부에 존재하는가 장애 복구 관점에서 세션 상태가 프로세스 내부에 있다면 그것 자체가 단일 장애점이다.

3. 인증 토큰이 실행 환경에서 접근 가능한가 에이전트가 생성한 코드와 자격증명이 같은 컨텍스트에 있다면 프롬프트 인젝션 공격 면적이 구조적으로 넓다.

4. TTFT가 실제로 병목인가 컨테이너 기동 비용이 모든 세션에 공통으로 부과되고 있다면, 지연 프로비저닝 전략만으로도 체감 응답 속도를 크게 개선할 수 있다.

자주 묻는 질문

Q.Managed Agents를 쓰려면 기존 Claude API 코드를 전면 재작성해야 하나?

Anthropic은 소수의 안정적 인터페이스로 구성된 hosted 서비스로 Managed Agents를 제공한다. 기존 하네스 로직을 완전히 버릴 필요는 없다. 핵심은 세션 로그, 하네스, 샌드박스를 각각 독립된 인터페이스로 분리하는 구조 변경이며, Anthropic 공식 문서의 가이드를 따르면 점진적 전환이 가능하다. 전면 재작성보다는 경계 설계 변경에 가깝다.

Q.세션 로그를 외부에 두면 개인정보나 민감 데이터 관리가 어렵지 않나?

세션 로그는 에이전트 작업 이력 전체를 포함하므로 데이터 분류와 접근 통제가 중요해진다. Anthropic 설계에서는 하네스가 세션 로그를 읽어 Claude 컨텍스트에 넣기 전에 변환을 적용할 수 있으므로, 민감 정보 필터링이나 마스킹을 이 레이어에서 처리할 수 있다. 다만 로그 보존 정책과 접근 권한 설계는 별도로 수립해야 한다.

Q.다중 에이전트(multi-agent) 시나리오에서 이 구조가 유리한 이유는 무엇인가?

두뇌와 손이 분리되면 각 에이전트(두뇌)가 같은 실행 환경(손)을 공유하거나, 한 에이전트가 다른 에이전트에게 실행 환경 접근권을 위임하는 것이 인터페이스 수준에서 가능해진다. 기존 단일 컨테이너 구조에서는 하나의 컨테이너가 실패하면 그 안에서 뻗어나간 모든 작업이 동시에 사라졌다. 분리 구조에서는 각 손이 독립적으로 실패하고 복구되기 때문에 오케스트레이션 복잡도가 줄어든다.

새로운 기술 도입, 어디서부터 시작해야 할지 고민이라면

대표 개발자가 직접 소통하고, 설계하고, 구축합니다. 중간 과정 없이 의도 그대로.

다른 아티클