Context Language Models: 모델이 자기 컨텍스트를 파일처럼 직접 편집한다
Context Language Models
TL;DR Highlight
컨텍스트를 파일로 두고 모델이 직접 고치게 했더니 정확도↑ 연산량↓
Who Should Read
장시간 에이전트의 컨텍스트 관리(요약·삭제)를 하네스 코드로 직접 짜느라 고민인 백엔드 개발자
Core Mechanics
- 컨텍스트를 파일로 취급한다
- Context Language Model(CLM)은 컨텍스트를 하나의 파일로 보고 모델이 제한 없이 수정하게 한다.
- 무엇을 남길지 모델이 스스로 배우게 하는 것이 목적이다.
- 멀티 에이전트에도 그대로 확장된다
- 에이전트마다 컨텍스트 파일이 따로 존재하는 구조로 확장된다.
- 기존 모델에 zero-shot으로 붙여도 이겼다
- 기존 모델로 CLM을 만든 것만으로 SOTA 컨텍스트 관리 전략보다 성능이 좋았다.
- BrowseComp-Plus에서 정확도 11.4%↑, FLOPs(연산량) 21.5%↓였다.
- 장시간 작업에서 연산량이 크게 줄었다
- 12시간 EdgeBench에서 점수 5%↑, FLOPs 59%↓였다.
- 24시간 멀티 레포 agent-swarm 과제에서 같은 연산량 기준 개선폭이 65% 더 컸다.
- 컨텍스트 관리를 자연어 지시와 RL로 학습시킨다
- 스킬 최적화 루프로 진화시킨 자연어 지시로 held-out 정확도가 최대 35.9점 올랐고 연산량은 줄었다.
- 온라인 강화학습으로 Qwen3.5-9B의 BrowseComp-Plus 성능이 47.6%↑, FLOPs 12%↓였다.
Community Reactions
- 캐시 적중률이 가장 큰 걸림돌이라는 의견
- 컨텍스트나 프리픽스를 자주 고치면 캐시 적중률이 크게 떨어져 Anthropic API 같은 곳에서는 효율적으로 구현하기 어렵다는 의견이 있었다.
- 원리상 해결 가능하지만 트랜스포머 구조와 서빙 인프라 수정이 필요하다는 의견이었다.
- 별도 감독 에이전트가 낫다는 경험
- 메인 에이전트가 자기 메모리 관리까지 하면 어텐션을 소모한다는 우려가 나왔다.
- 별도 hypervisor 에이전트로 컨텍스트를 관리하니 메인 토큰 소모가 없고 캐시 미스 시점도 제어하기 쉬웠다는 경험이 있었다.
- 지금도 흉내 낼 수 있지 않느냐는 반론
- 파일을 다음 컨텍스트로 보내면 되지만 캐시 미스 비용을 낸다는 의견이었다.
- CLM은 그 재계산을 무시한다는 점이 다르다는 설명이었다.
- 무효 캐시 suffix를 써도 성능이 안 떨어진 점이 핵심일 수 있다는 의견
- 일반적인 캐싱 규칙을 무시하고 유효하지 않은 캐시 suffix를 유지했는데도 성능이 유지됐다는 점을 짚었다.
- Recursive Language Models와 같은 것 아니냐는 의견도 있었다.
How to Apply
- 에이전트 컨텍스트를 노트 파일로 분리하기
- 오늘 장시간 에이전트 하나에 대화 로그 대신 모델이 매 턴 고쳐 쓰는 notes 파일 하나를 두어라.
- 다음 턴 입력은 시스템 프롬프트, 노트 파일, 최근 메시지만 넣어라.
- 캐시 미스 비용을 먼저 측정하기
- 노트 파일을 고칠 때마다 프리픽스 캐시 적중률과 입력 토큰 비용을 로그로 남겨라.
- 파일 앞부분은 고정하고 뒷부분만 수정하게 해 미스 범위를 줄여라.
- 관리 지시를 평가셋으로 반복 개선하기
- 무엇을 남기고 지울지 자연어 지시로 쓰고 held-out 질문 세트로 정확도와 토큰량을 비교하라.
- 점수가 나은 지시만 남기는 루프를 돌려라.
- 컨텍스트 관리를 별도 에이전트로 나눌지 비교하기
- 같은 과제를 자기 관리 방식과 감독 에이전트 방식으로 돌려 정확도와 총 토큰을 비교하라.
Try It
# Claude 또는 ChatGPT 대화창에 붙여넣기 (논문 방법의 간이 버전: 컨텍스트를 파일로 두고 모델이 직접 고치게 하기)
당신은 장시간 작업을 하는 에이전트다. 아래 [CONTEXT_FILE]은 당신의 작업 기억이다.
매 턴마다 새 정보를 받으면 다음을 지켜라.
1. 작업에 중요한 사실, 결정, 남은 할 일만 남기고 나머지는 삭제하거나 한 줄로 압축한다.
2. 응답 맨 앞에 수정된 전체 [CONTEXT_FILE]을 출력한다.
3. 그 아래에 이번 턴의 작업 결과를 쓴다.
[CONTEXT_FILE]
{{현재 컨텍스트 파일 내용}}
[NEW_INFO]
{{이번 턴에 새로 들어온 정보}}
[TASK]
{{전체 과제}}
이어서 해 볼 것: 응답의 수정된 파일을 다음 턴의 [CONTEXT_FILE]에 그대로 넣고 10턴 반복한 뒤, 전체 대화 로그를 넣은 경우와 정확도와 토큰 수를 비교해 보라.Terminology
관련 논문
같은 시뮬레이션, 다른 근거: 도구 출력을 파일로 넘기면 LLM 에이전트 정확도가 어디서 깎이나
긴 툴 출력을 파일로 넘기자 GPT-5.1은 정확도 11.3%p 하락, 정식 출력 지정하니 회복
가짜 뉴스가 진짜 폭락을: LLM 트레이딩 에이전트 대상 정보 주입 공격
가짜 헤드라인 한 줄로 LLM 트레이딩 에이전트 62%를 조종했다(프롬프트 주입은 14%)
Harness Engineering 101: LLM은 뇌, harness는 몸
에이전트는 JSON 배열을 관리하는 루프이고, 16개 챕터로 직접 만들어 본다
Harness²: 에이전트 harness를 스스로 고쳐 쓰는 재귀 최적화 프레임워크
모델은 고정하고 harness를 재귀로 고쳤더니 벤치마크 점수가 최대 11.8%p 올랐다
해고된 Savannah 경찰관, ICE 요원 남편에게 Flock 계정 공유
경찰관이 Flock 계정을 남편(ICE 요원)에게 공유했고, 감사에서 983건 검색이 드러나 해고됐다
tmux와 Claude Code: 세션, send-keys, 그리고 한계선
tmux로 Claude Code 여러 개를 돌리면 편하지만 에이전트 4개쯤에서 한계가 온다
Hybrid Reasoning Agents: 잠재 공간에서 생각하고 텍스트로 행동하는 LLM 에이전트
잠재 공간 추론과 텍스트 도구 호출을 섞었더니 성능 10.4%↑, 토큰 최대 54.7%↓