Table of contents
- ”1M 토큰”이라는 약속
- Context Rot이란 무엇인가
- Chroma의 18개 모델 실험 — 모두 무너졌다
- 세 가지 메커니즘
- MECW — 실제로 작동하는 길이는 광고의 1%
- 모델별 실패 모드는 다르다
- Context를 다루는 다섯 가지 원칙
”1M 토큰”이라는 약속
2025~2026년 동안 모델 업체의 컨텍스트 경쟁은 폭발적이었다.
| 모델 | 발표 시점 | 컨텍스트 윈도우 | 책으로 환산 |
|---|---|---|---|
| Claude 3 Opus | 2024.03 | 200K | 약 1.5권 |
| GPT-4 Turbo | 2024.04 | 128K | 약 1권 |
| Gemini 1.5 Pro | 2025.02 | 2M | 약 6~7권 |
| Claude Sonnet 4.6 | 2026.04 | 1M | 약 3권 |
| GPT-5 | 2026.04 | 1M | 약 3권 |
마케팅 논리는 이렇다. 컨텍스트가 클수록 코드베이스 전체를 한 번에 넣고, 책 한 권을 그대로 분석시키고, 며칠치 대화를 잃지 않을 수 있다. RAG(검색 증강 생성)도 필요 없다. 그냥 전부 넣으면 된다.
이 약속이 마케팅 수준에서 끝나지 않고 제품 의사결정에 들어가기 시작했다. 컨텍스트가 큰 모델로 바꾸기만 하면 된다는 가정이 붙은 시스템들이 늘었다. 그러다 2025년 7월부터 연구가 그 가정을 깨기 시작했다.
Context Rot이란 무엇인가
Chroma의 2025년 7월 연구가 Context Rot이라는 단어를 정착시켰다.
“Context rot은 입력 컨텍스트 길이가 늘어남에 따라 LLM 출력 품질이 측정 가능한 수준으로 저하되는 현상이다. 컨텍스트 윈도우가 가득 차지 않은 상태에서도, 토큰을 더 추가하면 성능이 떨어진다.”
핵심은 비례하지 않는다는 점이다. 100K 토큰에서 잘 작동하던 모델이 200K에서 갑자기 무너지는 게 아니다. 50K에서도 이미 100K였을 때보다 나쁜 출력을 낸다. 어디서 시작해서 어디서 무너지는지가 모델·작업·내용에 따라 다르고, 그래서 단순히 컨텍스트가 크면 좋다는 직관이 깨진다.
Adobe Research 2025년 2월 데이터는 이 격차를 숫자로 보여준다.
단순 검색 작업 (정답이 컨텍스트 안에 명시적으로 있음)
- GPT-4o 정확도: 99% → 70% (컨텍스트가 커질 때)
멀티홉 추론 작업 (두 단계 이상의 추론)
- Claude 3.5 Sonnet 정확도: 88% → 30% (컨텍스트 32K로 확장 시)
- 두 단계 추론이 한 단계 추론보다 훨씬 더 가파르게 무너진다.
컨텍스트가 단순 검색 자리라면 70%로 떨어지는 정도지만, 컨텍스트 안의 정보를 조합해야 하는 자리에선 30%까지 곤두박질친다. 이게 enterprise 시스템에서 왜 LLM이 가끔씩 이상한 답을 하는지의 큰 이유다.
Chroma의 18개 모델 실험 — 모두 무너졌다
Chroma가 GPT-4.1, Claude 4, Gemini 2.5, Qwen3 등 18개 frontier 모델을 테스트했다. 결과를 한 줄로 요약하면 이렇다.
“Models do not use their context uniformly; instead, their performance grows increasingly unreliable as input length grows.”
18개가 전부 같은 패턴을 보였다. 모델 크기, 회사, 아키텍처와 무관하게.
테스트는 단순한 Needle in a Haystack(긴 문서에 한 문장 숨기고 찾기)을 넘어섰다. 조건을 통제한 6가지 실험이다.
flowchart TB
classDef test fill:#4a90d9,color:#fff,stroke:#2c5d8f
R[Chroma의 18개 모델 실험]
R --> T1["Needle-Question 의미 유사도<br/>(질문과 답이 얼마나 비슷한 단어로 표현됐는가)"]:::test
R --> T2["Distractor 영향<br/>(답과 비슷하지만 틀린 정보를 같이 넣었을 때)"]:::test
R --> T3["Needle-Haystack 유사도<br/>(답이 주변 문맥과 얼마나 어울리는가)"]:::test
R --> T4["Haystack 구조<br/>(논리적 순서 vs 무작위 셔플)"]:::test
R --> T5["대화 작업 (LongMemEval, ~113K)"]:::test
R --> T6["반복 단어 작업<br/>(같은 단어를 정확히 복제할 수 있는가)"]:::test
가장 흥미로운 결과 셋이다.
1. 셔플된 문서가 더 잘 작동했다. 직관과 정반대다. 논리적 순서로 정리된 문서보다 무작위로 셔플된 문서에서 모델이 더 정확했다. 모델이 논리적 순서를 단서로 잘못된 추론을 할 가능성을 시사한다.
2. Distractor 한 문장이 정확도를 크게 깎는다. 답과 주제가 비슷하지만 틀린 문장 하나만 컨텍스트에 끼워 넣어도 정확도가 한 자릿수에서 두 자릿수 % 떨어졌다. RAG 시스템이 조금 관련 있는 문서를 잔뜩 가져오면 오히려 나빠지는 이유다.
3. Focused vs Full 프롬프트. 18개 모델 전부가 답에 직접 필요한 부분만 담은 짧은 프롬프트에서 모든 컨텍스트를 담은 긴 프롬프트보다 정확도가 높았다. 최신 reasoning 모델조차도.
이 셋이 합쳐지면 컨텍스트 윈도우의 작동 모델이 우리 직관과 다르다는 결론이 나온다. 더 많은 정보를 주면 더 나은 답을 한다는 가정 자체가 틀렸다.
세 가지 메커니즘
Context rot이 일어나는 이유는 세 가지가 동시에 작동하기 때문이다.
Lost-in-the-Middle (중간이 사라진다)
가장 잘 알려진 효과다. 모델은 컨텍스트의 시작과 끝에 주의를 잘 기울이고, 중간 부분은 잘 못 본다. 100K 토큰 문서의 50K 위치에 정답이 있으면, 그 답을 잘 못 찾는다.
흥미로운 발견이 최근 연구에서 나왔다. 이 U자형 패턴은 컨텍스트가 50% 이하로 채워졌을 때에만 유지된다. 50%가 넘으면 시작 부분의 우선순위가 떨어지고, 끝 부분에 가까울수록 더 잘 보는 패턴으로 바뀐다. 즉 컨텍스트가 다 차면 오래전에 넣은 정보는 사실상 잊힌다.
Attention Dilution (주의가 희석된다)
Transformer의 attention은 모든 토큰이 다른 모든 토큰을 본다. 100K 토큰이면 100억 개의 pairwise 관계가 계산된다. 컨텍스트가 커질수록 각 토큰에 할당되는 attention 비중이 묽어진다. 정답 토큰이 분명히 거기 있어도, 주변 999,999개와 경쟁해서 충분한 주의를 못 받는다.
이건 architecture 차원의 한계라 모델 크기를 키워서 해결되지 않는다. 더 큰 모델은 연산량은 늘지만 단위 토큰당 attention 비율은 동일하게 떨어진다.
Distractor Interference (가짜 정답이 진짜를 가린다)
답과 주제는 비슷하지만 답은 아닌 정보가 같이 있으면, 모델이 그쪽으로 끌린다. 예를 들어 2024년의 매출을 물었는데 컨텍스트에 2023년 매출과 2025년 예측이 같이 있으면, 모델이 셋을 혼동하거나 잘못된 걸 답한다.
RAG 시스템에서 가장 자주 부딪히는 자리다. Top-K 검색으로 K=10을 가져오면, 진짜 답을 가진 1개가 주제만 비슷한 9개에 묻혀 정확도가 오히려 떨어진다. K=3이 K=10보다 정확한 경우가 많다는 게 이 메커니즘 때문이다.
MECW — 실제로 작동하는 길이는 광고의 1%
Norman Paulsen의 2025년 9월 논문 “Context Is What You Need: The Maximum Effective Context Window for Real World Limits of LLMs”가 한 가지 핵심 개념을 도입했다.
MECW (Maximum Effective Context Window) — 모델이 실제로 신뢰할 만한 정확도를 유지하는 최대 컨텍스트 길이. 광고된 Maximum Context Window (MCW) 와 다르다.
연구의 결론이 충격적이다.
모든 18개 모델이 자기가 광고하는 MCW의 최대 99%까지 못 미친 자리에서 무너졌다.
- 최상위 모델 일부는 100 토큰부터 정확도 저하 시작
- 대부분 모델이 1,000 토큰까지 가면 심각한 정확도 저하
- 모든 모델이 광고된 컨텍스트 윈도우의 1% 미만에서 신뢰성을 잃음
가장 의미심장한 부분은 MECW가 작업 종류에 따라 다르다는 발견이다.
“단순 검색을 5,000 토큰에서 잘 처리하는 모델이 복잡한 정렬·요약 작업에선 400~1,200 토큰에서 실패한다.”
이는 컨텍스트 윈도우 비교가 단일 숫자로 의미가 없다는 뜻이다. 작업이 무엇이냐에 따라 같은 모델의 효과적 윈도우가 10배 이상 차이날 수 있다.
모델별 실패 모드는 다르다
흥미롭게도 18개 모델이 같은 정도로 무너지지는 않았다. Chroma 연구는 회사별로 다른 실패 패턴을 발견했다.
| 모델 계열 | 긴 컨텍스트에서의 행동 |
|---|---|
| Claude (Anthropic) | 모호한 자리에선 답을 안 한다. Hallucination이 가장 적고 abstain(답변 거부)가 많다. |
| GPT (OpenAI) | Distractor에 가장 약하다. 가짜 답을 자신 있게 만들어낸다. |
| Gemini (Google) | 500~750 단어 이후 무작위 단어를 생성하기 시작한다. 일관성이 무너진다. |
| Qwen (Alibaba) | 컨텍스트가 길어질수록 답을 안 하는 비율이 늘어난다. |
이 차이가 의미하는 게 있다. 모델 선택은 작업 유형에 따라 달라져야 한다.
- 정확성이 틀린 답보다 더 중요한 자리(법률, 의료, 금융) → Claude
- 창의적이고 답이 항상 있어야 하는 자리 → GPT
- 매우 긴 텍스트를 요약하는 자리 → Gemini의 큰 윈도우 (단, 500단어 이내 출력으로 제한)
- …같은 식으로 갈라진다.
“가장 큰 컨텍스트 윈도우를 가진 모델”이 언제나 가장 좋은 모델이 아니다.
Context를 다루는 다섯 가지 원칙
Context rot 연구가 개발자에게 주는 실용적 결론은 다섯이다.
1. 짧은 프롬프트가 거의 항상 이긴다
혹시 모르니까 다 넣자는 본능을 거꾸로 뒤집어야 한다. 답에 정말 필요한 자리만 넣은 짧은 프롬프트가 전체 컨텍스트를 통째로 넣은 긴 프롬프트보다 정확도가 높다. 18개 모델 모두에서 일관되게 관찰된 결과다.
2. RAG의 K값을 줄인다
Top-3가 Top-10보다 정확한 경우가 많다. 진짜 답을 가진 문서를 잘 찾는 게 답이 들어 있을 확률이 있는 문서를 많이 가져오는 것보다 중요하다. Reranker로 정확도를 올리는 게 K를 늘리는 것보다 효과적이다.
3. 위치를 의식한다
가장 중요한 정보는 프롬프트의 끝에 둔다 (50% 이상 채워진 컨텍스트에선 끝 토큰에 더 많은 attention이 간다). 시스템 프롬프트의 핵심 지시도 끝쪽으로 옮기는 게 효과적인 경우가 있다.
4. Distractor를 적극적으로 제거한다
비슷하지만 틀린 정보를 컨텍스트에서 빼는 작업이 진짜 답을 더 잘 보이게 하는 작업보다 효과가 크다. RAG에서 유사도 임계값을 높이는 것이 문서를 더 많이 가져오는 것보다 정확도에 도움이 된다.
5. 작업별로 MECW를 측정한다
자기 시스템에서 실제로 작동하는 컨텍스트 길이를 직접 측정한다. Eval 셋을 만들어 컨텍스트 1K, 5K, 10K, 50K, 100K에서 정확도를 측정하고, 어디서 무너지는지를 찾는다. 광고된 1M에 의존하지 않는다.
Anthropic은 100M 토큰 컨텍스트를 향한 엔지니어링 솔루션을 이야기하고, State Space Model·Linear Attention 같은 아키텍처는 quadratic 비용을 linear로 줄이려 한다. 그 결과가 자리 잡으려면 시간이 걸린다. 그동안 우리가 손에 쥔 건 광고된 1M이 아니라 측정된 MECW다. 작업마다 달라지는 그 숫자 위에서 시스템을 짜는 게, 모델이 똑똑해지기를 기다리는 것보다 빠르다.
Sources:




Loading comments...