Skip to content

[Test] 검색 품질 평가셋 구축과 현재 검색 기준선 측정 #559

Closed as not planned

Description

@kangcheolung

📌 Description

현재 검색이 어디서 틀리는지를 숫자로 보이기 위해, 정답 근거 문구가 붙은 고정 평가셋을 만들고 현재 검색의 기준선을 측정합니다. 운영 코드와 설정은 바꾸지 않고, 평가셋·측정 스크립트·결과 기록만 남깁니다.

배경

  • 기존 측정([Feat] 하이브리드 검색 도입: 벡터 유사도에 희귀 단어 가중 키워드 점수 결합 #456)은 정답 청크 ID의 순위로 판정해서, 재색인하면 질문 파일을 갱신해야 하고 실제 답변 품질과도 거리가 있습니다.
  • #547의 질문 30개는 Exact 결과를 정답으로 삼는 재현율용이라 검색이 맞았는지는 판정할 수 없습니다. 예제 문서의 checks.json은 질문 3개뿐입니다.
  • 이후 개선(키워드 갈래 Nori 교체, 컨텍스트 조립, 임계값)이 효과가 있었는지 전후로 비교할 기준이 필요합니다.

판정 방식

  • 정답 문서(expectedFile)와 정답 근거 문구를 질문마다 붙이고, 반환된 청크 텍스트와 RAG 프롬프트 컨텍스트(상위 3개, 청크당 800자 절단) 안에 근거 문구가 있는지로 판정합니다.
  • 실패를 후보에 없음 / 엉뚱한 청크 / 잘림 / 거절 실패로 나눠 집계합니다.

✅ To-do

  • 예제 문서 15건(PDF·DOCX·HWPX) 원문을 확인하고 질문 50개와 정답 근거 문구 초안을 작성합니다. 직접형 20 / 바꿔 말하기·조사 변형·짧은 용어 15 / 혼동 유발 5 / 문서에 답 없음 10으로 나눕니다.
  • 평가셋 검토 후 questions-eval-v1.json으로 측정 전에 고정합니다. 결과를 보고 바꾸지 않고, 바꾸면 새 버전 파일로 남깁니다.
  • 측정 스크립트 작성: 환경변수로만 접속 정보를 받고, 문서 Hit@k·근거 Hit@k·프롬프트 포함·MRR@10·거절 반환 수·지연(p50, p95)을 계산합니다.
  • 판정 로직 단위 테스트를 작성합니다.
  • 기준선을 측정하고 실패 사례를 분류합니다.
  • 설계 문서(docs/design/)와 결과 문서(docs/test-results/)에 표, 실패 사례, 이 평가셋의 한계를 기록합니다.
  • 기준선 결과를 근거로 다음 개선 후보(Nori, 컨텍스트 조립, 임계값 등) 중 어느 쪽이 맞는지 결론을 적습니다.

📒 기타

  • 운영 코드와 설정, 마이그레이션은 바꾸지 않습니다. 개선은 기준선 결과를 본 뒤 별도 이슈로 진행합니다.
  • 기능 동결(10/24)과 기능테스트(10/28) 일정 안에서 진행합니다. 평가셋 구성은 10/18~10/20 예정입니다.
  • 평가 문서가 가상 회사의 짧은 사내 규정이라 일반 사용자 문서와 분포가 다를 수 있습니다. 한계로 결과 문서에 명시합니다.
  • 결과가 기대와 다르면 맞추지 않고 그대로 기록합니다.

Activity

  1. self-assigned this
    on Oct 18, 2026
  2. kangcheolung commented on Oct 18, 2026

    @kangcheolung
    MemberAuthor

    Branch test/559 created!

  3. kangcheolung commented on Oct 18, 2026

    @kangcheolung
    MemberAuthor

    검색 품질 평가셋과 기준선 측정까지 진행했으나, 현재 검색 수준에서 큰 개선 여지가 없다고 판단해 고도화 없이 종료합니다. 작업 브랜치는 PR 없이 폐기했고, 측정 결과와 결론은 별도로 보관합니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions