볼트 홈: README
비교 — 혼란 vs 산만: 내용의 부적절함 vs 순수 양
한 줄 정의
혼란(Confusion)은 무관·불필요한 정보(특히 과도한 툴 정의)가 잘못된 선택을 유발하는 내용의 부적절함 문제이고, 산만(Distraction)은 누적된 정보의 순수한 양이 임계를 넘어 추론을 압도하는 문제다. 겉으로는 둘 다 “컨텍스트가 너무 많아서 망가진다”로 보이지만, 망가뜨리는 것이 질(부적절함)이냐 양(과다)이냐가 다르다.
왜 중요한가
혼란과 산만은 “컨텍스트 과다”라는 같은 외피를 쓰고 있어 현장에서 자주 한 덩어리로 취급된다. 둘 다 어텐션 희석(O(N²) 가중치 분산)과 Lost in the Middle(Liu et al. TACL 2024)을 메커니즘으로 끌어다 쓸 정도다. 그런데 처방은 정반대로 갈린다. 혼란은 불필요한 것을 골라 쳐내는 가지치기(pruning)가 답이고, 산만은 양 자체를 줄이고 재배치하는 축소·재배치가 답이다. 무관 정보가 0인데도 산만은 발생하고(Du et al.), 컨텍스트가 짧아도 툴이 부적절하게 섞이면 혼란은 발생한다. 이 비대칭을 놓치면 툴을 줄여야 할 상황에서 히스토리를 압축하거나, 그 반대로 헛다리를 짚게 된다.
핵심 대비 원칙은 이렇다. 혼란은 “관련성 ≠ 필요성”, 산만은 “실효 컨텍스트 한계”다.
1. 헷갈리는 이유 — 같은 외피, 다른 본질
- 외형이 같다. 둘 다 컨텍스트 길이가 커지면서 품질이 떨어진다는 증상으로 나타나고, 어텐션 희석이라는 메커니즘 설명까지 공유한다.
- Breunig 4대 분류에서 이웃이다. 산만(02)과 혼란(03)은 순번이 바로 붙어 있고, 02 산만의 관련 챕터 주석도 “혼란(무관 정보)과 산만(과다 이력 의존)은 100K+ 환경에서 동시 발생”이라 적는다.
- 둘 다 조용한 품질 저하로 나타난다. 명확한 에러 대신 어떤 때는 되고 어떤 때는 망하는 패턴이라, 증상만으로는 구별이 어렵다.
그러나 원인 변수가 다르다. 혼란은 컨텍스트에 들어간 정보의 부적절함(질), 산만은 누적된 양(length)이다.
2. 결정적 구분 질문
“무관·불필요한 정보를 전부 제거해도 증상이 남는가?”
- 남는다면 산만이다. Du et al.(EMNLP 2025)은 무관 토큰을 공백으로 대체하거나 완전 마스킹해 잡음을 제거해도 길이 자체만으로 13.9~85% 성능 저하가 발생함을 보였다. 산만은 정보의 질과 무관하게 양으로 생긴다는 뜻이다.
“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
- 사라진다면 혼란이다. 혼란은 불필요·무관 정보(특히 툴 정의)를 골라 쳐내면 회복된다. RAG-MCP에서 관련 툴만 동적 선택하자 정확도가 13.62% → 43.13%(3.17배)로 뛴 것이 그 증거다. 양이 아니라 무엇이 들어 있느냐가 문제였던 것이다.
보조 질문:
| 보조 질문 | 혼란 신호 | 산만 신호 |
|---|---|---|
| 컨텍스트가 짧은데도 증상이 있나 | 그렇다 — 툴 19개만 섞여도 발생 | 아니다 — 임계 토큰 전엔 정상 |
| 주된 발현 트리거 | 툴·정보의 종류 과다 | 히스토리의 누적 양 |
| 무관 정보가 0이어도 발생하나 | 아니다 (관련 툴만 두면 해결) | 그렇다 (길이만으로 발생) |
3. 비교표 — 결정적 구분점
| 구분축 | 컨텍스트 혼란 (Confusion) | 컨텍스트 산만 (Distraction) |
|---|---|---|
| 본질 | 내용의 부적절함(질) | 순수 양(length) |
| 원인 | 무관·불필요 정보, 특히 과도한 툴 정의 | 누적 정보가 임계 토큰 초과 |
| 핵심 원칙 | 관련성 ≠ 필요성 | 실효 컨텍스트 한계 |
| 대표 발현 | 툴 과부하(MCP 수백 개 노출) | 히스토리 반복(에이전트 행동 고착) |
| 짧은 컨텍스트에서 | 발생함(툴만 부적절하면) | 발생 안 함(임계 전) |
| 무관 정보 제거 시 | 회복됨 | 잔존함(길이가 그대로면) |
| 처방 | 가지치기(동적 툴 선택, 불필요 비활성화) | 축소·재배치(히스토리 압축, 처음·끝 배치) |
| 대표 수치 | RAG-MCP 13.62%→43.13%; Llama 3.1 8B 19개 성공·46개 전체 실패 | 1M 광고 대비 ~100K(10%)에서 산만 시작 |
| 근거 노트 | 03_01-정의와-메커니즘 · 03_02-툴-과부하-MCP-실태 | 02_01-정의-컨텍스트-산만 · 02_04-개념-산만-임계점 |
4. 두 원칙 — “관련성 ≠ 필요성” vs “실효 컨텍스트 한계”
혼란의 원칙: 관련성 ≠ 필요성
혼란을 지배하는 직관은 Breunig의 “넣으면 모델은 본다(If you put something in the context, the model has to pay attention to it)“다. 어떤 툴 정의가 현재 태스크와 관련은 있어 보여도(relevant) 지금 이 호출에 필요하지 않다면(not necessary), 컨텍스트에 존재한다는 사실만으로 어텐션을 잠식하고 잘못된 선택을 부른다. 그래서 처방은 필요한 것만 남기는 선별이다.
산만의 원칙: 실효 컨텍스트 한계
산만을 지배하는 직관은 광고 컨텍스트 ≠ 실효 컨텍스트다. 모델이 1M 토큰을 지원한다 해도 추론이 무너지는 실효 한계(Distraction Ceiling)는 그보다 훨씬 짧다(Gemini 2.5 Pro는 100K, 광고의 10%). 그래서 처방은 양 자체를 한계 아래로 끌어내리는 축소·재배치다.
두 원칙은 직교한다. 혼란은 무엇을 넣을지의 문제, 산만은 얼마나 넣을지의 문제다.
5. MCP 툴 과부하가 왜 혼란인가 (산만이 아니라)
가장 흔한 오진이 “MCP 툴이 많아서 컨텍스트가 길어졌으니 산만 아닌가?”다. 아니다. 툴 과부하는 전형적인 혼란이며, 이유는 셋이다.
- 양보다 종류가 문제다. Quantized Llama 3.1 8B는 툴 19개 이하면 성공하지만 46개면 전체 실패한다. 토큰 절대량이 아니라 선택지의 종류가 늘어 잘못된 툴을 고르는 것이 핵심이다.
- 부적절한 것을 빼면 회복된다. RAG-MCP로 관련 툴 3~7개만 동적 로드하면 정확도가 3.17배로 뛴다. 산만이라면 길이를 줄여도 임계 전까진 잔존해야 하지만, 여기선 무관 툴을 쳐내자마자 회복된다.
- stateless 구조가 부적절성을 강제한다. LLM은 상태가 없어 매 요청마다 전체 툴 목록을 다시 받는다(EclipseSource 2026). 지금 안 쓸 툴을 옆으로 치워두기가 불가능하니 불필요한 툴이 늘 부적절하게 섞인다. 양의 문제가 아니라 구성(질)의 문제다.
결국 툴 과부하의 손상 경로는 “토큰이 많아 어텐션이 분산된다”가 아니라 “부적절한 선택지가 많아 잘못 고른다”이며, 이것이 곧 혼란의 정의다. 상세는 03_02-툴-과부하-MCP-실태 참조.
6. 공존 시나리오 — 100K+ 에이전트에서 함께 터진다
긴 에이전트 세션에서 혼란과 산만은 순차적·중첩적으로 발생한다.
flowchart TD A["에이전트 세션 시작"] --> B["MCP 툴 150개 로드<br/>= 30K~60K 토큰 점유"] B --> C["혼란 발생<br/>부적절 툴 선택·툴 환각"] C --> D["잘못된 호출 결과가<br/>히스토리에 누적"] D --> E{"누적 양이<br/>임계점 돌파?"} E -- "아니오" --> C E -- "예" --> F["산만 점화<br/>히스토리 반복·행동 고착"] F --> G["처방 분기"] G --> H["혼란 처방: 가지치기<br/>동적 툴 선택·불필요 비활성화"] G --> I["산만 처방: 축소·재배치<br/>히스토리 압축·처음끝 배치"] style C fill:#ffcc99 style F fill:#ff9999
- 혼란이 먼저 깔린다. 세션을 시작하는 시점에 이미 툴 정의 150개가 컨텍스트의 25~30%를 점유한다. 이 단계에서 잘못된 툴 선택과 툴 환각이 나타난다.
- 혼란의 산물이 산만을 키운다. 잘못된 호출과 그 결과가 히스토리에 쌓이면서 길이를 부풀린다. 이 누적이 Distraction Ceiling을 넘으면 산만이 점화돼 행동이 과거 반복으로 고착된다.
- 처방은 동시에, 그러나 구분해서 적용한다. 혼란에는 가지치기(관련 툴만 동적 로드, 불필요 MCP 비활성화, 서브에이전트 분리)를, 산만에는 축소·재배치(슬라이딩 윈도우 요약, 중요 정보 처음·끝 배치)를 쓴다. 두 처방은 서로를 보완한다. 툴을 줄이면 혼란이 줄고 길이도 줄어 산만 점화도 늦춰지기 때문이다.
전체 5대 모드 속 위치는 09_01-감별진단-5대모드-종합비교에서 종합한다.
요약·체크리스트
- 본질 구분: 혼란 = 내용의 부적절함(질) / 산만 = 순수 양(length).
- 원칙 구분: 혼란 = “관련성 ≠ 필요성” / 산만 = “실효 컨텍스트 한계”.
- 결정 질문: 무관 정보를 다 빼도 증상이 남으면 산만, 사라지면 혼란.
- 짧은 컨텍스트 테스트: 짧은데도 툴이 부적절해 망가지면 혼란 / 임계 전엔 멀쩡하면 산만.
- MCP 툴 과부하 = 혼란: 양이 아니라 부적절한 선택지가 문제(19개 성공·46개 실패, RAG-MCP 3.17배 회복).
- 처방 구분: 혼란 = 가지치기(동적 툴 선택·비활성화) / 산만 = 축소·재배치(압축·처음끝 배치).
- 공존: 혼란이 깔고 그 산물이 누적돼 임계 돌파 시 산만 점화 — 두 처방 동시 적용.
상위 챕터: 03 혼란 · 02 산만 근거 노트: 03_01-정의와-메커니즘 · 03_02-툴-과부하-MCP-실태 · 02_01-정의-컨텍스트-산만 · 02_04-개념-산만-임계점 감별 종합: 09_01-감별진단-5대모드-종합비교