본문 바로가기
AI/오픈 소스 소개

Obsidian 노트 검색 AI, 하루 MVP는 어디까지 만들까

by 고돌한 AI 2026. 9. 14.
반응형
Obsidian 노트 카드와 의미 연결망으로 표현한 노트 검색 AI 대표 이미지

Obsidian 노트 검색 AI, 하루 MVP는 어디까지 만들까

하루 안에 만들 범위는 거창한 ‘두 번째 뇌’가 아니라, Obsidian에서 문장이 정확히 일치하지 않아도 관련 노트를 찾는 의미 검색까지입니다. Smart Connections를 설치해 복제한 테스트 vault를 색인하고, 질문 5개로 결과를 확인하는 데서 멈추면 됩니다. 답변 생성과 자동 수정은 다음 단계로 미뤄야 개인정보 경계도 훨씬 선명해집니다.

30초 요약

  • 하루 MVP는 Smart Connections 설치, 로컬 색인, 의미 검색 검증까지입니다.
  • 원본 vault 대신 민감정보를 뺀 복제 vault로 시작합니다.
  • 의미 검색은 관련 후보를 찾는 도구이지 정답 판정기가 아닙니다.
  • ‘로컬’이어도 동기화·백업·외부 모델·로그 설정은 따로 확인해야 합니다.
  • 제품으로 확장한다면 기능보다 라이선스와 데이터 흐름부터 다시 설계해야 합니다.

왜 Smart Connections를 하루 MVP로 골랐을까?

후보는 Smart Connections, Copilot for Obsidian, Khoj 세 가지로 좁혔습니다. 모두 노트 검색 AI로 발전시킬 수 있지만, 첫날 필요한 것은 기능의 넓이가 아니라 실패 지점을 빨리 보는 작은 실험입니다.

후보 하루 MVP 적합성 커지는 지점 라이선스
Smart Connections 플러그인 설치 뒤 내장 로컬 임베딩으로 시작 고급 모델 연결과 제품화 Smart Plugins License, source available
Copilot for Obsidian 로컬 검색과 채팅을 함께 구성 가능 모델·에이전트 경로 선택 AGPL-3.0
Khoj self-host와 여러 클라이언트 지원 서버 운영과 기능 범위 AGPL-3.0

Smart Connections의 공식 README는 내장 로컬 임베딩 모델, API 키 없는 시작, vault 전체를 대상으로 하는 Lookup 의미 검색을 안내합니다. 2026년 9월 14일 확인 기준 GitHub 최신 릴리스는 4.7.2이며, 2026년 8월 6일 공개됐습니다. 이 버전은 Obsidian 1.8.7 이상과 Smart Environment v3를 요구합니다.

여기서 이름 때문에 헷갈릴 부분이 하나 있습니다. Smart Connections는 소스 코드를 볼 수 있지만 현재 OSI(Open Source Initiative) 기준의 오픈 소스는 아닙니다. 공식 라이선스 페이지는 이를 source available로 설명하며, 일반 목적의 경쟁 Obsidian 제품에 코드를 실질적으로 재사용하는 경우를 제한합니다.

개인용 MVP를 만드는 일과 그 코드를 서비스로 파는 일은 같은 문제가 아닙니다. 첫날에는 플러그인을 그대로 써서 검색 가치만 검증하고, 제품화 판단은 라이선스 원문 검토 뒤로 분리하는 편이 안전합니다.

의미 검색은 기존 검색과 무엇이 다를까?

Obsidian 기본 검색이 서랍의 라벨을 읽는 방식이라면, 의미 검색은 서랍 안 물건의 용도를 보고 비슷한 것을 모으는 방식에 가깝습니다. ‘회의 회고’라는 단어가 없어도 배포가 늦어진 이유와 다음 개선안을 적은 노트를 후보로 올릴 수 있습니다.

노트 문장을 벡터로 바꿔 의미가 가까운 결과를 찾는 과정

문서 기반 예상 예시를 보겠습니다. 다음 세 노트가 있다고 가정합니다.

A.md: 로그인 API 배포가 늦어진 원인은 승인 절차였다.
B.md: 다음 스프린트부터 배포 승인 담당자를 오전에 지정한다.
C.md: 주말에 읽을 데이터베이스 책 목록.

질의가 배포 지연을 다음에는 어떻게 줄일까?라면 A와 B가 상위 후보로 나오는 흐름을 기대할 수 있습니다. 플러그인은 노트 조각을 임베딩, 즉 의미를 비교하기 위한 숫자 벡터로 바꾸고 질의 벡터와 가까운 항목을 찾습니다.

다만 의미가 가깝다고 사실까지 맞는 것은 아닙니다. 공식 README도 정확한 질의 문자열을 포함한 노트가 의미상 유사하지 않으면 결과에서 빠질 수 있다고 설명합니다. 파일명, 오류 코드, 사람 이름처럼 정확한 문자열이 중요한 검색은 기본 검색과 나란히 써야 합니다.

