Skip to content
게으른 엔지니어의 기술 블로그
Go back

여섯 개를 다 보고 나서 — 지금 만드는 것과 비교해보니

비슷한 옵시디안 플러그인 여섯 개를 파보니 · 7/7편

지난 글까지 여섯 개를 하나씩 봤다. 이번엔 이 여섯 개를 한 판에 놓고, 지금 만드는 플러그인과 종합적으로 비교한다.

한눈에 — 여섯 개 + 지금 만드는 것

스타/포크마지막 활동검색 방식시크릿 저장아키텍처
obsidian-llm-wiki551★/689월 1일그래프 PPR, 임베딩 없음OS 키체인믹스인(Object.assign)
AI Wiki4★/09월 2일RAGlocal.json 분리얇은 main + Controller
AI RAG + LLM Wiki4★/0하루 만에 중단(4월)RAG(리랭크·퓨전)확인 안 됨서비스 30개
Auto LLM Wiki13★/48/20확인 안 됨확인 안 됨Provider 인터페이스
Ziran LLM Wiki1★/08/27에이전트 툴 호출확인 안 됨에이전트 + 음성
GenWiki1★/06월(멈춤)RAG(임베딩)확인 안 됨모놀리식 1파일
지금 만드는 것——RAG평문 data.jsonmain+ChatView

시크릿 저장 — 바로 손봐야 할 하나

여섯 개 중 검증 가능했던 두 곳(obsidian-llm-wiki, AI Wiki)이 전부 API 키를 동기화 대상(data.json)에서 빼뒀다. 지금 만드는 플러그인은 apiKey/openaiApiKey/claudeApiKey가 평범한 설정 필드로 data.json에 저장되고 있고, 지금 CouchDB(LiveSync)로 볼트를 동기화하고 있으니 이 키들이 그대로 동기화 서버에 올라가고 있다는 뜻이다. 이번 조사 전체에서 가장 실질적이고 급한 발견이었다.

검색 방식 — RAG가 다수파, 그래프는 소수파지만 근거가 있다

여섯 개 중 명확히 확인된 것만 보면 RAG(임베딩) 계열이 다수고, obsidian-llm-wiki만 그래프+PPR로 임베딩을 아예 안 쓴다. 근데 이 소수 선택엔 근거가 있었다 — 자체 벤치마크로 순수 kNN 대비 우위를 주장하고 있고, 이론적으로도 “의미적으로 비슷해 보이는데 실제로는 무관하다”는 위험이 링크 기반 그래프에서는 구조적으로 줄어든다(링크가 있어야만 관련 있다고 취급하니까). 다만 링크가 안 걸린 진짜 관련 정보를 놓칠 수 있다는 대가도 있다.

아키텍처 — 모놀리식에서 서비스 레이어까지 스펙트럼

GenWiki(파일 1개, 1099줄) → 지금 만드는 것(main+ChatView 이원화) → Auto LLM Wiki(Provider 인터페이스로 최소 분리) → AI Wiki(컨트롤러 분리) → obsidian-llm-wiki(믹스인으로 잘게 쪼갬) → AI RAG + LLM Wiki(서비스 30개)까지, 규모가 커질수록 자연스럽게 이 스펙트럼을 따라 이동하는 걸로 보였다. 지금 규모에서 서비스 레이어까지 갈 필요는 없어 보이지만, 기능이 더 늘어나면 컨트롤러 분리 정도는 고려할 만하다.

차별점이라고 생각했던 것 — 다시 파보니 둘 다 근거가 없었다

여섯 개를 다 열어봐도 하나같이 “지식(개념·엔티티) 위키”에 집중하고 있었다. 팀원의 성장 궤적·약속·1:1 면담록·프로젝트 역사를 대화하듯 추적한다는, 지금 만드는 플러그인의 원래 목표는 이 여섯 개 어디에도 없었다. 그래서 처음엔 이걸 “남는 차별점”으로, RAG의 오탐 문제를 그래프 방식 대비 약점으로 정리했다. 근데 둘 다 더 파보니 근거가 없었다.

관리자 시점 사람 추적은, 코드를 직접 뜯어보니 지금 아키텍처가 못 뒷받침한다는 게 드러났다. 엔티티 페이지가 새 정보를 받을 때마다 기존 내용에 하나의 서술로 병합되는 구조라, “몇 번째 만남에서 무슨 얘기를 했는지” 같은 회차 경계 자체가 병합 과정에서 사라진다 — “두 번째 1:1이 뭐였어?” 같은 질문에 지금 구조로는 답 못 한다. 만들려면 아키텍처를 새로 짜야 하는데, 그럴 계획은 없다.

RAG 오탐도 마찬가지였다. “직접 겪은 사례가 있다”고 썼던 근거는 사실 RAG 파이프라인(RagRetriever) 밖(기능 설계 논의)에서 난 사건이었고, RagRetriever 자체를 실제 볼트(329개 실제 노트)로 두 번(다른 모델로 한 번씩) 실측해봐도 오탐이 한 건도 안 나왔다. 검증 게이트를 만들 근거가 없었다.

정리

이번 시리즈에서 실제로 액션으로 이어진 건 결국 하나였다 — API 키를 동기화 안 되는 곳(local.json)으로 옮긴 것. 나머지 둘(RAG 검증 게이트, 관리자 시점 사람 추적)은 처음엔 그럴듯해 보였지만, 더 파보니 둘 다 근거가 확인 안 된 채로 단정했던 것들이었다. 코드를 직접 열어보고 실제로 돌려보지 않았으면, 이 셋 중 뭐가 진짜고 뭐가 아닌지 끝까지 몰랐을 거다.


Share this post:

비슷한 옵시디안 플러그인 여섯 개를 파보니

  1. 1. obsidian-llm-wiki(karpathywiki)를 파보니 — 임베딩 없이 그래프로 검색하는 이유
  2. 2. AI Wiki(ikeniborn)를 파보니 — API 키를 data.json에서 뺀 이유
  3. 3. AI RAG + LLM Wiki를 파보니 — 서비스 파일 30개짜리 설계가 하루 만에 버려졌다
  4. 4. Auto LLM Wiki를 파보니 — 바꾸기 전에 미리 보여주는 게 핵심이었다
  5. 5. Ziran LLM Wiki를 파보니 — 말로 설명하면 평가해주는 파인만 학습법
  6. 6. GenWiki를 파보니 — 1099줄짜리 파일 하나가 전부였다
  7. 7. 여섯 개를 다 보고 나서 — 지금 만드는 것과 비교해보니