옵시디언(노트 앱)에 AI 자료를 2,800개 넘게 모았습니다. 그런데 막상
"RAG 배우려면 뭐부터 보지?" 하고 찾으려면 폴더를 헤매기 일쑤였어요.
입력은 쉬운데 꺼내 쓰기가 어려운 전형적인 개인 지식관리(PKM)의 함정 —
열심히 쌓을수록 오히려 죽은 자료가 쌓이는 "정보의 무덤"입니다.
온톨로지가 뭔가요? / ontology
이 프로젝트의 핵심 개념부터 짚고 갑니다.
온톨로지 (ontology)
어떤 분야의 개념들과 그 개념들이 맺는 관계를, 사람뿐 아니라
컴퓨터도 이해하고 추론할 수 있도록 명시적으로 정의한
지식의 뼈대.
평범한 노트는 사람만 읽는 글입니다. 컴퓨터에게는 그냥 글자 덩어리예요.
온톨로지는 여기에 "A는 B의 한 종류다", "A는 B를 사용한다", "A를 배우려면 B가
먼저다" 같은 관계의 의미를 기계가 따라갈 수 있게 박아 넣은 것입니다.
그래서 AI가 "이거 배우려면?" 같은 질문에 관계를 타고 답을 추론할 수 있게 되죠.
옵시디언에도 노트를 잇는 [[링크]]가 있습니다. 하지만 그건
"이 둘이 관련 있다"까지만 말해줄 뿐, 어떻게 관련됐는지는 비어 있어요.
온톨로지는 바로 그 빈칸을 채웁니다:
① 속성 그래프(Property Graph)를 채택
개념을 "점", 관계를 "선"으로 표현하고 각각에 속성을 붙이는 방식. RDF·OWL 같은
학술 표준은 강력하지만 무겁고 전문성을 요구해서 건너뛰었습니다. 2024~26년 실무의 주류 선택입니다.
② 관계를 AI로 새로 뽑지 않고, 기존 링크를 그대로 변환
가장 중요한 결정이었어요. AI에게 문서 2,800개를 다시 읽혀 관계를 추출하면
비용도 크고 방향이 뒤집히거나 없는 사실을 지어내는(환각) 오류가 잦습니다.
대신 이미 손으로 걸어둔 위키링크 약 49,000개를 기계적으로 변환했습니다 — 비용 0, 오류 0.
③ 관계의 종류는 딱 8개로 고정isA·broader·narrower·partOf·uses·requires·relatedTo·alternativeTo.
국제 표준(SKOS·schema.org)에서 검증된 어휘를 빌렸습니다. 종류를 늘릴수록 관리가
무너지기 때문에 일부러 적게 유지했어요.
④ 데이터 위생 — 함정 잡기
맥의 한글 파일명(자모 분리 방식)과 노트 속 글자(완성형)가 눈엔 같아도
컴퓨터엔 다른 문자라, 한글 개념의 연결이 대거 끊기는 함정이 있었습니다.
정규화 한 줄로 잡아 연결률이 60%→97%로 뛰었어요. 양방향 중복도 정리했고요.
⑤ 가벼운 도구로 운영
2,819개는 그래프 세계에선 작은 규모라 별도 데이터베이스 없이
파이썬 라이브러리(networkx)로 충분했습니다. 질문에 답하는 "두뇌"는
Claude가 맡아, 그래프에서 관련 부분만 읽어 출처와 함께 답합니다.
결과물 — 브라우저에서 검색·클릭으로 탐색하는 지식 지도. 빨강=먼저 배울 것, 파랑=사용, 보라=종류, 주황=구성요소
그래서 뭐가 좋아지나 / 효용
온톨로지로 만들었을 때 실제로 손에 잡히는 가치 네 가지.
🎓 학습 경로를 데이터로 답한다
"RAG 배우려면 뭐부터?"에 그래프가 requires(선수) 관계를 거꾸로 타고
올라가 순서를 제시합니다. 사람의 감이 아니라 자료 사이의 실제 관계로요.
🕳️ 지식의 빈틈이 보인다
"자동화"는 다른 노트에서 200번 넘게 언급되는데 정작 정리된 페이지가 없었습니다.
온톨로지는 이런 "많이 쓰는데 비어 있는 칸"을 자동으로 드러내, 다음에 뭘 채워야 할지 알려줍니다.
📈 지식이 쌓일수록 똑똑해진다
일반 검색형 AI(RAG)는 매 질문마다 원문을 새로 뒤져 지식이 누적되지 않습니다.
이 구조는 정리본과 관계가 계속 쌓이며 더 좋은 답을 냅니다 — Andrej Karpathy가 제시한
"LLM 위키" 패턴과 같은 원리예요.
✅ 답에 근거가 붙는다
모든 답변이 원본 출처를 함께 제시합니다. AI가 그럴듯하게 지어내는 환각을
구조적으로 줄이는 장치죠.
하루의 여정 / 0 → 시각화
0
작업 공간 + 안전장치
원본 볼트는 읽기 전용으로 잠그고 별도 작업실 구축. 사전 웹조사로 설계 방향 확정.
1
그래프 추출
2,819노드·7,000여 관계, 97% 연결. 한글 정규화 함정 해결.
2
질의응답
"RAG 배우려면?"을 그래프로 답하는 첫 시연 성공.
3
의미 관계 부여
핵심 개념에 requires·uses·isA·partOf 등 45개로 시작 → 이튿날 171개로 확장. AI 제안 → 사람 확인 방식.
★
시각화 + 자동화
브라우저 지도 + 더블클릭 새로고침 파일. 누구나 보고 쓸 수 있게.
이튿날의 진전 / 6월 8일
첫날 만든 뼈대 위에서, 길 안내를 더 촘촘하고 정확하게 다듬었습니다.
🎨 의미 관계 45개 → 171개
가장 붐비는 "환승역" 25곳(마케팅·워크플로우·백엔드·데이터베이스 등)을 골라 색을 입혔습니다.
예를 들어 "백엔드"는 Django·FastAPI 등 쓰는 도구 10개가, "관계형 데이터베이스"는
NoSQL이 대안이라는 관계가 박혔어요. 외딴 개념을 전부 칠하기보다 자주 묻는 길목부터 칠하는 전략입니다.
🧭 관계의 8가지 색을 모두 켰다
첫날엔 "먼저 배울 것·쓰는 것·하위 유형" 위주였는데, 이날 하위 갈래·상위 개념·대안 관계까지
질의에 또렷이 표시되도록 보강했습니다. 이제 한 개념을 물으면 8가지 방향으로 정리된 답이 나옵니다.
🐞 실제로 질문해보다 숨은 버그를 잡았다
"마케팅 자동화 하려면?"이라 물었더니 엉뚱하게 더 큰 "마케팅"으로 답이 새던 문제를 발견했습니다.
이름이 비슷한 개념끼리 검색이 헷갈리던 건데, 정식 이름이 정확히 맞는 것을 최우선으로 잡도록 고쳤어요.
색칠을 100개 더 하는 것보다 이 버그 하나 잡은 게 훨씬 컸습니다 — 모든 질문의 정확도가 걸린 문제였거든요.
교훈: 온톨로지는 "끝없이 칠하는 일"이 아닙니다. 주요 길목을 칠한 뒤엔, 실제로 써보며 빠진 곳·틀린 곳을 골라 고치는 게 더 효율적이었습니다. 끝이 있는 작업이죠.
사흘째 — 진짜 제품과 견주다 / 6월 9일
AI 유튜버 알렉스가 만든 오픈소스 온톨로지 시스템 OpenCrab과 비교해, 내 것에 빠진 기능 셋을 가볍게 이식했습니다. 새 프로그램 설치는 0개로요.
🔍 ① 검색이 똑똑해졌다
예전엔 정확한 이름을 쳐야만 찾았어요. 이제 오타("GrafRAG")·다른 표현·여러 단어("지식 그래프 검색")로 물어도 가장 가까운 개념을 점수로 매겨 찾아줍니다. 못 찾으면 "혹시 이거?" 하고 비슷한 걸 권하고요.
🗺️ ② 분야 전체 지도를 본다
그동안은 개념 하나를 물으면 그 주변만 보여줬어요. 이제 자료 전체를 비슷한 것끼리 묶고 묶음마다 한 줄 요약을 붙여 "숲 전체"를 보여줍니다. AIVault는 52개 분야로 갈리더군요. 나무만 보던 데서 숲을 보는 눈이 생긴 셈이에요.
🧹 ③ 흩어진 같은 개념을 묶는다
"AI_영상제작"과 "AI_영상_제작"처럼 띄어쓰기만 다른데 따로 놀던 개념이 많았어요. 이런 쌍을 자동으로 찾아냅니다(AIVault에서 579쌍). 원본은 안 건드리고 사람이 확인한 것만 합치는 안전한 방식으로요.
🧪 '온톨로지' 자체를 배우는 작은 지도
위 기능들을 깨끗한 새 주제에서 검증하려고, 온톨로지·지식그래프 개념 35개로 작은 지식 지도를 새로 만들었습니다. RDF·GraphRAG·벡터검색 같은 개념이 5개 분야로 또렷이 묶이더군요.
그리고 만든 걸 전수 검사하다 실행이 아예 안 되던 버그 둘을 잡았습니다. "다 됐다"는 말이 위험하다는 걸 다시 배웠어요 — 검사 19개를 통과시켜 안전망부터 깔았습니다.
그날 저녁 — 작은 지도를 두 배로 / 35 → 78
기능 검증용으로 만든 '온톨로지 학습 지도'가 마음에 들어, 기술뿐 아니라 배경지식까지 채워 제대로 된 학습 지도로 키웠습니다.
35→78
개념 노드
217
연결 관계
65
의미 관계
7
분야 묶음
📚 기술 위주 지도에 '뿌리'를 붙였다
예전엔 GraphRAG·벡터검색 같은 기술 부품만 있었어요. 이번엔 온톨로지가
철학에서 나와 시맨틱웹·구글 지식그래프로 흘러온 역사, 의료(SNOMED)·생명과학(Gene Ontology)
같은 실제 쓰임, LLM과 결합해 환각을 줄이는 앞으로의 방향까지 18개 개념을 더했습니다.
기술과 맥락이 한 장에 놓이니 "왜 중요한가"가 보입니다.
🔬 사실은 웹조사로 1차 출처까지 확인
역사·정의·사례는 지어내면 안 되니, 웹 조사 후 여러 검증자가 교차 확인한 사실만 실었습니다.
Gruber의 1993년 정의, 2001년 시맨틱웹 논문, schema.org 통합 같은 핵심은 모두 원문 출처로 확정했어요.
🦀 견줘본 OpenCrab의 구조도 지도에 담았다
비교 대상이던 OpenCrab이 지식을 어떻게 짜는지(9개 의미공간·추출 파이프라인·증거 추적 등) 8개 개념으로 정리해,
내 것과 나란히 놓고 볼 수 있게 했습니다.
🗺️ 자동으로 7개 분야로 갈렸다
검색·RAG / 온톨로지 기초·역사 / 시맨틱웹 / 그래프 분석 / 엔티티 추출 / 지식그래프 시스템 / LLM 결합.
각 묶음에 한 줄 요약이 붙어 숲 전체가 한눈에 보입니다.
👉 이 지도 직접 둘러보기
나흘째 — 지도를 모두의 AI에 꽂다 / 6월 10일 · MCP
지금까진 이 지도를 제 컴퓨터의 Claude에서만 쓸 수 있었습니다. 이날 MCP라는 표준 연결 규격으로 열어, 팀원 각자가 쓰는 AI 챗에서 도구처럼 부를 수 있게 했습니다.
MCP (Model Context Protocol)
AI 챗에 외부 도구·데이터를 꽂는 표준 커넥터.
전자제품의 USB처럼, 한 번 규격을 맞춰두면 ChatGPT·Claude·Gemini
어디에든 같은 방식으로 연결됩니다.
🔌 도구 세 개로 열었다
① 키워드로 관련 개념·관계·출처를 찾는 질의, ② 자료 전체가 어떤 분야로
묶이는지 보는 지형도, ③ 한 줄 정의로 부족할 때 위키 원문 전체를
가져오는 읽기. AI에게 "체험홈 관련 우리 자료 보여줘"라고 말하면 AI가 이 도구를
알아서 골라 씁니다.
🌐 24시간 서버에 올렸다
제 컴퓨터가 꺼져 있어도 팀이 쓸 수 있도록 상시 가동 서버에 배포했습니다.
접근 주소 자체가 비밀번호 역할을 하는 비밀 URL + 요청 횟수 제한으로
보호하고요. AI지도뿐 아니라 장하세 사업 지도도 같은 창구로 질의됩니다.
🧪 만들고 끝이 아니라 검수까지
코드 검사기(린트) 0건, 자동 검사 21개 전부 통과. 검사 중에 기준
데이터가 낡아 있던 문제도 하나 찾아 바로잡았습니다. 자료가 늘면 명령 하나로
재배포되는 갱신 스크립트도 만들었어요(자동 배포는 일부러 안 걸었습니다 — 사람이 확인하고 누릅니다).
🪪 출입카드를 두 종류로 — 권한 분리
같은 창구라도 누가 들어오느냐에 따라 보이는 자료를 갈랐습니다.
제 카드는 모든 볼트(AI·장하세·투자·온톨로지)를, 팀 카드는
장하세 자료 하나만 봅니다. 팀에게 다른 볼트가 새어 나가지 않도록요.
투자 메모 볼트(InvestVault)도 이날 검색 대상에 새로 들였습니다.
✍️ 이제 '넣기'도 된다 — vault_capture
지금까진 볼트에서 꺼내 읽기만 됐는데, 폰이나 웹챗에서
"이 대화 투자 볼트에 넣어줘" 하면 해당 볼트에 메모로 저장됩니다.
새 서버 없이 기존 창구에 도구 하나만 더 붙여, 커넥터 하나로 읽기·쓰기를 다 했어요.
넣고 → 자동 정리 → 꺼내 쓰는 한 바퀴가 완성됐습니다.
🧹 온톨로지 볼트를 실무용으로
너무 기술 중심이던 테스트 볼트를 소상공인·직장인이 바로 쓸 AI 활용
쪽으로 정리했습니다. 자료 수집 방향을 바꾸고, 쓸모 있는 개념 17개를 본지도로
올리고, 비어 있던 분야 요약도 채웠어요.
온톨로지는 "자료를 쌓는 일"이 아니라 "자료끼리 잇는 일"입니다.
그래서 무덤이 지도가 됐습니다.