logo

컨텍스트 실패

컨텍스트가 길어지거나 섞일 때 생기는 실패 6가지(부패·불안·오염·주의 분산·혼동·충돌)의 원인과 양상을 정리한다.

컨텍스트 부패(context rot)

  • 컨텍스트 길이가 증가함에 따라 성능이 저하
  • 출처: Hong·Troynikov·Huber(2025), Context Rot: How Increasing Input Tokens Impacts LLM Performance (Chroma 기술 보고서).
    • 18개 LLM을 평가. 단어를 그대로 따라 쓰는 단순 과제에서도 입력이 길어지면 성능이 떨어짐.
    • 저하 양상은 모델·과제마다 고르지 않음.

입력 길이가 증가할수록 모델 성능이 저하되는 컨텍스트 부패 그래프. 반복 단어를 따라 쓰는 과제에서 가로축은 입력 길이(토큰, 로그 척도), 세로축은 정규화 레벤슈타인 점수이다. Claude Opus 4, Sonnet 4, Sonnet 3.7은 약 1,000토큰까지 1.0에 가깝다가 그 뒤 0.5-0.7로 떨어지고, Haiku 3.5는 더 이른 길이부터 떨어진다.

컨텍스트 불안(context anxiety)

  • LLM이 대화나 작업 맥락이 길어질수록 "이제 맥락 창이 부족하다"고 판단해 답변 품질이 떨어지거나, 작업을 너무 빨리 마무리하려는 현상
  • 출처: Cognition(2025), Rebuilding Devin for Claude Sonnet 4.5: Lessons and Challenges.
    • 자기 컨텍스트 창의 크기를 의식하는 모델에서 관찰. 실제로는 여유가 있는데도 창의 끝이 가깝다고 보고 작업을 줄이거나 미완성으로 남김.
  • 주요 양상
    • 이전 지시나 중요한 제약을 놓치거나, 최근 메시지에 과도하게 끌림
    • 작업을 성급히 끝냄
    • 세부 검토, 테스트, 검증 단계를 생략함
    • 일관성이 약해짐
  • 대처 방법
    • 긴 작업을 단계별로 나누어 따로 처리
    • 중요한 요구사항은 요약해서 반복 제공
    • "아직 마무리하지 말고 검토/테스트까지 수행하라"처럼 작업 절차를 지정
    • 긴 대화는 중간에 구조화된 요약을 만들고 새 세션에서 이어가기
    • 문서·코드·결정사항은 대화창이 아니라 파일이나 저장소에 남기기
    • 체크리스트로 누락 사항을 점검하게 하기

컨텍스트 오염(context poisoning)

자기 조건화 실험의 턴별 정확도. Qwen3-14B, Qwen3-32B, Gemma3-12B, Gemma3-27B 네 모델의 정확도를 과제 길이 100턴까지 그린 그래프로, 이력에 심은 오류 비율이 0%인 초록 선은 높게 유지되고 100%인 빨간 선은 가장 빠르게 떨어진다. 파란 선은 조작하지 않은 원래 실행으로, Qwen3-14B와 Gemma3-12B에서는 초록 선보다 아래에, Qwen3-32B와 Gemma3-27B에서는 초록 선과 거의 겹친다.

  • 오류를 많이 심을수록 정확도가 빨리, 크게 떨어짐.
  • 파랑(Original Run): 이력을 조작하지 않은 원래 실행. 모델이 실제로 틀린 답이 이력에 그대로 쌓임.
  • 초록(0%): 앞선 턴의 assistant 답을 모두 정답으로 바꾼 이력. 컨텍스트에 오류가 없음.
  • 빨강(100%): 앞선 턴의 assistant 답을 모두 오답으로 바꾼 이력.
  • 앞선 턴의 오류가 많을 수록, 대화가 길 수록 정확도가 떨어짐

자기 조건화 실험의 100번째 턴 정확도. 가로축은 이력에 심은 오류 비율(0-1), 세로축은 100번째 턴 정확도이다. 왼쪽 패널에서 Gemma-27B는 0.92에서 0.08로, Qwen3-32B는 0.86에서 0.20으로 떨어진다. 오른쪽 패널에서 Deepseek-V3, Kimi-K2, Qwen3-235B도 약 1.0에서 0.25-0.34로 떨어진다.

  • 100번째 턴의 정확도만 그린 것
  • 가로축은 이력에 심은 오류 비율
  • 컨텍스트가 오염될 수록 정확도가 떨어짐

컨텍스트 주의 분산(context distraction)

  • 컨텍스트가 길어지면서 과거 행동에 끌려감
  • 주의 분산의 예: Camassa·Shiller(2026), Do as I Say, Not as I Do.
    • 지시와 대화 이력 속 assistant의 행동 패턴이 어긋날 때 모델이 어느 쪽을 따르는지 측정.

