DOCS/journey/plans/260312_companyx_내부문서_rag_근거응답_구현계획.md
2026-03-12 22:19:31 +09:00

7.6 KiB

Company X 내부문서 RAG 근거응답 구현계획

작성일: 2026-03-12
상태: 초안
목표: Company X 소속 사용자의 내부 업무 질문에 대해, 로빙이 Company X 내부 문서를 우선 검색하고 직접 답변 + 근거 문서 형식으로 응답하도록 최소 운영 기준을 고정

관련 문서:


1. 목표

  • 대표 질문 오늘전통 프로그램을 Company X가 옐로펀치랑 같이 운영한다는 근거 있어?에 대해 현재의 찾아보겠습니다 응답을 끝낸다.
  • Company X 내부 문서 2,000개 내외의 쉬운 문서군을 먼저 인덱싱해, 실제 근거 검색이 되는 운영 후보를 만든다.
  • 임베딩 모델은 우선 384d 로컬을 기본 경로로 사용하고, 1536d OpenAI는 계속 비교군으로 유지한다.
  • 답변 품질은 단순 생성문보다 근거 문서 검색 품질 + 근거가 붙은 최종 답변 기준으로 본다.

2. 범위

  • 포함:
    • Company X 문서 1차 샘플셋 선정
    • skill-rag-file 인덱싱 경로를 Company X 문서에 연결
    • rb8001 질문 라우팅에서 Company X 내부 문서 검색 경로 추가
    • 답변 형식을 직접 답변 + 근거 문서명 + 문단 요약 + 필요 시 위치 정보로 고정
    • 답변 메타 평가용 최소 로그/피드백 연결
  • 제외:
    • 5만여 개 전체 문서 일괄 인덱싱
    • 비소속 사용자 공개 정책의 최종 법무 수준 확정
    • 전 문서군 OCR 고도화

3. 현상 요약

  • 현재 질문은 rb8001 라우터에서 UNKNOWN으로 떨어져 내부 문서 검색 경로로 가지 않는다.
  • skill-rag-file 인덱스에는 오늘전통, 옐로펀치 관련 Company X 문서가 아직 들어가 있지 않다.
  • 내부 NAS 원본에는 실제 근거 문서가 존재한다.
  • 소규모 품질 비교 결과 384d 로컬1536d OpenAI는 현재 표본에서 동률이었으므로, 지금 당장 OpenAI로 전환할 근거는 없다.

4. 아키텍처 기준

  • 문서 원본 기준 경로는 내부 NAS /mnt/nas/workspace/6.Company X를 사용한다.
  • 인덱싱 저장은 기존 skill-rag-file 경로와 컬렉션 구조를 재사용하되, Company X 전용 team/collection 경계를 별도로 둔다.
  • 답변 라우팅은 rb8001이 맡고, 검색 책임은 skill-rag-file이 맡는다.
  • 임베딩 기본값은 multilingual-MiniLM-L12-v2 384d로 유지한다.
  • 메타 평가는 기존 self_improvement_run + feedback 구조를 재사용하되, RAG 전용 평가 필드를 추가한다.

5. 우선 고정 결정

A. 1차 문서셋은 2,000개 쉬운 문서로 제한한다

  • 대상 문서군:
    • 프로그램 소개서
    • 운영안/사업계획서
    • MOU/협력 문서
    • 보도자료 초안/대외 소개 문서
  • 제외:
    • 이미지 위주 스캔본
    • 대용량 압축파일
    • 질문 빈도가 낮은 증빙성 문서

B. 임베딩 기본 경로는 384d 로컬로 고정한다

  • 이유:
    • 현재 표본에서 OpenAI 1536d 대비 품질 열세가 확인되지 않았다.
    • 문서 인덱싱 시간이 빠르고 외부 의존성이 적다.
  • 단, OpenAI 1536d는 비교군으로 유지한다.

C. 품질 평가는 문서 수준 retrieval을 먼저 본다

  • 1차 지표:
    • Top1
    • Top3
    • MRR
  • 2차 지표:
    • 근거 문단 사용 가능성
    • 최종 답변의 근거 포함 여부

