PE Notes · AI
RAG, RIG, MCP, MoE — LLM 최적화 기법
검색으로 지식을 붙이고, 생성 중 근거를 확인하고, 도구를 표준으로 연결하고, 필요한 전문가만 깨우는 네 가지 LLM 최적화 축을 구분합니다.
대규모 언어모델은 문장을 잘 만들지만, 학습 시점 이후의 사실·사내 문서·실시간 도구를 기본적으로 알지 못합니다. 그래서 현장에서는 모델 자체를 키우는 일 외에 지식 결합, 사실 검증, 도구 연동, 연산 효율을 따로 설계합니다. 이 글은 그 네 축을 , , , 로 나눠 정리합니다.
정의
RAG (Retrieval-Augmented Generation, 검색증강생성) 은 답변을 만들기 전에 외부 지식 저장소에서 질의와 관련된 근거를 찾고, 그 내용을 프롬프트에 붙여 생성하게 하는 기법입니다. 모델 파라미터를 다시 학습하지 않고도 최신 정보와 도메인 문서를 반영할 수 있습니다.
RIG (Retrieval-Interleaved Generation, 검색교차생성) 은 검색을 생성 전에 한 번만 하지 않습니다. 문장을 이어가는 중간중간, 근거가 필요한 지점에서 검색을 교차 호출해 사실 확인과 생성을 겹칩니다. RAG가 “찾아 놓고 쓰기”라면, RIG는 “쓰면서 다시 찾기”에 가깝습니다.
MCP (Model Context Protocol) 는 호스트가 파일시스템, 데이터베이스, SaaS API 같은 외부 자원에 표준 메시지로 접근하도록 정한 개방형 프로토콜입니다. Anthropic이 제안한 클라이언트–서버 구조가 대표적이며, 도구 목록·리소스·프롬프트를 세션 단위로 교환합니다.
MoE (Mixture of Experts, 전문가 혼합) 는 거대 모델 전체를 매 토큰마다 돌리지 않습니다. 여러 전문가 서브네트워크 중 가 입력에 맞는 일부만 골라 활성화합니다. 파라미터 용량은 키우되, 실제 연산량은 활성 전문가에만 쓰는 조건부 연산입니다.
등장 배경 / 필요성
사전학습만으로는 사내 규정, 최신 법령, 어제 배포된 API 문서를 알 수 없습니다. 파인튜닝은 비용과 주기가 크고, 을 근본적으로 없애지도 못합니다. RAG와 RIG는 이 간극을 외부 지식과의 결합으로 메우기 위해 쓰입니다.
다만 RAG는 검색과 생성이 단계로 끊겨 있어, 검색된 문서가 답변의 어느 문장을 뒷받침하는지 추적하기 어렵습니다. 근거와 무관한 문장이 섞일 여지도 있습니다. RIG는 이 정합 문제를 완화하려고, 생성 경로에 검증을 끼워 넣는 쪽으로 발전했습니다.
애플리케이션이 늘면서 팀마다 Git, 이슈 트래커, 캘린더, 내부 DB를 제각각 붙이는 반복도 커졌습니다. MCP는 이 연동을 프로토콜로 통일해, 모델과 도구 사이의 어댑터 코드를 줄이려는 표준화입니다.
성능 쪽에서는 파라미터를 키울수록 품질이 오르는 경향이 있지만, 전체 가중치를 매번 활성화하면 연산 비용이 거의 선형으로 늘어납니다. MoE는 “모델은 크게, 한 토큰의 연산은 작게” 만들기 위한 아키텍처 선택입니다.
특징
| 기법 | 핵심 특징 |
|---|---|
| RAG | 검색 후 생성(2단계). 구현이 비교적 단순하고, 벡터 검색 품질에 크게 의존한다. |
| RIG | 생성 중 반복 검색. 사실 검증은 강해지지만 지연시간(latency)이 늘어난다. |
| MCP | 모델–도구 인터페이스 표준. 재사용성과 확장성이 목적이다. |
| MoE | 조건부 연산(sparse activation). 전체 파라미터 대비 실제 FLOPs를 낮춘다. |
구성도 / 아키텍처
네 기법은 같은 계층이 아닙니다. RAG와 RIG는 애플리케이션 파이프라인이고, MCP는 통신 규약이며, MoE는 모델 내부 구조입니다. 지식 검색과 도구 연결이 한 흐름으로 만나는 모습은 아래와 같습니다.
흐름을 한 줄로 쓰면 다음과 같습니다.
- RAG: 사용자 질의 → Retriever(임베딩·유사도 검색) → 관련 문서 → 프롬프트 결합 → LLM 생성
- RIG: 사용자 질의 → 부분 생성 → 검증 필요 구간 감지 → Retriever 호출 → 근거 결합 → 이어서 생성(반복)
- MCP: LLM Host(Client) ↔ MCP Server(도구·데이터 소스), 주로 JSON-RPC 메시지
- MoE: 입력 토큰 → 게이팅(전문가 선택) → Top-k 전문가 활성화 → 가중합 → 출력
메커니즘 / 동작 원리
RAG는 (1) 질의를 임베딩 벡터로 바꾸고, (2) 에서 코사인 유사도 등으로 Top-k 문서를 찾고, (3) 그 조각을 컨텍스트로 넣은 뒤, (4) 모델이 그 범위 안에서 답하게 합니다. 검색이 빗나가면 생성도 빗나갑니다.
RIG는 생성 과정을 문장·토큰 구간으로 보며, 사실 근거가 필요한 순간에 검색을 호출합니다. 선검색 후생성보다 근거와 문장의 대응을 촘촘히 만들 수 있는 대신, 왕복 횟수만큼 응답이 느려집니다.
MCP는 호스트 안의 클라이언트가 서버에 도구(Tools), 리소스(Resources), 프롬프트(Prompts)를 요청합니다. 세션 핸드셰이크 이후 필요한 시점에 도구를 호출하는 점은 과 비슷하지만, 특정 모델 벤더 API에 묶이지 않는 것이 차이입니다.
MoE는 토큰마다 게이팅이 전문가별 가중치를 내고, 상위 k개만 계산에 참여합니다(Sparse Activation). 나머지 전문가는 그 토큰을 처리하지 않습니다. 그래서 카탈로그상의 파라미터 수와 실제로 움직이는 파라미터 수가 다릅니다.
활용 사례
- RAG: 사내 규정·설계 문서 챗봇, 법률·의료처럼 최신 근거가 필요한 QA, 고객 상담 지식베이스
- RIG: 인용·출처가 필요한 리서치 보조, 뉴스 요약처럼 문장 단위 사실 확인이 중요한 서비스
- MCP: IDE에서 파일·Git·DB 조회, 에이전트가 캘린더·이슈 트래커를 같은 규약으로 다루는 구성
- MoE: Mixtral 계열처럼 파라미터는 크고 서빙 연산은 조절해야 하는 상용 LLM
비교표
| 구분 | RAG | RIG | MCP | MoE |
|---|---|---|---|---|
| 목적 | 외부 지식 결합 | 사실 검증 강화 | 도구·데이터 연동 표준화 | 연산 효율과 파라미터 확장 |
| 계층 | 애플리케이션 기법 | 애플리케이션 기법 | 통신 프로토콜 | 모델 아키텍처 |
| 검색 시점 | 생성 전 1회(전형) | 생성 중 반복 | 해당 없음(도구 호출) | 해당 없음 |
| 주요 이슈 | 검색 품질 의존, 환각 잔존 | 지연시간 증가 | 권한·인증·도구 남용 | 라우팅 편중, 전문가 붕괴 |
| 같이 볼 리스크 | 환각 잔존 | 응답 속도 | MCP 보안 취약점 | Expert Collapse |
기술사 답안 포인트
관련 용어
관련 토픽
AI
sLLM — Smaller Large Language Model
초거대 LLM을 증류·양자화·가지치기로 줄여, 온프레미스와 온디바이스에서 낮은 지연으로 쓰는 소형 언어모델의 위치와 한계를 정리합니다.
AI
환각현상, 모라벡의 역설, RLHF·RAFT, 과적합
LLM이 사실이 아닌 답을 자신 있게 내는 이유, 감각·운동이 기계에 더 어려운 이유, 인간 선호 정렬의 두 경로, 학습이 너무 맞거나 덜 맞는 상태를 한 장에서 구분합니다.
AI
PLM, 프롬프트·하네스 엔지니어링, Multimodal LLM
사전학습 언어모델이 어떻게 만들어지고, 프롬프트와 실행 환경(하네스)이 무엇을 나누며, 이미지·음성·텍스트를 한 코어에서 다루는 멀티모달 LLM을 정리합니다.
AI
편향, 과적합 해결, 최적화 알고리즘, 차원축소
공정성 관점의 편향 유형, 과적합을 데이터·모델·학습 단계에서 줄이는 기법, GD에서 Adam까지의 옵티마이저, 선형·비선형 차원축소를 구분합니다.
AI
적대적공격과 생성형 AI 보안취약점
학습·추론 단계를 가르는 적대적공격 네 유형과, 프롬프트 인젝션부터 도구 연동까지 생성형 AI의 공격 표면을 구분합니다.