
긴 context의 함정: agent가 실패하는 이유와 그 과정
1. 긴 context 윈도우의 기대와 현실
최근 AI 모델의 context 윈도우가 100만 token까지 확장되면서, 많은 사람들이 "이제 모든 정보를 한 번에 prompt에 넣고, agent가 알아서 다 처리해줄 것"이라는 기대에 부풀었습니다.
For example, 도구, 문서, 지침 등 필요한 모든 것을 한 번에 넣고, 모델이 알아서 최적의 답을 내줄 것이라는 환상이죠.
"이제는 모든 문서를 prompt에 넣을 수 있으니, 굳이 어떤 문서를 찾아야 할지 고민할 필요가 없다!"
Such 기대는 RAG(Retrieval-Augmented Generation)에 대한 열기를 식히고, MCP(Multi-Component Prompting)와 agent에 대한 기대를 키웠습니다.
하지만 실제로는, 긴 context가 항상 더 나은 결과를 보장하지 . 오히려 context가 너무 많아지면, agent와 애플리케이션이 예상치 못한 방식으로 실패할 수 .
context가 오염되거나, 산만해지거나, 혼란스럽거나, 충돌을 일으키는 문제가 발생할 수 .
In particular, agent는 정보를 모으고, 종합하고, 행동을 조율하는 데 context에 크게 의존하기 때문에 Such 문제가 더 치명적.
2. context 실패의 네 가지 유형
agent가 실패하는 대표적인 context 문제는 다음과 같이 네 가지로 정리할 수 .
-
context 오염(Context Poisoning)
- 잘못된 정보(환각 등)가 context에 들어가 반복적으로 참조되는 현상
-
context 산만(Context Distraction)
- context가 너무 길어져서, 모델이 학습된 내용보다 context에만 집중하는 현상
-
context 혼란(Context Confusion)
- 불필요한 정보가 context에 들어가, 모델이 저품질의 답변을 생성하는 현상
-
context 충돌(Context Clash)
- context 내에 서로 상충되는 정보나 도구가 들어가, 내부적으로 모순이 발생하는 현상
3. 각 실패 유형의 구체적 사례와 영향
1) context 오염
context 오염은, 예를 들어 Gemini 2.5가 포켓몬 게임을 할 때 환각(hallucination)이 발생해 잘못된 정보가 context에 들어가고, 그 정보가 계속해서 참조되는 상황에서 나타납니다.
"특히 심각한 형태의 이 문제는 'context 오염'으로, context의 여러 부분(목표, 요약 등)이 게임 상태에 대한 잘못된 정보로 오염되어, 이를 되돌리기까지 매우 오랜 시간이 걸릴 수 . 그 결과, 모델은 불가능하거나 무관한 목표를 달성하려 집착하게 ."
In this way,, 목표 섹션이 오염되면 agent는 말도 안 되는 전략을 세우고, 달성할 수 없는 목표를 계속 추구하게 .
2) context 산만
context 산만은, context가 너무 길어져서 모델이 학습된 전략을 잊고, 과거의 행동만 반복하는 현상.
For example, Gemini 2.5 Pro는 100만 token 이상의 context를 지원However, 실제로 10만 token을 넘어서면 과거 행동을 반복하는 경향이 나타났습니다.
"agent 환경에서 context가 10만 token을 훨씬 넘어서면, agent는 새로운 계획을 세우기보다는 방대한 과거 기록에서 행동을 반복하는 경향을 보였습니다. 이 현상은 장기 context가 정보 검색에는 유용할 수 있지만, 다단계 추론에는 한계가 있음을 보여줍니다."
작은 모델일수록 이 한계는 더 빨리 나타납니다.
For example, Llama 3.1 405b는 3만 2천 token 정도에서 정확도가 떨어지기 시작.
Such 현상 때문에, 긴 context 윈도우의 진짜 가치는 요약(summarization)이나 사실 검색(fact retrieval)에 .
그 외의 용도라면, 모델이 산만해지는 한계점(distracton ceiling)을 주의해야 .
3) context 혼란
context 혼란은, 너무 많은 도구나 정보가 한꺼번에 들어가 모델이 혼란스러운 답변을 내놓는 현상.
For example, MCP(Multi-Component Prompting) 방식으로 모든 도구 설명을 prompt에 넣으면, 오히려 모델이 어떤 도구를 써야 할지 혼란스러워집니다.
"버클리 Function-Calling Leaderboard는, 두 개 이상의 도구가 주어지면 모든 모델의 성능이 떨어진다는 사실을 보여줍니다. 심지어, 제공된 함수 중 어떤 것도 관련이 없는 상황에서도, 모든 모델이 가끔씩 무관한 도구를 호출."
In particular, 46개의 도구가 주어진 GeoEngine 벤치마크에서, Llama 3.1 8b 모델은 16k context 윈도우 내에서도 실패.
하지만 19개 도구만 주면 성공.
In other words, context에 들어간 정보는 모델이 반드시 신경 써야 하므로, 불필요한 정보가 많아질수록 모델이 혼란에 빠질 수 .
4) context 충돌
context 충돌은, context 내에 서로 상충되는 정보가 들어가 모델이 모순에 빠지는 현상.
For example, 마이크로소프트와 세일즈포스 연구팀은 여러 번에 걸쳐 정보를 추가하는 '샤딩(sharding)' prompt 실험을 .
"LLM은 대화 초기에 가정(assumption)을 하고, 너무 일찍 최종 해답을 내놓으려 . 그리고 그 잘못된 해답에 지나치게 의존. 쉽게 말해, LLM이 대화에서 잘못된 길로 들어서면, 길을 잃고 다시 돌아오지 못."
In this way,, 여러 번에 걸쳐 정보를 추가하면, 초기의 잘못된 답변이 context에 남아 이후 답변에 계속 영향을 미칩니다.
실제로, OpenAI의 o3 모델은 점수가 98.1에서 64.1로 급락.
4. 긴 context의 한계와 교훈
100만 token context 윈도우의 등장은 혁신적으로 보였지만, 실제로는 새로운 실패 유형을 만들어냈습니다.
- context 오염은 시간이 지날수록 오류가 누적.
- context 산만은 agent가 과거에만 집착하게 만듭니다.
- context 혼란은 무관한 도구나 문서를 사용하게 .
- context 충돌은 내부 모순으로 추론이 무너집니다.
Such 실패는 특히 agent에서 더 심각하게 나타납니다.
agent는 여러 소스에서 정보를 모으고, 도구를 연속적으로 호출하며, 다단계 추론과 긴 대화 기록을 쌓기 때문.
5. Future Solutions
다행히도, Such 문제를 완화하거나 피할 수 있는 방법들이 .
For example, 도구를 동적으로 불러오는 방법이나, context를 격리(quarantine)하는 방법 등이 .
이 내용은 다음 글에서 자세히 다룰 예정.
더 자세한 해결책이 궁금하다면, "How to Fix Your Context"를 참고하세요!
Key Concepts Summary
- context 윈도우
- agent
- context 오염, 산만, 혼란, 충돌
- RAG, MCP
- 요약(summarization), 사실 검색(fact retrieval)
- 도구 동적 로딩, context 격리
🧠 긴 context가 만능은 아닙니다!
오히려, 정보를 어떻게 잘 관리하고, 필요한 것만 뽑아 쓰는지가 agent 성공의 핵심임을 꼭 기억하세요.