MemoryWalker가 짚은 문제: 압축된 컨텍스트로 학습한 에이전트가 어긋나는 이유 | DAKER 커뮤니티

긴 작업을 수행하는 에이전트는 컨텍스트를 압축하며 버팁니다. 문제는 그 압축이 추론에는 유용해도, 학습 단계에서 원래 토큰이 생성되던 순간의 조건을 흐릴 수 있다는 점입니다.

2026년 9월 1일 Token Foundry·Alibaba Group이 arXiv에 공개한 MemoryWalker는 바로 이 지점을 겨냥합니다. Claude Code·Qwen-Agent 같은 프로덕션 하네스와 TC-RAG·AgentFold·MemexRL 같은 설정을 바탕으로, 압축된 컨텍스트 위에서 에이전트를 학습할 때 어떤 불일치가 생기는지, 그리고 이를 어떻게 줄일 수 있는지를 설명합니다.

압축된 컨텍스트로 에이전트를 학습하면 어긋납니다

논문은 2026-09-01 arXiv에 올라왔습니다. 초록은 arXiv:2609.00865에서 확인할 수 있습니다. 영문 제목은 MemoryWalker: Stop Training Agents on Contexts They Never Saw입니다. 저자는 Zinco J, Xunjie Zhu, Shen Huang, Zhenyi Wang, Pengjun Xie, Jieping Ye (Token Foundry, Alibaba Group)입니다. PDF는 같은 번호의 pdf입니다. 이 글은 제공된 사실과 초록·본문에서 확인한 범위만 옮깁니다.

압축은 편리하지만, 학습 조건을 바꿔 놓을 수 있습니다

긴 에이전트 궤적에서는 컨텍스트를 그대로 유지하기 어렵기 때문에 압축이 들어갑니다. Claude Code와 Qwen-Agent는 제거된 접두를 요약으로 바꾸고, TC-RAG·AgentFold·MemexRL은 모델이 언제 무엇을 압축할지 선택하기도 합니다. 이런 방식은 추론을 이어 가는 데는 도움이 되지만, 학습에서 토큰 로그확률을 다시 계산할 때는 다른 문제가 생깁니다.

원래 어떤 토큰은 특정 시점의 살아 있는 컨텍스트 아래에서 생성됐는데, 사후에 재계산할 때는 그 시점의 조건이 이미 사라져 있을 수 있습니다. 논문은 이 과정에서 학습 조건이 트리 구조로 갈라진다고 설명합니다.

문제의 핵심은 압축 자체보다 학습 시점의 접두와 실제 롤아웃 시점의 live view가 달라진다는 데 있습니다.

여기서 Naive-Compressed는 최종 압축 경로만 따라가 과거 토큰을 나중에 만들어진 요약 아래에서 다시 평가합니다. 논문은 이를 time-travel leakage라고 부릅니다. 반대로 Naive-Full은 전체 DFS 궤적을 다시 넣어 배포 시점에는 존재하지 않는 정보까지 학습에 노출합니다. 이것이 train-inference mismatch입니다.

MemoryWalker가 제안한 방법: LogitTree·4D attention mask·SDCC

논문은 이 불일치를 줄이기 위한 방법으로 LogitTree와 4D attention mask를 제시합니다. LogitTree는 로짓 트리를 구간별 K-forward로 따라가고, 4D attention mask는 같은 분기 구조를 한 번의 forward에 넣습니다. 본문에는 두 방식이 gradient equivalent라고 적혀 있습니다.

다만 구현 조건은 다릅니다. LogitTree는 K+1 backward가 필요하고, 4D attention mask는 커스텀 마스크 커널과 축출 기록이 필요합니다. 즉, 정확한 조건 일치를 맞추는 방법이지만 비용과 구현 난도가 함께 따라옵니다.

이와 함께 SDCC(Self-Distillation for Conditioning Consistency)도 제안합니다. SDCC는 단일 backward로 forward KL을 맞추는 방식입니다. 각 축출 지점에서 압축 학생과 stop-gradient 교사, 즉 축출 전 접두를 기준으로 한 교사 사이의 KL을 줄입니다. 논문은 Pinsker 부등식을 통해 잔여 KL ε_KL이 있을 때 TV 갭이 O(sqrt(ε_KL))로 묶인다고 설명합니다.

SDCC는 블랙박스 하네스에도 수정 없이 적용할 수 있다고 논문은 적습니다.

