상위: 00_00_MOC

00_05 — 에이전트는 왜 컨텍스트를 누적시키는가

핵심 명제

단일 LLM 호출과 달리 에이전트는 루프 안에서 스스로 도구를 쓰며 컨텍스트를 복리(compound)로 쌓아 간다. 그래서 장기 태스크에서는 컨텍스트 윈도우 초과가 사실상 피할 수 없고, 바로 이 점이 에이전트에서 컨텍스트 관리가 핵심 병목이 되는 이유다.


1. 에이전트의 기본 패턴: LLM-in-a-Loop

현대 AI 에이전트의 작동 패턴:

[시스템 프롬프트 + 목표]
↓
LLM 추론 → 도구 선택
↓
도구 실행 (웹 검색, 코드 실행, 파일 읽기...)
↓
결과를 컨텍스트에 추가
↓
다음 LLM 추론 (누적된 컨텍스트 기반)
↓
... (반복) ...
↓
최종 결과 생성

매 루프 라운드마다 컨텍스트에 축적되는 항목:

항목설명라운드당 토큰 추정
툴 호출 입력/출력각 도구의 요청·응답수백~수천
중간 추론reasoning traces, scratchpad수백~수천
오류 메시지·재시도 기록실패한 시도 전체수십~수백
검색 문서 청크RAG로 가져온 문서수천~수만
서브에이전트 결과물위임한 태스크의 전체 출력수천~수만

수십 라운드만 돌아도 수십만 토큰이 쌓이는 것은 산술적으로 당연한 일이다.


2. 컨텍스트 누적의 구조적 원인 3가지

2.1 프론티어 모델은 단일 호출에서 이미 강하다

GPT-4.1, Claude 4, Gemini 2.5 같은 모델은 잘 정의된 one-shot 문제를 거의 풀어낸다. 실패는 단일 호출이 아니라 장기 루프, 멀티소스 통합, 툴 오케스트레이션에서 터진다.

2.2 에이전트의 모든 실패 시나리오는 컨텍스트 문제로 환원된다

Philipp Schmid(2025):

“Most agent failures are not model failures anymore, they are context failures.”

모델을 갈아 끼우기 전에 컨텍스트를 먼저 의심하는 편이 맞다.

2.3 멀티에이전트 아키텍처는 토큰 소비를 더 키운다

Lance Martin(LangChain, 2025)이 인용하는 Anthropic 데이터:

“Anthropic reported multi-agent systems use up to 15× more tokens than single-turn chat interactions.”

멀티에이전트가 복잡한 태스크에서 성능 우위를 보이는 데는 이유가 있지만, 그 대가는 최대 15배에 이르는 토큰 소비다.


3. 툴 수 증가의 혼란 효과

에이전트에 도구가 많을수록 성능이 저하된다. Lance Martin(2025)의 인용:

“Recent papers have shown that applying RAG to tool descriptions improves tool selection accuracy by 3-fold.”

도구를 전부 컨텍스트에 욱여넣는 대신 필요한 도구만 RAG로 골라 넣는 쪽이 3배 더 정확하다는 뜻이다. 모든 도구 정의를 컨텍스트에 끌어안고 있으면 00_06-5대-실패모드-분류Context Confusion(혼란) 실패모드로 이어진다.


4. 컨텍스트 누적 흐름 다이어그램

sequenceDiagram
    participant U as 사용자
    participant A as 에이전트 (LLM)
    participant T as 도구들
    participant CTX as 컨텍스트 윈도우

    U->>CTX: 시스템 프롬프트 + 목표 (초기 로딩)
    A->>T: 툴 호출 1 (웹 검색)
    T->>CTX: 결과 추가 (+수천 토큰)
    A->>T: 툴 호출 2 (코드 실행)
    T->>CTX: 결과 추가 (+수천 토큰)
    Note over CTX: 중간 추론·오류 기록도 누적
    A->>T: 툴 호출 N...
    T->>CTX: 결과 추가 (누적 수십만 토큰)
    Note over CTX: ⚠️ 윈도우 임계값 접근
    A->>A: Compaction / Sub-agent 전환 필요

5. Anthropic이 제시하는 3가지 솔루션

Anthropic Applied AI Team(2025-09-29):

5.1 Compaction (압축)

컨텍스트가 임계값(Claude Code: 95%)에 도달하면 전체 히스토리를 요약해 새 컨텍스트로 다시 시작한다. 요약은 재귀적(recursive) 또는 계층적(hierarchical) 전략을 쓴다.

  • 장점: 윈도우를 비워 작업 지속 가능
  • 단점: 미묘하지만 중요한 컨텍스트를 잃을 위험

5.2 Structured Note-Taking (구조화 노트)

에이전트가 컨텍스트 외부에 NOTES.md 같은 파일을 유지한다. Anthropic의 멀티에이전트 리서처 사례:

“saving its plan to Memory to persist the context, since if the context window exceeds 200,000 tokens it will be truncated.”

5.3 Sub-agent Architectures (서브에이전트)

주 에이전트는 고수준 계획만 들고 있고, 실제 작업은 서브에이전트에 맡긴다. 서브에이전트는 전체 출력 대신 1,000~2,000 토큰 분량의 요약본만 주 에이전트로 돌려준다.


6. Claude Code 실제 구현 사례

Anthropic의 Claude Code가 실제로 적용하는 컨텍스트 전략:

전략구현 방식
즉시 로딩CLAUDE.md 파일을 세션 시작 시 즉시 로딩
Just-in-Time 로딩glob/grep으로 필요한 파일을 필요한 순간에만 로딩
Auto-compact95% 도달 시 자동 압축 실행
서브에이전트복잡 태스크를 서브에이전트에 위임, 요약만 회수

참고문헌


관련 노트: 00_04-컨텍스트-로트-Context-Rot · 00_06-5대-실패모드-분류 · 00_07-4대-전략-Write-Select-Compress-Isolate · 06 해결전략 · 08 실전