하루 MVP는 이 네 단계면 충분합니다

첫 실험에서 원본 vault 전체를 넣지 마세요. 노트 AI가 똑똑한지 보기 전에 테스트 설계가 대범해지면, 개인정보만 먼저 야근하게 됩니다.

1. 테스트 vault를 따로 만듭니다

업무 방식이 드러나는 일반 노트 30~50개만 복사합니다. 비밀번호, API 키, 주민등록번호, 건강 기록, 인사 평가, 고객 정보가 든 노트와 첨부파일은 제외합니다.

복사한 폴더가 클라우드 동기화나 자동 백업 대상인지도 확인합니다. ‘테스트용’이라는 폴더 이름은 보안 기능이 아닙니다.

2. 플러그인을 설치하고 색인 완료를 확인합니다

Obsidian의 Community plugins에서 Smart Connections를 찾아 설치하고 활성화합니다. 공식 README에 따르면 내장 로컬 모델이 임베딩 생성을 시작하며, 별도 API 키나 CLI(Command Line Interface, 명령줄 도구)는 필요하지 않습니다.

2026년 9월 14일 기준 4.7.2를 전제로 하되, 설치 화면에서 실제 버전과 요구 Obsidian 버전을 다시 확인하세요. 색인 소요 시간은 기기와 노트 양에 따라 달라질 수 있으므로 이 글에서는 수치를 약속하지 않습니다.

3. 정답을 아는 질문 5개를 던집니다

Lookup view에서 표현이 다른 질문을 준비합니다. 질문마다 기대 노트 1~3개를 미리 적어 두면 ‘그럴듯해 보였다’가 아니라 찾았는지 놓쳤는지 판단할 수 있습니다.

질문: 배포 승인이 늦어졌던 이유는?
기대 노트: A.md
관련 후보: B.md
무관 후보: C.md

합격 기준은 단순하게 잡습니다. 다섯 질문에서 기대 노트가 자주 상위 후보에 보이는지, 무관한 노트가 반복해서 끼는지, 정확한 키워드 검색을 병행해야 하는 질문은 무엇인지 기록합니다. 실제 결과를 측정하지 않은 상태에서 정확도나 속도 수치를 붙이지 않는 것도 검증의 일부입니다.

4. 검색까지만 하고 하루를 끝냅니다

검색 결과를 읽고 원문 노트로 이동할 수 있으면 MVP는 끝입니다. 답변 생성, 노트 자동 수정, 에이전트의 파일 쓰기 권한, 외부 웹 검색은 모두 데이터 흐름과 실패 비용을 키웁니다.

첫날의 성공 질문은 “AI가 멋진 답을 했나?”가 아닙니다. “잊고 있던 관련 노트를 다시 찾는 데 도움이 됐나?”입니다.

바이브코딩으로 무엇을 붙이면 좋을까?

검색 가치가 확인된 뒤에는 결과를 평가하는 작은 도구부터 붙이는 편이 낫습니다. 아래 프롬프트는 Smart Connections 코드를 복제하라는 주문이 아니라, 별도 평가 스크립트의 요구사항을 정리한 예시입니다.

Python으로 로컬 검색 평가 CLI를 만들어줘.
입력은 questions.jsonl이며 각 줄에는 query, expected_files가 있다.
검색 결과 JSON에서 상위 5개 파일명을 읽고 hit@5를 계산한다.
노트 본문은 출력하거나 로그에 남기지 않는다.
결과는 query_id, expected_count, hit_count만 CSV로 저장한다.
경로 오류와 빈 결과는 명확한 종료 코드로 구분한다.
테스트용 가짜 데이터와 pytest 테스트를 함께 작성한다.

이 확장의 장점은 검색 품질을 감상 대신 반복 가능한 숫자로 비교할 수 있다는 점입니다. 반대로 실제 vault 본문을 로그에 남기거나 외부 분석 서비스로 보내면, 검색 평가 도구가 새 유출 경로가 됩니다.

자체 검색 엔진으로 더 나아갈 때는 Markdown 분할, 임베딩 생성, 벡터 저장, 상위 결과 반환을 각각 교체 가능한 모듈로 나누세요. Ollama 공식 API는 로컬 POST /api/embed에 모델과 입력을 보내 임베딩 벡터를 받는 방식을 제공합니다. 이것은 확장 선택지일 뿐 Smart Connections의 필수 구성은 아닙니다.

‘로컬’이라는 말로 개인정보 검토를 끝내면 안 됩니다

Smart Connections 공식 문서는 기본 임베딩이 로컬에서 만들어지고 노트가 기기에 남는다고 설명합니다. 이 기본값은 좋은 출발점이지만, 시스템 전체가 자동으로 폐쇄망이 된다는 뜻은 아닙니다.

로컬 노트 저장소와 동기화, 외부 모델, 백업, 네트워크 경계를 구분한 개인정보 구조

