docs: add Company X grounding plan
This commit is contained in:
parent
6f826affe0
commit
f5c9dc2efc
168
journey/plans/260312_companyx_내부문서_rag_근거응답_구현계획.md
Normal file
168
journey/plans/260312_companyx_내부문서_rag_근거응답_구현계획.md
Normal file
@ -0,0 +1,168 @@
|
||||
# Company X 내부문서 RAG 근거응답 구현계획
|
||||
|
||||
**작성일**: 2026-03-12
|
||||
**상태**: 초안
|
||||
**목표**: Company X 소속 사용자의 내부 업무 질문에 대해, 로빙이 Company X 내부 문서를 우선 검색하고 `직접 답변 + 근거 문서` 형식으로 응답하도록 최소 운영 기준을 고정
|
||||
|
||||
**관련 문서**:
|
||||
- [Company X 내부 문서 RAG 응답 아이디어](../ideas/260312_companyx_내부문서_rag_응답_아이디어.md)
|
||||
- [Company X 내부 문서 근거응답 사용자 시나리오](../scenarios/260312_companyx_내부문서_근거응답_사용자시나리오.md)
|
||||
- [Company X 내부문서 RAG 근거응답 현황 리서치](../research/260312_companyx_내부문서_rag_근거응답_현황_리서치.md)
|
||||
|
||||
---
|
||||
|
||||
## 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. 연결 문서
|
||||
- [Company X 내부 문서 RAG 응답 아이디어](../ideas/260312_companyx_내부문서_rag_응답_아이디어.md)
|
||||
- [Company X 내부 문서 근거응답 사용자 시나리오](../scenarios/260312_companyx_내부문서_근거응답_사용자시나리오.md)
|
||||
- [Company X 내부문서 RAG 근거응답 현황 리서치](../research/260312_companyx_내부문서_rag_근거응답_현황_리서치.md)
|
||||
Loading…
x
Reference in New Issue
Block a user