DOCS/journey/plans/260320_로빙_다형식문서_RAG_적용1_계획.md
2026-03-22 22:57:33 +09:00

7.8 KiB

status, closed_date, closed_reason
status closed_date closed_reason
closed 2026-03-21 3중 검색(벡터+키워드+그래프) 동작 + 샘플 16개 전수 PASS + grounding 11/18 + SKILL.md 정합화 완료

260320 로빙 다형식문서 RAG 적용 1차 계획

목적

  • 앞선 1~3차 산출물을 로빙 실제 질의 응답 경로에 연결하는 첫 적용 단계를 정의한다.
  • 목표는 "질문 -> 관련 문서 회수 -> 근거 기반 응답"의 최소 폐회로를 만드는 것이다.

참조 문서

현재 상태 (260323 갱신)

항목 260320 260322 1단계 완료 후
대상 파일 리스트 200개 (latest_200_companyx.txt) 2,000개 (mtime 2026-01-28 이후)
인덱싱 스크립트 reindex_companyx_latest_200.py + reindex_companyx_batch.py
team_id 79441171-3951-4870-beb8-916d07fe8be5 동일
team_document 1,121 completed / 51 processing 2,369 completed / 136 failed / 0 processing
team_document_chunk 3,095건 19,991건
임베딩 Gemini Embedding 2, 768d, HNSW cosine 동일
MD 파생본 48,906개 (front matter만) 동일 (본문 미추출)
  • 1차(MD 생성): front matter 완료, 본문 미추출
  • 2차(DB 적재): 1단계 2,000개 완료 (260322)
  • 3차(OCR/관계/동기화): 미착수
  • 4차(로빙 연결): 완료 (260321, hybrid 17/17 PASS)
  • 미해결: keyword 단독 검색 전 질의 0건 (트러블슈팅)

적용 범위

  • rb8001 (companyx_grounding_service.py)
  • skill-rag-file (search.py, postgres_vector_store.py)
  • skill-embedding (Gemini Embedding 2 게이트웨이)

이미 구현된 질의 흐름 (코드 기준)

  1. 사용자 질문 수신 → should_handle_companyx_grounding() 인텐트 판정
  2. 질문 유형 분류 → _classify_question_type() (설명/사실확인/수치/재정리)
  3. 멀티쿼리 생성 → _build_query_candidates() (7~9개 변형)
  4. 벡터 검색 → _search_companyx_documents() (PGVector cosine)
  5. LLM 근거 검증 → _call_llm_companyx_grounding() + Pydantic 검증
  6. 응답 생성 → CompanyXRAGOutput (direct_answer, evidence_docs, failure_reason)

추가 필요한 검색 경로

검색 방식 상태 (260323) 비고
PGVector 벡터 검색 구현·운용 17/17 PASS
TSVECTOR 키워드 검색 ⚠️ 구현됨, 한국어 한계 simple 토크나이저 → MeCab-ko 필요
하이브리드 점수 합산 (RRF) 구현·운용 prefix + threshold 분리 + RRF 정규화 완료
Apache AGE 그래프 관계 확장 구현·운용 companyx_docs 그래프 운용 중

샘플 검증 질문 (200개 파일 기준)

투자조합 관련 (파일 비중 최대)

  1. 아크로셀 개인투자조합 제2호 정기주총 서류 있어?
  2. 에프앤엘코퍼레이션 서면의결서 양식 찾아줘
  3. 컴퍼니엑스 IP 투자조합 9호 고유번호증 보여줘
  4. 코드크레용 정기주총 소집통지서 내용이 뭐야?
  5. 앤션트투투데이 2025년 재무상태표 수치 알려줘
  6. 컴퍼니엑스 IP 투자조합별 관리보수 자금계획 비교해줘
  7. 다리마티 보통주 계약서 핵심 조건이 뭐야?

TIPS/LIPS 프로그램 관련

  1. 팁스 운영사 본점 소재지 변경 공문 내용 요약해줘
  2. 립스 프로그램 운영사 소재지 변경 안내 있어?
  3. 엠에스코스 팁스 추천서에 어떤 내용이 있어?
  4. 팁스 투자적절성검증위원회 보완 서류 뭐가 필요해?

