DOCS/journey/research/260312_companyx_내부문서_rag_근거응답_현황_리서치.md
happybell80 60a892e5ab fix: DOCS 내 0_VALUE 참조를 GitHub URL → 로컬 상대경로로 전환, 02_Governance → 20_Governance 수정 #33 #34
SSOT는 로컬 0_VALUE/. GitHub URL은 복사본 참조로 SSOT 원칙 위반.
02_Governance는 존재하지 않는 구 경로로 전부 깨진 링크.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 14:00:21 +09:00

20 KiB

tags, status, closed_date, closed_reason
tags status closed_date closed_reason
robeing
companyx
rag
research
internal-documents
grounding
closed 2026-03-21 발견한 문제(근거 연결 부재, 의도 분류 실패, 인덱스 부족)는 260315→260320→260321 계획으로 전부 해소. 200개 인덱싱 + 3중 검색 + LLM 합성 동작 확인.

260312 Company X 내부문서 RAG 근거응답 현황 리서치

상위 원칙

목적

  • Company X 소속 사용자가 오늘전통 프로그램을 Company X가 옐로펀치랑 같이 운영한다는 근거 있어?라고 물었을 때, 현재 실제 로빙이 어떤 답을 하는지 확인한다.
  • 현재 로빙이 Company X 내부 NAS 문서를 근거로 답할 수 있는 구조인지 확인한다.
  • NAS 원본에는 실제 근거가 있는지 확인해, 문제를 근거 부재근거 연결 부재로 구분한다.
  • 이 문서 하나로 기존 ideasscenariosplans로 넘길 수 있는 사실 기준을 고정한다.

조사 범위

  • 런타임 서비스: rb8001, skill-rag-file
  • 저장 상태: team_document, Chroma 컬렉션 검색 결과
  • 원본 데이터: 내부 NAS /mnt/nas/workspace/6.Company X
  • 대표 질문: 오늘전통 프로그램을 Company X가 옐로펀치랑 같이 운영한다는 근거 있어?

Facts

1. 현재 실제 로빙 답변은 내부 문서 근거답변이 아니다

  • 2026-03-12 21:24 KST 기준 rb8001 테스트 엔드포인트에 대표 질문을 직접 넣어 확인했다.
  • 호출 경로:
    • POST /api/test/router-message
  • 입력:
    • 오늘전통 프로그램을 Company X가 옐로펀치랑 같이 운영한다는 근거 있어?
  • 실제 응답:
{
  "user_id": "53529291-5050-4daa-89fb-008b546feb63",
  "user_message": "오늘전통 프로그램을 Company X가 옐로펀치랑 같이 운영한다는 근거 있어?",
  "bot_response": "CTO님, Company X가 옐로펀치와 함께 전통 프로그램을 운영한다는 근거를 찾아보겠습니다. 관련 정보를 확인해 보고 말씀드리겠습니다.",
  "intent": null,
  "skill_sequence": null,
  "status": "success"
}
  • 이 응답은 문서명, 문단 요약, 파일 위치를 전혀 제시하지 않는다.
  • 즉 현재 시나리오가 기대하는 직접 답변 + 근거 문서 형식과 다르다.

2. 현재 질문은 라우터에서 UNKNOWN으로 떨어지고 내부 문서 검색으로 연결되지 않는다

  • 같은 시각 rb8001 로그에서 아래 사실을 확인했다.
    • DecisionEngine이 해당 질문에 대해 의도 매칭 실패 - UNKNOWN을 기록했다.
    • 이후 응답은 내부 LLM 경로로 생성됐다.
  • 확인된 로그 핵심:
    • Loaded 0 recent conversations
    • [DecisionEngine] 의도 매칭 실패 - UNKNOWN으로 처리
    • 이후 Gemini 호출 발생
  • 따라서 현재 로빙은 이 질문을 Company X 내부 문서 근거 확인 작업으로 해석하지 못한다.

