Memory Portability Paper review

Does Your Agent’s Memory Survive a Model Upgrade? A Controlled Study of Memory Portability

https://arxiv.org/abs/2609.05339

이 논문은 LinkedIn에서 쓴 논문으로, 모델을 바꿨을 때 에이전트 메모리가 그대로 살아남는지를 실험한 논문이다.

2026년 9월 4일에 올라왔고, 저자 2명에 18쪽이다.

논문 첫 문장이 “모델 업그레이드는 일상적이다. 메모리 마이그레이션은 그렇지 않다.”이다.

앞에서 본 A-MEM 리뷰에서 구조를 에이전트에게 맡기면 구조가 모델에 묶인다고 적었고, Anatomy 리뷰에서는 백본을 바꾸면 형식 오류율이 30%였다. 여기서는 그 문제를 통제 실험으로 잰다.

좀 더 자세히 알아보자.

1. 문제

에이전트는 같은 메모리 저장소를 그대로 두고도 잊을 수 있다고 한다.

이유는 세 가지다.

  1. 새 모델이 옛 노트를 다르게 해석할 수 있다
  2. 임베딩 버전이 섞이면 검색이 깨질 수 있다
  3. 원본 증거가 없으면 복구가 안 될 수 있다

2. 네 가지 메모리 형식

같은 이력을 네 가지 방식으로 저장해서 비교한다.

  • LC-RAW : 원문 그대로 두고 긴 컨텍스트로 읽음. 쓰기 단계가 없음
  • RAG : 청크로 나눠서 검색. 쓰기 단계는 없는데 임베딩에 의존
  • NOTES : 모델이 자연어 노트로 압축. 쓰기 모델에 의존
  • KG-fixed : 고정 스키마 지식그래프로 정리. 쓰기 모델에 의존

LC-RAW와 RAG는 쓰는 모델이 없어서 대조군으로 쓴다.

실험 설정은 이렇다.

  • 합성 이력 48개에 무작위 정답 코드를 심어서 정확하게 채점
  • 100억 파라미터 미만 오픈웨이트 모델 둘(Llama, Qwen) 사용
  • 컨텍스트 예산을 맞춤
  • 결과를 보기 전에 가설과 분석 계획을 서명된 Git 태그로 고정

3. 고정 스키마는 옮겨가고, 자유형 노트는 안 옮겨간다

쓰는 모델을 바꾸고 읽는 모델은 고정한 채로 쟀다.

형식 리더 자기 저장소 정확도 물려받은 저장소 정확도 Swap ∆
NOTES Llama 0.3762 0.4753 +9.91pp
NOTES Qwen 0.4719 0.3391 −13.28pp
KG-fixed Llama 0.8456 0.8445 −0.11pp
KG-fixed Qwen 0.9878 0.9880 +0.02pp

KG-fixed는 거의 변하지 않는다. abstract를 보면 +0.0004 ± 0.0020이다.

고정 스키마로 정리해 두면 누가 썼든 읽는 쪽이 똑같이 해석한다는 것이다.

NOTES는 방향에 따라 부호가 바뀐다. Llama가 Qwen 노트를 읽으면 +9.91pp 좋아지고, Qwen이 Llama 노트를 읽으면 −13.28pp 나빠진다.

그런데 두 방향을 평균하면 −1.7pp 정도라서 별 차이 없어 보인다. 실제로 미리 등록한 대칭 가설(H1, H4a)은 5pp 임계를 못 넘어서 기각됐다.

논문도 평균이 이런 실패를 숨긴다고 하고, 그래서 방향별 결과를 따로 보여준다고 한다.

-> A→B가 괜찮아도 B→A는 무너질 수 있으니, 교체 방향별로 따로 테스트해야 한다.

4. 임베딩을 반만 옮기면 대부분을 잃는다

임베딩을 bge-large-en v1.0에서 v1.5로 바꿀 때 네 가지 방식을 비교한다.

  1. 옛 인덱스 그대로
  2. 완전 재구축
  3. 50/50 혼합
  4. 어느 인덱스에 답이 있는지 아는 이상적 라우터 (상한선)
방식 정확도 개선
50/50 혼합 인덱스 +4.96pp
완전 재임베딩 +11.90pp

혼합 인덱스는 전체 이득의 절반도 못 가져온다.

미리 등록한 가설 H2는 +6.95pp로 5pp 임계를 넘어서 지지됐다고 한다(Holm 보정 p = 1.3 × 10⁻⁶).

논문은 혼합 인덱스를 “조용한 부분 마이그레이션”이라고 부른다.

-> 임베딩 모델을 바꿀 때 기존 벡터는 그대로 두고 새로 들어오는 것만 새 모델로 넣는 경우가 많은데, 그러면 이렇게 된다는 거다.

5. 손실은 리더보다 앞에서 일어난다

정확도 손실이 어느 단계에서 생기는지 나눠서 봤다.

형식 주 원인 기여 비중
NOTES 저장 단계(쓰기) 0.467 ± 0.014 80%
NOTES 노트 내 검색 0.036 ± 0.009 6%
RAG 검색 단계 0.364 ± 0.012 81%
RAG 저장된 청크 자체 거의 0 —

둘이 정반대다.

NOTES는 쓸 때 이미 잃는다. 노트를 새 리더 문체에 맞게 다시 써봤는데 회복이 안 됐다고 한다.

문제는 낯선 표현이 아니라 빠지거나 망가진 내용이라고 한다.

RAG는 반대로 청크에는 정보가 거의 다 남아 있는데 검색이 못 찾는다. 검색을 건너뛰고 맞는 청크를 바로 주면 두 리더 모두 대체로 잘 푼다.

