- 컨텍스트 언어 모델(CLM) 은 대화 기록과 도구 실행 결과 등 모델이 현재 읽는 내용을 파일로 만들고, 모델이 직접 편집하며 관리하는 방식임
- 정해진 시점에 기록 전체를 요약하는 대신, 중요한 정보는 남기고 불필요한 내용은 삭제하거나 압축하며 작업 상태를 부분적으로 갱신할 수 있음
- 기존 모델에 추가 학습 없이 적용해도, 심층 조사 평가 BrowseComp-Plus에서 요약 기반 방식보다 정확도는 상대적으로 11.4% 높고 연산량은 21.5% 적었음
- 자연어 지시와 스킬 문서, 강화학습으로 컨텍스트 관리 방식을 개선할 수 있으며, 여러 에이전트의 컨텍스트도 각각의 파일로 관리할 수 있음
- 컨텍스트 중간을 수정하면 뒤쪽까지 다시 계산해야 하는 비용을 줄이기 위해 Suffix Cache Reuse를 제안했으며, 실험에서 정확도를 유지하면서 서버 연산량을 35% 줄임
- 기존 언어 모델은 새 출력을 컨텍스트 뒤에 추가하지만, CLM은 다음 단계의 컨텍스트 전체를 모델이 제어하는 함수로 구성함
- 일반 언어 모델의 전이는 c(t+1) = c(t) ⊕ fLM(c(t))이며, CLM은 c(t+1) = fCLM(c(t))로 일반화함
- 미리 정의한 관리 도구를 선택하는 데 그치지 않고, 관리 함수 자체를 계획하거나 재사용 가능한 코드로 정의할 수 있음
- 기존 하네스(harness) 는 일정 길이에 도달하거나 매 턴이 끝날 때 기록을 압축하는 고정 정책을 따르며, 최근 방법들도 사람이 정의한 동작 범위 안에서 모델의 자율성을 확대함
- AutoCompact와 Self-Compact는 압축 시점, Context-as-a-Tool은 미리 정한 영역의 압축을 모델이 선택하게 함
- ACM은 외부 저장과 검색을, Sculptor는 조작할 컨텍스트 조각의 선택을 지원함
- CLM은 이런 동작 집합의 제한을 없애고 컨텍스트 전반의 관리 권한을 모델에 부여함
- Recursive Language Models(RLMs) 는 긴 입력을 REPL 변수로 두고 필요할 때 읽지만, 검색한 정보는 여전히 현재 컨텍스트에 추가되므로 컨텍스트가 지속적으로 커지는 문제를 해결하지 않음
- 사람이 설계한 전략을 고정하기보다 모델이 더 나은 전략을 탐색하고 학습하게 한다는 접근은 The Bitter Lesson과 맞닿아 있음
- ContextBench는 추론 능력이나 지식과 컨텍스트 관리 능력을 분리하기 위한 네 가지 합성 과제로 구성됨
- Needle Retention: 중요한 정보를 선택적으로 원문 그대로 유지하는 능력을 평가함
- Sudoku Sketchpad: 사용자가 순차적으로 전달하는 수를 반영해 현재 컨텍스트의 스도쿠 판을 부분 수정하는 능력을 평가함
- KV Store: 대규모 값을 외부에 저장하고 검색해 정확히 회수하는 능력을 평가함
- Log Triage: 작업 로그를 외부에 저장하고 검색해 정확히 회수하는 능력을 평가함
- GPT-5.4의 컨텍스트 한도를 32K로 고정하고, 입력량을 컨텍스트 한도로 나눈 비율을 최대 24배까지 높여 비교함
- 비교 대상은 컨텍스트 관리가 없는 Mini-SWE-Agent, Codex 방식 요약, Context Folding, RLM, Self-Compact, ACM, CLM임
- 기존 전략은 단순한 과제에서도 완벽하지 않았음
- 요약 압축은 Needle Retention과 Sudoku Sketchpad에서 정보를 잃거나 환각을 일으킬 수 있음
- 유연한 부분 수정이 없으면 작은 사용자 변경에도 스도쿠 전체 상태를 다시 생성해야 함
- 일반 코딩 도구로 정보를 외부에 저장할 수는 있지만, 현재 컨텍스트에서 필요할 때 즉시 제거할 수는 없음
- 현재 컨텍스트를 편집 가능한 파일로 미러링하고 시스템 프롬프트에 경로를 제공함
- 모델은 일반 Bash 명령으로 파일을 편집하며, 변경 사항은 다음 생성에 사용할 실제 컨텍스트와 자동 동기화됨
- 파일을 편집하지 않으면 생성한 토큰을 기존 컨텍스트에 추가하는 기본 동작을 유지함
- 구현 코드는 context-language-models에 공개됨
- 다중 에이전트에서는 여러 컨텍스트 파일이 각각의 LLM 서버와 동기화됨
- 여러 파일로 작업 공간을 초기화해 에이전트 군집을 구성할 수 있음
- 컨텍스트 파일을 생성하거나 삭제해 하위 에이전트를 시작하고 종료할 수 있음
- 추가 학습 없는 실험에서 모델이 다양한 컨텍스트 관리 행동을 스스로 구성함
- 다중 에이전트의 점수판과 상태 추적표를 163차례 부분 수정하면서 컨텍스트를 6~8K 토큰으로 유지함
- 내부 메모용 notes 역할을 만들고, 반복문으로 무관한 검색 결과를 제거하거나 긴 도구 출력을 압축함
- compact_turns 함수를 정의해 37차례 재사용하면서 진행 메모는 유지하고 상세 관찰 결과는 압축함
- 21K 토큰을 답변에 필요한 요약으로 줄이거나, 앞으로 시도할 아이디어를 보존하는 기존 방식의 유효한 행동도 재현함
- 효율 평가는 접두부 재사용 FLOPs(prefix-reuse FLOPs) 로 수행함
- 표준 서버에서는 편집 후 처음 달라진 위치부터 나머지 토큰을 다시 프리필해야 하므로, 단순 생성 토큰 수만으로 비용을 평가하지 않음
- 전체 실행의 생성 비용과 최초 프리필 및 재프리필 비용을 포함하며, 별도로 표시한 SCR 실험 외에는 표준 서빙 조건의 연산량을 보고함
- Qwen3.6-27B에 공통 Mini-SWE-Agent 기반을 사용하고, 컨텍스트 32K와 최대 100턴 조건에서 추가 학습 없이 비교함
- 평가 대상은 BrowseComp-Plus, TerminalBench 2.1, TBLite이며, 비교 방법에는 기본 하네스, Codex 방식 요약, MEM1, Self-Compact, ACM, RLM이 포함됨
- 심층 조사용 검색 도구는 고정된 하네스 인터페이스 대신 컨텍스트 내 스킬로 제공해 추론 시점에도 정의하거나 수정할 수 있게 함
- BrowseComp-Plus 정확도는 59.4%로, 가장 강력한 비교 방법인 Codex 방식 요약보다 상대적으로 11.4% 높았음
- 접두부 재사용 FLOPs는 요약 방식보다 21.5%, MEM1보다 28.9% 적었음
- TerminalBench 2.1에서는 가장 강력한 요약 방식과 정확도가 같으면서 FLOPs가 29.5% 줄었음
- TBLite에서는 정확도가 요약 방식의 67.0%에서 73.7%로 높아졌고, FLOPs는 해당 방식의 91% 수준이었음
- 수학 최적화에서는 circle packing, min-max/min-distance 2D, Erdős minimum overlap, Heilbronn triangle의 네 문제를 평가함
- Claude 4.6 Sonnet, 32K 컨텍스트, 최대 100회 채점 시도 또는 5시간 조건을 사용함
- 비교 대상은 프로그램 생성과 평가 및 진화적 선택을 수행하는 OpenEvolve와, 제안 모델을 환경과 상호작용하는 Mini-SWE-Agent로 바꾼 OpenEvolve-Agent임
- CLM에는 최소한의 Bash 인터페이스와 컨텍스트 내 진화 알고리듬 지침만 제공하고 계획과 컨텍스트 관리는 모델에 맡김
- CLM 계열은 네 문제 모두에서 실행 중 도달한 최고 점수가 가장 높았으며, OpenEvolve 대비 개선 폭은 Heilbronn에서 최대 16.8%, circle packing에서 최대 3.0%였음
- EdgeBench-10에서는 저장소 하나를 검증기 피드백과 함께 최대 12시간 최적화하고, 과제별 세 시드 중 최고 점수를 보고함
- 32K 컨텍스트에서 기본 하네스, Codex 방식 요약, CLM, 최대 5개의 동시 하위 에이전트를 둔 CLM을 비교함
- Qwen3.6-27B에서 CLM은 44.6점과 시도당 179 PFLOPs를 기록했고, 요약 방식은 42.3점과 437 PFLOPs였음
- 하위 에이전트 변형은 44.2점과 181 PFLOPs로, 단일 저장소에서는 추가 이점이 거의 없었음
- Claude 4.6 Sonnet에서는 CLM 51.0점, 하위 에이전트 변형 50.4점, 요약 방식 42.3점이었음
- Software World에서는 GPT-5.6-Sol과 272K 컨텍스트를 사용해 여섯 에이전트가 상호 의존적인 Python 저장소를 약 하루 동안 공동 최적화함
- 대상은 requests 2.34.2, urllib3 2.7.0, nilearn 0.14.0, requests-gssapi 1.4.0, databricks-sql-connector 4.4.0, responses 0.26.2임
- 직접 관찰하지 않은 하위 패키지 requests-cache 1.3.3, cachecontrol 0.14.4, zeep 4.3.3, awswrangler 3.17.1의 17개 평가 과제로 개선의 전이를 측정함
- 같은 비용에서 초기 릴리스 대비 하위 패키지 속도 향상 폭이 요약 기반 에이전트 군집보다 65% 더 컸음. 이는 실행 속도 자체가 65% 빨라졌다는 뜻은 아님
- 자연어 한 문장만으로 하네스나 모델 파라미터를 바꾸지 않고 관리 정책을 유도할 수 있었음
- 지정한 토큰 길이에 도달하면 4K 토큰으로 압축하기, 의미상 하위 질문 경계에서 압축하기, 압축 전에 디스크에 백업하기를 시험함
- 16K/24K/32K 임계값 지시에 따른 첫 압축 시점은 각각 16.0K/23.6K/30.9K였음
- 하위 질문 경계 이후 두 턴 이내 압축 비율은 지시가 없을 때 40%에서 지시 후 88%로 높아짐
- 백업 지시 후 편집 전 전체 백업 비율은 68%, 부분 백업 비율은 추가로 9%였음
- 스킬 문서 진화는 모델의 가중치와 다른 조건을 고정한 채 컨텍스트 내 지침을 최적화함
- 매 라운드 학습 데이터에서 실행 기록을 만들고, 제안 모델이 이를 바탕으로 후보 스킬을 생성함
- 개발 데이터로 후보를 평가해 다음 라운드의 스킬을 선택하며, 최종 스킬은 분리된 테스트 데이터에서 한 번 평가함
- 외부의 더 강한 모델을 사용하는 보조 진화와, 에이전트가 직접 제안하는 자기 진화를 모두 지원함
- ContextBench의 32K 조건에서 보조 진화는 Qwen3.6-27B와 제안 모델 Claude Fable 5.1을, 자기 진화는 두 역할 모두 Opus 5를 사용함
- KV Store에서 두 방식 모두 초기 상태보다 성능과 비용의 파레토 경계를 개선함
- 전체 ContextBench 결과에서는 미사용 평가 데이터의 정확도가 최대 35.9%p 높아지면서 연산량도 감소함
- 단계별 GRPO는 전체 에이전트 실행의 결과 보상을 각 모델 호출 구간에 배분해, 편집으로 입력이 달라지는 다중 턴 실행을 학습함
- 결과 보상만으로는 성공한 실행 속 비효율적 편집이나 실패한 실행 속 유용한 편집을 충분히 구별하기 어려움
- 편집 빈도나 제거한 토큰 수를 보상하면 불필요한 편집, 중요한 정보 삭제, 접두부 재사용 저하로 보상을 악용할 수 있음
- 성공 조건부 효율 이점(success-gated efficiency advantage) 은 성공한 실행끼리만 접두부 재사용 FLOPs를 비교함
- 성공 실행의 평균 비용보다 저렴한 실행에 추가 이점을 부여하며, 값은 -1~1 범위로 제한함
- 한 그룹의 성공 실행이 두 개 미만이면 효율 이점은 0으로 설정하고, 결과 이점에 가중 합산함
- OpenResearcher로 후속 학습한 Qwen3.5-9B를 미사용 BrowseComp-Plus에서 평가함
- 학습 전 CLM은 작은 모델의 제한된 관리 능력으로 요약 하네스보다 약 6%p 낮았음
- 학습 후 CLM 정확도는 28.8%에서 42.5%로, 질문당 비용은 1.52에서 1.34 PFLOPs로 개선됨
- 같은 학습 방식을 쓴 요약 하네스는 34.7%에서 42.1%로 개선됐고 비용은 4.01에서 2.19 PFLOPs로 줄었음
- 학습된 CLM은 요약 하네스보다 정확도가 0.4%p 높고 연산량은 38.8% 적었으며, 효율 보상은 두 방식 모두에서 뚜렷한 정확도 손실 없이 비용을 추가로 낮춤
- 표준 접두부 캐시는 컨텍스트 A-B-C에서 B를 B′로 바꾸면 B′와 C를 모두 재프리필해야 함
- Suffix Cache Reuse(SCR) 는 남아 있는 모든 토큰의 캐시를 재사용하고 새로 삽입하거나 추가한 토큰만 프리필함
- C의 캐시는 이전 접두부 정보를 담은 오래된 상태로 유지됨
- 이 상태가 과거의 더 풍부한 정보를 보존해 도움이 될 수도 있지만, 새 컨텍스트로 다시 계산한 캐시와 동일한 것은 아님
- Qwen3.6-27B의 BrowseComp-Plus 실험에서 표준 SGLang과 SCR은 모두 정확도 60.2%를 기록함
- 질문당 서버 측 FLOPs는 10.98에서 7.14 PFLOPs로 줄어, 표준 방식의 65.0% 수준이었음
- 전체 턴에서 프리필한 프롬프트 토큰 비율은 27.1%에서 18.3%로, 편집 직후 턴에서는 75.8%에서 41.8%로 줄었음
- 이전 추론 토큰 제거로 발생하는 재프리필에도 적용할 수 있어 CLM에만 한정되지 않음
- Qwen3.6-27B의 기본 채팅 템플릿이나 상태를 유지하지 않는 Chat Completions API로 제공되는 GPT-5.6 Sol처럼 이전 추론 토큰을 제거하는 환경에서도, 뒤에 남은 토큰의 캐시를 재사용할 수 있음
- 구현은 전체 어텐션과 선형 어텐션 계층이 교차하는 하이브리드 모델 및 편집 후 여러 구간이 남는 경우도 지원함
- 편집 가능한 컨텍스트는 프롬프트 인젝션이나 모델이 스스로 생성한 지시가 여러 턴에 걸쳐 지속되는 새로운 경로가 될 수 있음
- 기존 압축 요약에서도 모델이 허가받지 않은 지시를 자체 요약에 삽입하고 이후 작업 행동에 영향을 준 사례가 관찰됨
- 모델 제어의 유연성을 보존하면서 컨텍스트 무결성을 유지할 방어와 공격 표면 분석이 필요함
- 향후에는 CLM 강화학습의 규모 확대와 기존 하네스 전략을 CLM으로 옮기는 증류 파이프라인을 탐구할 수 있음
- 많은 하네스 동작은 컨텍스트 변환으로 나타낼 수 있으므로 CLM 동작으로 번역하고 모델 가중치에 내재화할 가능성이 있음
- 하네스를 외부에서 개발한 절차적 기억이나 과제별 스킬로 보고, 이후 CLM이 흡수해 더 일반적으로 사용하도록 할 수 있음