Presentation: The Right 300 Tokens Beat 100k Noisy Ones: The Architecture of Context Engineering

InfoQ · 2026.08.18

코딩 에이전트가 실패하는 진짜 이유: 컨텍스트 과부하

코딩 에이전트를 실제 업무에 도입해본 팀이라면 한 번쯤 마주쳤을 상황이 있다. 분명히 잘 작동하던 에이전트가 어느 순간부터 엉뚱한 결과를 내거나, 앞서 했던 지시를 무시하거나, 맥락을 잃어버리는 현상이다. 이 문제의 근본 원인으로 지목되는 것이 바로 컨텍스트 윈도우의 과부하다. 토큰을 많이 넣을수록 에이전트가 더 잘 동작할 것이라는 직관은 실제로는 반대로 작용하는 경우가 많다. 노이즈가 많은 100k 토큰보다 정확하게 선별된 300 토큰이 훨씬 높은 신뢰성을 만들어낸다는 것이 이 접근법의 핵심 전제다.

문제는 단순히 프롬프트를 짧게 쓰는 것이 아니다. 에이전트가 어떤 작업을 수행하는 시점에 어떤 정보가 컨텍스트에 존재해야 하는가를 아키텍처 수준에서 설계해야 한다는 것이다. 백엔드 서비스 개발에 비유하자면, 모든 데이터를 한 번에 메모리에 올리는 것이 아니라 필요한 시점에 필요한 데이터만 로딩하는 방식과 같다.

컨텍스트 엔지니어링의 핵심 전략

이 문제를 해결하기 위한 실용적인 아키텍처 전략은 크게 세 가지로 정리된다.

지연 로딩 방식의 스킬 구성 (Lazy-loaded Skills) 에이전트에게 모든 능력을 처음부터 주입하는 대신, 현재 작업 단계에서 필요한 스킬만 동적으로 로드한다. Java 애플리케이션에서 빈을 필요 시점에 초기화하는 Lazy Initialization과 개념적으로 동일하다. 이렇게 하면 컨텍스트 윈도우에 불필요한 정보가 쌓이는 것을 방지할 수 있다.

버전 관리된 컨텍스트 아티팩트 (Versioned Context Artifacts) 마크다운 파일이나 시스템 프롬프트를 단순한 텍스트 파일로 다루지 않고, 코드와 동일하게 버전 관리 대상으로 취급한다. 컨텍스트 정의가 변경될 때 그 히스토리를 추적하고, 특정 버전의 아티팩트를 에이전트 워크플로우에 명시적으로 바인딩한다. 이는 에이전트 동작의 재현성과 디버깅 가능성을 크게 높여준다.

외부화된 메모리 뱅크 (Externalized Memory Banks) 에이전트의 장기 기억을 컨텍스트 윈도우 내부에 두지 않고 외부 저장소로 분리한다. 필요한 시점에 관련 정보만 검색해서 컨텍스트에 주입하는 구조다. 이는 마이크로서비스 아키텍처에서 서비스 간 상태를 공유할 때 인메모리 공유 대신 외부 저장소를 사용하는 패턴과 유사하다.

// 컨텍스트 주입 예시 (개념적 구조)
ContextWindow context = ContextWindow.builder()
    .addSkill(skillRegistry.loadFor(currentTask))       // 지연 로딩
    .addMemory(memoryBank.retrieve(taskEmbedding))      // 외부 메모리 검색
    .addArtifact(artifactRepo.get("system-prompt", "v2.1")) // 버전 고정
    .build();

아키텍처 관점에서 왜 중요한가

백엔드 개발자와 아키텍트 입장에서 이 접근법이 의미 있는 이유는, 에이전트 기반 워크플로우를 설계 가능하고 테스트 가능한 시스템으로 만들 수 있기 때문이다. 지금까지 많은 팀이 에이전트 도입에 실패한 이유 중 하나는 에이전트의 동작을 블랙박스로 다루고, 결과가 나쁠 때 프롬프트를 감에 의존해서 수정해왔기 때문이다.

컨텍스트 엔지니어링은 이 불확실성을 줄이는 구조적 해답이다. 어떤 정보가, 언제, 어떤 형태로 에이전트에게 전달되는지를 명확히 정의하면, 에이전트의 동작은 훨씬 예측 가능해진다. 또한 평가 단계에서 에이전트 자체를 판정자로 활용하는 방식(LLM-as-a-judge)을 도입하면, 컨텍스트 품질에 대한 자동화된 피드백 루프를 구성할 수 있다. 이는 기존 소프트웨어의 테스트 자동화와 같은 역할을 에이전트 워크플로우에서 수행한다.

정리

  • 컨텍스트 윈도우를 크게 채우는 것이 정답이 아니며, 정확하게 선별된 소량의 컨텍스트가 에이전트 신뢰성을 높인다.
  • 지연 로딩 스킬, 버전 관리 아티팩트, 외부 메모리 뱅크는 컨텍스트를 아키텍처 수준에서 관리하는 핵심 전략이다.
  • 에이전트 워크플로우는 설계 가능하고 테스트 가능한 시스템으로 접근해야 하며, 컨텍스트 엔지니어링이 그 출발점이 된다.
Source
InfoQ
원문 보기 →
← 목록으로 돌아가기