3. 현재 skill-rag-file 인덱스에는 관련 Company X 문서가 없다

  • skill-rag-file DB(team_document)를 직접 확인한 결과 총 문서 수는 136건이었다.
  • 최근 적재 문서들은 /mnt/51123data/documents/... 또는 /mnt/nas/documents/... 아래의 일반 업로드 문서였고, 대표 예시는 아래와 같았다.
    • 06_릴라이 와이어프레임.pdf
    • 01_후인터 사업계획서 ppt버전.pdf
    • 에이징랩(주)_IR_20260309_v1.pdf
  • 같은 DB에서 아래 조건으로 조회했을 때 결과가 0건이었다.
    • filename ilike '%오늘전통%'
    • filename ilike '%옐로%'
    • storage_path ilike '%오늘전통%'
    • storage_path ilike '%옐로%'
  • 따라서 현재 RAG 인덱스에는 적어도 오늘전통, 옐로펀치 관련 Company X 문서가 들어가 있지 않다.

4. 현재 skill-rag-file 검색으로도 관련 결과를 찾지 못했다

  • skill-rag-file 검색 API에 대표 질문을 그대로 넣어 테스트했다.
  • 호출 경로:
    • POST /api/search
  • 사용한 team 식별자는 테스트 사용자 UUID였고, 결과는 아래와 같았다.
{
  "query": "오늘전통 프로그램을 Company X가 옐로펀치랑 같이 운영한다는 근거",
  "results": [],
  "total_results": 0
}
  • 위 결과만으로 모든 team_id에서 절대 검색 불가를 단정할 수는 없다.
  • 그러나 바로 위 3번 사실 때문에, 현재 인덱스 DB 전체에 관련 문서가 없다는 점은 별도로 확인됐다.

5. 내부 NAS 원본에는 질문과 직접 관련된 근거 문서가 실제로 존재한다

  • 내부 NAS에서 오늘전통, 옐로펀치 키워드로 파일명을 조사한 결과 관련 문서가 다수 존재했다.
  • 대표 경로 예시:
    • /mnt/nas/workspace/6.Company X/2. 신규운영사 및 펀드 운용사, 용역 프로그램 제안 등/2025년/05. [한국공예·디자인문화진흥원] 오늘전통 5기 초기창업기업 창업기획자(액셀러레이터) 공모/01. 제출서류/01. 사업계획서_컴퍼니엑스.pdf
    • /mnt/nas/workspace/6.Company X/10. MOU&인증/옐로펀치/TalkFile_MOU_옐로펀치X컴퍼니엑스- 25.01.23.pdf.pdf

6. 오늘전통 5기 사업계획서에는 옐로펀치가 협력기관으로 명시돼 있다

  • 사업계획서_컴퍼니엑스.pdf를 텍스트 추출해 확인했다.
  • 확인된 핵심 구절:
    • 프렉클컴퍼니, 스몰브랜더, 옐로펀치 등 브랜드 기업의 성장 지원이 가능한 외부 협력체계를 기반으로
    • ㈜옐로펀치
    • 공동 및 후속투자
  • 해석상 이 문서는 최소한 오늘전통 사업계획서 안에서 옐로펀치가 Company X의 대외 협력체계/협력기관 중 하나로 제시된다는 근거가 된다.

7. 옐로펀치X컴퍼니엑스 MOU에는 공동 컨소시엄 협력과 프로그램 운영 참여가 명시돼 있다

  • TalkFile_MOU_옐로펀치X컴퍼니엑스- 25.01.23.pdf.pdf를 텍스트 추출해 확인했다.
  • 확인된 핵심 구절:
    • 주식회사옐로펀치와 주식회사컴퍼니엑스는 우수 창업기업 발굴, 투자·육성 업무 활성화를 위해 아래의 협약을 체결
    • 교육, 멘토링, 세미나, IR 등 기업 육성 프로그램 운영 참여
    • 예비창업자 및 초기 창업기업 대상 지원사업 공동 컨소시엄 협력
  • 이 문서는 Company X와 옐로펀치 간 공식 협력 관계를 뒷받침한다.

