상위: 02_00_MOC


한 줄 정의

컨텍스트가 특정 임계 토큰 수를 넘어서면 모델은 훈련 때 내재화한 추론 능력 대신 누적된 히스토리에 과도하게 기댄다. 이 현상은 검색 품질과는 무관하게 어텐션 메커니즘의 구조적 한계에서 비롯된다.


1. 정의 (Definition)

컨텍스트 산만(Context Distraction)은 Drew Breunig(2025-06-22, dbreunig.com)이 명명한 컨텍스트 실패 모드다. 에이전트 워크플로에서 컨텍스트가 특정 임계 토큰 수를 넘어설 때 나타나며, 이때 모델은 학습 때 내재화한 추론 능력(training-time knowledge)을 두고 누적된 컨텍스트 히스토리에 과도하게 집착(over-focus)한다.

“Context Distraction is when a context grows so long that the model over-focuses on the context, neglecting what it learned during training.” — Drew Breunig, How Contexts Fail and How to Fix Them, 2025-06-22

이 정의의 핵심은 두 갈래다. 하나는 “neglecting what it learned during training”, 즉 모델이 훈련 때 익힌 추론 능력을 제대로 쓰지 못한다는 점이다. 다른 하나는 이 현상이 컨텍스트의 절대적 길이 자체에서 비롯된다는 점이다. 정보가 많아진다고 추론이 늘 나아지지는 않는다. 오히려 모델은 “더 생각하는” 쪽이 아니라 “과거를 반복하는” 쪽으로 굳어 간다.


2. 왜 중요한가 — 컨텍스트의 두 가지 용도

컨텍스트 산만을 이해하려면 먼저 LLM 컨텍스트가 어떤 두 가지 근본적으로 다른 용도로 쓰이는지 명확히 해야 한다.

graph LR
    A[LLM 컨텍스트] --> B["용도 1: 검색/Retrieval<br/>(정보 수집 도구)"]
    A --> C["용도 2: 다단계 생성적 추론<br/>(Novel Planning)"]
    B --> D["RAG 시나리오<br/>문서 → 단답 추출<br/>길수록 유리"]
    C --> E["에이전트 시나리오<br/>누적 히스토리 → 새 계획 생성<br/>길면 오히려 장애"]

용도 1 — 검색(Retrieval): 사용자가 긴 문서 속에서 특정 사실을 찾거나, RAG 파이프라인에서 관련 청크를 불러와 답변을 만드는 시나리오다. 이때 컨텍스트는 “외부 저장소”처럼 작동한다. NIAH(Needle-In-A-Haystack) 벤치마크가 재는 것이 바로 이 용도다.

용도 2 — 다단계 생성적 추론(Novel Planning): 에이전트가 이전 액션의 누적 히스토리를 토대로 새로운 계획을 짜는 시나리오다. 여기서 컨텍스트는 단순한 정보 저장소가 아니라 추론 과정의 일부가 된다. 문제는 히스토리가 쌓일수록 모델이 “과거를 보는 일”에 집착하고 “새롭게 생각하는 일”을 놓아 버린다는 데 있다.

왜 RAG와 에이전트의 차이가 근본적인가

일반 RAG 시나리오에서 컨텍스트는 정적이다. 사용자가 질문하면 관련 문서를 불러오고 모델이 답한다. 컨텍스트는 입력으로 주어지고, 모델이 그것을 처리하면 태스크가 끝난다. 긴 컨텍스트가 말썽을 부릴 수는 있지만(03 혼란, 04 충돌 참조), 적어도 모델은 “지금 이 문서에서 답을 찾는다”는 분명한 목적을 쥐고 있다.

반면 에이전트 시나리오에서 컨텍스트는 동적으로 자란다. 에이전트가 액션을 취하고 결과를 관찰하고 다시 계획하는 루프를 반복하는 동안 히스토리가 컨텍스트에 쌓인다. 이 히스토리는 에이전트에게 “지금까지 무엇을 했는지”는 일러 주지만, 동시에 “다음에 무엇을 해야 하는지”를 정하는 새 추론 과정을 가로막는다. 과거가 너무 무거워져 현재의 판단을 짓누르는 셈이다.


