1. Abstract
GAM(General Agentic Memory)은 JIT(Just-In-Time) Memory 원칙을 기반으로 설계
- Dual-Agent Architecture(이중 에이전트 구조)
- Memorizer → 오프라인에서 가벼운 메모리 유지
- Researcher → 온라인에서 필요한 순간 최적 컨텍스트 구성
기억은 최소한만 저장하고, 실제로 필요한 순간에 다시 만드는 시스템
2. 핵심 개념
기존 메모리 시스템의 문제점 (AOT : Ahead-of-Time)
- 미리 모든 정보를 압축 → 정보 손실 불가피
- 고정된 구조 → 예측 못 한 요청에 유연하게 대응 불가
- 도메인 특화 휴리스틱 필요 → 일반화 어려움
GAM의 해결책 (JIT : Just-In-Time)
- 완전한 히스토리는 page-store에 보존
- 간단한 memo는 검색을 돕는 인덱스 역할
- 요청 시점에 deep research로 최적 컨텍스트 생성
- 실시간 계산으로 정보 손실 최소화
3. GAM 아키텍처
3.1 Memorizer (오프라인 단계)
역할: 스트리밍 히스토리를 받아 메모리와 페이지 저장소 구성
3.1.1 Memorizing
입력: 새로운 세션(s_i), 기존 메모리(m_i)
출력: 간단한 요약(μ_i), 업데이트된 메모리(m_i+1)
- 각 세션의 핵심 정보만 추출
- 점진적으로 메모리 업데이트
- 구조: { Session ID: --, Session memo: -- }
3.1.2 Paging
입력: 세션(s_i), 메모리(m_i)
출력: 헤더(h_i), 페이지(p_i), page-store 저장
- 각 세션에 문맥 정보로 헤더 생성
- 헤더 + 세션 내용 = 하나의 페이지
- 전체 히스토리 보존 (원본 데이터 손실 없음)
- 페이지 의미의 일관성 보장 (검색 시 정확도 향상)
3.2. Researcher (온라인 단계)
역할: 클라이언트 요청을 받아 최적 컨텍스트 생성
3.2.1 Planning (무엇을 어떻게 찾을지 계획)
입력: 요청(r), 메모리(m_i), 검색 도구들(T)
출력: 구체적인 검색 계획
- Chain-of-thought로 정보 필요도 분석
- 어떤 검색 도구를 사용할지 결정
- 검색 파라미터 설정
사용 가능한 검색 도구:
Embedding 벡터 검색 - 의미 기반 검색
BM25 키워드 검색 - 정확한 엔티티/키워드 매칭
ID 기반 검색 - 알려진 페이지 직접 탐색
3.2.2 Searching (실제로 검색 수행)
입력: 각 도구별 검색 파라미터
출력: 검색된 페이지들(p_t), 통합 결과(I)
- 여러 도구의 검색을 병렬로 수행
- 검색 결과 페이지들 통합
- 이전 통합 결과와 병합
3.2.3 Reflection (결과 평가 및 재검색)
입력: 통합 결과(I), 원래 요청(r)
출력: 충분한가?(y), 부족하면 새로운 요청(r')
- 이진 평가: 충분한가? (Yes/No)
- No → 부족한 정보 분석 → 새로운 검색 요청 생성
- Yes → 최종 결과 반환
- 최대 3회까지 반복 (기본 설정)
3.2.4 Integration (최종 컨텍스트 생성)
- 검색된 페이지 통합
- 원본 정보 추출
- 클라이언트가 사용할 최적화된 컨텍스트 생성
4. 주요 특징
4.1 높은 신뢰도 (High-Fidelity)
- 완전한 원본 데이터 보존 → 정보 손실 없음
- 작업별 최적화된 컨텍스트 생성
4.2 도메인 일반화 (Domain Generalizability)
- 휴리스틱/도메인 특화 코드 필요 없음
- 다양한 작업/시나리오에 적용 가능
4.3 최적화 가능 (Optimizability)
- Test-time 계산 증가로 성능 향상 (reflection depth, 페이지 수)
- Reinforcement Learning으로 지속적 개선 가능
5. 실험 결과
5.1 평가 데이터셋
- LoCoMo - 장기 대화형 메모리 벤치마크
- HotpotQA - 멀티홉 질문 답변 (56K~448K 토큰)
- RULER - 128K 토큰 장문맥 이해
- NarrativeQA - 책/영화 스크립트 기반 질문 (87K 토큰)
5.2 비교 대상
- 메모리 없음: Long-LLM, RAG
- 기존 메모리: A-Mem, Mem0, MemoryOS, LightMem
5.3 성능 비교 (HotpotQA 기준, model = GPT-4o-mini)
| 방식 | 56K | 224K | 448K | 평균 |
|---|
| Long-LLM | 56.56 | 54.29 | 53.92 | 55.0 |
| RAG | 52.71 | 51.84 | 54.01 | 52.9 |
| Mem0 | 32.58 | 31.74 | 27.41 | 30.6 |
| MemoryOS | 26.47 | 23.10 | 24.16 | 24.6 |
| GAM | 63.22 | 64.56 | 59.81 | 62.5 |
모든 벤치마크에서 기존 방법 대비 20~30% 성능 향상
6. 주요 발견 내용
6.1 Context Rot 현상
- 단순히 Context Window를 늘린다고 해결 안 됨
- 방해 정보가 성능을 크게 저하시킴
- GAM의 선별적 검색이 이 문제 해결
6.2 도구 조합의 중요성
- 단일 도구 < 2개 조합 < 3개 모두 조합
- 벡터검색 + BM25 + ID검색의 조합이 최고 성능
6.3 모듈별 LLM 크기 민감도
| LLM 크기 | Memorizer 영향 | Researcher 영향 |
|---|
| 0.5B | 효과 있음 | 거의 작동 안 함 (10 F1) |
| 7B | 지속적 개선 | 시작점 (43 F1) |
| 14B | 안정화 | 중간 수준 (53 F1) |
- Memorizer: 작은 모델으로도 충분 (간단한 요약 작업)
- Researcher: 큰 모델 필수 (복잡한 추론 필요)
6.4 Test-Time 계산의 효과
- Reflection depth: 1 → 5 (점진적 성능 향상, 감소율 있음)
- 검색 페이지: 3 → 20 (꾸준한 개선)
- 한계 수익 체감: 시간이 지날수록 성능 향상폭 감소
6.5 모듈 분리 효과
| 구성 | 성능 (F1) |
|---|
| GAM 전체 | 53.18 |
| Research만 (메모리 없음) | 48.27 (-9%) |
| Memory만 (research 없음) | 27.50 (-48%) |
→ 두 모듈의 협력이 필수적
6.6 출력 형식의 영향
- Integration : 105 토큰, F1 53.18
- Integration + Page : 2380 토큰, F1 55.71 (+2%)
- Integration + 추출 스니펫 : 231 토큰, F1 54.47 (+1%)
→ 원본 페이지 정보 포함 시 약간의 성능 향상
6.7 효율성 분석 (HotpotQA 56K 기준)
| 방식 | 오프라인 구축 | 온라인 서빙 | 총 시간 | F1 |
|---|
| A-Mem | 209.7초 | 0.5초 | 210.2초 | 27.0 |
| Mem0 | 37.4초 | 0.15초 | 37.6초 | 30.1 |
| GAM | 56.9초 | 12.4초 | 69.3초 | 64.1 |
온라인 시간이 더 소요되지만, 성능이 2배 이상 우수함
7. 최적화 프레임워크
강화학습(RL) 기반 최적화
목표: 메모리 시스템 end-to-end 성능 최적화
최대화할 기댓값 R = E[Γ(answer)]
정책 그래디언트:
∇θ_m = E[(Γ(ans) - baseline_m) ∇log π_m(M,P|hist)]
∇θ_r = E[(Γ(ans) - baseline_r) ∇log π_r(c|task,M,P)]
- θ_m: Memorizer 파라미터 (프롬프트 학습)
- θ_r: Researcher 파라미터 (프롬프트 학습)
- baseline: 편향(bias) 감소
8. 메모리 정의 (공식화)
기본 문제: 작업 완성에 필요한 최소한의 컨텍스트 생성
c* ← Memory(task, history)
조건:
- 최소 크기: |c*| 최소화
- 최대 효과: Agent(task, c*) 최대화
min-max 최적화 문제
9. 결론
GAM의 혁신점
- 검색 우선 설계 - 메모리는 검색 보조, 완전한 데이터 보존
- JIT 패러다임 - 온라인에서 필요한 순간 생성
- 일반화 가능 - 도메인/작업 특화 없이 광범위 적용
성능상 이점
- 멀티홉 추론: 93% 정확도 (RULER MT)
- 다양한 문맥 길이: 56K~448K에서 안정적 성능
- 시간 증가 대비 성능 향상: 큰 폭
향후 활용
- 장기 에이전트 상호작용
- 소프트웨어 공학 태스크
- 과학 연구 자동화
- 정보 검색 시스템
제한사항
- 온라인 서빙 시간 증가 (Latency)
- 큰 LLM 모델 필요 (Researcher용)
- 데이터 저장소 관리 필요