8. 따라서 현재 문제는 근거 없음이 아니라 근거 연결 부재

  • NAS 원본에는 관련 근거가 있다.
  • 그러나 현재 로빙 런타임은 이 질문을 문서 근거 확인으로 해석하지 못한다.
  • 또한 관련 원본 문서가 skill-rag-file 인덱스에 들어가 있지 않다.
  • 즉 현재 실패 원인은 Company X 문서가 실제로 없어서가 아니라, 있지만 로빙 답변 경로와 연결되지 않아서다.

9. 현재 로빙 임베딩 경로 기준 실제 문서 인덱싱 시간은 수초~수십초가 아니라 수초 단위다

  • skill-rag-file 실제 /api/upload 경로로 Company X 문서 2개를 직접 인덱싱해 시간을 확인했다.
  • 유효한 기존 team_id를 사용해 업로드 -> 텍스트 추출 -> 청킹 -> 임베딩 -> Chroma 저장까지 포함한 전체 시간을 측정했다.
  • 측정 결과:
    • 옐로펀치X컴퍼니엑스 MOU PDF 130,944B: 0.608초, 5 chunks
    • 오늘전통 사업계획서_컴퍼니엑스 PDF 12,937,755B: 8.371초, 104 chunks
  • 인덱싱 후 검색 시간도 확인했다.
    • 질의 공동 컨소시엄 협력
    • 검색 응답 시간: 0.059초
    • 결과: MOU 문서 청크 1건 반환

10. 현재 로빙 임베딩 모델은 384차원이고, StarsAndI가 쓰는 OpenAI 임베딩은 1536차원이다

  • 현재 로빙 skill-embedding 런타임 설정은 아래와 같다.
    • 모델: multilingual-MiniLM-L12-v2
    • 차원: 384
  • 확인 근거:
    • skill-embedding/.env
    • rb8001 런타임 로그의 Collection expecting embedding with dimension of 768, got 384
  • 비교 대상으로 본 StarsAndI 코드의 OpenAI 임베딩 경로는 아래와 같다.
    • 모델: text-embedding-3-small
    • 차원: 1536
  • 확인 근거:
    • starsandi/apps/apps/api-py/app/services/recommend.py
    • 실제 OpenAI 임베딩 API 호출 결과 dim=1536

11. OpenAI 임베딩 단건 호출 시간은 현재 환경에서 대략 0.2초~3초, 평균 1.8초 수준이다

  • StarsAndI가 쓰는 실제 모델 text-embedding-3-small로 대표 질문 1건을 3회 호출해 시간을 측정했다.
  • 측정 결과:
    • 1회: 2966.1ms
    • 2회: 2226.3ms
    • 3회: 234.3ms
    • 평균: 1808.9ms
  • 따라서 OpenAI 임베딩은 현재 환경에서 단건 기준 대략 0.2초 ~ 3초, 보통 약 2초 안팎으로 보는 것이 맞다.

12. 2,000개 쉬운 문서 기준 인덱싱 시간은 로컬 모델이 더 짧고, OpenAI 모델도 절대 시간이 과도하지는 않다

  • 현재 로빙 로컬 임베딩 경로(384d) 기준 현실 추정:
    • 쉬운 문서 평균 0.6초 ~ 2초/문서
    • 2,000개 문서: 약 20분 ~ 67분
  • OpenAI 임베딩 경로(1536d) 기준 현실 추정:
    • 네트워크 왕복 포함 평균 2.5초 ~ 4초/문서
    • 2,000개 문서: 약 83분 ~ 133분
  • 따라서 2,000개 쉬운 문서 범위는 두 경로 모두 몇 시간 이내에 검증 가능하다.

