내 데이터로 답하기
편 7 · 평가와 운영7 분 읽기

측정하고, 운영하고, 하지 말아야 할 것

찾기 실패와 답 실패를 나누는 평가, 단계별 구축, 보안과 삭제, 설계 체크리스트, 열 가지 안티패턴, 그리고 참고 자료.

측정할 수 없으면 개선할 수 없습니다. 평가는 두 층으로 나눕니다. 섞어서 재면 어디가 고장인지 모릅니다. 찾는 데는 성공했는데 답이 틀린 것인지, 찾는 것 자체가 실패인지를 구분하는 것이 출발점입니다.

무엇을 잴 것인가

층잴 것쉬운 뜻
수집·해석문서 누락, 표와 숫자 추출재료가 제대로 들어왔는가
검색Recall@K, 정밀도, MRR, nDCG상위 K개 안에 정답 근거가 있는가, 얼마나 위에 있는가
문맥증거의 충분함, 중복답하기에 충분하고 군더더기가 없는가
생성충실도, 답변 적합성주장이 근거로 뒷받침되고, 질문에 답하는가
출처출처가 주장을 실제로 받치는가출처 표시가 겉모양뿐은 아닌가
전역 추론여러 문서의 주제·관계 포괄성전체를 아우르는 질문에 답하는가
보안권한 없는 자료 노출보면 안 되는 문서가 새지 않았는가

같은 자료와 같은 질문으로 여섯 방식을 견주면 설계 선택의 증거가 됩니다. 처음부터 전체 자료에 적용할 필요는 없습니다. 대표 질문 100~200개면 충분합니다.

시험구성
A긴 문맥
B의미 검색만
C하이브리드 검색
D문맥 기반 검색 + 재정렬
E하이브리드 + 부모-자식
F그래프 또는 위키 확장

질문에는 단일 사실, 제품 번호 같은 정확한 식별자, 여러 문서의 관계, 전체 경향, 수치 합계, 서로 어긋나는 문서, 답이 없는 질문을 반드시 넣습니다.

복잡한 구조를 들이기 전에 확인합니다. 단순 하이브리드보다 얼마나 정확해졌는가, 어떤 종류의 질문이 좋아졌는가, 저장·갱신 비용은 얼마인가, 질문당 시간과 비용이 얼마나 늘었는가, 유지의 복잡함을 감당할 가치가 있는가. 가장 좋은 구조는 가장 복잡한 구조가 아니라, 실제 질문에 대한 정확함과 운영 비용의 균형이 가장 좋은 구조입니다.

운영 원칙은 짧습니다.

  • 실제 사용자 질문에서 뽑은 평가 집합 50~100개 이상을 운영 전에 만듭니다.
  • 나누기, 임베딩 모델, 가져올 개수, 지시문 중 무엇이든 바꾸면 평가 집합을 다시 돌립니다. 평가 없는 변경은 주사위입니다.
  • 실패한 질문을 모으는 통로를 둡니다. ‘답을 찾지 못함’ 기록과 사용자 반응이 다음 평가 집합이자 고칠 곳의 우선순위입니다.
  • 공개된 시험 수치를 내 시스템의 수치로 착각하지 않습니다. 방향만 알려 줄 뿐, 크기는 내 자료로 잽니다.