LLM이 대화 이력과 어긋나는 지시를 따르는지 묻는 실험 설계. 왼쪽 고정 출력 조건은 "항상 USA라고 답하라"는 지시 뒤에 assistant가 EU라고 답한 턴이 N개 이어지고, 가운데 과제 조건은 "러시아어로 번역해 답하라"는 지시 뒤에 assistant가 프랑스어로 답한 턴이 N개 이어진다. 마지막 턴에서 새 질문을 던진다. 오른쪽에는 13개 모델, N 값 12개, 과제·지표·추가 설정이 정리되어 있다.

  • 지시(빨강): "모든 질문에 USA라고 답하라", "모든 질문을 러시아어로 번역해 답하라".
  • 패턴 턴(베이지): 지시와 다르게 답한 assistant 턴 N개를 미리 써 넣음. 예: EU라고 답함, 프랑스어로 답함.
  • 마지막 턴(보라): 새 질문에 모델이 직접 답함. 지시를 따르면 1, 패턴을 따르면 0.
  • N을 1에서 50까지 늘리며 지시 준수율(instruction-following rate, IF) 측정.
  • 조건:
    • 고정 출력(fixed-output) 조건: 정해진 단어 하나를 출력
    • 과제(task-based) 조건: 번역·페르소나·코드 언어 등 실제 답변을 생성

13개 모델의 고정 출력 조건과 과제 조건별 평균 지시 준수율(Avg IF), 준수율이 50% 이하로 처음 떨어지는 N, 힌트를 주었을 때의 변화를 정리한 표. 고정 출력 조건에서 Llama 3.3 70B는 99%, Qwen3 235B A22B는 1%이고 전체 평균은 27%, 과제 조건의 전체 평균은 43%이다.

  • 표 2: 모델별 결과.
    • Avg IF: 모든 N과 조건에 걸친 평균 지시 준수율. 괄호는 95% 신뢰구간.
    • N50%​: 준수율이 처음으로 50% 이하가 되는 N. "—"는 N=50까지 50% 이하로 떨어지지 않음.
    • Hint Δ: "앞선 assistant 턴은 미리 써 넣은 것"이라고 알려 주었을 때 준수율의 변화(%p).
    • 예: Opus 4.6
      • 한 단어만 답하게 했을 때
        • 평균 49%의 지시를 준수
        • 지시와 다른 턴이 16개일 때 처음으로 준수율이 50% 이하로 떨어짐
        • 힌트를 주면 준수율이 46%p 향상
      • 실제 답변을 하게 했을 때
        • 평균 71%의 지시를 준수
        • 지시와 다른 턴이 31개일 때 처음으로 준수율이 50% 이하로 떨어짐
        • 힌트를 주면 준수율이 18%p 향상
  • 결과
    • 모든 모델이 N이 커지면 적어도 일부 조건에서 지시를 버리고 패턴을 따름.
    • 고정 출력 조건에서 N=3이면 13개 중 6개 모델만 준수율 50% 초과. GPT-5.2, Gemini 2.5 Flash 등 4개 모델은 N=1에서 이미 50% 이하.
    • 과제 조건은 평균 43%로 더 잘 버팀. 답변이 길고 다양할수록 패턴에 덜 끌려감.
    • 고정 출력 조건의 준수율은 GPQA 같은 일반 능력 벤치마크와 거의 상관이 없음. 큰 모델이라고 더 잘 버티지 않음.
    • 미리 써 넣은 턴이라는 힌트는 평균 11-14%p 개선에 그침
    • 추론(chain-of-thought)도 준수율을 높이지만 현상을 없애지는 못함.

컨텍스트 혼동(context confusion)

GSM-IC의 예제 문제(논문 표 1). 원래 문제 "Jessica는 Claire보다 여섯 살 많다. 2년 뒤 Claire는 20살이다. Jessica는 지금 몇 살인가?"에 "20년 전 Claire 아버지의 나이는 Jessica 나이의 3배였다"는 무관한 문장을 추가해도 정답은 24로 같다.

  • 답에 영향이 없는 문장 하나만 추가해도 정확도가 크게 떨어짐.
  • 원래 맞히던 문제 중 어떤 종류의 무관한 문장이 들어가도 꾸준히 맞힌 문제는 18% 이하.
  • 완화: "무관한 정보는 무시하라"는 지시 추가, 여러 번 생성해 다수결(self-consistency).

후보 MCP 수에 따른 RAG-MCP의 성공 여부를 나타낸 히트맵. 가로축은 후보 MCP 수로 1에서 111까지는 5개 간격, 그 뒤는 2111에서 10111까지 2000개 간격이다. 세로축은 정답 MCP의 위치이다. 노란 칸은 성공, 보라 칸은 실패이다. 후보가 100개 안팎까지는 노란 칸이 많고, 2000개를 넘으면 거의 모든 칸이 보라색이다.

  • 후보 MCP 수를 1개에서 11,100개까지 늘린 스트레스 테스트. 정답 MCP는 하나, 나머지는 방해 후보.
    • 가로축: 후보 MCP 수.
    • 세로축: 후보 목록에서 정답 MCP의 위치. 노란 칸은 성공, 보라 칸은 실패.