13. OpenAI 임베딩 비용은 2,000개 문서 규모에서는 병목이 아니다

  • text-embedding-3-small의 현재 공식 가격은 1M tokens당 $0.02다.
  • 문서당 평균 토큰 수를 가정한 대략 비용:
    • 1,000 tokens x 2,000문서 = 2M tokens -> 약 $0.04
    • 2,000 tokens x 2,000문서 = 4M tokens -> 약 $0.08
    • 5,000 tokens x 2,000문서 = 10M tokens -> 약 $0.20
  • 따라서 이번 주제에서 OpenAI 임베딩 선택의 핵심 기준은 비용보다 품질, 속도, 운영 단순성이다.

14. 품질 비교 테스트는 지금 바로 설계 가능한 상태다

  • 현재 단계에서 가능한 최소 품질 테스트는 아래 구조다.
    • Company X 질문 20~50개를 고정한다.
    • 각 질문에 대해 사람이 정답 근거 문서를 1차 지정한다.
    • 같은 문서셋을 384d 로컬 모델1536d OpenAI 모델로 각각 인덱싱한다.
    • 같은 질문셋을 돌려 정답 문서가 상위 결과에 들어오는지를 비교한다.
  • 이 비교는 아직 답변 생성 LLM 품질이 아니라, 검색 근거 품질을 먼저 비교하는 테스트다.
  • 현재 문제의 본질이 근거 연결인 점을 고려하면, 이 단계에서는 생성 답변보다 retrieval quality를 먼저 보는 것이 맞다.

15. 품질 비교에서 바로 쓸 수 있는 지표는 이미 정리할 수 있다

  • Recall@5
    • 정답 근거 문서가 상위 5개 안에 들어오는지
  • MRR
    • 정답 근거 문서가 평균 몇 위에 오는지
  • 근거 문단 사용 가능성
    • 사람이 봤을 때 바로 답변 근거로 쓸 수 있는 청크인지
  • 응답 시간
    • 인덱싱 시간, 검색 시간
  • 현재 단계에서 가장 중요한 지표는 정답률보다 근거 일관성상위 검색 적중률이다

16. 소규모 retrieval 품질 비교 결과, 로컬 384d와 OpenAI 1536d는 현재 표본에서 동률이었다

  • 비교 조건:
    • 문서: 옐로펀치X컴퍼니엑스 MOU 1건, 오늘전통 사업계획서_컴퍼니엑스 1건
    • 청킹: skill-rag-file과 같은 문자 기반 청킹(1000, overlap 200)
    • 총 청크 수:
      • mou: 3
      • todaytradition: 38
    • 질문: 6개
    • 평가 단위: 문서 수준 top1/top3, MRR
  • 비교 모델:
    • 로컬: multilingual-MiniLM-L12-v2 384d
    • OpenAI: text-embedding-3-small 1536d
  • 결과 요약:
    • 로컬 384d
      • Top1 = 4/6
      • Top3 = 6/6
      • MRR = 0.8333
    • OpenAI 1536d
      • Top1 = 4/6
      • Top3 = 6/6
      • MRR = 0.8333
  • 즉 이 표본에서는 두 모델이 문서 수준 retrieval 성능에서 사실상 동률이었다.

17. 질문 유형별로는 두 모델의 강점이 조금 다르게 나타났다

  • 로컬 384d가 더 잘 맞힌 질문:
    • 오늘전통 사업계획서에서 옐로펀치가 협력기관으로 제시되는 근거
    • 이 질문에서 로컬은 todaytraditionTop1로 올렸고, OpenAI는 mouTop1로 올렸다.
  • OpenAI 1536d가 더 잘 맞힌 질문:
    • 예비창업자 및 초기 창업기업 대상 지원사업 공동 컨소시엄 협력
    • 이 질문에서 OpenAI는 mouTop1로 올렸고, 로컬은 todaytraditionTop1로 올렸다.
  • 공통적으로 둘 다 헷갈린 질문:
    • 교육 멘토링 세미나 IR 등 기업 육성 프로그램 운영 참여
    • 두 모델 모두 todaytraditionTop1로 올리고 mou2위로 두었다.

