
This article LLM(large language model)을 사용할 때 발생할 수 있는 context 실패의 다양한 유형을 짚어보고, 이를 예방하거나 완화할 수 있는 여섯 가지 핵심 전략을 시간순으로 자세히 설명. 각 전략은 실제 사례와 연구 결과, 그리고 인상적인 인용구와 함께 소개되어 있어, LLM을 활용하는 모든 이들에게 실질적인 도움이 될 수 . 😊
context 실패란 무엇인가?
먼저, 글에서는 context 실패의 네 가지 대표적인 유형을 간단히 정리.
- context 오염(Context Poisoning): 잘못된 정보나 환각(hallucination)이 context에 들어가 반복적으로 참조되는 현상
- context 산만(Context Distraction): context가 너무 길어져 모델이 학습된 지식보다 context에만 집중하는 현상
- context 혼란(Context Confusion): 불필요한 정보가 많아져 모델이 질 낮은 답변을 생성하는 현상
- context 충돌(Context Clash): 새로 추가된 정보나 도구가 기존 정보와 충돌하는 현상
이 모든 문제의 핵심은 정보 관리에 . 글에서는 이를 다음과 같이 강조.
"context에 들어가는 모든 것이 답변에 영향을 미칩니다. programming의 오래된 격언처럼, '쓰레기를 넣으면, 쓰레기가 나온다.'"
context 관리의 6가지 전략
이제 본격적으로 context 실패를 예방하거나 완화하는 6가지 방법을 하나씩 살펴.
1. RAG (Retrieval-Augmented Generation)
RAG는 필요한 정보만 선별적으로 추가해 LLM이 더 나은 답변을 하도록 돕는 방법.
- 최근 LLM의 context 윈도우가 커지면서 "이제 RAG는 필요 없다"는 논쟁이 반복되지만, 실제로는 여전히 매우 중요.
- Llama 4 Scout가 1,000만 token의 윈도우를 지원하면서 "그냥 다 집어넣자"는 유혹이 커졌지만, The author 이렇게 경고.
"context를 잡동사니 서랍처럼 다 집어넣으면, 그 잡동사니가 답변에 영향을 미칩니다."
- In other words, 불필요한 정보는 오히려 답변의 질을 떨어뜨릴 수 있으니, 꼭 필요한 정보만 뽑아 넣는 RAG가 여전히 필수적이라는 점을 강조.
2. Tool Loadout (도구 선별)
Tool Loadout는 작업에 필요한 도구 정의만 context에 추가하는 전략.
- 게임에서 '로드아웃'이란, 상황에 맞는 무기와 장비를 고르는 것을 의미. 여기서는 LLM이 사용할 도구를 선별하는 데 이 개념을 빌려왔습니다.
- RAG를 도구 설명에 적용해, 입력 prompt에 맞는 도구만 선택하는 방법이 효과적임이 여러 논문에서 입증되었습니다.
- For example, 30개가 넘는 도구가 주어지면 도구 설명이 겹치면서 혼란이 커지고, 100개가 넘으면 모델이 거의 무조건 실패.
- 반면, RAG로 30개 미만의 도구만 선택하면 prompt가 짧아지고, 도구 선택 정확도가 3배까지 향상.
"Llama 3.1 8b는 46개의 도구를 주면 벤치마크를 통과하지 못However, 19개만 주면 성공. 문제는 context 윈도우의 한계가 아니라, context 혼란."
- 도구를 적게 쓰면 전력 소모와 속도도 크게 개선. 실제로 동적 도구 선택 방법을 썼을 때, 전력은 18%, 속도는 77%까지 절약되었습니다.
3. Context Quarantine (context 격리)
Context Quarantine은 각 작업을 별도의 스레드(context)로 분리하는 방법.
- context가 너무 길거나 불필요한 내용이 많으면 성능이 떨어지므로, 작업을 작은 단위로 쪼개 각각의 context에서 처리하는 것이 효과적.
- Anthropic의 멀티 agent 시스템 연구에서는, 여러 하위 agent가 각자 독립된 context에서 병렬로 탐색한 뒤, 중요한 정보만 모아 최종 답변을 만드는 방식을 사용.
"검색의 본질은 압축. 하위 agent는 각자 자신의 context 윈도우에서 병렬로 탐색한 뒤, 가장 중요한 token만을 리드 agent에게 전달. 각 하위 agent는 도구, prompt, 탐색 경로가 분리되어 있어, 독립적이고 철저한 조사가 가능."
- 이 방식은 특히 여러 방향으로 동시에 탐색해야 하는 문제에서 탁월한 성능을 보.
"멀티 agent 시스템은 단일 agent보다 90.2% 더 나은 성능을 보였습니다. For example, S&P 500 IT 기업의 모든 이사진을 찾는 문제에서, 멀티 agent는 하위 작업으로 분해해 정답을 찾았지만, 단일 agent는 느리고 순차적인 탐색으로 실패."
- 단, 여러 agent가 context를 공유해야 하는 문제에는 적합하지 .
4. Context Pruning (context 가지치기)
Context Pruning은 불필요하거나 오래된 정보를 context에서 제거하는 전략.
- agent가 여러 도구를 사용하고 문서를 조립하다 보면, context가 점점 불필요한 정보로 가득 차게 .
- 이럴 때는 주기적으로 context를 점검하고, 쓸모없는 부분을 잘라내는 작업이 필요.
- 최근에는 Provence와 같은 도구가 등장해, 질문에 맞는 정보만 남기고 나머지는 자동으로 잘라낼 수 .
"Provence는 위키피디아 문서의 95%를 잘라내고, 질문에 딱 맞는 부분만 남겼습니다. 정말 정확."
- context를 딕셔너리 등 구조화된 형태로 관리하면, 가지치기나 요약 작업이 훨씬 쉬워집니다.
5. Context Summarization (context 요약)
Context Summarization은 누적된 context를 간결하게 요약하는 방법.
- 원래는 context 윈도우가 작을 때, 초과하지 않기 위해 요약을 사용했지만, 최근에는 context가 너무 커지면 오히려 모델이 산만해지는 현상을 막기 위해서도 요약이 필요하다는 사실이 밝혀졌습니다.
- For example, 포켓몬 게임 agent 연구에서는 10만 token이 넘으면 모델이 새로운 계획을 세우지 못하고 과거 행동만 반복하는 경향이 나타났습니다.
"context가 10만 token을 넘어서면, agent가 과거의 행동을 반복하는 경향이 강해지고, 새로운 계획을 세우지 못. 이 현상은 장기 context가 정보 검색에는 유용However, 다단계 추론에는 오히려 방해가 될 수 있음을 보여줍니다."
- 요약은 간단해 보이지만, 어떤 정보를 남길지 결정하는 것이 매우 중요. 별도의 LLM 단계로 분리해 평가 data를 쌓고 최적화하는 것이 좋습니다.
6. Context Offloading (context 외부 저장)
Context Offloading은 중요한 정보를 LLM의 context 밖에 따로 저장하는 전략.
- Anthropic의 "think" 도구처럼, 임시 메모장(scratchpad)을 만들어 모델이 참고할 수 있도록 하는 방식.
"'think' 도구를 통해, Claude에게 추가적인 사고 단계와 전용 공간을 제공. 이는 도구 호출이 길어지거나, 사용자와의 대화가 여러 단계로 이어질 때 특히 유용."
- 이 방식은 도구 출력 분석, 정책 준수 확인, 순차적 의사결정 등에서 큰 효과를 보.
"'think' 도구와 도메인별 prompt를 함께 쓰면, 특화 agent의 벤치마크에서 최대 54%의 성능 향상이 나타났습니다."
Conclusion: context는 공짜가 아니다!
글의 마지막에서는 context 관리가 agent 설계의 핵심임을 다시 한 번 강조.
"context는 공짜가 아닙니다. context의 모든 token이 모델의 행동에 영향을 미칩니다. 대형 context 윈도우는 강력한 기능이지만, 정보 관리를 소홀히 해도 된다는 뜻은 아닙니다."
따라서, context에 들어가는 모든 정보가 정말로 가치가 있는지 항상 점검해야 하며, 필요하다면 위에서 소개한 6가지 방법을 적극적으로 활용해야 .
Summary Keywords
- context 실패: 오염, 산만, 혼란, 충돌
- 정보 관리: RAG, 도구 선별, 격리, 가지치기, 요약, 외부 저장
- efficiency: 정확도, 속도, 전력 절감
- 구조화: context를 구조화해 관리하면 가지치기와 요약이 쉬워짐
- 실전 적용: 멀티 agent, 도구 추천, 임시 메모장 등 다양한 실제 사례
이렇게 context 관리는 LLM을 제대로 활용하기 위한 필수 역량. 다음에 agent를 설계하거나 최적화할 때, "이 context의 모든 정보가 정말로 필요할까?"를 꼭 한 번 더 생각해보세요! 🚀