-
-
온톨로지 비법노트 - AI가 진짜 이해하는 지식 구조: AI가 데이터의 ‘의미’를 이해하고 RAG를 고도화하는 온톨로지 실전 가이드 ㅣ 비법노트 시리즈 (리코멘드)
김정석 지음 / 리코멘드 / 2026년 10월
평점 :
본 서평은 출판사로부터 도서를 제공받아 작성했습니다.
"검색은 잘 되는데, 답이 자꾸 틀려요"
RAG를 한 번이라도 운영 환경에 올려본 사람이라면 이 문장에 바로 고개를 끄덕일 것이다. 임베딩 모델을 바꿔 보고, 청크 크기를 조정하고, 리랭커를 붙여도 어느 지점부터는 정확도가 더 오르지 않는다. 검색 결과를 열어 보면 분명 질문과 "비슷한" 문서가 올라와 있는데, 그 문서가 질문에 대한 원인인지, 전제 조건인지, 예외 조항인지는 아무도 구분해 주지 않는다. 벡터 검색은 유사도를 계산할 뿐, 의미 관계를 모른다.
『온톨로지 비법노트』는 바로 그 빈자리를 다루는 책이다. RAG 비법노트 기본편·심화편·랭그래프편에 이은 비법노트 시리즈의 네 번째 책으로, 저자 김정석(㈜클레버플랜트 대표)이 "AI가 데이터의 의미를 이해하게 만드는" 도구로 온톨로지를 꺼내 든다. 284쪽, 2026년 10월 출간.
책의 구조 — 이론 절반, 손으로 만들기 절반
목차는 크게 두 덩어리로 나뉜다.
전반부(1~4장)는 "왜 온톨로지인가"에 대한 답이다. LLM 단독 답변, RAG, Graph RAG를 나란히 놓고 각각이 어디서 무너지는지를 보여주고, 데이터가 의미를 가져야 하는 이유를 1차 논리(FOL)와 ASP(Answer Set Programming)까지 내려가서 설명한다. 비정형 데이터를 추론 기반으로 온톨로지화하는 장과 시맨틱 웹의 역사까지 짚고 넘어가는데, 이 부분은 RDF·OWL을 처음 접하는 독자에게 특히 필요한 배경이다.
후반부(5~8장)는 실습이다. 서울시 실시간 도시 데이터(인구, 교통, 주차, CCTV, 전기차 충전소)를 재료로 온톨로지를 직접 설계하고, Protégé로 모델링 → SHACL로 제약 검증 → Fuseki에 적재 → SPARQL로 질의하는 흐름을 하나로 이어 간다. 그리고 7장에서 이것을 LangChain과 연동해 OAG(Ontology Augmented Generation)를 구현하고, 8장에서 전기차 충전소 추천·인력 배치 추천이라는 추천 시스템으로 확장한다.
도구 네 개(Protégé·SHACL·Fuseki·SPARQL)가 각각 따로 소개되는 책은 많지만, 설계부터 질의, LLM 연동까지 하나의 데이터셋으로 끝까지 끌고 가는 책은 국내에 거의 없었다. 이 책의 가장 큰 가치는 거기에 있다.
인상 깊었던 지점
1. 온톨로지 설계를 4단계 절차로 고정해 준다.
WHY(왜 이 개념이 필요한가) → WHAT(무엇을 개념·관계로 정의할 것인가) → HOW(어떻게 제약과 규칙을 표현할 것인가) → RESULT(어떤 질의가 가능해지는가). 온톨로지는 "어디서부터 시작해야 할지 모르는" 것이 가장 큰 진입 장벽인데, 이 절차 덕분에 서울시 데이터가 아닌 자기 도메인에도 바로 옮겨 적용할 수 있다. 주차장·충전소·교통 상황처럼 장소와 시간, 현재 상태가 얽힌 개념을 클래스와 관계로 정리해 가는 과정을 따라가다 보면, 온톨로지가 추상적인 이론이 아니라 질문을 설계하는 작업이라는 것이 체감된다.
2. SHACL을 "검증" 도구로 제대로 다룬다.
RAG 파이프라인에서 데이터 품질 문제는 보통 답이 틀린 뒤에야 발견된다. SHACL로 그래프에 들어가는 데이터의 형식과 관계를 사전에 검증하는 흐름은, 데이터 거버넌스 관점에서 봐도 RAG보다 한 단계 앞선 접근이다.
3. Graph RAG와 OAG의 차이를 명확히 한다.
최근 Graph RAG(LightRAG, GraphRAG 등)를 써 본 입장에서 가장 궁금했던 부분이다. LLM이 자동 추출한 엔티티·관계 그래프와, 사람이 규칙과 제약을 명시한 온톨로지는 생김새는 비슷해도 성격이 다르다. 전자는 "있는 것을 찍어낸 그래프"이고 후자는 "있어야 할 것을 선언한 스키마"다. 이 책은 그 차이에서 출발해, 왜 규칙 기반 추론이 필요한 질문(조건·예외·현재 상태가 얽힌 질문)에서는 온톨로지가 답이 되는지를 설명한다. 7장의 OAG 구현은 SPARQL 질의 결과를 LangChain 체인에 컨텍스트로 넣는 구조라, 기존 RAG 코드를 크게 뜯어내지 않고도 붙여 볼 수 있다는 점이 실무자 입장에서 반갑다.
실무자 시점에서의 생각
데이터 가상화와 데이터 플랫폼 구축을 주로 하는 입장에서, 온톨로지는 늘 "좋은 건 알지만 비용이 큰" 기술이었다. 이 책을 읽으면서 든 생각은, LLM이 그 비용 구조를 바꿨다는 것이다. 과거엔 온톨로지를 만드는 데 사람 손이 너무 많이 들었지만, 이제는 비정형 데이터에서 개념 후보를 LLM으로 뽑고(3장), 사람은 규칙과 제약만 확정하는 식으로 역할을 나눌 수 있다. 책이 이 분업을 명시적으로 주장하는 것은 아니지만, 전반부와 후반부를 이어 읽으면 자연스럽게 그 그림이 그려진다.
공공·스마트시티 데이터 서비스를 대상 독자로 명시한 점도 눈에 띈다. 서울시 실시간 데이터는 API가 공개되어 있어 따라 하기 쉽고, 지자체·공공기관 과제에서 바로 레퍼런스로 쓸 수 있는 예제다.
아쉬운 점
284쪽에 이론·역사·도구 네 개·RAG·추천 시스템까지 담았으니 각 장이 깊이 들어가기엔 분량이 빠듯한 것은 사실이다. FOL·ASP 같은 이론은 한 권으로 따로 다뤄도 모자란 주제라 개론 수준에서 멈추고, Fuseki를 대규모 데이터에서 운영할 때의 성능이나 OAG 결과를 정량적으로 평가하는 방법은 독자의 몫으로 남는다. 이 책은 "온톨로지 전문서"가 아니라 "RAG 개발자가 온톨로지로 넘어가는 다리"로 읽는 것이 맞다.
누구에게 권하는가
RAG를 구축해 봤고 벡터 검색의 한계를 몸으로 느낀 AI·백엔드 개발자에게 가장 잘 맞는다. Graph RAG를 써 봤지만 "그래프를 만들었는데 그래서 뭐가 달라졌는지" 설명이 안 되던 사람에게도 좋다. 반대로 파이썬·LangChain·SQL을 전혀 모르면 후반부 실습을 따라가기 어려우니, 시리즈 앞권(RAG 비법노트 기본편)을 먼저 보는 것을 권한다.
한 줄 평: 벡터 검색이 "비슷한 것"을 찾는 데서 멈춘다면, 이 책은 "맞는 것"을 찾게 만드는 방법을 서울시 데이터로 끝까지 구현해 보여준다.
본 서평은 출판사로부터 도서를 제공받아 작성했습니다.