coredot.today
기술 탐색으로 돌아가기
에이전트 기억연구

Supersede

메모장만 쥔 에이전트가 바뀐 사실을 얼마나 놓치는지 재고, 그 측정을 보상으로 바꿔 훈련하는 강화학습 환경

직접 해보기 6실측빠른 시작
종류
논문
라이선스
Apache-2.0
언어
Python
사실 확인
2026.10.31
prime env install supersede

TRY IT

직접 해보기

OVERVIEW

개요

무엇인가

Supersede는 2026년 6월 25일 arXiv에 올라온 「Supersede: Diagnosing and Training the Memory-Update Gap in LLM Agents」(arXiv 2606.27472)와 그 논문이 공개한 강화학습 환경입니다. 저자는 기업용 기억·검색 인프라 회사 Vrin의 Vedant Patel 한 사람이고 본문은 8쪽 남짓입니다.

논문은 "이사했어요"라고 말해 둔 사용자에게 옛 도시행 표를 끊는 실패 하나만 팝니다. 들은 것을 떠올리는 회상과, 같은 자리에 새 값이 왔을 때 옛 값을 밀어내는 대체(supersession)는 다른 능력이라는 것이 출발점입니다. 그리고 제한된 크기의 스스로 관리하는 기억 아래에서 대체를 해야 할 때 잃는 정확도를 대체 격차라고 정의하고, 질문 네 개를 차례로 던집니다.

질문논문의 답
이 실패는 정말 있나?있다. 메모장만 쥔 에이전트는 전체 대화를 본 자신보다 확실히 못한다
더 큰 모델이면 풀리나?아니다. gpt-5.4도 92%에서 77%로 떨어진다
더 큰 메모장이면 풀리나?아니다. 대화가 24배 길어지면 68%가 28%, 메모장을 24배 키워도 28%
훈련하면 줄어드나?그렇다. 3B 모델을 GRPO로 훈련해 실제 문항에서 9.0% → 16.7%

논문 표 1(판정 모델 gpt-4.1-mini 채점)의 전체 문맥 대 300자 메모는 gpt-4.1-mini 82% 대 63%(−19, 19 대 4, p = 0.0035), gpt-4.1 91% 대 64%(−27), gpt-5.4 92% 대 77%(−15, 13 대 1, p = 0.0033)입니다. 전체 문맥은 82 → 91 → 92로 포화하는데 메모는 63 → 64 → 77로 느리게 오릅니다. 저자의 결론은 "병목은 이해가 아니라 기억 관리"입니다. "X는 이제 Y" 같은 합성 데이터에서는 최신 모델이 전체 문맥으로 모든 설정에서 100%를 받아, 측정 도구로는 이미 포화돼 있습니다.

이 논문의 진짜 산출물은 숫자보다 환경 자체입니다. Prime Intellect의 verifiers 형식으로 짜여 Environments Hub에서 한 줄로 설치되고, 저장소에는 오프라인 테스트 21개, 이중 시간 사실 모델, 합성 타임라인 생성기, LongMemEval 로더가 들어 있습니다. 훈련된 LoRA와 합성 에피소드 데이터셋도 Hugging Face에 있습니다.

어떻게 동작하나

무대는 LongMemEval의 지식 갱신 78문항입니다. 한 세션에서 말한 사실이 뒤 세션에서 바뀌고, 질문은 지금 값을 묻습니다. 갱신은 대개 다른 주제의 대화 한가운데에 지나가듯 들어 있습니다("레이철이 교외로 다시 이사했어요"는 여행지를 고르다 나온 말).

세션 1 … k
날짜 없이 user·assistant 대화만
→
메모 전체 다시 쓰기
B = 300자, 초과분은 앞 300자만 남기고 잘림, 원문은 다시 안 봄
→
메모만 보고 답
전체 문맥 조건과 같은 문항으로 짝지어 비교

메모 지시문은 "새 정보가 이미 적어 둔 것을 바꾸면 덮어써라. 낡은 사실은 절대 남기지 마라"라고 분명히 말합니다. 그래도 실패한다는 것이 요점입니다. 비교는 짝지은 맥니마 검정으로, 한쪽만 맞힌 문항 수 b와 c만 봅니다.

환경의 보상. 최종 답이 지금 값을 전하면 r_cur = +1입니다. 판정 모델 없이 문자열 규칙으로 채점합니다(정규화한 정답 변형이 답에 들어 있거나 정답 토큰의 60% 이상이 답에 있으면 통과). 옛 값을 주장하면 −1인 r_stale도 있지만 옛 값이 표시된 합성 문항에서만 작동하고, 보고된 학습은 r_cur만 썼습니다(λ = 0).

