--- status: closed closed_date: 2026-03-21 closed_reason: 260320 다형식문서 RAG 계획으로 흡수 또는 구현 완료 --- # 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) - [Company X 내부문서 RAG 근거응답 1차 구현 및 부분 검증](../worklog/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 내부 문서 검색 경로 추가 - 답변 형식을 `직접 답변 + 근거 문서명 + 문단 요약 + 필요 시 위치 정보`로 고정 - 답변 메타 평가용 최소 로그/피드백 연결 - 로빙이 참조할 Company X RAG 스킬 사용설명서(`SKILL.md`) 위치와 역할 고정 - 제외: - 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 5-1: 스킬 사용설명서 고정 - 위치: - `robeing/DOCS/skills/companyx-rag/SKILL.md` - 목적: - 로빙이 Company X 내부 문서를 언제 검색해야 하는지 - 어떤 질문 유형을 Company X RAG로 보내야 하는지 - 답변 형식과 금지 응답이 무엇인지 - 권한 경계와 근거 부족 시 응답 원칙이 무엇인지 를 상위 사용설명서로 고정한다. - 원칙: - 단순 파일처리 설명이 아니라 `로빙의 Company X 근거응답 사용 규칙` 문서로 작성한다. - `skill-rag-file` 레포 내부 기능 README와 역할을 섞지 않는다. ### 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) ## 12. 종료 메모 - 이 계획 문서는 `아이디어 출발 단계에서 필요한 최소 구현 경로를 고정했다`는 기준으로 완료 처리합니다. - 이 문서는 여기서 닫습니다.