
01 · THE QUESTION
첫 검색이 부실해도 그대로 답해야 할까
Static RAG는 첫 query가 충분하고, top-k에 필요한 evidence가 있으며, 검색 점수가 품질을 잘 반영하고, 한 번의 retrieval로 답할 수 있다고 암묵적으로 가정합니다. 실제 질문은 모호하거나 복합적이고, 첫 검색 결과는 빈약할 수 있습니다.
02 · CONTROL LOOP
Retrieval policy를 실행 흐름 안으로 가져옵니다
ADAPTIVE RETRIEVAL
classify(question)
→ retrieve(query, filters, k)
→ grade(evidence)
→ if insufficient: rewrite | broaden | switch source
→ retrieve again within budget
→ synthesize with citations
→ verify grounding핵심은 무조건 다시 검색하는 것이 아니라 evidence 상태에 따라 다음 행동을 선택하는 것입니다. 충분하면 바로 생성하고, 부분적으로 부족하면 query를 좁히거나 넓히고, 출처가 신뢰할 수 없으면 다른 source를 사용합니다.
| 상태 | 다음 행동 | 중단 조건 |
|---|---|---|
| 충분하고 일관된 근거 | 답변 생성 | Citation·grounding 검증 통과 |
| 관련 있지만 불완전 | Query 분해 또는 보완 검색 | Coverage 기준 충족 |
| 무관한 후보가 많음 | Query rewrite, metadata filter | Precision 개선 또는 budget 종료 |
| 출처 충돌 | Source authority 비교, 추가 확인 | 충돌을 설명하거나 human review |
| 근거 없음 | 모른다고 답하고 필요한 정보 요청 | 무한 검색 금지 |
03 · PATTERNS
Self-RAG, CRAG, Adaptive-RAG를 제어 패턴으로 읽습니다
Self-RAG: 검색과 생성을 다시 비판합니다
Retrieval 필요 여부와 evidence relevance, 생성된 문장의 support를 중간 단계에서 판단합니다. 이름보다 중요한 것은 생성이 끝날 때까지 근거를 비판할 수 있는 hook이 있다는 점입니다.
CRAG: 검색 결과를 그대로 믿지 않습니다
Retrieved document의 품질을 평가하고, 모호하거나 부적절하면 query를 정제하거나 다른 검색 경로로 보정합니다. Retrieval failure를 answer stage까지 그대로 통과시키지 않습니다.
Adaptive-RAG: 모든 질문에 같은 비용을 쓰지 않습니다
간단한 질문은 retrieval 없이, 지식 질문은 한 번의 검색으로, 복합 질문은 iterative path로 route합니다. 성능뿐 아니라 latency와 cost budget도 policy의 일부입니다.
04 · EVALUATOR
Evidence evaluator가 답해야 할 질문
- 질문의 핵심 entity, 조건, 시점을 evidence가 실제로 다루는가?
- 한 문서만으로 충분한가, 여러 evidence를 결합해야 하는가?
- Source가 authoritative하고 최신인가?
- 서로 다른 source가 충돌하는가?
- 답할 수 없는 부분을 분리해 uncertainty로 표시할 수 있는가?
Evaluator도 LLM 하나에만 맡길 필요는 없습니다. Metadata rule, date freshness, source allowlist, citation mapping처럼 deterministic한 검사를 먼저 하고 의미 coverage만 model judge에 맡길 수 있습니다.
05 · BUDGET
Agentic은 무한 반복의 다른 이름이 아닙니다
| Budget | 실전 기준 |
|---|---|
| Step | Rewrite와 retrieval 최대 횟수를 명시 |
| Latency | 사용자 경험에 맞춘 전체 deadline과 stage timeout |
| Token | 누적 evidence와 history를 압축하고 중복 제거 |
| Source | 신뢰 가능한 검색 공간과 도메인 범위 제한 |
| Fallback | 근거가 없을 때 추측 대신 clarification 또는 abstain |
실습에서는 첫 검색으로 성공한 case와 rewrite 후 성공한 case, 끝까지 근거를 찾지 못한 case를 각각 남깁니다. Query version, candidate ids, grade, route, latency를 trace하면 “agentic”이 실제로 어디에서 품질을 올렸는지 확인할 수 있습니다.