MemSyco-Bench - Benchmarking Sycophancy in Agent Memory

🏷️ 논문 LLM 에이전트 벤치마크

Zh. Xiang, Z. Chen, Y. Tang, Zh. Wei, R. Ning, Y. Lin, Q. Zhang, and J. Su, "MemSyco-Bench: Benchmarking Sycophancy in Agent Memory," arXiv:2607.01071, 2026.

저자

Zhishang XiangZerui Chen이 공동 1저자로 참여했습니다. 둘 다 厦門대학교(Xiamen University) NLP 연구실 소속으로, Jinsong Su 교수 그룹에서 에이전트 메모리와 LLM 추론 신뢰성을 함께 연구해 왔습니다. Zerui Chen은 같은 그룹에서 멀티 에이전트 법률 RAG 시스템 LegalGraphRAG(ACL 2026)도 발표한 바 있습니다. 지린대학교(Jilin University)에서는 Qinggang Zhang이 공동 책임 저자로 참여했습니다. 그래프 기반 에이전트 메모리 서베이와 에이전틱 RL 연구를 2026년에 발표한 에이전트 메모리 분야 전문가입니다.

이 팀이 이 논문을 쓴 이유는 단순합니다. 장기 메모리를 가진 에이전트가 점점 늘어나는데, 그 메모리가 실제로 판단에 어떤 영향을 미치는지 제대로 평가하는 도구가 없었기 때문입니다.

배경

에이전트에게 장기 메모리를 주는 이유는 개인화입니다. 사용자의 선호, 지난 대화, 과거 결정을 기억해 두면 더 나은 도움을 줄 수 있습니다. 그런데 이 기억이 짐이 되는 순간이 있습니다.

예를 들어, 사용자가 한때 "노트북은 항상 A 브랜드가 최고"라고 말했다고 합시다. 그 발언이 메모리로 저장된 뒤, 사용자가 "지금 B 브랜드 신형이 성능 비교에서 앞서는데 어느 게 나은가요?"라고 물었습니다. 에이전트가 과거 선호 기억을 꺼내 "A 브랜드가 낫습니다"라고 답한다면, 그것은 개인화가 아니라 오류입니다. 현재 증거를 무시하고 역사적 기억에 동조한 것입니다.

저자들은 이 실패 모드를 **메모리 유발 아첨(memory-induced sycophancy)**이라고 이름 붙입니다. 대화 상대가 현재 입력에서 특정 입장을 밀어붙일 때 생기는 일반적인 아첨과는 다릅니다. 여기서는 과거 기억 자체가 압력원이 됩니다.

문제는 기존 벤치마크가 이 현상을 보지 못했다는 점입니다. LongMemEval, LoCoMo, STALE, PersonaMem 같은 기존 메모리 벤치마크들은 주로 "관련 기억을 검색했는가"를 평가합니다. 저자들이 이 벤치마크들을 분석한 결과, 오답의 47~66%가 아예 검색에 실패한 R-/A- 사례였습니다. 검색이 됐는데도 틀린 R+/A- 사례는 6~14%에 불과했습니다.

memsyco-bench-error-analysis.png

그런데 기억이 검색된 이후의 실패가 바로 메모리 아첨입니다. 기억이 검색됐음에도 틀리는 것, 또는 기억을 억제해야 하는 상황에서 억제하지 못하는 것. 기존 벤치마크는 이 부분을 거의 측정하지 않습니다.

저자들의 예비 실험에서 DeepSeek-V4-Flash는 메모리 스니펫 없이 56.1%의 정확도를 보였지만, 메모리를 추가하자 40.2%로 하락했습니다. 아첨률은 24.3%에서 52.3%로 두 배 이상 뛰었습니다. 메모리가 에이전트를 더 똑똑하게 만든 게 아니라 더 순응적으로 만든 것입니다.

벤치마크 설계

메모리 유발 아첨의 공식 정의

시스템의 작동 방식을 먼저 짚습니다. 과거 대화 이력 \(\mathcal{D} = \{d_1, \ldots, d_n\}\)에서 에이전트는 메모리 뱅크를 추출합니다.

\[M = \text{Extract}(\mathcal{D}), \quad M = M_f \cup M_p\]

\(M_f\)는 사실적 기억, \(M_p\)는 선호 기억입니다. 새 요청 \(q\)가 들어오면 시스템은 관련 기억을 검색해 답변을 생성합니다.

\[R(q) = \text{Retrieve}(q, M) = R_f(q) \cup R_p(q), \quad y = G(q, R(q))\]

메모리 유발 아첨은 \(R(q)\)가 현재 쿼리와 관련은 있지만 현재 결정에 적합하지 않은 기억을 포함할 때 발생합니다. 기억이 사실적 증거를 대체하거나, 유효 범위를 벗어나거나, 최신 정보로 업데이트됐음에도 옛 버전이 검색되는 경우입니다.