세 방식의 MCP 선택 정확도와 평균 토큰 수를 비교한 표. RAG-MCP는 정확도 43.13%, 평균 프롬프트 토큰 1084, Actual Match는 18.20%와 1646, Blank는 13.62%와 2133.84이다.

  • Blank: 모든 MCP 설명을 한꺼번에 프롬프트에 넣고 고르게 함.
    • Blank는 정확도 13.62%로 가장 낮고 프롬프트 토큰은 가장 많음(약 2134).
  • Actual Match: 키워드 일치로 후보를 줄인 뒤 고르게 함.
    • 정확도 18.20%로 개선.
  • RAG-MCP: 벡터 검색으로 질의와 가장 관련 있는 MCP 하나만 프롬프트에 넣음.
    • RAG-MCP는 정확도 43.13%로 3배 이상. 프롬프트 토큰은 약 절반(1084).

컨텍스트 충돌(context clash)

  • 컨텍스트에 추가된 정보가 기존 정보와 충돌
  • 예: Laban 외(2025), LLMs Get Lost In Multi-Turn Conversation.
    • 같은 과제를 한 번에 다 주는 단일 턴과, 요구 사항을 여러 턴에 나눠 주는 다중 턴으로 비교.
    • 다중 턴에서는 앞선 턴의 잘못된 가정·성급한 답이 컨텍스트에 남아 뒤에 온 요구 사항과 충돌.

왼쪽은 요구 사항을 한 번에 받은 단일 턴 대화에서 LLM이 올바른 답을 내는 모습, 오른쪽은 요구 사항을 나눠 받은 다중 턴 대화에서 성급한 답·잘못된 가정·비대해진 답이 이어지는 모습. 가운데 그래프는 Gemini 2.5 Pro, GPT-4.1, Claude 3.7 Sonnet, o3, Deepseek-R1이 다중 턴에서 적성은 낮아지고 비신뢰도는 크게 높아지는 이동을 보여 준다.

  • 그림 1: 단일 턴(왼쪽)과 다중 턴(오른쪽) 대화 비교.
    • 적성(aptitude): 같은 지시로 여러 번 시뮬레이션한 대화 점수의 90번째 백분위수. 최선의 성능.
    • 비신뢰도(unreliability): 90번째와 10번째 백분위수의 차. 최선과 최악의 차이.
    • 다중 턴에서 적성은 15% 감소, 비신뢰도는 112% 증가.

15개 LLM의 6개 과제(코드, 데이터베이스, 액션, 데이터-텍스트, 수학, 요약) 평균 성능을 FULL, CONCAT, SHARDED 세 설정으로 비교한 표. SHARDED 열이 FULL보다 진한 빨간색으로 표시되어 성능 저하가 크고, Overall 열에서 CONCAT/FULL은 86.5-103.6, SHARDED/FULL은 50.5-66.1이다.

  • 표 1: 15개 모델 × 6개 과제의 평균 성능. 배경이 붉을수록 FULL 대비 성능 저하가 큼.
    • FULL: 원래의 완전한 지시를 단일 턴으로 제공.
    • CONCAT: 지시를 조각(shard)으로 나눈 뒤 한 턴에 모두 이어 붙여 제공.
      • 마지막 두 열(Overall): FULL 대비 CONCAT, SHARDED 성능(%)의 과제 평균.
      • CONCAT의 평균 성능은 FULL의 95.1%
      • 지시를 조각으로 나눈 것 자체는 정보 손실이 거의 없음.
    • SHARDED: 조각을 한 턴에 하나씩 나눠 여러 턴으로 제공.
  • 결과
    • 모든 모델·과제에서 평균 39% 하락
    • 조각으로 나눈 것이 문제면 CONCAT과 비슷해야 하나, 그보다 더 성능이 저하된 것으로 보아 여러 턴으로 나눈 것이 문제
  • 초기 턴에서 부족한 정보를 바탕으로 가정과 답을 세움 → 잘못된 가정 위에 답을 쌓음 → 답이 점점 비대해짐. → 추가된 새로운 정보와 충돌 → 모델이 이를 바로잡지 못함.

퀴즈

문제 1 / 9맞음: 0힌트: 0틀림: 0채점중: 0남음: 9

컨텍스트 길이가 증가함에 따라 언어 모델의 성능은 어떤 추세를 보이는가?

  • ○참고할 정보가 풍부해지므로 성능이 향상된다
  • ○컨텍스트 창 한도 안에 있으면 길이와 관계없이 성능이 일정하다
  • ○단순한 과제에서도 성능이 떨어지며, 떨어지는 양상은 모델마다 다르다
  • ○컨텍스트 창 한도를 넘는 순간에만 성능이 급격히 떨어진다

퀴즈를 풀려면 대화형 기능을 불러와야 합니다.