내 데이터로 답하기
편 3 · 찾기와 답3 분 읽기

찾고, 근거로 답하기

문맥 기반 검색이 실패율을 어떻게 낮추는지, 두 검색을 합치는 법, 재정렬, 질문 쪽 교정, 그리고 답을 쓸 때의 최소 규칙.

나누기에서 잃은 문맥은, 저장하는 시점에 일부 되돌릴 수 있습니다. 그리고 검색이 좋아도 답을 쓰는 지시가 허술하면 지어낸 답이 돌아옵니다.

조각이 스스로를 설명하게 하기

앤트로픽이 2024년 9월 19일 발표한 문맥 기반 검색(Contextual Retrieval)은 문맥 손실을 저장 시점에 다룹니다.

  1. 문서를 조각으로 나눕니다.
  2. 조각마다 작은 모델에게 원문과 그 조각을 함께 주고, 이 조각이 문서 안에서 무엇을 설명하는지 50~100토큰으로 쓰게 합니다.
  3. 그 설명을 조각 앞에 붙여 의미 검색용 저장소와 키워드 검색용 저장소를 모두 만듭니다.

원래 조각이 ‘매출이 전 분기 대비 3% 늘었다’뿐이라면, 앞에 이런 설명이 붙습니다. ‘이 내용은 ACME의 2023년 2분기 실적 공시이며, 전 분기 매출은 3억 1,400만 달러였다.’ 이제 ‘ACME 2분기 매출’이라는 질문에도 걸립니다.

발표된 지 2년이 지나 최신 기술이라기보다 검증된 기본값에 가깝습니다. 이미 검색을 운영 중이라면 가장 먼저 검토할 방법입니다.

  • 비용은 저장할 때 한 번입니다. 문서 전체를 올려 두고 조각마다 재사용하면, 당시 추산은 문서 100만 토큰당 약 1.02달러였습니다. 800토큰 조각, 8,000토큰 문서, 클로드 3 하이쿠 기준입니다.
  • 문서 요약 한 덩어리를 모든 조각에 붙이는 방식은 효과가 제한적이었습니다. 조각마다 맞춤 설명이 핵심입니다.
  • 다른 문서에서만 뜻이 정해지는 용어가 있으면, 용어집을 설명 생성 지시에 넣습니다.
  • 생성된 설명은 파생 자료입니다. 원문과 따로 보관하고, 답의 출처는 원문으로 연결합니다.

층은 서로 다른 실패를 막습니다

앤트로픽이 여러 분야 자료로 잰 ‘상위 20개 안에 정답 조각이 없는 비율’입니다.

구성검색 실패율기준 대비
의미 검색만5.7%—
+ 문맥 임베딩3.7%35% 감소
+ 문맥 키워드 검색2.9%49% 감소
+ 재정렬1.9%67% 감소

한 기술이 모든 실패를 해결하지 않습니다. 문맥 붙이기, 키워드, 재정렬이 각각 다른 실패를 막습니다. 이 숫자는 앤트로픽의 시험 자료 기준이고, ‘검색 실패가 67% 줄었다’는 ‘답변 정확도가 67% 올랐다’가 아닙니다.

두 검색을 합치고, 비싸게 좁히기

의미 검색과 키워드 검색은 점수 체계가 달라 그대로 더하면 한쪽이 지배합니다. 점수가 아니라 순위로 합치는 상호 순위 결합(Reciprocal Rank Fusion, RRF)이 표준입니다.

실무 흐름은 넓게 약 150개를 뽑아 놓치지 않고, 재정렬로 20개로 좁히는 것입니다. 재정렬 도구는 질문과 조각을 쌍으로 읽어 관련도를 다시 매깁니다. 미리 계산한 숫자끼리 비교하는 것보다 비싸지만 더 정확합니다. 검색은 싸게 넓게, 재정렬은 비싸게 좁게. 앤트로픽 실험에서는 최종 20개가 5개나 10개보다 나았지만, 너무 많으면 모델이 산만해지므로 직접 평가합니다.

저장소를 건드리지 않고 질문을 고치기

검색 실패의 절반은 문서가 아니라 질문 쪽입니다. 아래는 도입이 빠릅니다.

  • 다시 쓰기. ‘그건 얼마야?’를 혼자서도 뜻이 통하는 검색 질문으로 바꿉니다.
  • 여러 표현으로 늘리기. 질문을 여러 방식으로 바꿔 각각 검색하고 결과를 합칩니다.
  • 가상 답안으로 찾기(HyDE). 모델이 먼저 답안처럼 보이는 글을 쓰고, 그 글로 검색합니다. 문체가 문서와 가까워지는 경우가 많습니다.
  • 쪼개기. ‘A와 B를 비교하라’를 A 찾기와 B 찾기로 나눕니다.
  • 조건으로 먼저 좁히기. 날짜, 부서, 문서 종류를 뽑아 검색 범위부터 줄입니다.

답을 쓸 때의 최소 규칙

  • 제공된 자료만으로 답하고, 없으면 모른다고 말하게 합니다. 이 문장만으로 환각이 사라지지는 않으므로 출처 검사와 짝을 이룹니다.
  • 주장마다 출처 조각을 표시하고, 가능하면 그 출처가 실제로 주장을 뒷받침하는지 나중에 검사합니다.
  • 많은 문서를 무조건 넘기지 말고, 원문, 문서 이름·판본·쪽, 적용 기간, 발견된 관계, 문서끼리 어긋나는 점까지 증거 꾸러미로 건넵니다.
  • 가장 관련 높은 조각을 앞과 뒤에 두고 중복은 지웁니다. 같은 문서의 조각은 원래 순서로 정렬합니다. 중간에 묻힌 정보는 놓치기 쉽습니다.
  • 질문에 답하는 문장만 압축해 건네면 토큰을 30~60% 줄일 수 있습니다. 압축 자체가 정보를 잃을 수 있어 평가로 확인합니다.
  • 관련도가 기준 아래면 ‘자료에서 찾지 못했다’고 답하고, 무엇을 찾았는지는 보여 줍니다. 모델이 스스로 매긴 확신 점수를 정확도의 증거로 삼지 않습니다.
  • 원문에 있는 사실과, 그로부터 이끌어 낸 추론을 답 안에서 구분합니다.