Claude Managed Agents 메모리 출시 — Rakuten이 첫 시도 오류를 97% 줄인 비결
Anthropic이 2026년 4월 23일 Claude Managed Agents 메모리 기능을 공식 출시했습니다(Public Beta). 같은 날 Rakuten은 도입 결과를 공개하면서 첫 시도 오류 97% 감소, 비용 27% 절감, 응답 지연 34% 감소라는 충격적인 메트릭을 발표했어요. 이 글에서는 Claude Managed Agents 메모리가 정확히 무엇이고, 어떻게 작동하며, 왜 이런 효과가 가능한지를 단계별로 정리합니다.
한 줄 요약: 메모리가 해결하는 문제
비유하자면, 매일 출근할 때마다 신입사원 상태로 리셋되던 직원에게 마침내 학습 노트북을 쥐여준 셈입니다.
기존 Managed Agents의 가장 큰 한계는 명확했습니다. 세션이 끝나면 학습한 내용이 모두 사라졌거든요. 같은 사용자에게 매번 같은 설명을 반복하고, 어제 정한 규칙을 오늘 다시 묻는 일이 반복됐습니다. 이걸 우회하려면 각 팀이 직접 RAG 인프라(벡터 DB, 임베딩 파이프라인, 검색 API)를 구축해야 했죠.
Claude Managed Agents 메모리는 이 문제를 플랫폼 레벨에서 해결합니다. 별도 인프라 없이 세션 간 학습이 영속되며, 운영 메트릭이 두 자릿수 단위로 개선됩니다.
메모리 스토어란 무엇인가
비유하자면, 회사의 공유 서랍장입니다. 누구든 서랍을 열고 메모를 꺼내거나 새 메모를 넣을 수 있어요.
Memory Store는 workspace-scoped 텍스트 문서 컬렉션입니다. 핵심 개념은 세 가지로 정리됩니다.
| 개념 | 설명 |
|---|---|
| Memory Store | 텍스트 문서들이 저장되는 컨테이너 |
| Memory | path로 주소화되는 개별 텍스트 파일 |
| Memory Version | 모든 변경마다 생성되는 불변 스냅샷 |
각 메모리는 최대 100KB(약 25K 토큰)까지 저장할 수 있고, 스토어 하나에 메모리 2,000개까지 담깁니다. 큰 단일 파일보다 작고 집중된 여러 파일로 구조화하는 것이 권장됩니다.
작동 원리: 파일시스템 마운트 방식
비유하자면, USB 드라이브를 컴퓨터에 꽂으면 새 폴더가 생기는 것과 같습니다. 별도 프로그램 없이 평소 쓰던 파일 탐색기로 바로 접근하죠.
Claude Managed Agents 메모리는 별도 검색 시스템이 아닙니다. 세션 컨테이너 안에 /mnt/memory/{store-name} 경로로 디렉토리가 마운트됩니다. 에이전트는 평소 쓰던 Read, Write, Bash 같은 표준 도구로 메모리를 그냥 파일처럼 다룹니다.
추가로, 마운트 경로, access 모드, 설명, 사용 지침이 시스템 프롬프트에 자동 주입되므로 에이전트는 별도 학습 없이 메모리를 인지합니다. 새로운 메모리 API를 학습할 필요가 없는 게 핵심입니다.
API 사용법 (생성 → Seed → Attach → CRUD)
1. Beta Header 설정
SDK를 쓰면 자동 처리되지만, 직접 호출 시에는 다음 헤더가 필요합니다.
managed-agents-2026-04-01
2. Memory Store 생성
store = client.beta.memory_stores.create(
name="User Preferences",
description="Per-user preferences and project context.",
)
# Returns: memstore_01Hx... ID
3. 초기 콘텐츠 시드 (Optional)
세션 시작 전에 표준 문서나 기본 규칙을 미리 주입할 수 있습니다.
client.beta.memory_stores.memories.create(
store.id,
path="/formatting_standards.md",
content="All reports use GAAP formatting...",
)
4. 세션에 첨부
session = client.beta.sessions.create(
agent=agent.id,
environment_id=environment.id,
resources=[
{
"type": "memory_store",
"memory_store_id": store.id,
"access": "read_write", # or "read_only"
"instructions": "User preferences and project context. Check before starting any task.",
}
],
)
중요한 제약: 메모리 스토어는 세션 생성 시점에만 첨부 가능합니다. 실행 중 추가하거나 제거할 수 없어요.
5. CRUD 작업
| 작업 | 메서드 |
|---|---|
| 목록 조회 | memories.list(store_id, path_prefix="/", depth=2) |
| 단건 조회 | memories.retrieve(memory_id, store_id) |
| 생성 | memories.create(store_id, path, content) |
| 수정 | memories.update(memory_id, store_id, content) |
| 삭제 | memories.delete(memory_id, store_id) |
실제 도입 사례와 검증된 효과
Rakuten — 가장 인상적인 메트릭
- 첫 시도 오류 97% 감소
- 비용 27% 절감
- 지연 34% 감소
"Memory in Claude Managed Agents lets us put continuous learning into production at scale" — Yusuke Kaji, GM AI for Business, Rakuten
Wisedocs — 문서 검증 30% 빠름
문서 검증 파이프라인에서 cross-session memory로 반복적 문서 이슈를 식별하고 기억시켜, 검증 속도가 30% 향상됐습니다.
Netflix — 수동 업데이트 제거
다중 턴으로 발견한 인사이트와 사람의 중간 수정 사항을 세션 간에 운반합니다. 프롬프트나 스킬을 수동으로 업데이트할 필요가 없어졌습니다.
Ando — 인프라 부담 제거
"Memory lets us stop building memory infra and focus on the product itself" — Sara Du, Founder, Ando
보안 주의사항: Prompt Injection 방어
비유하자면, 회사의 게시판에 누구나 글을 쓸 수 있게 해두면, 외부인이 가짜 공지를 붙여도 직원들은 진짜로 믿게 되는 것과 같습니다.
기본 access 모드는 read_write입니다. 위험은 에이전트가 untrusted 입력(사용자 프롬프트, 웹 콘텐츠, 3rd-party 도구 결과)을 처리할 때 발생합니다. 악성 콘텐츠가 메모리에 기록되면 다음 세션이 그것을 신뢰할 수 있는 메모리로 읽어버립니다.
다음 경우는 반드시 read_only로 첨부하세요.
- 참조 자료 (표준, 컨벤션, 가이드라인)
- 공유 lookup 데이터
- 에이전트가 수정할 필요 없는 모든 스토어
추가로, 여러 에이전트가 같은 스토어에 동시에 작업할 때는 content_sha256 precondition을 사용해 낙관적 동시성 제어를 수행합니다.
client.beta.memory_stores.memories.update(
memory_id=mem.id,
memory_store_id=store.id,
content="CORRECTED: ...",
precondition={"type": "content_sha256", "content_sha256": mem.content_sha256},
)
다른 세션이 먼저 수정한 경우 hash mismatch로 실패하므로, 에이전트는 다시 읽고 재시도하면 됩니다.
RAG와의 차이점
비유하자면, RAG가 별도의 도서관 사서를 고용하는 것이라면, Memory Stores는 책장을 사무실 안에 직접 가져다 놓는 것입니다.
| 항목 | RAG (전통적) | Memory Stores (Claude Managed Agents 메모리) |
|---|---|---|
| 액세스 방식 | 별도 검색 API | 파일시스템 마운트 |
| 학습 곡선 | 임베딩, 인덱싱, 검색 쿼리 학습 | bash/Read/Write 그대로 사용 |
| 인프라 | 벡터 DB + 임베딩 모델 별도 운영 | Claude Platform 관리형 |
| 감사 | 별도 구축 | 자동 (immutable versions) |
| 권한 | 별도 구현 | scoped (read_only/read_write) 내장 |
| 동시성 | 별도 락 | content_sha256 precondition 내장 |
한계와 베타 제한 사항
아직 Public Beta이고 다음 한계가 있습니다.
| Limit | Value |
|---|---|
| Memory stores per organization | 1,000 |
| Memories per store | 2,000 |
| Total storage per store | 100 MB |
| Versions per store | 250,000 |
| Size per memory | 100 KB |
| Version history retention | 30 days |
| Memory stores per session | 8 |
instructions field per attachment | 4,096 chars |
특히 버전 보존 30일 제한은 주의가 필요합니다. 30일 이상 보관해야 하는 감사 로그는 API로 export 해두어야 합니다. 또한 메모리 스토어는 세션 생성 시점에만 첨부 가능하므로, 실행 중 동적 첨부가 필요한 시나리오는 현재 지원되지 않습니다.
시작하는 방법
다음 순서로 빠르게 시작할 수 있습니다.
- Anthropic SDK 최신 버전 설치 (
pip install anthropic) - Beta header 자동 활성화 확인 (SDK 사용 시 자동)
- 첫 메모리 스토어 생성:
client.beta.memory_stores.create(name=..., description=...) - 표준 참조 자료를 시드(
memories.create) - 에이전트 세션 생성 시
resources배열에 첨부 (참조 자료는read_only) - 변경 사항이 발생할 때마다
memory_versions.list로 감사 로그 확인