3. 이론적 기반 — Du et al. (EMNLP 2025)

컨텍스트 산만이 단순한 “잡음 증가” 문제가 아님을 가장 또렷하게 보여 준 연구가 Du et al.(2025)의 EMNLP 논문이다.

논문 기본 정보

  • 제목: Context Length Alone Hurts LLM Performance Despite Perfect Retrieval
  • 저자: Yufeng Du, Minyang Tian, Srikanth Ronanki 외 7인
  • 게재: Findings of EMNLP 2025 (arXiv:2510.05381)
  • 태스크: 수학, QA, 코딩 (3가지)
  • 모델: 오픈소스·클로즈드소스 혼합 5개 LLM

3.1 핵심 문제의식

기존 연구들은 장문 컨텍스트에서의 성능 저하 원인을 대체로 두 가지로 설명해 왔다.

  1. 검색 실패(Retrieval Failure): 모델이 긴 컨텍스트에서 관련 정보를 찾지 못한다.
  2. 잡음 증가(Noise Increase): 무관한 정보가 많아져 추론을 방해한다.

Du et al.이 던진 핵심 질문은, 이 두 원인을 모두 걷어내도 성능이 떨어지는가였다.

3.2 실험 설계

연구팀은 두 가지 방법으로 검색 품질을 완벽하게 통제했다.

  • 공백 대체 조건: 무관한 토큰을 중립적인 공백(whitespace)으로 바꿔 잡음을 없앤다.
  • 마스킹 조건: 무관한 토큰을 완전히 마스킹해 어텐션이 오직 관련 정보에만 쏠리도록 강제한다.

두 조건 모두에서 성능이 떨어졌다. 관련 증거를 질문 바로 앞에 놓았을 때조차 컨텍스트 길이가 늘면 성능이 내려갔다.

3.3 핵심 수치

“Even when models can perfectly retrieve all relevant information, their performance still degrades substantially (13.9%—85%) as input length increases.” — Du et al., EMNLP 2025

13.9%에서 85%에 이르는 저하 폭은 태스크와 모델에 따라 갈렸지만, 모든 실험 조건에서 빠짐없이 나타났다. 정리하면 이렇다.

  • 검색을 잘해도 길어지면 성능이 떨어진다.
  • 잡음을 없애도 길어지면 성능이 떨어진다.
  • 어텐션을 억지로 관련 정보에 모아도 길어지면 성능이 떨어진다.

3.4 구조적 원인: 어텐션 메커니즘의 한계

이 결과는 컨텍스트 산만이 어텐션(attention) 메커니즘의 구조적 부담에서 비롯됨을 강하게 뒷받침한다. 어텐션은 O(N²) 복잡도로 작동한다. 300K 토큰 문서라면 레이어당 약 900억 쌍의 토큰 비교가 일어난다. 컨텍스트가 길어질수록 어텐션 가중치는 희석(dilution)되고, 장거리 의존관계(long-range dependencies)를 붙들기가 어려워진다.

3.5 제안된 완화 전략: 증거 재인용(Evidence Recitation)

Du et al.이 내놓은 완화책은 간단하면서도 효과적이다. 모델이 답하기 전에 관련 근거를 먼저 재인용하도록 프롬프팅하는 것이다. 이렇게 하면 장문 컨텍스트 태스크가 사실상 단문 컨텍스트 태스크로 바뀐다.

GPT-4o의 RULER 벤치마크에서 최대 4% 성능이 올랐다. 수치 자체는 크지 않지만, 추가 훈련이나 아키텍처 변경 없이 프롬프트 수준에서 얻은 결과라는 점에서 실용적 의미가 있다.


4. 실증 사례 — Gemini 2.5 Pro Pokémon 에이전트

컨텍스트 산만을 가장 직관적으로 보여 주는 사례는 Gemini 2.5 기술 보고서(Google DeepMind, 2025)와 Drew Breunig의 분석 포스트(2025-06-17)에 나온 Pokémon 에이전트 실험이다.

실험 개요는 이렇다. Gemini 2.5 Pro가 포켓몬 게임을 자율 플레이하는 에이전트로 돌았다. 에이전트는 게임 상태를 관찰하고 액션을 정한 뒤 그 결과를 다시 컨텍스트에 적는 루프를 반복했다.