그래서 리더를 바꾸기 전에, 결정적 증거를 저장했는지, 검색했는지, 전달했는지부터 확인하라고 한다. NOTES는 요약·쓰기 단계를, RAG는 청킹·색인·랭킹을 고쳐야 한다고 한다.

6. 검색이 먼저 무너진다

모델을 바꾸기 전부터 RAG 파이프라인 자체가 병목이었다.

방식 정확도 범위
LC-RAW (원본 그대로) 0.712 ~ 0.911
RAG 0.535 ~ 0.565

리더 모델과 상관없이 검색이 필요한 증거를 실제로 가져오는 건 약 60%뿐이라고 한다.

40%는 못 찾는다는 뜻이다.

다만 논문은 이게 RAG 전체의 한계라고 하지는 않는다. 일부러 단순하게 만들었기 때문이다. 단일 단계 dense 검색기, 이벤트 기반 청크, 코사인 top-k=8을 썼고 리랭커나 어휘 검색은 없다.

앞에서 본 MemMachine 리뷰는 이웃 턴 확장으로, SYNAPSE 리뷰는 BM25+dense 이중 트리거로 이 부분을 채웠다. 그런 장치가 없으면 40%를 놓친다는 걸 여기서 보여준다.

7. 원본을 남기면 두 번째 기회가 생긴다

모델이 쓴 노트는 원본을 압축한 사본이다. 쓰는 모델이 사실을 빠뜨렸으면 노트를 다시 써도 되살릴 수 없다.

그래서 원본 이력을 남겨두면 복구가 되는지 시험했다. 목표는 새 리더가 자기 저장소에서 내는 성능의 90%까지 회복하는 것이다.

복구 방식 결과 비용(중앙값)
store-only NOTES 재작성 48건 전부 실패 — 어떤 예산에서도 90% 미달 —
raw-history 복구 (Qwen) 48건 중 34건 성공 약 $0.76
raw-history 복구 (Llama) 0건 — 매번 출력 토큰 한도에 걸림 —
RAG 재임베딩 96건 전부 회복 약 $0.013
KG-fixed 재구축 96건 중 91~96건 거의 0

원본 없이 노트만 다시 쓰면 48건 중 0건이다. 이미 없어진 증거는 다시 만들 수 없으니까.

원본이 있어도 복구하는 모델이 못 쓰면 소용없다. Llama는 매번 출력 토큰 한도에 걸려서 0건이었다.

논문은 출력 한도를 늘리면 달라질 수 있고, 복구 모델이랑 마이그레이션 방향이 같이 바뀌어서 모델 능력을 깔끔하게 비교한 건 아니라고 한다.

RAG 재임베딩은 $0.013, KG-fixed 재구축은 거의 공짜다. 구조화된 데이터는 복구가 싸고 확실하다.

8. 지금 관점: 모델을 갈아끼울 때

앞의 논문들이 무엇을 만들지를 다뤘다면, 이 논문은 만든 다음에 모델이 바뀌면 어떻게 되는지를 다룬다.

세션 요약, 대화 압축, 추출한 사실 같은 건 다 NOTES 쪽이다. 모델을 바꾸면 방향에 따라 ±10pp 넘게 흔들릴 수 있고, 손실의 80%는 쓸 때 이미 생긴 거라서 나중에 고칠 수가 없다.

KG-fixed는 ∆가 0.0004였다. 자유롭게 쓰게 하지 말고 정해진 필드에 값을 채우게 하면 모델이 바뀌어도 해석이 안 흔들린다.

-> 꼭 그래프까지 가야 하는 건 아닌 것 같다. 스키마가 고정인 게 중요한 거 아닌가??

임베딩은 전부 다시 만드는 게 맞다. 50/50 혼합은 전체 이득의 42%만 가져온다. 논문도 임베딩 공간을 엄격하게 분리하라고 권한다.

원본도 남겨야 한다. 원본 없는 복구는 48건 전부 실패했다. 앞에서 본 Rate-Distortion 리뷰에서 가역성이 중요하다고 했는데, 여기서 운영 상황으로 확인된다.

대신 논문은 전체 이력을 보존하면 프라이버시·보안·보관·삭제 의무가 생긴다고 한다.

-> 새 모델이 “잊었다”고 보이면 리더 탓을 하기 전에 저장·검색·전달부터 봐야겠다.

9. Conclusion

모델 업그레이드를 단순 교체가 아니라 메모리 마이그레이션으로 다루라고 한다.

  1. 옛 저장소로 새 모델을 테스트한다
  2. 벡터 인덱스를 완전히 다시 만든다
  3. 정책이 허용하면 보호된 원본 이력을 유지한다
  4. 복구 방법을 고르기 전에 정보가 쓰기·검색·읽기 중 어디서 사라졌는지 확인한다

마지막 문장은 메모리 시스템이 그걸 만든 모델보다 오래 살아야 한다는 것이다. 나중 모델이 읽고, 출처를 확인하고, 필요하면 다시 만들 수 있어야 한다고 한다.

논문이 밝힌 범위 한계도 있다.

  • KG-fixed 결과는 이 워크로드에서 이식성이 높았다는 것뿐이고, 지식그래프가 자연어 노트보다 항상 낫다는 뜻은 아니라고 한다
  • 40% 검색 실패율과 혼합 인덱스 성능 저하는 같은 차원 임베딩 공간 사이를 옮기는 단일 단계 dense 검색기에만 해당한다고 한다
  • 원본 보존으로 복구가 된 건 한 방향뿐이었다

여태까지 메모리 논문들이 한 모델 안에서 성능을 쟀다면, 이 논문은 모델이 바뀐 다음에도 메모리가 쓸 수 있는지를 잰다.

다음은 Agent Memory 논문 21편 회고다. 21편을 논문이 나온 순서대로 다시 늘어놓고 흐름을 정리했다.

Leave a comment