에이전트 메모리의 삼중 딜레마
장기 메모리를 늘리면 토큰 비용, 정확도, 공격면이 함께 움직입니다. 세 축을 잇는 손잡이는 압축이고, 압축이 가장 먼저 버리는 값은 출처입니다.
에이전트 장기 메모리에서 토큰을 아끼는 수단과 정확도·보안을 지키는 수단은 같은 손잡이를 반대 방향으로 당깁니다.
에이전트 메모리 설계의 핵심 결정은 무엇을 기억할지가 아니라 무엇을 압축할지입니다. 기록을 원문 그대로 두면 질의마다 읽는 토큰이 불어나고, 요약해서 줄이면 정확도의 상한과 사후 추적 가능성이 함께 깎입니다. 2026년의 메모리 아키텍처 연구와 메모리 보안 연구를 겹쳐 놓으면, 이 세 축이 독립 변수가 아니라 압축이라는 한 지점에 묶여 있다는 것이 드러납니다.
하나의 결정에 묶인 세 축
토큰 비용, 정확도, 공격면은 흔히 따로 다뤄집니다. 비용은 인프라 문제, 정확도는 검색 품질 문제, 공격면은 보안 문제로 나뉘어 각각 다른 팀이 봅니다. 그런데 세 축을 실제로 움직이는 조작 변수는 하나입니다. 쓰기 시점에 원본을 얼마나 버리고 요약으로 대체하느냐입니다.
| 축 | 압축을 늘렸을 때 | 압축을 줄였을 때 |
|---|---|---|
| 토큰 비용 | 질의당 입력과 지연이 줄어듭니다 | 저장소가 커질수록 읽는 양이 늘어납니다 |
| 정확도 | 요약 손실이 판정 상한을 깎습니다 | 원문 근거로 사실을 확인할 수 있습니다 |
| 공격면 | 중요도 판정 단계가 공격 대상이 됩니다 | 오염 레코드의 생존 구간이 길어집니다 |
표의 오른쪽 열이 전부 유리해 보이지는 않습니다. 압축을 줄이면 정확도는 얻지만 비용과 보존 위험을 함께 떠안습니다. 어느 쪽으로 밀어도 세 축 중 둘만 만족되는 구조라서 삼중 딜레마입니다.
값이 다른 두 가지 토큰 절약 방식
Mem0 논문(arXiv:2504.19413, 2026-09 기준)은 LoCoMo 벤치마크에서 대화 전체를 넣는 방식과 메모리 방식을 나란히 잽니다. 논문 표의 수치는 다음과 같습니다.
| 방식 | 질의당 토큰 | J 점수 | p95 지연 |
|---|---|---|---|
| 대화 전체 입력 | 26,031 | 72.90% | 17.117초 |
| Mem0 | 1,764 | 66.88% | 1.440초 |
| Mem0 그래프 변형 | 3,616 | 68.44% | 2.590초 |
토큰을 93% 줄이는 대신 판정 점수 6.02점을 내준 거래입니다. 논문 자신도 대화 전체 입력이 약간의 정확도 우위를 준다고 적고, 지연 92% 감소를 실용적 절충으로 제시합니다. 여기서 중요한 것은 절감률이 아니라 무엇을 팔았는지입니다.
같은 절감을 다른 방식으로 얻는 설계도 있습니다. MemGPT(arXiv:2310.08560, 2026-09 기준)는 요약으로 원본을 대체하지 않고, 고정 크기 코어 컨텍스트 밖의 아카이브를 함수 호출로 페이지 단위만 꺼내옵니다. 검색 한 번의 토큰 비용이 아카이브 전체 크기와 무관해지고, DMR 과제에서 GPT-4 정확도가 32.1%에서 92.5%로 올랐습니다.
두 방식은 절감 폭이 비슷해 보여도 나머지 두 축에서 값이 다릅니다. 페이지네이션은 원문을 남기고 한 번에 읽는 양만 제한하고, 요약 압축은 원문을 폐기합니다. 이 구분이 이 글의 나머지 전부를 결정합니다. 절감률만 비교하고 원본 보존 여부를 비교하지 않으면 같은 값을 치른다고 착각하게 됩니다.
요약이 정확도를 깎는 조건
요약이 언제나 정확도를 깎지는 않습니다. RAPTOR(arXiv:2401.18059, 2026-09 기준)는 청크를 재귀적으로 군집화하고 요약해 상향식 트리를 만듭니다. 이 구조로 QuALITY 벤치마크에서 GPT-4와 결합해 82.6%를 기록했고, 직전 최고 기록은 62.3%였습니다. 계층 요약이 정확도를 20점 넘게 올린 사례입니다.
차이를 만드는 것은 리프 보존입니다. RAPTOR의 검색은 트리를 위에서부터 훑지 않고 모든 레이어를 한 풀로 펼쳐 top-k를 고릅니다. 상위 요약 노드는 원문 청크를 대체하는 것이 아니라 원문으로 가는 색인으로 얹힙니다. 원본이 저장소에 남아 있으므로 요약은 검색 경로를 줄일 뿐 판정 근거를 줄이지 않습니다.
논문의 환각 분석도 같은 구조를 보여줍니다. 150개 노드를 손으로 주석한 결과 4%인 6개 노드에 경미한 환각이 있었지만, 상위 노드로 전파되지 않았고 질의응답 성능에도 눈에 띄는 영향이 없었습니다. 요약 오류가 자동으로 번진다는 통념은 이 논문에서는 지지되지 않습니다.
반면 Mem0가 내준 6점은 원문을 버린 대가입니다. 원자 사실만 남기면 되돌아가 확인할 문장이 없습니다. 요약이 정확도를 깎는 조건은 요약을 만든다는 것이 아니라 요약이 원본을 대체한다는 것입니다.
압축 임계값이 공격 파라미터가 되는 지점
보안 축은 이 구분을 훨씬 날카롭게 만듭니다. Dash 외 연구진의 MPBench(arXiv:2606.04329, 2026-09 기준)는 6개 공격 클래스와 7개 도메인에 걸쳐 3,240개 테스트 케이스를 만듭니다. 정상 사례 2,997개로 오탐률도 함께 잽니다. 논문의 초록은 결론을 한 줄로 적습니다. 메모리를 더 공격적으로 쓰고 검색하도록 설계된 에이전트가 더 잘 뚫립니다.
두 실제 에이전트를 잰 결과가 이 문장의 근거입니다. OpenClaw의 평균 공격 성공률은 34.25%, HERMES는 66.67%였습니다. 논문은 격차의 원인을 HERMES의 쓰기 설계로 지목합니다. 보존 정책이 더 자주 쓰고, 메모리 압축 임계값이 2,200자로 낮다는 점입니다.
| 공격 클래스 | OpenClaw ASR | HERMES ASR |
|---|---|---|
| Conditional Command Insertion | 67.89% | 76.00% |
| Salience-Driven Compaction | 45.10% | 85.17% |
| False Precedent Insertion | 31.67% | 73.33% |
| Explicit Command Insertion | 18.25% | 42.67% |
| Policy-Conformant Fact Injection | 8.33% | 64.50% |
HERMES에서 가장 높은 성공률을 낸 것은 압축 단계의 중요도 판정을 조작하는 Salience-Driven Compaction이었습니다. 논문은 더 허용적인 쓰기 정책과 낮은 압축 임계값이 이 조건을 만든다고 설명합니다. 토큰을 아끼려고 내린 임계값이 공격자의 파라미터가 된 셈입니다.
기존 프롬프트 인젝션 탐지기로 이 계열을 막기도 어렵습니다. 논문이 잰 네 탐지기 중 PromptArmor는 강신호 공격을 84.44% 잡았지만 약신호 공격에서는 42.50%로 떨어졌습니다. 41.94%p 격차이고, 메모리 포이즈닝용으로 재학습한 뒤에야 격차가 줄었습니다. 공격 자체의 계보와 방어 세대 구분은 LLM 에이전트 메모리 포이즈닝에서 다뤘으므로 여기서는 반복하지 않습니다.
세 축을 잇는 출처
여기까지의 근거를 한 자리에 놓으면 공통 항이 보입니다. 정확도 축에서 필요한 것은 요약에서 원문으로 되돌아가는 경로이고, 보안 축에서 필요한 것은 레코드가 어디서 왔는지 확정하는 값입니다. 둘 다 출처입니다.
그림은 쓰기 경로의 압축 단계를 가운데 놓고, 같은 단계에서 나오는 이득과 손실을 나란히 둔 것입니다. 압축은 토큰을 줄이면서 원문 식별자와 작성 주체를 버리고, 동시에 자신이 새 공격 대상이 됩니다.
Lin 외 연구진의 장기 메모리 보안 서베이(arXiv:2604.16548, 2026-09 기준)는 이 지점을 정면으로 적습니다. 장기 메모리 보안은 검색이나 실행 시점에 나중에 덧붙일 수 없고, 처음부터 저장 시점의 출처와 버전 관리, 정책 인식 보존 위에 세워야 한다는 결론입니다. 출처는 사고가 난 뒤 추가할 수 있는 필드가 아닙니다.
Louck의 TMA-NM 연구(arXiv:2606.24322, 2026-09 기준)는 왜 그런지 형식화합니다. 신뢰되지 않은 출처를 세탁하는 경로를 세 가지로 규정하는데, 그 첫 번째가 에이전트 자신의 요약입니다. 요약을 거치면 내용은 무해해 보이고 유래 간선은 신뢰됨으로 뒤집힙니다. 여덟 개 프론티어 모델 벤치마크에서 기존 방어는 최대 68%의 세탁 공격 성공률을 허용했고, 쓰기 시점 출처 결합을 적용한 TMA-NM은 모든 모델과 채널에서 0%를 기록했습니다.
정리하면 토큰 절감의 표준 수단인 요약은 보안 관점에서 세탁 채널이고, 정확도 관점에서 근거 소실 지점이며, 그 자체로 공격 표면입니다. 세 축이 압축에서 만나는 이유가 이것입니다.
이 프레임이 성립하지 않는 조건
주장을 넓히지 않기 위해 소스가 지지하지 않는 지점을 적습니다.
첫째, 기록량과 공격면은 단조 증가하지 않습니다. MINJA를 재현한 연구(arXiv:2601.05504, 2026-09 기준)는 이상적 조건에서 주입 성공률 95% 이상, 공격 성공률 70%를 확인했습니다. 다만 정당한 메모리가 이미 쌓인 현실적 조건에서는 공격 효과가 크게 떨어진다고 보고합니다. 정당한 레코드가 많으면 오염 레코드가 top-k 검색에서 희석됩니다. 위험을 키우는 것은 저장량 자체가 아니라 쓰기 정책의 공격성입니다.
둘째, 요약 오류의 전파는 검증되지 않은 통념입니다. 앞서 본 대로 RAPTOR의 환각은 상위 레이어로 번지지 않았고 질의응답에도 영향이 없었습니다. 계층 요약을 쓴다고 오류가 자동으로 누적된다고 말할 근거는 이 논문에 없습니다.
셋째, 압축 임계값과 공격 성공률의 관계는 통제 실험이 아닙니다. MPBench는 에이전트 두 개를 비교했고, 둘은 압축 임계값 외에도 보존 정책과 시스템 프롬프트가 함께 다릅니다. 임계값 하나만 바꿔 가며 잰 절제 실험은 논문에 보고되지 않았습니다.
넷째, Mem0가 내준 6점은 특정 조건의 값입니다. LoCoMo는 약 26,000 토큰 대화이고, 대화가 컨텍스트 창을 넘어가면 대화 전체 입력이라는 선택지 자체가 사라집니다. 그 지점에서는 정확도 비교의 기준선이 바뀝니다.
압축 면제 기준
설계 결정은 압축을 할지 말지가 아니라 어느 계층을 압축에서 빼둘지입니다. 계층마다 수명과 용도가 다르므로 같은 정책을 걸 이유가 없습니다.
| 계층 | 압축 정책 | 반드시 남길 값 |
|---|---|---|
| 작업 컨텍스트 | 원시 도구 출력과 중복 덤프를 즉시 버립니다 | 미해결 오류와 반대 증거 |
| 에피소드 메모리 | 시도 단위로 요약하고 원문은 아카이브에 둡니다 | 원문 식별자와 실행 시각 |
| 의미 메모리 | 요약으로 대체하지 않고 원자 레코드로 씁니다 | 출처, 작성 주체, 유효기간 |
| 절차 메모리 | 요약 대신 버전으로 갱신합니다 | 승인 이력과 환경 버전 |
| 체크포인트 | 압축 대상이 아닙니다 | 멱등성 키와 정책·모델 버전 |
작업 컨텍스트의 압축은 값이 싼 편입니다. 이미 반영된 중간 추론이나 원시 grep 결과는 버려도 되돌아갈 원본이 저장소에 남아 있습니다. 값이 비싼 것은 의미 메모리와 절차 메모리의 압축입니다. 여기서 원문을 버리면 정확도와 감사 근거를 한 번에 잃습니다.
실패 분석을 기록해 다음 시도에 참조하는 Reflexion 계열이 에피소드 메모리의 전형입니다. 이때 요약된 교훈만 남기면 그 교훈이 어떤 실행에서 나왔는지 확인할 길이 사라집니다. 원문 트레이스 식별자를 함께 적어 두면 같은 요약을 쓰면서도 근거를 되짚을 수 있습니다.
멀티 에이전트 공유 메모리를 쓴다면 판단 기준이 하나 더 붙습니다. 공유 저장소는 한 에이전트의 오염이 다른 에이전트로 옮겨가는 경로입니다. 쓰기 권한과 읽기 범위를 에이전트별로 제한하고, 충돌은 덮어쓰기 대신 복수 주장과 유효 기간으로 표현합니다.
이때 근거 부재와 반증을 구분하지 않으면 검증 자체가 오답을 냅니다. 이 경계를 어디에 그을지는 LangGraph 에이전트 오케스트레이션의 상태 관리 문제와 이어집니다.
실무에서 먼저 확인할 것은 세 가지라고 봅니다. 이는 위 연구들에서 직접 도출한 판단입니다. 압축 단계가 원문 식별자를 남기는지, 압축 임계값이 공격자에게 노출된 파라미터인지, 요약 레코드와 원문 레코드가 검색 결과에서 구분되는지입니다.
정리
에이전트 장기 메모리의 토큰 비용, 정확도, 공격면은 압축이라는 한 결정에 함께 매달려 있습니다. Mem0의 LoCoMo 결과에서 토큰 93% 절감은 판정 점수 6.02점을 대가로 했습니다. MPBench에서는 압축 임계값이 낮은 에이전트가 압축 단계 포이즈닝에 85.17%로 가장 크게 뚫렸습니다. 세 축을 동시에 무너뜨리는 값은 출처 하나이고, RAPTOR와 MemGPT처럼 원본을 남긴 채 읽는 양만 줄이면 절감의 상당 부분을 정확도 손실 없이 얻습니다. 설계할 때 던질 질문은 얼마나 줄일지가 아니라, 줄이고 난 뒤에도 원문으로 돌아갈 경로가 남는지입니다.