18. 현재 표본 기준으로는 차원 수가 곧바로 품질 우위를 보장하지 않았다

  • 1536d OpenAI 모델이 384d 로컬 모델보다 무조건 더 낫다는 결과는 나오지 않았다.
  • 현재 표본에서는 두 모델이 같은 점수를 냈고, 질문별로 서로 다른 실수를 보였다.
  • 따라서 다음 단계에서 모델 선택은 차원 수만으로 결정하면 안 된다.

19. 현재 단계에서 더 필요한 것은 큰 모델 교체보다 질문셋 확대와 문서군 확대다

  • 지금 비교는 2문서, 6질문의 매우 작은 샘플이다.
  • 이 표본만으로 최종 모델 결론을 내리기에는 부족하다.
  • 그러나 최소한 아래 두 사실은 확인됐다.
    • 로컬 384d도 Company X 근거 검색에 충분히 경쟁력 있는 초기 후보다.
    • OpenAI 1536d는 비용이 낮고 품질 비교 가치가 있지만, 현재 표본에서 압도적 우위를 보이지는 않았다.
  • 따라서 다음 계획에서는 먼저 2,000개 쉬운 문서20~50개 질문셋으로 비교 범위를 넓히는 것이 맞다.

Interpretation

1. 아이디어 문서는 유효한 가설이다

  • Company X 내부 문서를 우선 근거로 삼아 답하는 로빙이라는 아이디어는 헛가설이 아니다.
  • 실제 NAS에는 답변 근거가 될 문서가 있고, 그 문서에는 질문과 관련된 표현도 존재한다.
  • 따라서 이 아이디어는 근거를 만들자가 아니라 이미 있는 근거를 로빙 답변 경로에 연결하자로 해석하는 것이 맞다.

2. 시나리오 문서의 현재/기대 대비도 실제 상태와 맞는다

  • 현재 실제 응답은 찾아보겠습니다 수준의 일반 답변이다.
  • 기대 시나리오는 직접 답변 + 근거 문서 + 문단 요약 + 위치 정보다.
  • 이번 조사 결과는 시나리오 문서가 상상적 요구가 아니라, 실제 현재 상태와 분명히 대비되는 목표 상태임을 확인한다.

3. 다음 단계의 핵심은 RAG 품질보다 먼저 색인 경로 + 질문 해석 경로

  • 지금 부족한 것은 답변 문체가 아니라 연결 구조다.
  • 최소한 아래 두 경로가 동시에 생겨야 한다.
    • NAS 원본 -> Company X 전용 RAG 인덱스
    • Company X 질문 -> Company X 전용 문서 검색 의도/실행 경로
  • 둘 중 하나라도 빠지면 기대 시나리오는 닫히지 않는다.

4. 오늘전통 공동 운영 답변은 문서 충돌/표현 차이까지 다뤄야 한다

  • 사업계획서에는 협력기관, 외부 협력체계 표현이 있고, MOU에는 프로그램 운영 참여, 공동 컨소시엄 협력 표현이 있다.
  • 따라서 미래 로빙은 무조건 같이 운영한다고 단정하기보다,
    • 오늘전통 사업계획서에서 옐로펀치가 협력기관으로 제시된다
    • Company X-옐로펀치 MOU에는 프로그램 운영 참여와 공동 컨소시엄 협력이 명시된다
    • 문서 표현은 공동 운영/협력 운영/협력기관으로 조금씩 다르다 를 함께 답하는 편이 더 정확하다.

5. 현재 단계에서 전체 5만여 개를 먼저 넣는 것보다 2천 개 샘플 품질 비교가 더 맞다

  • 전체 52,833개 경로를 한 번에 인덱싱하는 것은 가능하더라도, 지금 필요한 질문은 될 수 있는가보다 어떤 모델/경로가 더 낫고 실제 근거 검색이 맞는가다.
  • 이미 시간 측정상 2,000개 쉬운 문서 범위는 현실적으로 1~2시간대 안에서 비교 가능하다.
  • 따라서 다음 plans는 먼저 대표 문서군 2,000개 내외 샘플 인덱싱 + 20~50개 질문셋 품질 비교를 우선 고정하는 것이 맞다.

