docs: skill-rag-file ChromaDB→PostgreSQL 전환 필요 사항 명시

리서치 Fact 14: skill-rag-file 문서 청크가 여전히 ChromaDB에 저장 중이며
운영 원칙(PostgreSQL 중심)과 불일치 상태임을 명시.
계획 Phase 0 표: rb8001 메모리(확정)와 skill-rag-file 청크(미완료) 저장
경로를 분리해 pgvector 전환 필요 항목으로 추가.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
happybell80 2026-03-17 16:43:35 +09:00
parent 6f6af521a1
commit 60cc3841cb
2 changed files with 12 additions and 5 deletions

View File

@ -101,15 +101,16 @@ tags: [plans, companyx, rag, answer-composition, scenario, troubleshooting]
|------|------|------|
| Company X RAG 임베딩 차원 | `384d` 폐기, `Gemini Embedding 2 / 768d` 확정 (0_VALUE 정책) | **확정** |
| SKILL.md 전제 | `384d``Gemini Embedding 2 / 768d` 갱신 완료 (2026-03-17) | **확정** |
| 저장 경로 | PostgreSQL (pgvector) 중심 전환 확인 | **확정** |
| 저장 경로 (rb8001 메모리) | PostgreSQL `memory_vectors` 등 중심 전환 확인 | **확정** |
| 저장 경로 (skill-rag-file 문서 청크) | 현재 ChromaDB(`/app/chroma_db`) 저장 중. 운영 원칙(PostgreSQL 중심)과 불일치. PostgreSQL(pgvector)로 전환 필요 | **미완료** |
| 청킹 리스크 | `char_per_token = 4` 한국어 과소 청킹 리스크 인지. Gemini 2 PDF 직접 임베딩은 미구현 상태로 인지하되, 이 문제 세트 스코프 밖 | **인지/보류** |
| NAS 동기화 경로 | NAS → skill-rag-file 반영 경로/시점 미확인 | **미완료** |
| NAS 동기화 경로 | NAS → skill-rag-file 반영 경로/시점 미확인. Phase 5에서 검증 후 Phase 0 표에 반영 | **미완료** |
| 재오픈 질문 20개 재현 | Slack 실응답 재현 미실시 | **미완료** |
- 현재 상태:
- 임베딩/저장 전제는 확정됨.
- NAS 동기화 경로와 질문 재현은 Phase 5에서 함께 검증.
- 청킹 구조 개선(Gemini 2 PDF 직접 임베딩, 한국어 토큰 근사값)은 별도 문제로 열지 않음. 현재 텍스트 추출 + 문자 분할 방식으로 운영하되, 리스크로 기록.
- 청킹 구조 개선(Gemini 2 PDF 직접 임베딩, 한국어 토큰 근사값)은 **별도 이슈로 분리해 추적**. 현재 텍스트 추출 + 문자 분할 방식으로 운영하되, 리스크로 기록.
### Phase 1. 구조 분리
- `companyx_grounding_service`에서 아래 책임을 분리합니다.
@ -157,6 +158,7 @@ tags: [plans, companyx, rag, answer-composition, scenario, troubleshooting]
4. `X-COURSE가 뭐야?` → 설명 + 근거 문서
5. `근거 문서명만 다시 정리해줘` → 직전 근거 목록 재정리
- **종결 worklog**: 테스트 통과 + Slack 5개 검증 완료 시 종결 worklog 작성
- **Phase 0 갱신**: Phase 5에서 NAS 동기화 경로/시점 검증을 끝내면 Phase 0 표에 반영
- 테스트는 질문별 예외 성공이 아니라 공통 계약 준수 여부를 검증해야 합니다.
- 현재 상태: **미완료**

View File