시범용과 실제 서비스의 차이

  • 지운 것은 모든 곳에서 지웁니다. 원본에서 지운 문서가 검색, 벡터, 그래프, 위키, 캐시에 남으면 폐기된 규정으로 답합니다.
  • 판본과 유효 기간으로 최신과 과거를 구분합니다. 그래프의 관계도 같습니다.
  • 권한은 찾기 단계에서 검색 조건으로 적용합니다. 답을 만든 뒤 검열하는 것은 이미 늦습니다.
  • 지식, 관계, 요약이 어느 원문에서 왔는지 출처를 추적할 수 있게 합니다.
  • 비용은 저장할 때(임베딩과 문맥 생성, 한 번)와 질문할 때(검색, 재정렬, 답 생성, 반복)로 나뉩니다. 프롬프트 캐싱이 양쪽에서 가장 큰 절감입니다. 질문 비용이 문제면 후보 수부터 줄여 평가합니다.
  • 재정렬 후보 수와 에이전트 반복 횟수가 속도를 좌우합니다. 단계별 시간 한도를 정하고, 넘으면 대체 경로로 돌아갑니다.
  • 질문, 다시 쓴 질문, 찾은 조각, 재정렬 점수, 최종 출처를 기록합니다. 기록이 없으면 ‘왜 그렇게 답했나’에 답할 수 없습니다.
  • 법률, 의료, 재무처럼 중요한 결과는 사람이 검토합니다.

검색된 문서 안에 ‘이전 지시를 무시하라’가 들어 있을 수 있습니다. 모델이 이것을 명령으로 따르면 악의적인 문서가 시스템을 조종합니다. OWASP의 검색 증강 생성 보안 안내는 수집, 저장, 검색, 답변, 외부 도구 실행까지 공격 지점이 생긴다고 설명합니다. 찾아온 문서는 언제나 자료로만 다루고 명령으로 실행하지 않습니다. 외부 웹이나 이메일을 모으는 시스템이라면 특히 그렇습니다. 권한 없는 자료가 다른 사용자에게 보이는 문제도 같은 수준으로 다룹니다.

한국어 운영에서는 조사와 어미 때문에 키워드 정확도가 흔들리므로 형태소 분석 설정을 점검하고, 임베딩 모델의 한국어와 한·영 교차 성능을 내 자료로 확인합니다.

가장 단순한 기준선부터

0단계, 진단. 분량을 토큰으로 환산하고, 질문 50~100개와 정답 위치를 모읍니다. 한곳 찾기, 전역, 합계, 실시간의 비율을 봅니다. 다음으로 넘어가는 조건은 평가 집합입니다.

1단계, 증거. 문서 해석, 원본 보존, 꼬리표, 하이브리드 검색, 기본 출처. 수십만 토큰 이하면 통째로 넣고 캐시하는 길도 같이 시험합니다. 완료 기준은 주요 질문에 원문 위치를 대고 출처를 붙일 수 있는 것입니다. 실패를 찾기 실패와 답 쓰기 실패로 나눕니다.

2단계, 문맥. 구조를 따르는 나누기, 부모-자식, 문맥 기반 검색, 재정렬을 차례로 시험하고 매번 다시 잽니다. 찾기 실패가 많으면 문맥 검색과 재정렬을, 답 쓰기 실패가 많으면 출처 강제와 근거-답 일치 검증을 더합니다. 질문 쪽 문제면 다시 쓰기, 늘리기, 가상 답안이 가장 싸고, 저장소를 건드리지 않습니다.

3단계, 길 나누기. 합계는 SQL, 전역·연결은 그래프나 위키, 실시간은 MCP. 자주 나오는 대상과 관계부터 뽑고, 전면 그래프보다 가치가 높은 영역부터 시작합니다. 완료 기준은 여러 문서 관계와 전체 경향에서 향상이 확인되는 것입니다.

4단계, 조율. 질문 길잡이, 에이전트 검색, 업무 도구, 자동 검증, 증분 갱신. 재시도 상한, 시간 한도, 근거가 부족하면 멈추는 규칙을 명시합니다.

5단계, 운영 순환. 실패 질문을 평가 집합에 넣고 다시 돌리는 일을 반복합니다. 위키가 목차만으로 벅차면 qmd 같은 지역 검색을 붙이고, 여러 사람이 다른 권한으로 써야 하면 2단계 검색 구성으로 옮깁니다.

설계 체크리스트