다음 경계를 따로 확인해야 합니다.

  • vault와 테스트 복사본이 어떤 동기화·백업 서비스에 올라가는가
  • 설치한 다른 커뮤니티 플러그인이 파일이나 네트워크에 접근하는가
  • 채팅 기능을 추가할 때 어떤 노트 문맥이 어느 모델 제공자에게 전송되는가
  • 임베딩, 검색 질의, 오류 로그와 캐시가 어디에 저장되는가
  • 로컬 API가 외부 네트워크 인터페이스에 노출돼 있는가

예를 들어 Copilot for Obsidian의 공식 README는 로컬 Miyo 인덱스가 기기에 남더라도, 프롬프트와 포함된 문맥은 사용자가 선택한 모델이나 서비스로 간다고 분명히 나눕니다. 인덱스의 위치와 답변 생성 경로는 별개의 질문입니다.

Ollama도 로컬 실행 때 프롬프트와 데이터를 보지 않는다고 안내하지만, 기본 127.0.0.1:11434 바인딩은 설정으로 바꿀 수 있습니다. 클라우드 기능을 완전히 끄려면 공식 FAQ의 OLLAMA_NO_CLOUD=1 같은 설정을 검토할 수 있습니다. 로컬은 제품명이 아니라 구성 상태입니다.

언제 이 MVP를 쓰고, 언제 멈춰야 할까?

연구 메모, 글감, 기술 결정 기록처럼 서로 다른 표현으로 같은 문제를 적어 둔 vault라면 의미 검색의 이점이 큽니다. 노트가 많아 기본 검색 결과를 매번 훑는 사람에게도 잘 맞습니다.

반면 노트가 몇십 개뿐이고 파일명과 태그가 잘 정리돼 있다면 기본 검색으로 충분할 수 있습니다. 주민번호, 진료 기록, 고객 비밀, 인사 자료처럼 노출 비용이 큰 정보가 중심이라면 개인 실험보다 조직의 보안·법무 기준이 먼저입니다.

제품화 계획이 있다면 Smart Connections 코드를 곧바로 기반으로 삼지 마세요. 공식 Smart Plugins License는 개인 사용과 단일 조직 내부 사용을 허용한다고 설명하지만, 여러 고객에게 제공하는 경쟁 제품에는 제한을 둡니다. 통합만 할지, 독립 구현할지, 다른 AGPL 프로젝트를 검토할지 법률 검토와 함께 결정해야 합니다.

오늘 할 다음 행동은 작습니다. 민감정보를 뺀 복제 vault를 만들고, 답을 아는 질문 5개를 적은 뒤, Smart Connections의 관련 노트 결과만 확인하세요. 검색이 쓸모 있다는 증거가 나온 다음에야 채팅과 자동화를 붙일 이유가 생깁니다.

핵심 정리: 다섯 가지 질문과 답

Q. 하루 MVP의 완료 조건은 무엇인가요?

복제한 테스트 vault를 로컬로 색인하고, 준비한 질문 5개에서 관련 노트를 찾을 수 있는지 확인하면 끝입니다. 답변 생성과 자동 수정은 포함하지 않습니다.

Q. 왜 Smart Connections를 먼저 고르나요?

내장 로컬 임베딩과 API 키 없는 설치 경로가 공식 문서에 제시돼 있어 첫 실험의 구성 요소가 가장 적기 때문입니다. 기능이 더 넓은 Copilot이나 Khoj는 다음 단계 후보입니다.

Q. 의미 검색이 기본 검색을 대체하나요?

아닙니다. 의미가 비슷한 노트를 찾는 데 유리하지만 파일명, 오류 코드, 사람 이름처럼 정확한 문자열은 기본 검색이 더 적합할 수 있습니다.

Q. 로컬 임베딩이면 개인정보 걱정이 끝나나요?

아닙니다. 동기화와 백업, 다른 플러그인, 외부 모델, 로그, 로컬 API의 네트워크 노출을 각각 확인해야 합니다.

Q. 이 MVP를 바로 제품으로 팔 수 있나요?

개인 실험과 제품화는 라이선스 조건이 다릅니다. Smart Connections는 현재 OSI 오픈 소스가 아닌 source available이므로 경쟁 제품으로 확장하기 전 공식 라이선스 원문과 법률 검토가 필요합니다.

출처

  • Smart Connections 공식 저장소: https://github.com/brianpetro/obsidian-smart-connections
  • Smart Connections 릴리스: https://github.com/brianpetro/obsidian-smart-connections/releases
  • Smart Plugins License: https://smartconnections.app/legal/license/
  • Copilot for Obsidian 공식 저장소: https://github.com/logancyang/obsidian-copilot
  • Khoj 공식 저장소: https://github.com/khoj-ai/khoj
  • Ollama Embed API: https://docs.ollama.com/api/embed
  • Ollama FAQ: https://docs.ollama.com/faq
반응형

댓글