D. 질문셋은 20~50개로 먼저 고정한다

  • 유형:
    • 설명형
    • 사실 확인형
    • 수치 확인형
    • 재정리형
  • 각 질문마다 사람이 정답 근거 문서를 붙인다.

E. 답변 형식은 아래 3단 구조로 고정한다

  • 1문장: 질문에 대한 직접 답
  • 2문장 이상: 근거 문서명 + 문단 요약
  • 필요 시: 파일 경로 또는 페이지/섹션 위치

F. 근거 부족 시 응답 원칙을 고정한다

  • 추정해서 단정하지 않는다.
  • 문서 없음, 문서 간 불일치, 최신 집계 미확인 중 하나로 명시한다.

6. 작업 단계

Phase 1: Company X 전용 샘플셋 준비

  • 2,000개 쉬운 문서 선정 기준 고정
  • 오늘전통, 옐로펀치, X-COURSE, 프로그램 소개/운영 문서 우선 포함
  • 샘플셋 목록 파일 생성

Phase 2: Company X 전용 인덱싱 경로 연결

  • Company X 전용 team/collection 식별자 결정
  • skill-rag-file 업로드/인덱싱 스크립트 작성 또는 기존 경로 재사용
  • 문서 2,000개 1차 인덱싱 실행

Phase 3: retrieval 품질 비교

  • 같은 질문셋으로 384d 로컬1536d OpenAI 비교
  • Top1/Top3/MRR 측정
  • 우세 모델이 아니라 운영 기본 모델을 결정

Phase 4: rb8001 질문 라우팅 연결

  • 근거 있어?, 자료 기준으로, 내부 문서 기준으로 표현 우선 처리
  • Company X 소속 사용자 질문이면 Company X 컬렉션 검색 우선
  • 검색 결과를 포함한 답변 프롬프트/포맷 적용

Phase 5: 메타 평가 연결

  • self_improvement_run.evaluate_snapshot에 RAG 관련 최소 필드 추가
    • rag_used
    • retrieval_hit_count
    • grounding_present
    • grounding_doc_ids
  • 사용자 좋아요/싫어요와 질문 유형을 같이 연결

Phase 6: 대표 질문 닫기

  • 오늘전통/옐로펀치 질문군 5개 이상에서
    • 근거 문서 포함 답변
    • 근거 부족 시 추정 금지
    • 재질문 없이 근거 재정리 가능 를 확인한다.

7. 테스트

  • 인덱싱 테스트:
    • MOU 1건
    • 오늘전통 사업계획서 1건
    • 프로그램 소개 문서 1건
  • retrieval 테스트:
    • 질문셋 20~50개
    • 384d vs 1536d 비교
  • 응답 테스트:
    • 대표 질문 5개에 대해 직접 답 + 근거 문서 형식 검증
  • 메타 평가 테스트:
    • self_improvement_run에 RAG 평가 필드 적재 확인
    • 사용자 피드백 저장 확인

8. 산출물

  • Company X 샘플 문서셋 목록
  • Company X 전용 인덱싱 경로/스크립트
  • retrieval 품질 비교표
  • rb8001 라우팅 규칙
  • 근거 응답 형식 예시 세트
  • 메타 평가 필드 정의

9. 리스크 및 대응

  • 리스크: 문서군 오염으로 검색 품질 왜곡
    • 대응: 1차는 쉬운 문서군만 제한
  • 리스크: Company X 전용 team/권한 경계 불명확
    • 대응: 초기에는 내부 검증용 식별자로 고정
  • 리스크: OpenAI 품질 우위가 표본마다 흔들림
    • 대응: 운영 기본값은 384d 유지, 비교군은 병행
  • 리스크: 답변은 생성되지만 근거가 약함
    • 대응: 생성 답변보다 retrieval 품질을 먼저 통과 조건으로 둠

10. 성공 판정

  • 대표 질문군에서 근거 문서 포함 답변이 일관되게 나온다.
  • 문서 없음/불일치 상황에서 추정 단정이 사라진다.
  • 384d 기본 경로로도 Company X 질문 retrieval이 운영 후보 수준에 도달한다.
  • 메타 평가 로그로 RAG 사용 여부근거 포함 여부를 추적할 수 있다.

11. 연결 문서