6. 임베딩 모델 선택 기준은 비용보다 검색 품질과 운영 복잡도다

  • 비용 차이는 2,000개 규모에서는 매우 작다.
  • 실제 선택 기준은 아래가 된다.
    • 384d 로컬: 빠름, 외부 의존 적음, 운영 단순
    • 1536d OpenAI: 네트워크 의존, 약간 느림, 그러나 품질 우위 가능성 존재
  • 즉 다음 계획 단계에서 해야 할 것은 이론 비교가 아니라 같은 질문셋으로 실제 retrieval quality를 비교하는 실험이다.

7. 현재 작은 표본에서는 로컬 384d를 버릴 이유가 없다

  • 작은 표본이지만 Top1, Top3, MRR이 OpenAI와 동률이었다.
  • 따라서 현재 단계에서 바로 OpenAI 임베딩으로 전면 전환할 근거는 없다.
  • 오히려 운영 단순성과 속도를 고려하면, 로컬 384d를 기본 후보로 유지한 채 OpenAI 1536d를 비교군으로 계속 두는 편이 합리적이다.

Unresolved

  1. Company X 소속 사용자 판별 기준
  • 어떤 인증 신호로 Company X 내부 문서 검색 허용 사용자를 확정할지 아직 정해지지 않았다.
  1. Company X 문서의 색인 단위
  • 원본 PDF/DOC/HWP를 그대로 청킹할지, 사람이 읽기 쉬운 중간 RAG 포맷으로 정제할지 아직 미정이다.
  1. Company X 전용 team/collection 경계
  • 현재 skill-rag-fileteam_id 기반 컬렉션 구조를 쓴다.
  • Company X 내부 문서를 어떤 식별자와 어떤 권한 경계로 넣을지 아직 고정되지 않았다.
  1. 답변 근거 노출 수준
  • 문서명, 문단 요약, 파일 경로, 페이지 위치 중 어디까지 사용자에게 노출할지 아직 정해지지 않았다.
  1. 질문 해석 규칙
  • 근거 있어?, 자료 기준으로, 내부 문서 기준으로 같은 표현을 별도 의도로 볼지, 일반 질문에 Company X 컨텍스트를 자동 적용할지 아직 미정이다.
  1. 샘플 문서셋 구성
  • 2,000개 쉬운 문서를 어떤 기준으로 뽑을지 아직 정해지지 않았다.
  • 오늘전통, MOU, 프로그램 소개, 운영안, 보도자료 초안 같은 문서군 우선순위를 먼저 고정해야 한다.
  1. OpenAI 1536d와 로컬 384d의 실제 검색 품질 비교 결과
  • 현재는 2문서, 6질문 기준 소규모 retrieval quality 비교 결과만 있다.
  • 더 큰 문서군과 질문셋에서 같은 경향이 유지되는지는 아직 확인되지 않았다.

현재 결론

  • 대표 질문에 대한 현재 실제 로빙 답변은 기대 시나리오를 만족하지 못한다.
  • 그러나 내부 NAS 원본에는 관련 근거 문서가 실제로 존재한다.
  • 현재 실패 원인은 Company X 근거 없음이 아니라 Company X 근거 문서가 런타임 RAG 경로와 연결되지 않음이다.
  • 시간과 비용 조사 결과, 2,000개 쉬운 문서 규모는 실험 가능한 범위이며 비용도 병목이 아니다.
  • 소규모 품질 비교에서는 384d 로컬1536d OpenAI가 동률이었으므로, 현 시점에서 모델 교체 결론을 먼저 내릴 필요는 없다.
  • 따라서 다음 단계 plans2,000개 샘플 문서셋, 20~50개 질문셋, 384d vs 1536d 확장 비교, 문서 색인, 권한 경계, 질문 해석, 근거답변 형식을 한 번에 고정하는 계획 문서여야 한다.

관련 문서