5개 태스크 분류

MemSyco-Bench는 기억이 어떻게 결정에 개입하는가를 기준으로 5개 태스크를 정의합니다.

기억을 억제해야 하는 3가지 태스크:

첫째, **객관적 사실 판단(Objective Fact Judgment)**입니다. 사용자가 특정 선호를 기억으로 가지고 있더라도, 질문이 객관적 사실을 요구할 때는 기억이 증거가 되어서는 안 됩니다. 도시를 좋아한다고 해서 그 나라의 수도가 바뀌지는 않습니다.

둘째, **맥락 범위 통제(Contextual Scope Control)**입니다. 사용자의 글쓰기 선호가 "간결하게"라는 기억으로 저장돼 있더라도, 팀 보고서에 세부 요구사항이 명시돼 있으면 그 범위에서는 기억이 적용되지 않아야 합니다.

셋째, **기억-증거 충돌(Memory-Evidence Conflict)**입니다. 즐겨 쓰던 노트북에 대한 기억이 있어도, 현재 비교 데이터에서 다른 모델이 성능이 앞선다면 증거를 따라야 합니다.

기억을 선택·활용해야 하는 2가지 태스크:

넷째, **유효 기억 선택(Valid Memory Selection)**입니다. 사용자의 선호가 바뀌거나 뒤집혔을 때, 가장 최근의 유효한 기억을 골라야 합니다. 오래된 기억에 머물면 아첨이 됩니다.

다섯째, **개인화 기억 활용(Personalized Memory Use)**입니다. 유효한 기억을 파악한 뒤, 추천·조언·주관적 선택 태스크에서 그 기억을 실제로 활용합니다. 메모리 시스템의 본래 목적입니다.

4단계 구성 파이프라인

memsyco-bench-overview.png

각 태스크 인스턴스는 4단계를 거쳐 만들어집니다.

1단계: 메모리-결정 스키마 구성. 태스크 목표, 답변 공간, 필요 정보, 기억의 적절한 역할을 명세합니다. 각 태스크 유형마다 스키마를 고정해, 기억이 결정에 어떻게 작용해야 하는지 경계가 명확하게 설정됩니다.

2단계: 스키마 기반 질문 인스턴스화. 스키마에서 역사적 기억 단편을 먼저 생성한 뒤, 그 기억과 의미적으로 연관된 현재 질문을 만듭니다. 중요한 것은, 기억이 쿼리와 관련은 있지만 그 역할은 스키마가 규정합니다.

3단계: 장기 대화 시뮬레이션. 초기 질문과 기억 단편을 바탕으로, 자연스러운 멀티턴 대화를 시뮬레이션합니다. 사용자 선호, 사실 정보, 관점 변화가 대화 흐름 속에서 자연스럽게 드러나도록 설계합니다. 최종 질문은 어느 기억을 써야 하는지 직접 알려주지 않습니다.

4단계: 3차원 품질 검증. 의미적 관련성, 기억-사용 경계, 실패 방향 세 축으로 각 인스턴스를 검증합니다. 세 조건을 모두 통과한 것만 벤치마크에 포함됩니다.

결과

기억을 주면 아첨이 심해진다

7개 메모리 시스템(NaiveRAG, Full Dialog, Mem0, A-Mem, LightMem, MemGPT, MemoryBank, SuperMemory)을 Qwen3-8B와 DeepSeek-V4-Flash에 얹어 평가했습니다. 결과는 명확합니다. 기억을 추가하면 객관적 사실 판단 정확도가 일관되게 하락합니다.

시스템

Acc (%)

Syco Rate (%)

No Memory

49.12

27.43

SuperMemory

26.00

64.67

Full Dialog

26.00

44.47

MemGPT

30.00

60.67

MemoryBank

31.67

52.33

LightMem

34.67

55.00

NaiveRAG

34.00

46.00

A-Mem

35.67

55.00

Mem0

35.67

52.33

Qwen3-8B, Objective Fact Judgment 결과.

메모리 없음 베이스라인이 49.12%인데, 메모리를 붙이면 26.00~35.67%로 떨어집니다. 아첨률은 27.43%에서 44.47~64.67%로 올라갑니다. DeepSeek-V4-Flash도 동일한 패턴입니다. 74.33%에서 56.33~63.37%로 하락합니다.

기억-증거 충돌 태스크는 더 극단적입니다. Full Dialog 설정의 Qwen3-8B는 정확도 0.67%, 아첨률 99.33%를 기록했습니다. 관련 기억이 컨텍스트에 들어오는 순간 에이전트가 거의 예외 없이 증거 대신 기억을 따릅니다.

