리콜 실패율 5.7%에서 1.9%로: 컨텍스추얼 리트리벌이 확인한 것

Anthropic이 2024년 9월 공개한 컨텍스추얼 리트리벌 실험은 표준 임베딩 검색의 상위 20개 청크 기준 리콜 실패율을 5.7%로 측정했습니다. 청크별 컨텍스트 50~100토큰을 임베딩 전에 붙이는 컨텍스추얼 임베딩만 적용하면 3.7%로 35% 줄었고, 같은 컨텍스트로 BM25 어휘 색인까지 함께 구성하면 2.9%로 49% 줄었습니다. 상위 150개 후보를 코히어 리랭커로 재채점해 20개만 모델에 넘기는 단계까지 더하면 1.9%로 67% 줄었습니다. 문서 8천 토큰·청크 800토큰 기준 컨텍스트 생성 비용은 백만 토큰당 1.02달러이며, 프롬프트 캐싱으로 지연은 절반 이하, 비용은 최대 90%까지 줄어듭니다.

검색이 '도구 호출'로 바뀌는 순간 생기는 경계

MCP 명세는 리소스를 "의미 있는 연산이나 부작용 없이" 데이터를 노출하는 용도로, 도구를 모델이 호출 여부와 인자를 스스로 판단하는 model-controlled 호출로 구분합니다. RAG 파이프라인을 MCP 도구 하나로 감싸면 호스트 모델은 그 응답을 일반 텍스트가 아니라 "검증된 도구 결과"로 받아들입니다. 이전 글이 그 안의 스키마와 호출 한도를 다뤘다면, 리콜 실패율 1.9%라는 수치가 지금 이 호출에도 그대로 적용되는지는 전혀 다른 문제입니다 — 인덱스가 갱신 중이거나 재랭킹이 타임아웃되면, 모델은 저하된 결과를 똑같은 신뢰로 받아들입니다.

설계에서 운영까지: MCP로 내보내는 RAG 검색 신뢰 체크리스트

(기획) 목표 지표는 검색 알고리즘이 아니라 도구 응답 시점의 신선도와 범위로 잡습니다. 인덱스 재구축 지연은 p95 10분 이내, 도구 응답의 리콜 실패율은 Anthropic이 재랭킹으로 확인한 1.9%를 기준선으로 2% 이내, 사용자 권한 밖 청크의 노출률은 0%로 선언합니다. 세 수치가 코드로 고정되지 않으면 카나리 없이도 "검색이 잘 된다"는 인상만으로 도구가 배포됩니다.

(실패 패턴) 흔한 실패는 세 갈래입니다. 문서가 갱신됐는데 벡터 인덱스가 비동기로 늦게 반영돼 도구가 구버전 청크를 돌려주는 인덱스 지연, 사용자 권한 밖 문서가 재랭킹 점수만으로 상위 20위에 들어 도구 응답에 그대로 섞이는 권한 스코프 누수, 재랭킹 호출이 타임아웃돼 서버가 재랭킹 전 150개 후보를 그대로 잘라 넘기면서 실패율이 조용히 5.7%대로 되돌아가는 성능 저하입니다.

(복구 분기) 인덱스 지연에는 문서 버전 타임스탬프를 도구 응답 메타데이터에 실어 호스트가 "몇 분 전 인덱스"인지 알게 하고, 임계 지연을 넘기면 캐시를 무효화한 뒤 재조회합니다. 권한 스코프 누수는 재랭킹 전 단계에서 사용자 권한 필터를 먼저 적용해 후보군 자체를 좁히는 순서로 막습니다. 재랭킹 타임아웃은 성공으로 위장하지 않고 실패로 처리해, 150개를 그대로 반환하는 대신 사용자 확인을 요구하는 안전 축약으로 전환합니다.

(운영 체크리스트) 배포 전에는 golden query 셋으로 recall@20 실패율을 재측정해 1.9%대 기준선과 비교합니다. 로그에는 쿼리 해시, 반환 청크 id, 리랭커 점수, 인덱스 버전, 지연시간을 표준 필드로 남겨야 "검색 품질이 떨어졌다"는 신고가 들어왔을 때 인덱스 쪽인지 리랭커 쪽인지 바로 가립니다. 청크 안의 고객명·이메일 같은 PII는 도구 응답으로 나가기 전에 해시나 참조 ID로 치환합니다.

(개선 루프) 리콜 실패 사례는 매주 모아 어떤 쿼리 유형이 기준선에 가장 자주 걸리는지 집계하고, 임베딩·리랭커 교체 같은 인덱스 쪽 변경과 도구 스키마 변경을 서로 다른 변경 로그로 분리해 둡니다. 품질 저하가 보고되면 두 로그를 대조해 원인이 임베딩 갱신인지 도구 정의 변경인지 바로 가려낼 수 있습니다.

바로 쓰는 적용 포인트

RAG를 MCP 도구로 내보낼 때 지켜야 할 기준선은 리콜 실패율 2% 이내, 인덱스 재구축 p95 10분, 권한 스코프 누수 0%입니다. 인덱스 지연·권한 누수·재랭킹 타임아웃을 각각 다른 복구 분기로 설계해두면, 검색 알고리즘이 아무리 정교해져도 도구 호출 단계에서 그 효과가 조용히 새지 않습니다.

참고 링크

Introducing Contextual Retrieval — Anthropic

Resources — Model Context Protocol Specification

이 글에 대해 AI와 대화하기

AI가 이 글을 읽은 상태로 답합니다. 무엇이든 물어보세요 — 글에 없는 내용이면 없다고 먼저 알려줍니다.

대화창을 불러오는 중…