AI 답변 신뢰성을 모델 성능이 아니라 데이터 품질, provider 상태, warning 노출 관점에서 정리한다.

RAG Provider 운영 흐름
| 문제 | 운영 리스크 |
|---|---|
| 오래된 뉴스 | AI가 오래된 근거로 자연스러운 답변을 생성 |
| missing embedding | 검색 품질이 낮아졌는데 사용자는 알기 어려움 |
| fallback 문서 | 임시 문서가 남아 있으면 RAG 근거 품질이 낮아짐 |
| provider rate limit | Gemini/OpenAI 호출 실패가 분석 누락으로 이어짐 |
| source health 불명확 | 어떤 뉴스 소스가 죽었는지 운영자가 파악하기 어려움 |
| 기준 | 내용 |
|---|---|
| 답변보다 데이터 상태 | AI 답변 이전에 RAG 데이터 품질을 노출 |
| parent/chunk 분리 | 원문 메타데이터와 검색용 chunk를 분리 |
| hybrid search | kNN vector와 BM25 keyword를 함께 사용 |
| provider router | Gemini/OpenAI 후보와 blocked 상태를 계산 |
| warning UI | stale, missing embedding, provider failure를 화면/API에 표시 |
| 파일 | 근거 |
|---|---|
| RAG status/warning | RAG status, warning, aggregation, source health 응답 |
| 뉴스 ingestion | RSS/API 뉴스 수집과 ingestion run 관리 |
| OpenSearch 저장/검색 | 뉴스 문서 저장과 검색 |
| AI provider routing | provider priority, blocked provider, fallback 후보 계산 |
| Rate limit 판단 | rate limit 상태와 blocked_until 계산 |
| 테스트 | 검증 내용 |
|---|---|
| Provider fallback 검증 | provider 우선순위, disabled/blocked provider skip |
| Fallback news 검증 | fallback news가 positive signal로 과대평가되지 않도록 검증 |
| 대시보드 warning 확인 | RAG 상태 API와 UI warning 연동 확인 |
| 기준 | 이유 |
|---|---|
| RAG 상태는 숨기지 않는다 | AI 답변이 자연스러워도 데이터가 부실할 수 있음 |
| provider fallback은 기록한다 | fallback 여부를 모르면 분석 품질 변화를 추적하기 어려움 |
| source health를 유지한다 | 뉴스 소스 장애가 AI 답변 품질로 이어짐 |
| missing embedding을 warning으로 본다 | 검색 품질 저하를 화면에서 확인할 수 있어야 함 |
<aside> 💡 이 문서가 설명하는 것: RAG와 AI Provider 운영
</aside>
| 항목 | 내용 |
|---|---|
| 관련 운영 리스크 | 데이터 품질이 낮아도 AI가 자연스러운 답변을 생성 |
| 대표 구현 근거 | RAG 상태 경고, 뉴스 수집, provider fallback 흐름 |
| 관련 테스트 | provider fallback과 fallback news scoring 검증 |