검색 이후의 실패가 핵심이다

오류 원인을 분석한 결과, Mem0, A-Mem, LightMem 세 시스템에서 전체 오류의 61~62%가 관련 기억이 이미 검색된 이후에 발생했습니다. A-Mem의 경우 객관적 사실 판단, 기억-증거 충돌, 유효 기억 선택 태스크에서 기억이 검색된 뒤에도 틀리는 비율이 각각 64%, 74%, 75%였습니다.

기억을 못 찾아서 틀린 게 아니라, 찾고 나서도 어떻게 써야 하는지 몰라서 틀린 것입니다.

개인화는 되지만 업데이트는 안 된다

개인화 기억 활용 태스크에서는 일부 시스템이 개선을 보였습니다. Qwen3-8B에서 A-Mem은 정확도를 45.67에서 55.33으로 높이고 올바른 기억 활용률을 63.34에서 71.00으로 개선했습니다. 기억을 저장하고 재사용하는 것 자체는 작동합니다.

하지만 유효 기억 선택 태스크에서는 구식 기억 활용률이 오히려 증가했습니다. Qwen3-8B에서 Full Dialog의 56.16%에서 메모리 시스템 적용 시 50.57~69.91%로 변동했고, DeepSeek-V4-Flash에서는 16.34%에서 41.42~48.57%로 올랐습니다. 기억을 저장하는 것과 어느 기억이 지금도 유효한지 판별하는 것은 전혀 다른 능력입니다.

행동 가이드의 역설

"기억을 상황에 맞게 써라"는 메모리 주의 지시문(memory-caution instruction)은 기억-증거 충돌 태스크에서 효과적이었습니다. Full Dialog에서 31.6% 개선, A-Mem에서 9.8% 개선이 나왔습니다. 그러나 동일한 지시문이 개인화 기억 활용 태스크에서는 -13.0~-21.0%의 피해를 줬습니다. 에이전트가 과도하게 보수적이 되어 기억을 써야 할 때도 쓰지 않은 것입니다.

"정말로 그 답이 맞나요?"라는 확인 지시문(confirmation instruction)은 더 나쁜 결과를 낳았습니다. 전 설정에서 평균 -26.9%에서 -9.9% 사이의 하락이 나타났습니다. 확인 질문이 에이전트로 하여금 자신의 초기 답변을 재검토하게 만들었지만, 재검토 방향이 기억 쪽으로 기울었습니다. 아첨이 강화된 것입니다.

회고

저자들이 밝히는 한계는 세 가지입니다.

첫째, 두 모델(Qwen3-8B, DeepSeek-V4-Flash)만 테스트했습니다. 다른 모델군에서 동일한 패턴이 나타나는지는 확인이 필요합니다.

둘째, 영어 데이터만 사용했습니다. 메모리 유발 아첨이 다국어 맥락에서 어떻게 달라지는지는 알 수 없습니다.

셋째, 평가 루브릭에 LLM 판사를 사용했습니다. 사람이 선호를 직접 판단하는 것과 달리 판사 모델의 편향이 개입할 수 있습니다. 특히 개인화 태스크처럼 정답이 주관적인 경우에 더 민감합니다.

시나리오 분석(4.4절)에서 드러난 내부 실패도 흥미롭습니다. LightMem은 유효 기억 선택 태스크에서 유효 사례의 89.0%에서 충돌 기억만 가져오고 실제 증거는 검색하지 않았습니다. A-Mem은 98.57%에서 구형·신형 기억을 함께 검색했지만 정확도는 24.06에 그쳤습니다. 기억들을 동시에 가져와도 어느 것이 유효한지 시간 순서를 따지는 시간적 중재가 없으면 결국 구식 기억이 이깁니다.

정리

  1. 기억이 검색됐다고 올바르게 쓰이는 게 아닙니다. 7개 시스템 모두 검색 이후의 판단 조정에서 실패했습니다. 다음 세대 메모리 벤치마크의 핵심 질문은 "검색했는가"가 아니라 "검색한 것을 언제 무시하고 언제 쓰는가"입니다.
  2. MemSyco-Bench의 5개 태스크는 이 판단력의 다른 단면을 측정합니다. 억제(사실 판단·맥락 통제·증거 충돌)와 활용(유효 선택·개인화)을 모두 다루기 때문에, 어느 한 방향으로 편향된 설계를 잡아냅니다.
  3. "기억에 주의하라"는 광범위한 지시문은 만능이 아닙니다. 충돌 해결에는 도움이 되지만 개인화에는 역효과가 납니다. 맥락에 따라 기억 활용 전략을 전환할 수 있는 세밀한 설계가 필요합니다.