훈련. 절차적으로 만든 6~8세션 합성 대화 2,000개("시카고 → 애틀랜타", "마쓰다 → 기아 → 렉서스"처럼 방해 세션 사이에 갱신을 묻음)로 Qwen2.5-3B-Instruct를 GRPO로 훈련하고, 한 번도 안 본 실제 LongMemEval oracle 78문항으로 평가합니다(LoRA 랭크 32, 그룹 8, KL 벌점 없음, A10G 4장, 최대 200단계 중 175단계에서 이점 0 배치가 10번 이어져 자동 정지).

논문 보고로는 합성 에피소드의 훈련 보상이 0.66에서 0.97까지 오르고, 실제 문항 정확도는 훈련 전·50·100단계 모두 9.0%(7/78)로 평평하다가 150단계 12.8%, 175단계 16.7%(13/78)로 오릅니다. 저자는 보상이 포화하는 시점부터 단조롭게 오르는 곡선 모양을 학습의 증거로 들고, 16.7%를 이 교육과정의 바닥이지 천장이 아니라고 씁니다.

빠른 시작

bash
prime env install supersede   # Environments Hub에서 환경 설치

훈련된 어댑터는 vedant33/supersede-qwen2.5-3b-grpo-lora, 합성 에피소드는 vedant33/supersede-rl-episodes(Hugging Face)입니다. 자기 기억 시스템을 재 보려면 저장소 rollout.py의 메모·답변 지시문과 보상 코드를 그대로 가져와, 같은 문항을 전체 문맥과 자기 시스템에 돌리고 맥니마 검정으로 짝지어 비교하면 됩니다. 이때 채점은 문자열 채점기만 믿지 말고 LongMemEval 공식 판정 기준을 함께 씁니다(아래 실측 참고).

코어닷투데이 실측

같은 데이터와 rollout.py 지시문 그대로, Qwen 3.5 9B(온도 0, 추론 끔)를 사내 GPU 서버에서 돌렸습니다. 지식 갱신 oracle 78문항 전부(기권 6문항 포함), 메모 300자 잘림·메모 출력 100토큰·답 64토큰입니다. 채점은 논문의 문자열 채점기와 LongMemEval 공식 판정 기준을 함께 썼습니다(전체 문맥 78건에서 Qwen 9B 판정과 77건 일치). ④ 장부형은 메모를 주제: 지금 값 (날짜) 한 줄씩 쓰게 한 코어닷투데이의 지시문으로, 실행 전에 고정했습니다.

조건 (oracle, n = 78)공식 판정문자열 채점기메모 대비 맥니마
① 전체 문맥65 = 83.3%6626 대 6, p = 0.0008
② 메모 300자 (논문 지시문)45 = 57.7%35기준
③ 메모 + 세션 날짜44 = 56.4%316 대 7, p = 1.0
④ 장부형 메모 300자56 = 71.8%4315 대 4, p = 0.022
메모 1,000자60 = 76.9%4520 대 5, p = 0.004
메모 3,000자66 = 84.6%5822 대 1, p < 0.001
  • 격차는 공개 모델에서도 재현됐습니다. 25.6점. 메모 조건 일반 문항 오답 32개 중 23개쯤은 옛 값이 아니라 "메모에 정보가 없다"는 답이었고, 전체 문맥 오답에는 그런 답이 없었습니다. 읽을 수는 있었는데 메모로 옮기다 사라진 것입니다.
  • 날짜만 주는 것은 소용없었습니다(56.4%). 장부형은 같은 300자에서 14.1점을 올렸고, 메모는 오히려 짧아졌습니다(평균 250 → 211자, 잘림 16% → 4%). 3,000자 메모는 전체 문맥과 66 대 65로 격차를 닫았고, 실제로는 평균 1,707자만 썼습니다. 그래도 오답 12개 중 3개는 옛 값이었습니다.
  • 대화가 48세션이 되면 무너졌습니다. 앞 25문항을 s(문항당 39~53세션)로 옮기자 메모 300자는 52% → 12%, 장부형은 88% → 8%(oracle에서만 맞힌 문항 20 대 0), 세션당 150자로 키운 메모(평균 7,152자)도 8%였습니다. 메모의 단어가 10세션 뒤 남는 비율은 메모 49%, 7,150자 81%, 장부형 14%였습니다. 장부는 다음 세션 주제로 통째로 갈아엎어졌고, 큰 메모장에서만 옛 값 답("목요일", "하와이")이 2건 나왔습니다. 작은 메모장은 사실을 잃고, 큰 메모장은 옛 사실을 남깁니다.
  • 채점기가 결론을 바꿉니다. 문자열 채점기로는 격차가 39.7점으로 부풀고 장부형 향상은 p = 0.061로 유의하지 않습니다. 기권 6문항은 공식 판정으로 메모 조건이 5개를 맞혔지만 문자열 채점기로는 0~1개였습니다.
  • 런타임만 바꿔도 7문항이 움직였습니다. 같은 이름의 9B로 전체 문맥을 맥(MLX)에서 72개, 서버(llama.cpp)에서 65개 맞혔습니다(9 대 2, p = 0.07). 같은 가중치의 재실행은 아니지만, 논문의 훈련 효과(6문항)를 읽을 때의 기준점입니다.