100k 토큰을 넘어서면서 행동이 달라진다.

“As the context grew significantly beyond 100k tokens, the agent showed a tendency toward favoring repeating actions from its vast history rather than synthesizing novel plans. This phenomenon, albeit anecdotal, highlights an important distinction between long-context for retrieval and long-context for multi-step, generative reasoning.” — Gemini 2.5 Tech Report, Google DeepMind, 2025

보고에 따르면 에이전트는 Pewter City 뒷마당에서 같은 동작을 반복하며 몇 시간씩 갇혔고, 컨텍스트를 강제로 초기화했을 때에야 이 루프에서 빠져나왔다. 게임 전체는 첫 번째 시도에서 813시간, 두 번째 시도에서 406.5시간 만에 끝났다.

여기에는 짚어 둘 맥락이 있다. Gemini 2.5 Pro는 1M 토큰 컨텍스트 윈도를 지원한다. 그런데 에이전트 추론의 성능 저하는 100k 토큰, 곧 광고된 최대 컨텍스트의 10% 수준에서 이미 시작됐다. 기술 보고서 스스로 이 관찰을 “anecdotal”이라고 못 박은 점도 함께 봐야 한다. 에이전트 시나리오를 겨냥한 체계적 벤치마크는 2026년에 들어서야 LOCA-bench, AgentLongBench 등으로 본격화됐다.

timeline
    title Gemini 2.5 Pro 에이전트 컨텍스트 산만 타임라인
    0~100k tokens : 정상 에이전트 동작
                   : 새로운 계획 생성 가능
                   : 목표 지향적 행동
    100k+ tokens  : 컨텍스트 산만 시작
                  : 히스토리 반복 경향
                  : 원형 행동 패턴
    컨텍스트 리셋 : 정상 동작 복구
                 : 새로운 계획 재개

5. 다른 실패 모드와의 경계 구분

컨텍스트 산만은 다른 컨텍스트 실패 모드와 곧잘 헷갈린다. 아래 표에서 각 모드의 핵심 원인과 증상을 갈라 둔다.

실패 모드핵심 원인주요 증상참조 노트
컨텍스트 산만 (Context Distraction)컨텍스트 길이 자체가 추론 능력을 압도히스토리 반복, 새 계획 미생성, 훈련 지식 미활용이 노트
컨텍스트 오염 (Context Poisoning)오류/환각이 컨텍스트에 진입 후 반복 참조불가능한 목표 추구, 잘못된 전제 강화01 오염
컨텍스트 혼란 (Context Confusion)불필요한 정보가 처리 부담을 가중도구 수 증가 시 성능 저하, 무관 청크 오활용03 혼란
컨텍스트 충돌 (Context Clash)컨텍스트 내 정보 간 모순 발생지시 불이행, 이전 오답 참조로 추론 탈선04 충돌

산만과 오염의 차이는 이렇다. 오염은 잘못된 정보의 내용이 문제이고, 산만은 컨텍스트의 길이 자체가 문제다. 올바른 정보만 가득 차 있어도 산만은 일어난다.

산만과 혼란의 차이도 분명하다. 혼란은 불필요한 정보(노이즈)가 더해져 생긴다. Du et al.의 실험에서 노이즈를 완전히 걷어내도 산만이 나타났다는 사실이 두 모드의 경계를 또렷이 갈라 준다.

산만과 충돌의 차이는 모순 여부에 있다. 충돌은 모순된 정보 사이의 불일치가 원인이지만, 산만은 정보 간 모순이 없어도 일어난다. 컨텍스트가 길어지기만 해도 그것으로 충분하다.


6. 메커니즘 심화 — 위치 편향과 임계점

6.1 Lost in the Middle — 위치 편향

Liu et al.(2024, TACL)은 컨텍스트 산만의 또 다른 면을 짚었다. 관련 정보의 위치가 성능을 가른다는 것이다.

  • 성능 곡선은 U자형(U-shaped)이다. 컨텍스트의 처음과 끝에 놓인 정보는 잘 활용된다.
  • 정보가 컨텍스트 중간에 놓이면 성능이 급락한다(처음·끝 대비 약 18~20 퍼센트포인트 저하).
  • 이 현상은 “explicitly long-context models”를 포함한 모든 테스트 모델에서 나타났다.

