AWS, AgentCore Memory '네임스페이스 설계 패턴' 가이드 공개… {actorId}/{sessionId}/{memoryStrategyId} 변수, IAM 기반 접근 제어
아마존 웹 서비스(AWS)가 Amazon Bedrock AgentCore Memory에서 장기 메모리 레코드를 조직·검색·접근 제어하기 위한 '네임스페이스 설계 패턴' 가이드를 공개했다. AI 에이전트가 세션 간에 컨텍스트를 기억하려면 단순 저장을 넘어 조직화·검색 가능·보안이 갖춰진 메모리가 필요하며, AgentCore Memory에서는 네임스페이스가 장기 메모리 레코드의 조직 방식·검색 방식·접근 권한을 결정한다고 설명했다.
네임스페이스는 AgentCore Memory 리소스 안에서 장기 메모리 레코드를 조직하는 계층 경로로, 파일 시스템의 디렉터리 경로와 같은 역할을 한다. 예를 들어 사용자의 선호도는 '/actor/customer-123/preferences/' 아래에, 세션 요약은 '/actor/customer-123/session/session-789/summary/'에 저장될 수 있다. AWS는 Amazon DynamoDB의 파티션 키나 Amazon Simple Storage Service(Amazon S3)의 폴더 계층을 다뤄본 개발자라면 멘탈 모델이 그대로 옮겨 적용된다고 부연했다.
파티션 키와 결정적 차이는 정확 일치 외에 계층적 검색까지 지원한다는 점이다. 잘 설계된 네임스페이스 하나로 단일 세션 범위, 사용자의 크로스 세션 범위, 또는 더 넓은 그룹 단위의 메모리를 같은 메모리 리소스에서 검색할 수 있다. 네임스페이스는 동일 저장소 내 논리적 그룹화이며, 서로 다른 네임스페이스의 레코드는 같은 메모리 리소스 안에서 공존한다. 가이드는 AWS Identity and Access Management(IAM) 기반 접근 제어 구현 방법까지 함께 다룬다.
메모리 리소스 생성 시에는 각 전략 구성의 'namespaceTemplate' 필드로 템플릿을 정의하며, 사전 정의 변수는 세 가지다. {actorId}는 처리 중인 이벤트의 액터 식별자, {sessionId}는 세션 식별자, {memoryStrategyId}는 전략 식별자로 해석된다. 예컨대 actorId=customer-456, sessionId=session-789로 이벤트가 들어오면 해석된 네임스페이스는 '/actor/customer-456/facts/'와 '/actor/customer-456/session/session-789/summary/'가 된다.
메모리 전략별 권장 패턴도 함께 제시됐다. Semantic 메모리(예: '고객사 직원 수가 500명')와 User Preference 메모리(예: '사용자는 개발 시 Python을 선호')는 시간이 지나며 누적되고 세션을 넘어 유효하므로 액터 범위로 묶는다. 동일 네임스페이스 내 관련 메모리들은 통합 엔진이 병합한다. 어드민이 액터 간 정보를 조회해야 하는 고객 지원·세일즈 시나리오에서는 액터 식별자를 메모리 유형의 자식으로 두는 인버티드 구조를 권한다. 이 경우 namespacePath='/customer-issues/'로 모든 고객의 공통 이슈를, '/customer-issues/customer-123/'로 특정 액터의 이슈만 조회할 수 있어 필요 시 격리도 보존된다.
Summary 메모리는 대화의 핵심을 압축해 LLM 컨텍스트 토큰 사용을 크게 줄이는 용도로, 본질적으로 특정 대화에 묶이므로 '/actor/{actorId}/session/{sessionId}/summary/'처럼 세션 식별자를 포함시켜 세션 단위로 범위를 설정하되 액터 아래에 두어 크로스 세션 검색도 가능하게 한다. Episodic 메모리는 목표·단계·결과·성찰을 담은 완전한 추론 추적으로, 비행 예약 에이전트가 항공편 검색·옵션 비교·요금 등급(fare class) 제약 처리·대체편 재예약 과정을 한 에피소드로 저장하는 식이다. 에피소드는 발생한 세션 범위로 두되, 세션을 넘어 일반화된 'reflections'(예: '요금 등급 제약으로 변경이 막히면 정책 설명에 그치지 말고 즉시 대체편을 검색')는 에피소드 네임스페이스의 상위(부모) 경로에 위치시킨다.
검색 측면에서 AgentCore Memory는 장기 메모리용 기본 검색 API 세 가지를 제공하며, 그 중 RetrieveMemoryRecords가 시맨틱 검색의 표준 수단으로 권장된다. 텍스트 정확 일치가 아닌 의미 기반으로 가장 관련성 높은 메모리를 표면화하며, 검색 쿼리는 사용자 질문을 그대로 사용하거나(예: '내 예산이 얼마야?'와 같이 선호·사실 메모리에 자연스럽게 매핑되는 경우) 보다 복잡한 시나리오에서는 에이전트의 LLM이 표적화된 검색 쿼리를 직접 생성하도록 할 수 있다.