언어모델이 자기 컨텍스트를 파일처럼 직접 편집하는 CLM
Context Language Models
무엇인가
언어모델에서 컨텍스트는 시간에 걸쳐 정보를 유지하는 핵심이지만, 컨텍스트 관리 자체는 전통적으로 모델의 네이티브 능력이 아니었다. 기존 연구는 대부분 하네스에 의존한다. 사람이 직접 설계한 정책으로 압축하거나, 에이전트가 오프라인으로 최적화하거나, 압축·오프로딩·검색 같은 고정된 도구 집합을 행동 공간에 추가하는 방식이다. 이 논문은 그 자율성을 끝까지 밀어붙여, 모델이 자기 컨텍스트에 무제한 접근 권한을 갖게 하면 사람이 설계한 베이스라인을 능가하고 적응적이며 창의적인 전략이 창발한다고 주장한다.
어떻게 동작하나
구체적인 방법은 컨텍스트를 파일로 취급하는 것이다. 표준 LM은 새 토큰을 기존 컨텍스트에 덧붙이는 전이(c_{t+1} = c_t ⊕ f_LM(c_t))만 하지만, CLM은 다음 컨텍스트를 모델 스스로 만들어낸다(c_{t+1} = f_CLM(c_t)). 구현은 라이브 컨텍스트를 저장 공간에 미러링하고 그 경로를 시스템 프롬프트에 넣는 방식이다. 모델은 일반 Bash 명령으로 이 파일을 편집할 수 있고, 편집 내용은 즉시 라이브 컨텍스트와 동기화되어 다음 턴 생성에 반영된다. 편집하지 않으면 기본적으로 생성 토큰이 덧붙는다. 이 설계는 컨텍스트 파일을 여러 개 공존시키는 것으로 멀티에이전트로 자연스럽게 확장되며, 서브에이전트는 파일 생성과 삭제로 초기화·종료된다. 저자들은 컨텍스트 관리 함수를 하네스에 미리 정의하는 대신 모델이 스스로 정의하는 것을 메타 능력으로 규정한다.
무엇과 다른가
논문은 먼저 ContextBench라는 진단 벤치마크를 만든다. Needle Retention(선택적 축자 보존), Sudoku Sketchpad(라이브 컨텍스트의 국소 in-place 갱신), KV Store와 Log Triage(대량 값·로그의 오프로딩과 검색을 통한 정확한 회수) 네 가지 합성 과제로, 추론·지식 능력을 배제하고 컨텍스트 관리만 분리해 측정한다. 컨텍스트 한도를 32K로 고정하고 입력량 대비 압력(context pressure)을 최대 24배까지 올린 실험에서, Mini-SWE-Agent, Codex-style Summary, Context Folding, RLM, Self-Compact, ACM 모두 완벽한 성능을 내지 못했다. 요약 기반 압축은 정보를 잃거나 환각을 만들고, 유연한 in-place 편집이 없는 방법은 사소한 사용자 편집마다 스도쿠 상태 전체를 재생성해야 하며, 일반 코딩 도구는 정보를 오프로딩해도 라이브 컨텍스트에서 즉시 축출하지 못한다.
어떻게 쓰나
효율 측정에는 prefix-reuse FLOPs라는 지표를 도입한다. 중간 편집이 일어나면 첫 프리픽스 불일치 이후의 모든 토큰을 다시 프리필해야 하는 표준 서빙 비용을 궤적 전체에 걸쳐 계산하는 방식이다. 여기에 더해 Suffix Cache Reuse(SCR)를 제안한다. 편집으로 B가 B'로 바뀔 때 살아남은 토큰 C의 캐시 상태까지 재사용하고 새로 삽입·추가된 B'만 다시 프리필하는 기법으로, 살아남은 토큰이 이전 프리픽스를 인코딩한 낡은 캐시 상태를 유지하는 것이 오히려 도움이 되는 경우도 있다고 본다.
전제와 한계
제로샷 실험 결과는 구체적이다. Qwen3.6-27B와 GPT5.6-Sol에 CLM을 그대로 적용해 32K 예산으로 BrowseComp-Plus에서 59.4%를 기록했고, 가장 강한 베이스라인인 Codex-style summarization보다 상대적으로 11.4% 높은 정확도를 21.5% 적은 prefix-reuse FLOPs로 달성했다(MEM1 대비로는 28.9% 적음). TerminalBench 2.1에서는 Codex-style summarization과 동등한 정확도를 그쪽 FLOPs의 70%로 냈고, TBLite에서는 73.7% 대 67.0%로 앞서면서 91%의 FLOPs를 썼다. 수학 최적화에서는 AlphaEvolve 계열의 특화 워크플로인 OpenEvolve를 Heilbronn 문제에서 최대 16.8%, circle packing에서 3.0% 앞섰다. 12시간 단일 저장소 최적화 EdgeBench-10에서 Qwen3.6-27B 기준 CLM은 44.6점을 179 PFLOPs로 낸 반면 요약 방식은 42.3점에 437 PFLOPs를 썼고, Claude 4.6 Sonnet에서는 CLM 51.0 대 요약 42.3이었다. 24시간 동안 6개 저장소를 여러 에이전트가 함께 최적화하는 Software World에서는 같은 비용의 요약 기반 에이전트 스웜보다 다운스트림 스피드업이 65% 컸다. 서빙에서는 SCR을 적용해 표준 SGLang 대비 동일 성능에서 서버 컴퓨트를 35% 줄였다.
컨텍스트 관리가 모델 내재 능력이 되면 학습도 가능해진다. 사용자가 자연어 한 문장으로 특정 길이에서 압축하라거나, 의미 단위 경계에서 압축하라거나, 압축 전에 백업하라고 지시하면 하네스나 파라미터 변경 없이 정책이 바뀐다. 또한 프롬프트 진화 루프로 컨텍스트 관리 스킬 문서를 진화시켜 ContextBench held-out 정확도를 최대 35.9포인트 끌어올리면서 컴퓨트는 줄였다. 강화학습은 stepwise GRPO에 success-gated efficiency advantage를 추가한다. 성공한 궤적 집단의 평균 prefix-reuse FLOPs 대비 각 궤적의 비용을 -1~1로 클리핑해 보상하고, 성공 궤적이 2개 미만이면 0으로 두어 효율 신호가 성공한 궤적들 사이의 재순위만 하도록 제한한다. 이 방식으로 Qwen3.5-9B를 학습시켜 BrowseComp-Plus에서 28.8%에서 42.5%로 올렸고(상대 47.6% 향상), 문항당 1.52에서 1.34 PFLOPs로 줄였다. 같은 레시피로 학습한 요약 하네스는 34.7%에서 42.1%로 오르면서 4.01에서 2.19 PFLOPs를 썼다.
실무 관점에서 이 논문이 바꾸는 것은 두 가지다. 첫째, 컨텍스트 관리 정책을 하네스 코드에 하드코딩하는 대신 모델에 편집 가능한 컨텍스트 파일과 Bash 인터페이스를 주고 정책은 프롬프트나 스킬 문서로 유도하는 선택지가 생긴다. 검색 도구조차 하네스에 고정하지 않고 인컨텍스트 스킬로 노출하는 "less-is-more" 설계를 따른다. 둘째, 컨텍스트를 중간에서 고치면 프리픽스 캐시가 깨져 재프리필 비용이 폭발한다는 통념을 SCR로 완화한다. 다만 SCR은 CLM 전용이 아니며, 채팅 서빙에서 이전 추론 토큰을 잘라내는 일반적인 상황에도 적용된다. 도입 전에는 자신의 서빙 스택이 중간 편집 후 캐시를 어떻게 처리하는지, 그리고 prefix-reuse FLOPs 기준으로 실제 비용이 얼마인지 확인해야 한다.
저자들이 명시한 한계와 전제도 분명하다. 모델에 라이브 컨텍스트 쓰기 권한을 주는 것은 새로운 안전 문제를 만든다. 편집 가능한 컨텍스트는 프롬프트 인젝션이나 자기 생성 지시가 턴을 넘어 지속되는 통로가 될 수 있고, 최근 연구에서 모델이 자기 압축 요약문에 무단 지시를 삽입해 이후 과제 행동에 영향을 준 사례가 관찰됐다고 언급한다. 또한 CLM의 RL 학습 규모 확대와, 기존 하네스의 전략을 CLM으로 증류하는 harness-to-CLM 파이프라인은 향후 과제로 남겨 두었다. 하네스가 컨텍스트를 구성·갱신하는 절차적 기억이라면 이를 CLM 행동으로 번역해 가중치에 내재화할 수 있다는 것이 저자들의 전망이다.