Deterministic Semantic File Discovery

로컬 파일 검색에서 임베딩·벡터DB·클라우드 RAG 없이도, 사전 파싱된 파일 지도 + 필드별 인덱스 + LLM Wiki식 증거 페이지 + 그래프 라우팅 조합으로 의미 기반 후보를 빠르게 좁히는 설계 패턴.

핵심 정의

이 개념의 초점은 “질문이 들어올 때마다 원본 파일을 다시 훑는 것”이 아니라, 파일이 저장소에 들어오는 시점에 탐색 준비를 끝내는 것이다. 즉 검색 시점의 비용을 줄이기 위해 인덱싱 시점의 구조화를 강화하는 접근이다.

왜 중요한가

  • 일반적인 agent file search는 경로 탐색, 포맷 파싱, 후보 읽기, 재질문을 런타임마다 반복한다.
  • 이 구조는 토큰 비용, 대기 시간, 멀티모달 파일 지원성에서 모두 불리하다.
  • 반면 deterministic semantic file discovery는 에이전트가 매번 “어디를 봐야 하지?”를 다시 계산하지 않도록, 검색 경로를 구조적 단서로 미리 준비해 둔다.

구성 요소

1. 사전 파싱 (Pre-parsing)

PDF, HWP/HWPX, Office, HTML, subtitles, archive, 이미지/영상 OCR·ASR 등 파일별 파싱을 검색 전에 끝낸다.

2. 파일 탐색 지도 (File map)

폴더 프로필, 파일 카드, 중복 힌트, 경로 요약 등을 만들어 단순 디렉터리 나열을 대체한다.

3. 필드별 인덱스 (Fielded index)

경로, 파일명, 폴더명, 확장자, 본문, 메타데이터, 결정론적 의미어를 분리해 점수화한다. “본문 한 군데 매치”보다 어떤 필드에서 왜 매치됐는지 설명 가능하다는 장점이 있다.

4. LLM Wiki식 증거 페이지

원본 전체를 매번 읽는 대신, 각 파일에서 추출한 핵심 정보를 grounded markdown source page로 압축해 에이전트의 1차 탐색 대상을 작게 만든다.

5. 그래프 라우팅

source, folder, term, intent, duplicate 같은 관계를 graph route로 연결하면 “같은 문맥의 이웃 파일”을 더 싸게 후보화할 수 있다.

RAG와의 차이

항목전형적 RAGDeterministic Semantic File Discovery
핵심 준비물임베딩, 벡터DB, 리랭커파서, 필드 인덱스, 위키, 그래프
의미 검색 방식벡터 유사도 중심구조화된 의미 단서 점수화
주된 비용임베딩 구축 + 쿼리 시 검색초기 파싱/색인
설명 가능성상대적으로 낮음왜 이 파일이 후보인지 설명 쉬움
로컬/폐쇄망 적합성구현 복잡도 높을 수 있음상대적으로 단순하고 통제 쉬움

JYP Labs 관점

  • OMW/Obsidian/프로젝트 볼트는 이미 Markdown·링크·frontmatter 자산을 갖고 있어 이 패턴과 잘 맞는다.
  • 핵심은 “검색기”를 하나 더 붙이는 것이 아니라, raw → source → concept → entity로 이어지는 기존 ingest 구조를 탐색 인프라로도 재활용하는 것이다.
  • 따라서 이 개념은 단순 검색 최적화가 아니라, 지식 저장 구조와 에이전트 실행 구조를 한 번에 정렬하는 운영 원칙에 가깝다.

언제 유효한가

  • 문서 외 PDF/HWP/이미지/영상까지 같은 루트에서 찾고 싶을 때
  • 에이전트가 반복적으로 같은 저장소를 탐색할 때
  • 비용보다도 속도·설명 가능성·로컬 제어권이 중요할 때
  • 저장소 규모가 커져서 단순 grep/find만으로는 실무 품질이 안 나올 때

한계

  • 초기 파싱/색인 파이프라인을 설계해야 한다.
  • 저장소 갱신이 잦으면 증분 색인 전략이 필요하다.
  • 의미 단서가 규칙 기반으로 빈약하면 벡터 검색보다 회수율이 낮을 수 있다.
  • 멀티모달 정확도는 OCR/ASR 품질에 직접 좌우된다.

관련 노트