이는 사람의 초두 효과(primacy effect)와 최신 효과(recency effect)에 대응한다. 컨텍스트 중간에 끼인 정보는 어텐션의 사각지대에 놓인다.

xychart-beta
    title "컨텍스트 내 위치별 성능 (U자형 곡선 개념도)"
    x-axis ["처음", "초반", "중반초", "중간", "중반후", "후반", "끝"]
    y-axis "정확도 (%)" 50 --> 100
    line [92, 80, 68, 62, 65, 78, 90]

6.2 산만 임계점 (Distraction Ceiling)

컨텍스트가 특정 토큰 임계값을 넘으면 모델의 행동이 질적으로 달라진다. Databricks(2024)가 13개 LLM을 2,000회 넘게 실험해 뽑은 모델별 임계 추정치는 다음과 같다.

모델산만 임계 추정치비고
Gemini 2.5 Pro (1M ctx)~100k 토큰에이전트 행동 변화 (anecdotal)
GPT-4-0125-preview~64k 토큰정확도 하락 시작
Llama 3.1 405B~32k 토큰성능 하락 시작
Claude-3-sonnet~16k 토큰 최적32k에서 저작권 거부 급증
DBRX-instruct~8~32k 토큰지시 불이행 50.4%
Mixtral-8x7b~4k 토큰 이후 급락중국어 반복 생성 등 이상 증상

이 임계점들이 광고된 최대 컨텍스트 길이와 크게 어긋난다는 점을 눈여겨봐야 한다. Gemini 2.5 Pro는 1M 토큰을 지원한다고 내세우지만, 에이전트 추론은 100k에서 이미 떨어진다.

6.3 RULER 벤치마크 — 실효 컨텍스트 길이 갭

Hsieh et al.(COLM 2024)의 RULER 벤치마크는 17개 장문 컨텍스트 LLM을 4개 카테고리, 13개 태스크로 평가했다. 핵심 발견은 두 가지다.

  • NIAH(Needle-In-A-Haystack) 99% 성능 → RULER 복합 태스크 60% (동일 컨텍스트 길이, 동일 모델)
  • 4K에서 128K로 컨텍스트가 늘어날 때 모델별 성능 변화:
모델4K 성능128K 성능하락폭
Gemini-1.596.7%94.4%−2.3점
GPT-496.6%81.2%−15.4점
Llama3.1-70B96.5%66.6%−29.9점
Yi-34B93.3%77.3%−16점
Mistral-v0.293.6%13.8%−79.8점

Mistral은 128K에서 사실상 붕괴 수준이다. 실효 컨텍스트 길이는 대개 광고 컨텍스트의 50~65% 수준에 그친다.


7. 에이전트 고유의 취약성

에이전트 시나리오에서 컨텍스트 산만이 단발성 RAG보다 유독 심각한 이유는 구조에 있다.

graph TD
    A[에이전트 루프 시작] --> B[액션 실행]
    B --> C[결과 관찰]
    C --> D[컨텍스트 히스토리 누적]
    D --> E{임계점 초과?}
    E -- 아니오 --> F[새 계획 생성<br/>훈련 지식 활용]
    F --> B
    E -- 예 --> G[히스토리 과의존<br/>컨텍스트 산만 발생]
    G --> H[반복 액션<br/>새 계획 미생성]
    H --> D
    style G fill:#ff6666
    style H fill:#ff6666

에이전트는 그저 “긴 문서를 읽는” 존재가 아니다. 에이전트의 컨텍스트는 자기 과거 행동과 그 결과가 쌓인 역사다. 이 역사가 무거워지면 다음이 따라온다.

  1. 모델은 “지금까지 이렇게 해왔으니 이번에도 같은 방법을 쓴다”는 식의 귀납적 패턴 복사에 빠진다.
  2. 새 상황에 맞는 창의적 계획(novel planning)을 짜는 능력이 눌린다.
  3. 훈련 때 익힌 일반적 추론 능력, 곧 “이런 상황에서는 이렇게 해야 한다”는 지식이 묻힌다.