오늘전통/신규운영사 관련

  1. 오늘전통 6기 2차년도 창업기업 사업계획서 어디 있어?
  2. 오늘전통 AC 본점 이전 관련 공문 내용이 뭐야?
  3. e나라도움 정보공시 등록 방법 문서 있어?

근거 부족 예상 (실패 응답 검증)

  1. 컴퍼니엑스 내부 휴가 규정이 뭐야? → 200개에 없음
  2. 컴퍼니엑스 전체 투자사 몇 개야? → 200개로는 일부만 커버

검증 결과 기록

# 질문 요약 검증일 결과 비고
1 아크로셀 정기주총 서류 260321 PASS hybrid top-1 조합인감등록부
2 에프앤엘 서면의결서 260321 PASS hybrid top-1 서면의결서 양식
3 IP 투자조합 9호 고유번호증 260321 PASS hybrid top-1 결산부속명세서
4 코드크레용 소집통지서 260321 PASS hybrid top-1 소집통지서
5 앤션트투투데이 재무상태표 260321 PASS hybrid top-1 재무상태표
6 투자조합별 관리보수 비교 260321 PASS hybrid top-1 자금안
7 다리마티 보통주 계약 조건 260321 PASS hybrid top-1 보통주 계약서
8 팁스 운영사 소재지 변경 260321 PASS hybrid top-1 팁스 소재지 공문
9 립스 소재지 변경 안내 260321 PASS hybrid top-1 립스 소재지 공문
10 엠에스코스 팁스 추천서 260321 PASS hybrid top-1 추천서
11 팁스 보완 서류 260321 PASS hybrid top-1 보완 서류 공문
12 오늘전통 6기 사업계획서 260321 PASS hybrid top-1 사업계획서
13 오늘전통 AC 본점 이전 공문 260321 PASS hybrid top-1 본점 소재지 공문
14 e나라도움 정보공시 260321 PASS hybrid top-1 정보공시 등록 방법
15 휴가 규정 (실패 예상) 260321 PASS 정상 실패 (grounding failure)
16 전체 투자사 수 (실패 예상) 260321 PASS 문서 범위 내 5개 답변

금지 원칙

  • 질문별 하드코딩 특례/폴백/예외 분기를 추가하지 않는다.
  • 리콜은 공통 검색 품질(tsvector + 벡터 + 그래프)로 올린다.
  • 260315에서 확정, 260320에서 계승.

260315에서 흡수한 항목

  • 인덱싱 파이프라인 배포 (Phase 5A: 코드 완료, 배포 미완)
  • 재오픈 질문 20개 Slack 실응답 검증 (Phase 5B)
  • Pydantic 출력 검증 구조 (CompanyXRAGOutput: direct_answer, evidence_docs, failure_reason)
  • SKILL.md와 코드 계약 정합화
  • 질문 유형 계약 / 근거 채택 계약 / 실패 계약 (구현 완료, 검증 미완)

닫는 조건

  • 200개 파일(latest_200_companyx.txt) 대상 완벽 RAG 구성
  • 벡터 검색(PGVector) + 키워드 검색(TSVECTOR) + 그래프 탐색(Apache AGE) 3중 검색 동작
  • 로빙이 200개 파일 범위 내 질문에 근거 문서(문서명, 경로, 핵심 문단)를 포함해 답변한다.
  • LLM 응답이 Pydantic 모델(CompanyXRAGOutput)로 검증된다.
  • 근거 없는 경우와 검색 실패를 구분해 응답한다.
  • 응답 로그에 사용 문서와 청크가 남는다.
  • 대표 질문셋(계약/MOU, 프로그램 운영, 보고서 수치) + 260315 재오픈 질문 20개 검증 통과.
  • SKILL.md와 실제 응답 형식 일치.

보류

  • 완전 자동 자가개선
  • 모든 파일 유형에 대한 완전 멀티모달 해석
  • 대규모 그래프 탐색 기반 답변