피드로 돌아가기
Designing the Agent Memory Schema: Document Shapes for Short-Term, Episodic, and Semantic Memory in MongoDB
Dev.toDev.to
Database

MongoDB 기반 AI Agent 메모리 계층별 최적화 스키마 설계

Designing the Agent Memory Schema: Document Shapes for Short-Term, Episodic, and Semantic Memory in MongoDB

MongoDB Guests2026년 5월 19일15intermediate

Context

AI Agent 메모리 분류 체계와 API 프레임워크는 존재하나 실제 DB 구현 레벨의 Document Shape 정의가 부재한 상황. 특히 모델의 Context Window 제한과 메모리 유형별 서로 다른 Retrieval 패턴을 처리할 구체적인 저장 구조가 필요함.

Technical Solution

  • Short-term Memory: Thread 단위의 Embedded Array 구조를 통해 단일 Document Fetch로 읽기 성능을 최적화하고 $push 연산으로 원자적 업데이트 구현
  • Context Window 관리: 메시지 누적 토큰이 임계치(80%) 도달 시 이전 대화를 Summary로 압축하고 오래된 메시지를 제거하는 Truncation 메커니즘 적용
  • Episodic Memory: 도구 호출 기록과 실행 결과 중심의 불변 Audit Trail 구조를 설계하여 과거 실행 이력 기반의 Context 복원 지원
  • Semantic Memory: Vector Index를 적용한 장기 지식 저장소로 설계하며 last_accessed_at 기반의 Strength Decay 로직을 통해 정보 최신성 유지
  • 데이터 격리: 모든 Collection에 user_id를 Scope Key로 설정하여 쿼리 시 최우선 필터링을 강제함으로써 Cross-user Memory Leakage 원천 차단
  • 생명주기 관리: Short-term Memory에 TTL Index(24~48시간)를 설정해 자동 삭제를 구현하고 Semantic Memory는 Soft Decay 방식을 통해 데이터 영속성 확보

1. 읽기 패턴이 '전체 스레드 조회'라면 개별 메시지 컬렉션 분리보다 Embedding 구조를 우선 검토할 것

2. LLM Context Window 초과 방지를 위해 토큰 카운트 기반의 자동 요약 및 Truncation 로직을 DB 레벨에서 관리할 것

3. 벡터 검색이 필요한 Semantic Memory와 단순 키 조회가 필요한 Short-term Memory의 Index 전략을 엄격히 분리할 것

4. 멀티 테넌시 환경에서 메모리 누수 방지를 위해 모든 쿼리에 User ID 필터를 필수적으로 포함하는 인터페이스를 설계할 것

원문 읽기