에이전트 전용 장문 컨텍스트 벤치마크는 2026년에 들어서야 자리를 잡았다. LOCA-bench(Zeng et al., 2026)와 AgentLongBench(Fang et al., 2026)가 그것이다. 이 벤치마크들은 “정적 검색에는 강하지만 동적 정보 합성에는 약하다”는 에이전트 특유의 컨텍스트 산만 패턴을 체계적으로 확인했다.


8. 실천적 시사점

AI 강사이자 AX 컨설턴트 관점에서 이 개념을 현장에 옮길 때의 핵심은 다음과 같다.

1. “1M 토큰 = 1M 토큰 실제 사용 가능”이 아니다 광고된 컨텍스트 길이와 실효 컨텍스트 길이 사이의 간극을 반드시 인지해야 한다. RULER 기준으로 보면 대개 광고 컨텍스트의 50~65% 수준에서 실질 성능이 유지된다. 에이전트 추론은 이보다 훨씬 이른 지점에서 이미 산만에 빠진다.

2. 에이전트의 산만 임계점을 파악하고 시스템을 설계하라 컨텍스트 압축, 슬라이딩 윈도우 요약, 중요 사건 선택 보존 같은 전략을 임계점에 닿기 전에 적용해야 한다. ACON 연구(2025)는 컨텍스트 압축으로 토큰 사용량을 26~54% 줄이면서 에이전트 성능을 최대 46% 끌어올렸다고 보고한다. 해결 전략은 06 해결전략을 참조하라.

3. 컨텍스트 용도를 구분해 아키텍처를 골라라 단순 검색이나 요약에는 장문 컨텍스트가 잘 듣는다. 다단계 추론이나 에이전트 계획에는 컨텍스트 관리가 필수다. 같은 모델이 NIAH에서 99%를 찍어도, 에이전트 추론에서는 훨씬 이른 지점에서 성능이 떨어진다.

4. 중요 정보는 컨텍스트의 처음이나 끝에 배치하라 “Lost in the Middle” 위치 편향을 역이용한 프롬프트 구성이 실질적인 성능 향상을 가져온다. 시스템 프롬프트 → RAG 결과 → 사용자 질문 순서보다, 가장 중요한 지시를 처음과 끝에 거듭 두는 편이 효과적이다.

5. 증거 재인용(Evidence Recitation) 프롬프트를 활용하라 Du et al.(2025)이 제안한 방법으로, 모델이 답하기 전에 관련 근거를 먼저 재인용하도록 유도한다. 이렇게 하면 장문 컨텍스트 문제가 사실상 단문 컨텍스트 문제로 바뀐다. GPT-4o 기준 최대 4%의 성능 향상이 확인됐다.


9. 열린 질문과 논쟁

산만인가, 훈련 데이터 부족인가? Databricks 연구는 일부 모델의 실패가 어텐션 메커니즘의 고유한 한계 탓인지, 아니면 장문 컨텍스트 사후훈련(post-training) 데이터가 모자란 탓인지를 두고 논쟁이 이어지고 있다고 짚는다. An et al.(2024)의 STRING이 위치 인코딩 수정만으로 Llama 3.1 70B와 Qwen2 72B에서 RULER·InfiniteBench를 10점 넘게 끌어올린 결과는 아키텍처 쪽 원인을 강하게 뒷받침한다. “더 많이 훈련하면 해결된다”는 주장의 반례이기도 하다.

추론 모델(reasoning model)은 더 강한가? Chain-of-Thought 프롬프팅이 어느 정도 완화 효과를 내지만 16K 이상에서는 한계가 있다는 관찰(NoLiMa 논문)이 있다. o1·o3 계열의 추론 모델이 더 높은 산만 임계점을 갖는지는 아직 충분히 밝혀지지 않았다.

KV 캐시 관리의 효과 KV 캐시(Key-Value Cache) 압축, 양자화, 선택적 제거 전략이 산만 임계점에 어떤 영향을 주는지는 한창 연구되고 있다. 이 전략들이 Du et al.이 짚은 구조적 성능 저하를 어디까지 누그러뜨릴 수 있는지는 아직 미확정이다.


참고문헌