자료와 나누기. 해석 도구가 표·제목·목록을 보존하는가. 조각만 읽고 뜻이 통하는가. 자료 종류별로 나누기 규칙이 다른가. 모든 조각에 출처·날짜·권한이 있는가. 옛 판본과 중복 규칙이 있는가. 원본, 뽑아낸 글, 표, 위치가 연결돼 있는가.

저장과 찾기. 의미 검색과 키워드 검색을 둘 다 만들었는가. 문맥 설명을 붙이는 방안을 검토했는가. 두 검색을 순위 기반(RRF)으로 합치는가. 재정렬과 최종 개수가 정해져 있는가. 권한 거르기가 찾기 단계에서 적용되는가. 질문 다시 쓰기나 늘리기 중 하나는 있는가. 한국어 형태소와 한·영 혼합을 시험했는가.

답과 신뢰. 출처가 강제되고 출처-내용 일치를 보는가. 근거가 없으면 모른다고 하는 길이 있는가. 관련 문맥의 배치와 중복 제거가 있는가. 사실과 추론이 구분되는가. 문서 속 지시문을 자료로만 다루는가.

평가와 운영. 평가 집합이 운영 전에 있는가. 구성이 바뀔 때마다 다시 재는가. 실패 질문을 모으는가. 삭제가 모든 저장소에 전파되는가. 판본과 유효 기간이 있는가. 질문과 출처가 기록되는가. 중요한 답은 사람이 보는가.

하지 말아야 할 열 가지

  1. 평가 집합 없이 조각 크기부터 조정하기. 측정 없는 최적화는 미신입니다.
  2. 의미 검색 하나로 모든 질문을 받기. 코드, 이름, 날짜에서 뚫립니다. 하이브리드가 기본입니다.
  3. 미세 조정으로 사실을 가르치기. 낡고, 출처를 댈 수 없고, 권한을 걸 수 없습니다.
  4. 긴 문맥을 대규모 지식 자료의 대체재로 쓰기. 비용은 크기에 비례하고, 정확도는 문맥 부패와 중간 소실로 무너집니다.
  5. 그래프를 유행으로 도입하기. 관계 질문이 핵심이 아니면 3~5배 비용을 내고 단순 조회만 느려집니다.
  6. 검색 성공을 답변 성공으로 착각하기. 상위 목록에 들어간 것과, 모델이 그것을 근거로 답한 것은 따로 검증합니다.
  7. 권한을 답을 만든 뒤에 막기. 안전한 위치는 찾기 단계뿐입니다.
  8. 실패를 모델 탓으로만 돌리기. 대부분은 해석, 나누기, 저장에서 이미 정해집니다.
  9. 모델이 만든 위키와 요약을 원본처럼 믿기. 파생 지식은 원본의 권위를 물려받지 않습니다.
  10. 생성된 문맥 설명을 원문과 한 덩어리로 보관하기. 따로 두고, 출처는 원문으로 연결해야 틀린 설명을 고칠 수 있습니다.

맺음

좋은 시스템은 똑똑한 모델이 아니라 좋은 증거 공급망입니다. 문맥 기반 검색은 조각에 문맥을 되돌려 주는 것으로, 그래프는 관계 자체를 저장하는 것으로, 위키는 검색 대신 미리 정리하는 것으로, 에이전트 검색은 찾기를 한 번의 동작이 아니라 판단의 반복으로 바꾸는 것으로 답했습니다.

장기적으로 큰 가치는 새로운 검색 알고리즘보다, 자료를 검증 가능한 지식으로 바꾸고 계속 관리하는 능력에 있습니다.

참고한 자료

숫자는 각 자료가 공개한 시험 기준입니다. 도입 효과는 자체 평가 집합으로 다시 재야 합니다.

이 글은 연구와 기술 문서에 근거한 설계 제안입니다. 특정 조직의 자료에서 성능을 검증한 결과는 아니므로, 구현 전에 작은 집합으로 비교 실험이 필요합니다.