@ -161,9 +161,11 @@ tags: [research, companyx, rag, answer-composition, scenario, troubleshooting]
### 14. 현재 런타임 저장 구조는 PostgreSQL 중심으로 전환돼 있다
- `330_백엔드_PostgreSQL_ChromaDB_Vector_Memory.md` 상단 주석은 **2026-03-17 기준 운영 런타임이 `skill-rag-file`, `rb8001`의 핵심 벡터/검색/그래프 경로를 PostgreSQL 중심으로 전환**했다고 명시합니다.
- `rb8001` 기억 회상 핵심 경로는 이미 PostgreSQL `memory_vectors`, `memory_graph_nodes`, `memory_graph_edges` 기준으로 전환됐습니다.
- 단, **`skill-rag-file`의 문서 청크 벡터는 코드 기준으로 여전히 ChromaDB(`/app/chroma_db`)에 저장 중**입니다. 이는 운영 원칙(PostgreSQL 중심)과 불일치하는 상태입니다.
- 의미:
- RAG 결과 저장/연동 경로의 현행 SSOT는 PostgreSQL 중심 전제입니다.
- Company X 문서 임베딩 전환도 PostgreSQL 저장/조회 경로를 기준으로 판단해야 합니다.
- Company X 문서 임베딩 전환 시 벡터 저장 경로도 ChromaDB → PostgreSQL(pgvector)로 함께 전환해야 합니다.
- 전환 전까지는 skill-rag-file이 ChromaDB에 저장 중임을 전제로 검증해야 합니다.
### 15. NAS 전체 PDF 기준 임베딩 시간은 약 5.2시간(추정)이다
- `/mnt/nas/workspace` 전체 PDF 파일 수는 `27,849`개, 200개 샘플 평균 페이지는 `8.05`로 측정됐습니다.
@ -231,11 +233,13 @@ tags: [research, companyx, rag, answer-composition, scenario, troubleshooting]
3. `재정리형 질문`은 이전 응답 재사용 없이 재검색함 (세션 연결 없음). 현재 스코프에서는 재검색 허용으로 운영.
4. Company X 전용 규칙은 현재 독립 모듈(`companyx_grounding_service.py`)로 유지. 범용화는 이 문제 세트 밖.
6. NAS 최신 문서 동기화본이 Company X RAG 검색 컬렉션에 언제, 어떤 방식으로 반영되는지는 아직 미확정.
7. 한국어 과소 청킹 리스크 및 `Gemini 2 PDF 직접 임베딩` 미구현은 별도 이슈로 분리해 추적할지 미확정.
## 결론
- 이 이슈의 직접 원인은 `Company X 검색 실패`가 아니라 `질문 적합 근거 선별 없는 답변 합성`입니다.
- 더 근본 원인은 `질문 유형 계약 없이 일부 질문만 하드코딩 특례 처리하는 구조`입니다.
- 다만 현재는 `NAS 대량 문서 운영 상태``Gemini Embedding 2 전환 상태`가 겹쳐 있으므로, 다음 plan은 구현 전에 운영 전제 재검증부터 고정해야 합니다.
- PostgreSQL 저장 경로 전제는 확정됐으므로, plan에서는 이를 기준으로 재검증/테스트 항목을 정렬해야 합니다.
- 그 전제가 닫힌 뒤 구현 단계에서 아래 3가지를 고정해야 합니다.
1. 질문 유형별 판정 계약
2. 검색 결과의 질문 적합도 판정 계약
@ -249,6 +253,7 @@ tags: [research, companyx, rag, answer-composition, scenario, troubleshooting]
5. 질문별 direct answer 하드코딩 추가를 금지하고, 질문 유형별 공통 계약으로 대체할 것
6. `무관한 청크 반환``실패`로 판정하는 경계를 추가할 것
7. 스킬 문서 계약과 코드 계약을 1:1로 맞출 것
8. PostgreSQL 저장 경로 전제를 plan과 테스트 기준에 반영할 것
## 관련 문서
- [Company X RAG 답변 합성 회귀](../troubleshooting/260312_companyx_rag_answer_composition_regression.md)