---
id: [[P-Reinforce|P-Reinforce]]-AUTO-ADR-001
category: AI_and_ML
confidence_score: 1.00
tags: [auto-reinforced, adaptive-rag, rag, query-routing, search-optimization]
last_reinforced: 2026-05-04
---

# [[Adaptive RAG|Adaptive RAG]]

## 📌 한 줄 통찰 (The Karpathy Summary)
> "질문의 무게에 따른 맞춤형 검색: 단순한 질문은 LLM의 지식으로 처리하고, 복잡한 질문은 정밀한 검색 파이프라인을 가동하여 리소스 낭비를 줄이고 응답 품질을 최적화하는 동적 검색 아키텍처."

## 📖 구조화된 지식 (Synthesized Content)
적응형 RAG(Adaptive RAG)는 사용자의 쿼리 복잡도를 사전에 분석하여 가장 적합한 검색 전략을 동적으로 선택하는 고도화된 RAG 프레임워크입니다.

1.  **동적 쿼리 라우팅 (Dynamic Query Routing)**:
    *   **Level 1 (단순)**: LLM이 이미 학습한 지식으로 충분히 답변 가능한 질문. 검색 없이 즉시 응답하여 지연 시간과 비용을 최소화합니다.
    *   **Level 2 (중간)**: 단일 문서나 제한된 출처 확인이 필요한 질문. 표준 [[Retrieval-Augmented Generation (RAG)|RAG]] 프로세스를 가동합니다.
    *   **Level 3 (복잡)**: 여러 문서 간의 교차 검증이나 추론이 필요한 다중 홉([[Multi-hop Reasoning|Multi-hop]]) 질문. [[Agentic RAG|Agentic RAG]]나 [[GraphRAG|GraphRAG]]를 가동하여 심층 리서치를 수행합니다.

2.  **핵심 메커니즘**:
    *   **쿼리 분류기 (Query Classifier)**: 질문의 의도, 구체성, 최신성 필요 여부 등을 판단합니다.
    *   **검색 전략 최적화**: 매번 같은 방식으로 검색하는 것이 아니라, 필요에 따라 키워드, 벡터, 또는 웹 검색을 조합합니다.

## ⚖️ Trade-offs & Caveats
*   **분류 오류의 리스크**: 쿼리 분류기가 질문의 복잡도를 과소평가하면 검색 없이 잘못된 답변(환각)을 내놓을 수 있고, 과대평가하면 불필요한 검색 비용과 시간이 발생합니다.
*   **시스템 복잡성**: 여러 갈래의 검색 파이프라인을 유지 관리해야 하므로 전체 아키텍처의 복잡도가 증가합니다.

## 💻 실전 구현 코드 (Boilerplate)
쿼리 복잡도에 따라 검색 여부를 결정하는 라우터의 개념적 예시입니다.

```python
def adaptive_rag_router(query):
    # 1. 쿼리 복잡도 분석 (간단한 예시: 길이 및 특정 키워드 기반)
    complexity_score = analyze_complexity(query)
    
    if complexity_score < 0.3:
        # LLM 직접 응답
        return llm.generate(f"지식 기반 답변: {query}")
    
    elif complexity_score < 0.7:
        # 표준 RAG 가동
        context = vector_db.search(query)
        return llm.generate_with_context(query, context)
    
    else:
        # 에이전틱 리서치 모드 가동
        return agent_engine.run_mission(query)

def analyze_complexity(query):
    # 실제로는 소형 모델이나 프롬프트를 통해 판단
    if "비교해줘" in query or "분석해줘" in query:
        return 0.9
    return 0.2
```

## 🔗 지식 연결 (Graph)
*   **기반 기술**: [[Retrieval-Augmented Generation (RAG)|RAG]], [[Semantic Search|Semantic Search]]
*   **고도화 모델**: [[Agentic RAG|Agentic RAG]], [[GraphRAG|GraphRAG]]
*   **평가 지표**: [[Cost per Query|쿼리당 비용]], [[Latency|지연 시간]]

---
*Last updated: 2026-05-04*
