에이전트가 과거 대화를 기억하면 다음 작업에서 더 능숙해질 것처럼 보인다. 하지만 정보를 다시 꺼내 쓰는 일과, 경험으로 판단 기준이 달라지는 일은 다른 변화다.
꺼내 쓰는 것과 배우는 것은 다르다
벡터 스토어(임베딩 데이터를 유사도로 검색하는 DB)와 RAG, 스크래치패드(작업 중 임시로 적는 공간)는 흔히 에이전트의 ‘기억’이라 불린다. 이 논문의 연구진은 이를 기억이 아니라 조회로 본다. 과거를 저장했다가 비슷한 상황에 불러올 뿐, 경험 전후의 모델 가중치는 같다. 가중치는 학습으로 조정되는 수치이자 모델의 판단 규칙이다, 저자들은 조회와 학습을 같은 이름으로 부르는 일을 범주 오류라고 지적한다.
논문은 지속 기억을 셋으로 나눈다.
- 에피소딕 기억은 외부 저장소의 사례를 불러오고, 시맨틱 기억은 사전학습 가중치에 담긴다.
- 경험적 기억은 실제 활동으로 갱신된 가중치에 남는다.
지금 에이전트 대부분은 에피소딕 기억에 머물고, 경험적 기억은 비어 있다.
검색과 학습은 일반화 방식에서 갈린다. 검색은 닮은 사례를 찾고, 학습은 사례에서 규칙을 압축해 처음 보는 문제에도 적용한다. 저장소가 계속 커져야 성능이 유지된다면 사례 의존도가 높아졌다는 뜻이다.
이 차이는 기존 벤치마크에 잘 안 드러난다. Mem0가 발표한 LoCoMo 92.5점, LongMemEval 94.4점은 시간 추론, 다중 세션 회상, 지식 갱신 등을 묶은 점수이고, 비용은 별도 토큰 사용량으로 잰다. 높은 점수가 오래 일한 에이전트가 문제를 더 잘 푼다는 증거는 아니다.
컨텍스트를 늘려도 한계는 남는다
검색으로 새 조합까지 다루려면 기본 개념 k개의 조합을 사례로 갖춰야 한다. 논문의 정리 1에 따르면 필요한 사례 수는 Ω(k²)까지 늘어난다. 반면 조합 규칙을 가중치에 학습할 때 표본 복잡도는 O((d+log(1/δ))/δ)다. Ω는 하한, O는 상한이고, 표본 복잡도는 목표 성능에 이르는 데 필요한 사례 수다. 개념 수 k가 늘면 검색에 필요한 사례는 제곱으로, 학습에 필요한 표본은 그보다 완만하게 늘어난다. 개념이 늘수록 검색 쪽 부담이 훨씬 빨리 커진다.
컨텍스트 창을 넓혀도 빠진 규칙이 저절로 채워지지는 않는다. 한 번에 더 많은 자료를 넣을 수 있을 뿐이다. Chroma가 18개 모델을 실험한 결과도, 입력이 길어질수록 여러 장문맥 과제에서 성능이 떨어지는 현상을 보였다.

인컨텍스트 학습 역시 예시에서 규칙을 잠깐 끌어낼 뿐이다. 세션이 끝나면 컨텍스트는 사라지고 모델은 원래 상태로 돌아간다. 더 나은 검색 정책도 어떤 사례를 보여줄지만 바꿀 뿐, 모델 자체를 학습시키지는 않는다.
가중치에 경험을 반영한 ParamMem은 달랐다. HotpotQA 78.33%, 2WikiMultiHopQA 88.67%, LiveCodeBench 68.00%를 기록했고, 검색 기반 비교군보다 각각 6.33%p, 8.34%p, 6%p 높았다. 기존 사례와 다른 조합을 요구할 때 격차가 더 컸다.
오래 운영할수록 침해 확률은 1에 가까워진다
일반 질의만으로 모델 가중치는 바뀌지 않는다. 외부 메모리는 평범한 사용자 입력만으로도 오염될 수 있다. 공격자는 학습 서버나 가중치 편집 권한 없이도 악성 지시를 남겨 이후 세션에 영향을 줄 수 있다. 가중치 학습은 막혀 있어도 메모리 오염은 가능하다.
- MINJA는 일반 사용자 권한으로 메모리에 악성 지시를 남겨 주입 성공률 98.2%를 기록했다.
- PoisonedRAG는 수백만 건 문서가 있는 저장소에 표적 질의당 적대적 문서 다섯 개만 넣어 성공률 90%를 냈다.
내부 메모리에 직접 접근하지 않고 일반 질의만 썼다는 점에서 현실적인 위협이다.
각 상호작용의 성공 확률이 일정하고 사건이 서로 독립일 때, 한 번의 공격 성공 확률이 p₀이고 외부 입력을 처리한 횟수가 N(t)라면 누적 침해 확률은 1-(1-p₀)^N(t)다. 운영이 길수록 한 번 이상 뚫릴 가능성은 1에 가까워진다. 지속 메모리는 악성 기록을 다음 세션에도 불러오므로 공격의 수명까지 늘린다.
그래서 메모리 쓰기 권한은 일반 DB 수정 권한보다 엄격히 관리해야 한다. 출처 추적, 검증, 버전 관리, 회귀 테스트가 필요하다. 오염된 기록을 학습 데이터로 쓰면 일시 공격이 모델의 장기 행동으로 굳을 수도 있다.
에이전트에게도 ‘수면’이 필요하다
벡터 DB가 경험을 실력으로 바꾸지 못하는 이유는 기록을 규칙으로 압축해 가중치에 반영하는 과정이 없기 때문이다. 저장 공간이나 검색 정확도 부족 때문이 아니다. 그래프 검색이나 리랭커(검색 후보의 순위를 다시 매기는 장치)는 필요한 자료를 더 잘 찾게 해주지만, 처음 보는 문제를 일반화해 푸는 능력은 높이지 않는다.
이 문제는 빠른 조회와 느린 학습을 나눠 푼다. 대화, 툴 출력, 참고 문서는 에피소딕 메모리에 바로 저장한다. 그중 반복되는 규칙만 골라 LoRA, 가중치 편집(학습된 가중치 일부를 직접 고치는 방법), 자기 증류(모델 출력을 다시 학습 데이터로 써 스스로를 압축하는 방법)로 모델에 반영한다.
Google Research와 코넬 연구진은 이 과정을 ‘수면’이라 부른다. ‘Language Models Need Sleep: Learning to Self-Modify and Consolidate Memories’는 작은 모델의 단기 기억을 큰 네트워크로 옮기는 Knowledge Seeding과, 합성 교육과정으로 복습하는 Dreaming을 제안한다. 운영 기록을 그대로 두지 않고, 별도 학습 단계에서 장기 지식으로 바꾸는 방식이다.
평가는 회상률만으로 끝나지 않는다. 같은 일을 반복할수록 처음 보는 조합의 정확도가 오르는지, 검색 결과가 없어도 그 실력이 남는지, 저장소를 비우면 성능이 처음으로 돌아가는지를 봐야 한다. 기록만 모으는 시스템은 제자리이고, 경험을 규칙으로 압축하는 시스템은 시간이 갈수록 나아진다.
에이전트의 운영 기간을 곧 경력으로 보면 오래된 시스템과 숙련된 시스템이 같은 평가를 받는다. 에이전트의 연차는 쓴 시간보다, 이전에는 못 풀던 문제를 얼마나 안정적으로 처리하는지로 가릴 것이다.