실험에서 확인한 수치

실험은 Qwen3-4B를 중심으로 TC-RAG·AgentFold·MemexRL과 Claude Code·OpenCode에서 이뤄졌습니다. 논문이 제시한 기준점 가운데 눈에 띄는 것은 무압축 logdiff 바닥이 0.014라는 점입니다. 반면 AgentFold에서 Naive-Compressed의 logdiff는 0.366으로, 약 26배 수준입니다.

논문 본문에는 LogitTree·SDCC가 EM·보상에서 Naive보다 높다고 표에 제시돼 있습니다. 이 글에서는 제공된 사실 범위 안에서 해당 방향성만 옮깁니다.

Qwen3-4B 실험에서 무압축 logdiff 바닥은 0.014이고, AgentFold의 Naive-Compressed는 0.366입니다.

WideSearch 결과는 조건과 함께 읽어야 합니다

WideSearch를 Claude Code 하네스와 Qwen3.7-Air로 돌린 결과도 함께 제시됩니다. LogitTree를 15스텝 학습한 뒤 Pass@4는 7.0에서 10.0으로 올랐습니다. 본문에는 Pass@1도 함께 올랐다고 적혀 있지만, 여기서는 제공된 핵심 수치인 Pass@4 구간만 다룹니다.

중요한 점은 이 숫자가 특정 조건 아래의 결과라는 사실입니다. WideSearch·Claude Code·Qwen3.7-Air·15스텝이라는 맥락을 떼어내면 같은 의미를 유지하기 어렵습니다.

WideSearch에서 LogitTree 15스텝 후 Pass@4는 7.0에서 10.0으로 올랐습니다.

실무에서 먼저 점검할 부분

이 논문이 던지는 실무적 질문은 비교적 분명합니다. 팀이 압축 스트림으로만 학습했는지, 그리고 각 토큰의 학습 접두가 실제 롤아웃 시점의 컨텍스트와 같은지를 기록하고 있는지부터 확인하는 것이 좋습니다.

압축 훅이 있는 하네스로 RL·SFT를 돌린다면 축출 시점과 살아 있는 컨텍스트 스냅샷을 로그에 남겨 두는 편이 좋습니다. Naive-Compressed만 쓰는지, LogitTree·SDCC를 쓰는지도 함께 밝히면 재현성과 해석이 쉬워집니다.

또한 logdiff 0.014와 0.366 같은 수치는 출처와 함께 다뤄야 합니다. 논문에서는 Qwen3-4B와 AgentFold 조건에서 제시된 값이므로, 자체 실측과 섞지 않는 편이 안전합니다. Claude Code·OpenCode처럼 블랙박스 하네스라면 SDCC 적용 여부를 별도로 적어 두는 것이 좋습니다.

Controller·Worker를 나누는 구조라면 Worker 롤아웃 로그에서 압축 전후 접두를 재구성할 수 있는지도 중요합니다. 논문은 학습 로그에 축출 지점 J와 제거 구간 E가 없으면 LogitTree와 4D mask를 재현하기 어렵다고 설명합니다. 블랙박스 하네스에서는 HTTPS로 관측한 렌더 접두를 바탕으로 분기 뷰를 복원하는 방식을 사용했다고 적혀 있습니다.

이 논문이 말하지 않는 것

압축을 끄면 항상 더 좋다는 주장은 아닙니다. 논문의 초점은 압축 자체보다 학습·추론 조건 불일치에 있습니다.

LogitTree가 모든 블랙박스 API에서 비용 없이 적용된다는 뜻도 아닙니다. 정확한 방법에는 비용, 커널, 화이트박스 요구가 따르고, SDCC는 이를 완화하는 대안으로 제시됩니다.

Pass@4 7.0→10.0이 모든 벤치에서 보장된 상승이라는 뜻도 아닙니다. WideSearch·Claude Code·Qwen3.7-Air·15스텝 조건에서의 결과입니다.

특정 대회 성과를 알리는 글도 아닙니다. 공개된 실험을 바탕으로 조건 일치 학습의 필요성을 설명하는 내용입니다.

참고 자료

arXiv:2609.00865 — MemoryWalker: Stop Training Agents on Contexts They Never Saw (2026-09-01)
https://arxiv.org/pdf/2609.00865

여러분의 팀은 에이전트 학습에서 컨텍스트 압축과 학습 접두의 일치를 어떤 방식으로 점검하고 있나요?