Anthropic이 제공하는 관리형 에이전트 하네스(harness). 직접 에이전트 루프를 만들 필요 없이, 보안 컨테이너 위에서 Claude가 자율적으로 파일 읽기/쓰기, 명령 실행, 웹 검색, 코드 실행을 수행한다.
1. 핵심 개념 — Messages API vs Managed Agents
구분
Messages API
Claude Managed Agents
정의
모델 직접 프롬프트 접근
사전 구축된 에이전트 하네스 + 관리 인프라
적합한 용도
커스텀 에이전트 루프, 세밀한 제어
장시간 작업, 비동기 작업
인프라
직접 구축
완전 관리형
상태 관리
직접 구현
내장 (파일시스템 + 대화 이력)
요약: 에이전트 루프, 도구 실행, 런타임을 직접 만들고 싶지 않다면 Managed Agents를 사용.
2. 4대 핵심 개념 (Core Concepts)
┌─────────────────────────────────────────────────────┐
│ Agent (에이전트) │
│ 모델 + 시스템 프롬프트 + 도구 + MCP 서버 + 스킬 │
│ │
│ Environment (환경) │
│ 컨테이너 템플릿 (패키지, 네트워크 접근) │
│ │
│ Session (세션) │
│ 환경 위에서 실행되는 에이전트 인스턴스 │
│ 특정 작업 수행, 출력 생성 │
│ │
│ Events (이벤트) │
│ 앱 ↔ 에이전트 간 메시지 │
│ (user turn, tool result, status update) │
└─────────────────────────────────────────────────────┘
개념
설명
Agent
모델, 시스템 프롬프트, 도구, MCP 서버, 스킬을 정의. 한 번 생성 후 ID로 여러 세션에서 재사용
Environment
Python/Node.js/Go 등 패키지가 설치된 클라우드 컨테이너. 네트워크 규칙, 마운트된 파일 포함
Session
에이전트 + 환경 조합으로 실행되는 인스턴스. 특정 작업 수행
Events
SSE(Server-Sent Events)로 스트리밍. 서버에 영구 저장되어 나중에도 조회 가능
3. 작동 흐름 (How It Works)
1. Create Agent → 모델·프롬프트·도구 정의, ID 저장
↓
2. Create Environment → 클라우드 컨테이너 구성
↓
3. Start Session → agent_id + environment_id로 세션 생성
↓
4. Send Events & Stream → user 메시지 전송, SSE로 실시간 수신
↓
5. Steer or Interrupt → 실행 중 추가 메시지로 방향 조정 또는 중단
하나의 코디네이터(Orchestrator) 에이전트가 다른 전문 에이전트들을 호출하여 복잡한 작업을 병렬 처리.
8.1 아키텍처
Session
└── Primary Thread (coordinator)
├── Thread A (reviewer agent) ← 각자 독립된 컨텍스트
├── Thread B (test writer agent) ← 같은 컨테이너/파일시스템 공유
└── Thread C (research agent)
세션이 종료되어도 학습 내용이 유지되는 영구 메모리. 사용자 선호도, 프로젝트 규약, 이전 실수, 도메인 컨텍스트 보존.
9.1 메모리 구조
Memory Store (workspace 범위)
├── Memory (텍스트 문서, 최대 100KB)
│ └── Memory Version (변경 이력 — 불변, 감사/롤백용)
└── Memory (...)
9.2 메모리 도구 (세션에 메모리 스토어 연결 시 자동 활성화)
도구
설명
memory_list
스토어의 메모리 목록 조회 (경로 접두사 필터 가능)
memory_search
전체 텍스트 검색
memory_read
메모리 내용 읽기
memory_write
경로에 메모리 생성/덮어쓰기
memory_edit
기존 메모리 수정
memory_delete
메모리 삭제
9.3 메모리 스토어 생성 및 세션 연결
# 1. 스토어 생성store = client.beta.memory_stores.create( name="User Preferences", description="사용자별 선호도 및 프로젝트 컨텍스트.",)# 2. (선택) 초기 메모리 씨딩client.beta.memory_stores.memories.write( memory_store_id=store.id, path="/preferences/formatting.md", content="항상 탭 대신 스페이스 2칸 사용. ISO-8601 날짜 형식.",)# 3. 세션에 연결session = client.beta.sessions.create( agent=agent.id, environment_id=environment.id, resources=[{ "type": "memory_store", "memory_store_id": store.id, "access": "read_write", # 또는 "read_only" "prompt": "작업 시작 전 반드시 확인하세요.", }],)
9.4 메모리 관리 팁
세션당 최대 8개 메모리 스토어 연결 가능
메모리 하나당 100KB 제한 (~25K 토큰)
큰 파일 하나보다 작고 집중된 파일 여러 개가 효율적
낙관적 동시성 제어:precondition 파라미터로 동시 쓰기 충돌 방지
{"type": "not_exists"} — 경로에 아무것도 없을 때만 쓰기
{"type": "content_sha256", "content_sha256": "..."} — 특정 해시와 일치할 때만 쓰기
9.5 버전 및 감사
# 변경 이력 조회for v in client.beta.memory_stores.memory_versions.list(store.id, memory_id=mem.id): print(f"{v.id}: {v.operation}") # created / modified / deleted# 특정 버전 내용 조회 (롤백용)version = client.beta.memory_stores.memory_versions.retrieve( version_id, memory_store_id=store.id)# 민감 정보 삭제 (규정 준수 — 감사 trail은 유지, 내용만 삭제)client.beta.memory_stores.memory_versions.redact( version_id, memory_store_id=store.id)
10. 이벤트 타입 참고
타입
방향
설명
user.message
앱 → 에이전트
사용자 메시지 전송
agent.message
에이전트 → 앱
에이전트 텍스트 응답
agent.tool_use
에이전트 → 앱
도구 사용 이벤트
user.tool_confirmation
앱 → 에이전트
도구 사용 허가/거부
user.custom_tool_result
앱 → 에이전트
커스텀 도구 실행 결과 반환
session.status_idle
에이전트 → 앱
에이전트 작업 완료
session.thread_created
에이전트 → 앱
멀티에이전트: 새 스레드 생성
session.thread_idle
에이전트 → 앱
멀티에이전트: 스레드 작업 완료
11. API Rate Limits
작업
제한
Create 엔드포인트 (agents, sessions, environments 생성 등)
분당 60 요청
Read 엔드포인트 (retrieve, list, stream 등)
분당 600 요청
조직 수준의 지출 한도 및 티어 기반 Rate Limit도 별도 적용.
12. 브랜딩 가이드라인 (파트너용)
허용
불허
”Claude Agent"
"Claude Code” 또는 “Claude Code Agent"
"Claude” (에이전트 메뉴 내부)
“Claude Cowork"
"{제품명} Powered by Claude”
Claude Code 스타일 ASCII 아트
13. 베타 상태 및 연구 프리뷰
기능
상태
기본 에이전트/세션/환경
공개 베타 (모든 API 계정 기본 활성화)
Outcomes (결과 정의)
Research Preview — 접근 요청 필요
Multi-agent (다중 에이전트)
Research Preview — 접근 요청 필요
Memory (메모리)
Research Preview — 접근 요청 필요
14. 실제 활용 사례 (기업)
기업
활용 내용
Notion
Custom Agents 알파 — 코드 배포, 웹사이트·프레젠테이션 병렬 제작
Rakuten
전사 에이전트 Slack/Teams 통합 (제품·영업·마케팅·재무·HR), 에이전트 1주 내 배포
Asana
AI Teammates — 인간과 협업하는 에이전트를 프로젝트 내 통합
Sentry
디버깅 에이전트 Seer + 패치 작성 에이전트 → 버그 탐지→PR 생성 자동화
15. 학습 체크리스트
Agent, Environment, Session, Events 4대 개념 설명 가능한가?
Messages API와 Managed Agents의 차이를 언제 어느 것을 쓸지 설명 가능한가?
agent_toolset_20260401로 도구를 화이트리스트/블랙리스트 방식으로 설정 가능한가?
커스텀 도구 정의 시 좋은 description을 작성할 수 있는가?
Multi-agent의 Thread 개념과 1단계 위임 제한을 이해하는가?
Memory Store를 생성하고 세션에 연결하는 코드를 쓸 수 있는가?
content_sha256 precondition으로 낙관적 동시성 제어를 구현할 수 있는가?