본문 바로가기

인공지능

프롬프트 블로트를 극복하는 LLM 도구 선택의 정답, RAG-MCP란 무엇인가?

728x90
반응형

 

https://arxiv.org/pdf/2505.03275v1

대규모 언어 모델(LLM)을 활용해 다양한 외부 도구를 연결해보면 곧 마주하게 되는 문제가 있다. 사용할 수 있는 도구는 많지만, 모델이 어떤 도구를 언제 선택해야 할지 몰라 헤매게 되는 것이다. 결과적으로 모델 성능은 떨어지고, 프롬프트는 길어지며, 처리 속도까지 느려진다.

이 글에서는 이 문제를 해결하기 위한 프레임워크, RAG-MCP를 소개한다. 도구 설명을 한꺼번에 프롬프트에 밀어 넣는 방식이 아닌, 사용자의 질의에 맞는 도구만 검색해서 LLM에 제공하는 방식으로 작동하며, 정확도와 효율성을 모두 높일 수 있다.

프롬프트 블로트를 줄이고 도구 선택 정확도를 높이는 새로운 방법, RAG-MCP의 개념, 작동 방식, 실험 결과, 기대 효과까지 하나하나 자세히 살펴본다.

반응형

프롬프트 블로트(Prompt Bloat)란 무엇인가?

LLM이 수십 개, 수백 개의 외부 도구를 사용할 수 있게 되면서, 새로운 문제가 생겼다. 모델이 어떤 도구를 써야 할지 선택해야 하다 보니, 기존 방식은 모든 도구의 설명을 프롬프트에 포함시키는 방식을 사용했다.

하지만 도구 수가 많아질수록 프롬프트의 길이는 걷잡을 수 없이 늘어나고, 이로 인해 다음과 같은 문제가 발생한다.

  • 모델이 적절한 도구를 선택하지 못함
  • 불필요한 계산 비용 증가
  • 성능 저하와 오류 발생

이 현상을 'Prompt Bloat'라고 부르며, LLM이 확장 가능한 툴 통합을 하기 어렵게 만드는 주요 원인이다.


기존 방식의 한계

Prompt Bloat를 해결하기 위해 다양한 시도들이 있었다. 대표적으로 두 가지 접근 방식이 있다.

  1. Blank Conditioning: 모든 도구 설명을 프롬프트에 포함시킨다. 선택 범위는 넓지만, 프롬프트가 너무 길어져 성능 저하가 심각하다.
  2. Actual Match: 간단한 키워드 매칭으로 관련 도구만 필터링한다. 비교적 효율적이지만, 의미론적으로 정확한 도구 선택이 어렵다.

이러한 방식들은 도구 수가 적을 때는 괜찮지만, 수십 개 이상일 경우 정확도와 효율성 모두에서 한계를 드러낸다.


RAG-MCP 프레임워크란?

RAG-MCP는 검색 증강 생성(Retrieval-Augmented Generation, RAG) 패러다임을 기반으로, LLM의 도구 선택 과정을 최적화하는 프레임워크다.

핵심 아이디어는 간단하다.
"모든 도구 설명을 한 번에 보여주지 말고, 사용자 쿼리에 가장 관련 있는 도구만 검색해서 보여주자."

이 과정을 통해 프롬프트 크기를 줄이고, 모델이 더 신중하게 도구를 선택하고 사용할 수 있도록 돕는다.


RAG-MCP의 작동 방식

RAG-MCP는 네 단계로 작동한다.

  1. 외부 벡터 인덱스 구축
    모든 MCP 도구의 설명, 스키마, 사용 예시 등을 벡터 형태로 외부 인덱스에 저장한다.
  2. 검색(Retrieval)
    사용자의 쿼리를 Qwen 같은 경량 LLM이 인코딩하고, 인덱스에서 의미론적으로 가장 가까운 도구들을 찾아낸다.
  3. 검증(Validation) (선택 사항)
    검색된 도구에 대해 예시 쿼리를 테스트하여 정상적으로 동작하는지 검증한다.
  4. 호출(Invocation)
    최종 선택된 도구 설명과 파라미터만 LLM에게 전달되며, 이에 따라 작업을 수행한다.

이렇게 하면 수백 개의 도구 중 단 하나 또는 몇 개만 선택되어 프롬프트에 포함되므로 효율성이 극대화된다.


실험 결과로 보는 성능 비교

RAG-MCP의 성능은 MCP Stress TestMCPBench의 web search 데이터셋을 통해 평가되었다.

  • 정확도(Accuracy)
    • RAG-MCP: 43.13%
    • Blank: 13.62%
    • Actual Match: 18.20%
  • 평균 프롬프트 토큰 수
    • RAG-MCP: 1,084
    • Blank: 2,133.84
    • Actual Match: 1,646.00
  • 평균 결과 토큰 수
    • RAG-MCP: 78.14
    • Blank: 162.25
    • Actual Match: 23.60

RAG-MCP는 정확도에서 기존 방식 대비 2배 이상 우수했고, 프롬프트 길이도 절반 이하로 줄였다. 결과 토큰 수는 다소 많지만, 이는 더 신중한 추론을 반영한다는 해석이 가능하다.


RAG-MCP가 가져올 변화

RAG-MCP는 단순히 프롬프트 최적화만을 위한 프레임워크가 아니다. 이는 LLM 기반 시스템에서 도구 사용 방식의 근본적인 변화를 가져온다.

  • 선택 정확도 향상
    관련 없는 도구를 제거해 모델이 혼동하지 않게 한다.
  • 프롬프트 최적화
    불필요한 정보 입력 없이 효율적으로 도구를 호출할 수 있다.
  • 확장성
    도구 수가 늘어나도 벡터 인덱스만 업데이트하면 되며, LLM을 재학습할 필요가 없다.
  • 리소스 절약
    필요 도구만 인스턴스화하므로 자원 낭비를 줄일 수 있다.
  • 대화형 시스템 적합
    다중 턴 대화에서도 동적으로 도구를 재검색할 수 있어 유연하다.

728x90

RAG-MCP가 열어줄 미래

RAG-MCP는 도구 중심의 LLM 아키텍처가 마주한 현실적 문제들을 해결하는 데 매우 효과적인 프레임워크다.

수많은 도구를 단순히 연결하는 것만으로는 충분하지 않다. 어떤 도구를, 언제, 어떻게 쓸 것인지에 대한 결정이 핵심인데, RAG-MCP는 이 과정을 검색과 검증을 통해 현실적이고 신뢰성 있게 자동화한다.

향후 이 프레임워크는 대규모 환경에서도 계층적 검색, 다중 도구 워크플로우, 실제 서비스 배포까지 확장될 수 있으며, LLM 기반 도구 활용의 새로운 기준점이 될 가능성이 크다.

https://arxiv.org/abs/2505.03275

 

RAG-MCP: Mitigating Prompt Bloat in LLM Tool Selection via Retrieval-Augmented Generation

Large language models (LLMs) struggle to effectively utilize a growing number of external tools, such as those defined by the Model Context Protocol (MCP)\cite{IntroducingMCP}, due to prompt bloat and selection complexity. We introduce RAG-MCP, a Retrieval

arxiv.org

728x90
반응형