검색 벤치 — 18에서 23으로
본편 「GraphRAG 검색 원리」의 짝꿍 — 실제 24문항을 돌려 정답률을 어떻게 끌어올렸는지, 그리고 정직하게 못 잡은 1개까지.
- "정답·상위 5위·속도"가 정확히 무슨 뜻인지
- 같은 질문을 기본 검색 vs GraphRAG로 돌리면 얼마나 다른지 (0 · 7 · 23)
- 18을 23으로 올린 3단계 — 그리고 점수 부풀리기를 안 했다는 증거
- 순위도 없는 기본 검색이 그래도 꽤 먹히는 이유 (우리 볼트 구조)
먼저 — 용어 3개만
표와 막대를 보기 전에, 딱 3개만 알면 됩니다. 어렵지 않아요.
질문마다 "이 문서가 나와야 한다"고 미리 정해둔 핵심 문서입니다. 대부분 주제별 목차(MOC) 문서예요. 검색 결과에 이게 뜨면 정답.
검색 결과 목록의 맨 위 5개 안에 정답이 들어왔는가. 사람은 보통 위 5개만 보니까, "위 5개 안에 정답이 있나"가 실질 성공 기준입니다. 23/24는 24문항 중 23개에서 정답이 상위 5위 안에 들어왔다는 뜻.
질문 하나에 답을 찾기까지 걸린 시간(밀리초, 1000ms=1초). 같은 질문을 3번 돌려 가운데값(중앙값)을 씁니다.
같은 24문항 — 0 · 7 · 23
똑같은 24개 질문을 두 방식으로 돌렸습니다. 막대는 "정답을 상위 5위 안에 올린 개수"입니다.
옵시디언 기본 검색은 'MCP'라는 글자가 든 곳을 전부 찾아주지만 — "어느 게 더 관련 있나"를 판단하지 않습니다(순위가 없음). 그래서 흔한 단어일수록 정답이 묻혀요. 실제로 "MCP" 검색 = 1,279개 결과가 나오는데 정답은 357위에 묻혔습니다. '찾아지냐'는 되지만 '정답이 위로 오느냐'가 안 되는 거죠.
18 → 23, 어떻게 올렸나
설정값(채널 가중치)만으로는 18이 천장이었습니다. 검색 엔진의 핵심 부품(의미 모델)을 더 똑똑한 것으로 교체하고, 벤치 정답 자체의 오류를 바로잡으니 23까지 올랐어요. 세 단계로:
더 똑똑한 의미 모델
의미를 좌표로 바꾸는 모델을 옛것(MiniLM)에서 한국어·다국어에 강한 새 모델 bge-m3로 교체하고 채널 합산 방식을 손봤습니다. 검색 자체가 18→20.
전혀 다른 48문항으로도 검증
"24문항에만 맞춘 꼼수 아니냐"를 막으려고, 겹치지 않는 48개 독립 질문으로도 측정했습니다 → 9 → 15 동반 상승, 하나도 안 깎임. 특정 문제집 답을 외운 게 아니라 전체 실력이 늘었다는 증거.
틀린 건 검색이 아니라 정답이었다
원래 '놓침' 6개 중 3개(Q07·Q08·Q21)는 검색이 더 나은 노트를 1위로 올렸는데 우리가 적어둔 정답이 좁았던 것. 정답 정의를 바로잡으니 23.
새 모델이 더 무거워서 속도는 조금 느려집니다(테스트 측정 약 0.15초 → 0.23초). 정확도(18→23)를 위해 속도를 조금 내준 셈 — 그래도 0.23초라 체감은 어렵습니다.
기본 검색은 왜 '그래도' 먹히나
순위도 없는 기본 검색이 24문항 중 7개나 잡는 건 도구가 좋아서가 아니라, 우리가 노트를 구조적으로 잘 정리해뒀기 때문입니다. 4가지 구조가 받쳐줘요 — 전부 실측.
노트 이름에 핵심 주제어를 그대로 넣는 규율(예: MCP-생태계-MOC·GraphRAG-Theory-MOC). 그래서 결과를 '파일명에 질문어가 든 것' 우선으로 다시 줄 세우면 정답이 위로 올라옵니다.
노트 윗부분에 영문/한글 별칭(aliases)과 태그를 달아둡니다. 영어로 검색해도 한글 노트가, 한글로 검색해도 영문 개념이 걸려요. ("MCP" 노트 별칭 = "Model Context Protocol" 등.)
주제마다 'MOC' 목차 노트를 둬 관련 문서를 모으고, 노트끼리 촘촘히 링크로 엮습니다. 그래서 "이 노트로 뭐가 연결됐나"를 즉시 답할 수 있어요 — 이건 기본 검색(CLI)이 GraphRAG보다 오히려 잘하는 영역입니다.
한 장 요약
무엇을 쟀나 — 같은 24개 질문에 정답이 상위 5위 안에 들어오는 비율. 사람이 실제로 보는 건 위 몇 개니까요.
왜 올랐나 — ① 의미 모델 교체(bge-m3) ② 별도 48문항 검증(과적합 차단) ③ 잘못 적은 정답 교정. 셋이 합쳐 23.
왜 믿나 — 끝까지 못 잡은 1개(Q09)를 끼워맞추지 않고 남겼습니다. 24가 아니라 정직한 23인 이유.
기본 검색과의 관계 — 우열이 아니라 용도. 정확히 알면 기본 검색, "그게 어디 있더라"는 GraphRAG.
근거 raw:
gr_goldfix_24q.json(개선 후 23/24·mrr 0.81) · broadval-48q(광범위 9→15) · 측정 = 라이브 서버 24문항×3회