언제 쓰고, 언제 피하나

상황판단
자기 기억 시스템의 갱신 실패를 재고 싶다짝지은 설계(전체 문맥 대 기억)와 rollout 코드를 그대로 빌린다. 판정은 공식 기준으로
메모 정책을 강화학습으로 훈련하는 연구환경 그대로 출발점. 단 보상의 문자열 채점기 허점을 먼저 막는다
짧은 대화의 압축 메모를 당장 개선요약 대신 주제: 값 (날짜) 장부 형식만 바꿔도 oracle에서 +14점
몇십 세션 넘게 이어지는 실제 비서모델이 매번 통째로 다시 쓰는 메모·장부는 피한다. 줄은 코드가 저장하고 모델은 바뀐 줄만 내는 구조, 원문 별도 보관을 먼저 시험한다(코어닷투데이 미측정 가설)
"갱신을 해결했다"는 근거로 16.7% 인용피한다. 메커니즘 증명이지 해결이 아니다

한계와 주의

  • 문자열 채점기는 "속일 수 없다(ungameable)"는 설명과 다릅니다. 정답 6:00 pm에 옛 값 7:00 pm을 답해도 00·pm이 겹쳐 67%로 통과합니다. "27 minutes and 45 seconds"에 "26 minutes and 30 seconds"도 3/5가 겹쳐 통과하고, 반대로 정답 "4"에 "four bikes", "seven"에 "7"은 0점입니다. 이 채점기가 곧 훈련 보상이므로 측정 오차이기 전에 학습 신호의 오차입니다.
  • 78문항 중 6개는 기권 문항(_abs)인데 논문은 언급하지 않습니다. 긴 기권 정답 문장 전체가 정답 변형 하나라, 짧게 "모르겠습니다"라고 정확히 기권하면 틀리고 길게 풀어 쓰면 맞습니다.
  • 옛 값 벌점은 보고된 결과에 쓰이지 않았습니다(λ = 0). 초록은 벌점을 소개하지만, LongMemEval에는 옛 값 표시가 없어 작동할 수도 없습니다. 5.1절의 판정 프로토콜도 옛 정보를 함께 말해도 새 값이 있으면 정답으로 칩니다.
  • 숫자가 어긋나는 곳. 그림 3은 큰 메모장을 "~6,500자", 표 2와 본문은 "~7,150자"로 적었습니다(세션당 150자 × 평균 47.5세션이면 표 쪽이 맞아 보임). 정지 시점은 174단계와 175단계가 섞여 있습니다. gpt-4.1-mini의 oracle 메모 정확도는 63%(판정 모델, n = 78), 68%(문자열, n = 25), 57.7%(문자열, n = 78) 세 가지로 나옵니다. 5.1절은 판정 모델(gpt-4.1-mini), 5.2·5.3절은 문자열 채점기라 절대값끼리 비교하면 안 됩니다.
  • 훈련 결과의 크기. 훈련은 시드 하나, 3B 모델 하나이고 7 → 13문항의 유의성은 저자 스스로 확립되지 않았다고 밝힙니다. 같은 3B의 전체 문맥 점수가 없어 격차가 얼마나 줄었는지, 메모 관리가 나아진 것인지 답하는 능력 전반이 오른 것인지 가를 수 없습니다. 규모 실험은 n = 25이고, s에서 늘어난 것은 갱신 횟수가 아니라 방해 세션입니다.
  • '최초' 주장의 범위. 논문이 인용하지 않은 Memory-R1(2025년 8월)은 기억 관리 강화학습 뒤 LongMemEval 지식 갱신 판정 점수를 59.0에서 65.4로 올렸습니다(Qwen-2.5-7B). MemAgent·MEM1·MemPO도 고정 크기 기억을 덮어쓰는 같은 구조입니다.
  • 인용과 이해관계. OpenAI 'Dreaming'의 75.1%(2024년식 시스템 9.4%)는 시간이 흘러 사실이 낡는 경우를 잰 평가로, 사용자의 정정을 재는 Supersede와 같은 시험이 아닙니다. "Gemini 프로필 갱신이 며칠 늦다"는 대목은 인용된 릴리스 노트에서 찾을 수 없었습니다. 저자의 회사 Vrin은 출처·시간이 붙은 사실 그래프 제품을 팔며, 논문의 결론은 그 방향과 맞닿아 있습니다.

DEEP DIVE

더 깊이 읽기