검색 결과가 질문과 관련 있어 보여도 답변에 필요한 정보는 일부만 들어 있을 수 있다. 이 차이를 구분하지 못하면 RAG는 빈칸을 남겨두는 대신 그럴듯한 문장으로 채운다.

흩어진 정보와 불충분한 컨텍스트

기업의 정보는 여러 문서와 저장소에 흩어져 있다. Google Research가 소개한 사례에서 Project X 문서에는 서버 ID만 있고 실제 사양은 자산 관리 저장소에 있었다. 관련 문서를 찾았다고 해서 답할 근거까지 갖춘 것일까. ‘관련성’과 ‘충분성’은 다르다.

의료 기록도 마찬가지다. 퇴원 약과 식이 제한, 알레르기 반응이 서로 다른 항목에 기록되면 한 번의 검색으로 모두 찾기 어렵다. 더 큰 문제는 근거가 부족해도 모델이 답을 만들어 낸다는 점이다.

실제로 Gemma의 오답률은 컨텍스트가 없을 때 10.2%였지만 불충분한 컨텍스트를 주자 66.1%로 뛰었고 Gemini 1.5 Pro와 Claude 3.5 Sonnet의 환각률도 각각 40.4%, 36.5%에 달했다. HotpotQA 표본의 45.2%는 애초에 정보가 부족했지만 모델의 기권율은 절반 수준에 그쳤다. 충분성 판단을 생성 모델에만 맡기기 어려운 이유다.


Top-k는 만능열쇠가 아니다

가장 쉬운 대응은 검색 결과 수(top-k)를 늘리는 일일까. 하지만 성능은 초반에만 오르고 어느 지점을 넘으면 개선 폭이 크게 줄어든다. 문서 추가 효과가 일찍 포화되기 때문이다.

게다가 검색 대상이 커지면 정답 구절이 잡음에 밀리는 ‘벡터 검색 희석’도 생긴다. 여기에 단일 벡터의 표현력 자체도 제한적이다. 문서를 하나의 고정 길이 벡터로 압축하면 그 벡터의 차원 수만큼만 서로 다른 관련성 조합을 구분할 수 있어, 차원이 부족하면 실제로는 다른 문서들이 같은 벡터로 뭉뚱그려진다. LIMIT 실험에서 최신 단일 벡터 모델의 recall@100(상위 100개 검색 결과에서 정답을 찾아낸 비율)은 쉬운 과제에서도 20%에 못 미친 반면, BM25(질의와 문서의 단어 일치도를 바탕으로 순위를 매기는 검색 방식)는 거의 완벽한 성능을 냈다. 이런 임베딩 차원의 한계는 모델 크기나 추가 학습만으로 해결하기 어렵다.


Agentic RAG

Google의 Agentic RAG는 여러 저장소에서 근거를 모아 초안을 만든 뒤, ‘충분성 판정 에이전트’가 이를 원래 질문과 다시 대조한다.

예를 들어 약과 식이 정보만 찾았다면 “이상반응 기록이 빠졌다”고 구체적으로 지적한다. 그러면 다음 검색에서 ‘발진’, ‘이상반응’ 같은 검색어를 사용한다. 누락된 정보를 다음 검색어로 바꾸는 과정, 바로 이것이 핵심이다.

이 구조는 표준 RAG보다 사실성 평가 정확도를 최대 34% 높였다. 2,676개 PDF로 구성된 FramesQA에서는 90.1%의 정확도를 기록했고 agentic RAG의 단일 코퍼스(검색 대상으로 묶은 문서 집합) 버전과 교차 코퍼스 버전 간 평균 지연 차이도 3% 이내였다. Azure AI Search의 하위 쿼리 병렬 검색이나 Adaptive-RAG의 복잡도별 경로 선택과 달리, 초안을 만든 뒤에도 근거를 다시 검사한다는 점이 특징이다.

다만 반복에는 상한이 필요하다. 운영 환경에서는 최대 반복 횟수와 토큰 예산, 타임아웃, 기권 조건을 함께 정해야 한다.


필요한 질문에만 루프를 켠다

모든 질문에 복잡한 경로가 필요한 것은 아니다. 답이 한 문서에 있으면 단발 검색으로 충분하다. 여러 문서를 결합하거나 다른 저장소까지 조회해야 할 때만 재검색과 라우팅(질의를 알맞은 검색 경로나 저장소로 보내는 과정)을 켜면 된다.

한편 약어와 제품 코드가 많은 사내 문서에는 밀집 검색(문장 의미를 벡터로 바꿔 유사한 문서를 찾는 방식)과 BM25를 함께 쓰는 편이 좋다. 정확한 단어 검색은 BM25가, 문서 간 연결과 누락된 근거는 충분성 판정과 반복 검색이 맡는다.

이때 비용은 오답의 피해와 비교해야 한다. AgenticRAG는 BRIGHT의 recall@1을 최상위 임베딩 기준선보다 21.8% 높은 49.6%까지 끌어올렸지만 단발 검색과 비교하면 토큰을 2.6배 사용했다. 이런 정확도와 비용의 트레이드오프는 퇴원 지시나 재무 수치처럼 불완전한 답이 사고로 이어질 수 있는 업무에서 가치가 크다.

나아가 충분성을 판정하면 실패한 검색도 활용할 수 있다. 어떤 문서와 항목을 찾지 못했는지 기록하면 누락 문서와 용어 불일치를 다음 색인 개선에 반영할 수 있다. 기업 검색의 첫 시도 성공률이 10%에 그쳤다는 조사 결과를 고려하면 중요한 운영 데이터다.

좋은 RAG 시스템은 지금 모은 근거로 답할 수 있는지 확인하고 부족하면 무엇을 더 찾아야 하는지 판단한다.

결국 RAG의 평가는 정답률 하나로 끝나지 않는다. 답을 내놓은 경우와 근거 부족을 인정한 경우를 함께 측정하면, 시스템을 신뢰할 수 있는 조건이 구체적으로 드러난다.


#지식 인프라#에이전트#언어모델