20 KiB
20 KiB
tags: [robeing, companyx, rag, research, internal-documents, grounding]
260312 Company X 내부문서 RAG 근거응답 현황 리서치
상위 원칙
목적
- Company X 소속 사용자가
오늘전통 프로그램을 Company X가 옐로펀치랑 같이 운영한다는 근거 있어?라고 물었을 때, 현재 실제 로빙이 어떤 답을 하는지 확인한다. - 현재 로빙이 Company X 내부 NAS 문서를 근거로 답할 수 있는 구조인지 확인한다.
- NAS 원본에는 실제 근거가 있는지 확인해, 문제를
근거 부재와근거 연결 부재로 구분한다. - 이 문서 하나로 기존
ideas와scenarios를plans로 넘길 수 있는 사실 기준을 고정한다.
조사 범위
- 런타임 서비스:
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 경로로 생성됐다.
- DecisionEngine이 해당 질문에 대해
- 확인된 로그 핵심:
Loaded 0 recent conversations[DecisionEngine] 의도 매칭 실패 - UNKNOWN으로 처리- 이후 Gemini 호출 발생
- 따라서 현재 로빙은 이 질문을
Company X 내부 문서 근거 확인작업으로 해석하지 못한다.
3. 현재 skill-rag-file 인덱스에는 관련 Company X 문서가 없다
skill-rag-fileDB(team_document)를 직접 확인한 결과 총 문서 수는136건이었다.- 최근 적재 문서들은
/mnt/51123data/documents/...또는/mnt/nas/documents/...아래의 일반 업로드 문서였고, 대표 예시는 아래와 같았다.06_릴라이 와이어프레임.pdf01_후인터 사업계획서 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컴퍼니엑스 MOUPDF130,944B:0.608초,5 chunks오늘전통 사업계획서_컴퍼니엑스PDF12,937,755B:8.371초,104 chunks
- 인덱싱 후 검색 시간도 확인했다.
- 질의
공동 컨소시엄 협력 - 검색 응답 시간:
0.059초 - 결과: MOU 문서 청크 1건 반환
- 질의
10. 현재 로빙 임베딩 모델은 384차원이고, StarsAndI가 쓰는 OpenAI 임베딩은 1536차원이다
- 현재 로빙
skill-embedding런타임 설정은 아래와 같다.- 모델:
multilingual-MiniLM-L12-v2 - 차원:
384
- 모델:
- 확인 근거:
skill-embedding/.envrb8001런타임 로그의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
- 1회:
- 따라서 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.042,000 tokens x 2,000문서 = 4M tokens-> 약$0.085,000 tokens x 2,000문서 = 10M tokens-> 약$0.20
- 따라서 이번 주제에서 OpenAI 임베딩 선택의 핵심 기준은 비용보다
품질,속도,운영 단순성이다.
14. 품질 비교 테스트는 지금 바로 설계 가능한 상태다
- 현재 단계에서 가능한 최소 품질 테스트는 아래 구조다.
- Company X 질문
20~50개를 고정한다. - 각 질문에 대해 사람이
정답 근거 문서를 1차 지정한다. - 같은 문서셋을
384d 로컬 모델과1536d OpenAI 모델로 각각 인덱싱한다. - 같은 질문셋을 돌려
정답 문서가 상위 결과에 들어오는지를 비교한다.
- Company X 질문
- 이 비교는 아직 답변 생성 LLM 품질이 아니라,
검색 근거 품질을 먼저 비교하는 테스트다. - 현재 문제의 본질이
근거 연결인 점을 고려하면, 이 단계에서는 생성 답변보다retrieval quality를 먼저 보는 것이 맞다.
15. 품질 비교에서 바로 쓸 수 있는 지표는 이미 정리할 수 있다
Recall@5- 정답 근거 문서가 상위 5개 안에 들어오는지
MRR- 정답 근거 문서가 평균 몇 위에 오는지
근거 문단 사용 가능성- 사람이 봤을 때 바로 답변 근거로 쓸 수 있는 청크인지
응답 시간- 인덱싱 시간, 검색 시간
- 현재 단계에서 가장 중요한 지표는
정답률보다근거 일관성과상위 검색 적중률이다
16. 소규모 retrieval 품질 비교 결과, 로컬 384d와 OpenAI 1536d는 현재 표본에서 동률이었다
- 비교 조건:
- 문서:
옐로펀치X컴퍼니엑스 MOU1건,오늘전통 사업계획서_컴퍼니엑스1건 - 청킹:
skill-rag-file과 같은 문자 기반 청킹(1000, overlap200) - 총 청크 수:
mou:3todaytradition:38
- 질문:
6개 - 평가 단위:
문서 수준 top1/top3,MRR
- 문서:
- 비교 모델:
- 로컬:
multilingual-MiniLM-L12-v2384d - OpenAI:
text-embedding-3-small1536d
- 로컬:
- 결과 요약:
- 로컬
384dTop1 = 4/6Top3 = 6/6MRR = 0.8333
- OpenAI
1536dTop1 = 4/6Top3 = 6/6MRR = 0.8333
- 로컬
- 즉 이 표본에서는 두 모델이 문서 수준 retrieval 성능에서 사실상 동률이었다.
17. 질문 유형별로는 두 모델의 강점이 조금 다르게 나타났다
- 로컬
384d가 더 잘 맞힌 질문:오늘전통 사업계획서에서 옐로펀치가 협력기관으로 제시되는 근거- 이 질문에서 로컬은
todaytradition을Top1로 올렸고, OpenAI는mou를Top1로 올렸다.
- OpenAI
1536d가 더 잘 맞힌 질문:예비창업자 및 초기 창업기업 대상 지원사업 공동 컨소시엄 협력- 이 질문에서 OpenAI는
mou를Top1로 올렸고, 로컬은todaytradition을Top1로 올렸다.
- 공통적으로 둘 다 헷갈린 질문:
교육 멘토링 세미나 IR 등 기업 육성 프로그램 운영 참여- 두 모델 모두
todaytradition을Top1로 올리고mou를2위로 두었다.
18. 현재 표본 기준으로는 차원 수가 곧바로 품질 우위를 보장하지 않았다
1536dOpenAI 모델이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를 기본 후보로 유지한 채 OpenAI1536d를 비교군으로 계속 두는 편이 합리적이다.
Unresolved
- Company X 소속 사용자 판별 기준
- 어떤 인증 신호로
Company X 내부 문서 검색 허용 사용자를 확정할지 아직 정해지지 않았다.
- Company X 문서의 색인 단위
- 원본 PDF/DOC/HWP를 그대로 청킹할지, 사람이 읽기 쉬운 중간 RAG 포맷으로 정제할지 아직 미정이다.
- Company X 전용 team/collection 경계
- 현재
skill-rag-file은team_id기반 컬렉션 구조를 쓴다. - Company X 내부 문서를 어떤 식별자와 어떤 권한 경계로 넣을지 아직 고정되지 않았다.
- 답변 근거 노출 수준
- 문서명, 문단 요약, 파일 경로, 페이지 위치 중 어디까지 사용자에게 노출할지 아직 정해지지 않았다.
- 질문 해석 규칙
근거 있어?,자료 기준으로,내부 문서 기준으로같은 표현을 별도 의도로 볼지, 일반 질문에 Company X 컨텍스트를 자동 적용할지 아직 미정이다.
- 샘플 문서셋 구성
2,000개 쉬운 문서를 어떤 기준으로 뽑을지 아직 정해지지 않았다.- 오늘전통, MOU, 프로그램 소개, 운영안, 보도자료 초안 같은 문서군 우선순위를 먼저 고정해야 한다.
- OpenAI 1536d와 로컬 384d의 실제 검색 품질 비교 결과
- 현재는
2문서,6질문기준 소규모 retrieval quality 비교 결과만 있다. - 더 큰 문서군과 질문셋에서 같은 경향이 유지되는지는 아직 확인되지 않았다.
현재 결론
- 대표 질문에 대한 현재 실제 로빙 답변은 기대 시나리오를 만족하지 못한다.
- 그러나 내부 NAS 원본에는 관련 근거 문서가 실제로 존재한다.
- 현재 실패 원인은
Company X 근거 없음이 아니라Company X 근거 문서가 런타임 RAG 경로와 연결되지 않음이다. - 시간과 비용 조사 결과,
2,000개 쉬운 문서규모는 실험 가능한 범위이며 비용도 병목이 아니다. - 소규모 품질 비교에서는
384d 로컬과1536d OpenAI가 동률이었으므로, 현 시점에서 모델 교체 결론을 먼저 내릴 필요는 없다. - 따라서 다음 단계
plans는2,000개 샘플 문서셋,20~50개 질문셋,384d vs 1536d 확장 비교,문서 색인,권한 경계,질문 해석,근거답변 형식을 한 번에 고정하는 계획 문서여야 한다.