MCP 툴이 대규모 RAG 페이로드를 반환할 때 컨텍스트 비대화(Context Bloat)는 어떻게 해결하고 계신가요?
How Are You Handling Context Bloat When MCP Tools Return Large RAG Payloads?
핵심 요약
MCP와 RAG를 결합할 때 발생하는 컨텍스트 윈도우 소진 문제와 이를 해결하기 위한 기술적 접근 방안을 논의합니다.
- 컨텍스트 비대화 — 에이전트의 반복적인 툴 호출로 인해 컨텍스트 윈도우가 빠르게 소진됨.
- 해결 전략 — 의미론적 캐싱, 컨텍스트 압축, 요약 등을 통한 토큰 비용 절감 시도.
- 워크플로우 복잡성 — 여러 MCP 툴이 세션 상태를 공유할 때 발생하는 관리 문제.
- 아키텍처 공유 — 작성자가 직접 설계한 아키텍처와 비교 분석 자료 제공.
최근 MCP 기반 에이전트를 실험 중인데, 한 가지 놀라운 점이 있었습니다.
대부분의 논의는 RAG 대 MCP 구도로 미래를 이야기하지만, 실제로는 기존 RAG 파이프라인을 MCP 툴 내부에 임베딩하는 방식으로 끝났습니다.
RAG는 검색(retrieval) 문제를 해결합니다.
MCP는 툴과 리소스 접근 방식을 표준화합니다.
이 둘을 결합할 때 흥미로운 엔지니어링 문제들이 시작됩니다.
저희가 겪고 있는 몇 가지 이슈입니다:
- 반복적인 Thought → Action → Observation 루프가 기존 RAG 파이프라인보다 토큰 사용량을 급격히 증가시킴.
- 에이전트가 툴을 반복 호출할 때 대규모 검색 페이로드가 컨텍스트 윈도우를 빠르게 소진함.
- 여러 MCP 툴이 워크플로우에 참여하면 세션 상태 관리가 더 어려워짐.
- 반복적인 검색 비용을 줄이기 위해 의미론적 캐싱(semantic caching)과 컨텍스트 압축(context compaction)을 실험하기 시작함.
다른 분들은 어떻게 접근하고 있는지 궁금합니다.
MCP 서버가 대규모 RAG 페이로드를 반환할 때, 컨텍스트 비대화를 어떻게 방지하고 계신가요? 요약? 의미론적 캐시? 외부 메모리 저장소?



