Going Meta의 지난 에피소드, 특히 Knowledge Graph를 다룬 에피소드를 다시 한번 살펴볼게요. 이건 제가 마지막 에피소드를 쓴 지 1년이나 지난 시점인 Going Meta 시즌 2의 요약이랍니다. 시즌 1.
무엇보다 먼저, 오랫동안 꾸준히 응원해주셔서 정말 감사하다는 말씀을 드리고 싶어요! (벌써 그렇게 시간이 흘렀다니 믿기지 않네요.) 저희 GitHub 저장소는 각 에피소드의 모든 자료(코드, 쿼리, 데이터 세트, 온톨로지, 노트북 등)를 모아둔 아주 유용한 곳이에요.
시즌 2를 마무리하면서, Going Meta의 핵심 요소 중 하나인 Knowledge Graph를 집중적으로 다뤄보려고 해요. 시즌 전체(그리고 시즌 1 이후에도)에 걸쳐 많은 에피소드에서 이 주제를 다루고 있기 때문에, 시리즈를 처음 접하는 분들이나 혹시 놓친 에피소드가 있는 분들을 위해 각 에피소드에서 어떤 내용을 다뤘는지 간단하게 정리해드릴게요.
기초
시즌 1이 끝날 무렵, 우리는 의미론(Going Meta의 또 다른 주제)이 두 가지 근본적으로 다른 방식, 즉 명시적으로 Knowledge Graph를 통해, 그리고 암시적으로 Vector Embedding을 통해 캡처될 수 있는 방법을 탐구했어요. 우리는 명시적 그래프 기반 의미론이 설명 가능성과 풍부한 탐색 기능을 제공하는 동시에 Vector Embedding이 강력한 Semantic Search를 제공하는 방법을 보여주었죠. 이러한 접근 방식은 경쟁하기보다는 매우 상호 보완적이에요. 그래프는 해석 가능한 구조와 컨텍스트를 제공하는 반면, 벡터는 효율적인 의미론적 유사성 일치를 가능하게 하죠. 이 접근 방식은 순수한 유사성을 넘어 실제 관련성까지 향상시키는 강력한 Retrieval-Augmented Generation(RAG) 시스템을 만들어요.
:
S01 Ep21 — 명시적 의미와 암시적 의미
S01 Ep22— 기본 RAG 및 Knowledge Graph가 포함된 RAG
검색 패턴
우리는 벡터 검색과 그래프 순회를 결합한 정교한 검색 기술을 탐구했어요. 관련 `Node`에 도달하는 기본 벡터 검색부터 시작해서 그래프 `Relationship`을 탐색하여 결과를 맥락화하고 강화하죠.
우리는 발견된 엔터티 유형에 따라 탐색 전략이 결정되는 온톨로지 기반 동적 탐색을 도입했어요. 이후 에피소드에서는 Neo4j에서 사용할 수 있는 여러 검색 방법(벡터, 전체 텍스트, 지리공간 및 Cypher 생성)을 비교하고 LLM이 `Query` 요구 사항에 따라 적절한 검색 도구를 자동으로 선택하는 에이전트 접근 방식으로 발전했죠. 일회성 검색에서 다중 도구 오케스트레이션으로 진행이 진행되어 검색 기능을 에이전트가 지능적으로 결합할 수 있는 기능으로 제공하는 방법을 보여주었어요.
:
S01 Ep22 — 벡터 및 순회가 포함된 RAG
S01 Ep24 — 믹스에 온톨로지 추가
S02 Ep06 — 검색 방법 비교
S02 Ep07 — 함수 호출(도구)
도메인 모델링을 위한 보조자로서의 LLM
이 에피소드에서는 구조화된 데이터에서 그래프 `Schema`를 설계하는 전통적으로 복잡한 작업을 AI가 어떻게 지원할 수 있는지 탐구하면서 그래프 도메인 모델링을 위한 LLM 사용을 개척했어요. 우리는 엔터티, `Relationship` 및 논리적 데이터 구성 패턴을 식별하는 LLM의 능력을 보여주었죠. 이는 본질적으로 엔터티-`Relationship` 모델링을 수행하는 거예요.
그런 다음 한 LLM이 모델링 전문가 역할을 하고 다른 LLM이 비평가 역할을 하여 피드백을 제공하고 모델 품질을 개선하기 위해 반복하는 에이전트 워크플로를 구현했어요. 이 접근 방식은 LLM이 전문가가 설계한 그래프 모델과 구별할 수 없는 그래프 모델을 생성할 수 있음을 입증했죠. 이는 이제 다음과 같이 널리 알려져 있어요.비평가로서의 LLM and 에이전트 AI.
:
S01 Ep25 —비정규화된 데이터세트에서 그래프 모드 배우기
S01 Ep27 — 비평가에게 전화하고, 피드백을 받고, 반복하세요!
Knowledge Graph 구축
우리는 이 주제에 대해 대부분의 시간을 보냈으며 문서/어휘 그래프(문서 구조를 나타냄)와 도메인 그래프(추출된 엔터티 및 `Relationship`을 나타냄)를 결합하여 Knowledge Graph 구성에 대한 Neo4j의 고유한 이중 그래프 접근 방식을 다루었어요. 여기서 우리의 핵심 메시지는 온톨로지나 대상 `Schema`를 가드레일로 사용하는 것의 중요성이에요. 잘 정의된 `Schema`가 없는 Knowledge Graph는 쉽게 관리하기 어려운 결과를 초래할 수 있어요.
다양한 에피소드에서 우리는 비정형 데이터(PDF, 웹 페이지)와 정형 데이터(CSV 파일, 데이터베이스)에서 지식을 추출하기 위한 노코드 시각적 접근 방식과 프로그래밍 방식을 다루었어요. 핵심 통찰은 "혼합 데이터" 접근 방식으로, 단일 온톨로지가 어떻게 구조화된 소스와 구조화되지 않은 소스에서 동시에 구축을 추진할 수 있는지, 구조화된 데이터는 구조화되지 않은 콘텐츠 통합을 위한 발판을 제공하는 방법을 보여줘요.
:
S02 Ep01 — 구조화되지 않은 데이터에서(코드 없음)
S02 Ep02 및 Ep03 — 구조화되지 않은 데이터에서(프로그래밍 방식)
S02 Ep05 — 구조화된 데이터에서(코드 없음)
S01 Ep05 및 S02 Ep07 — 구조화된 데이터에서(프로그래밍 방식)

시즌 03
우리는 시즌 3에서 계속해서 AI의 소비/검색/에이전트 적응에 초점을 맞추고 싶어요. Going Meta는 2025년 10월 시즌 3의 에피소드 1로 돌아올 거예요. 앞으로의 여정에 계속 함께 해주시기를 바랍니다!
자원
- 메타로 나아가다(모든 에피소드)
- GitHub 저장소
- 메타로 전환: GraphRAG, 벡터 및 Knowledge Graph 마무리
- 메타 요약 20개 에피소드
필수 GraphRAG
Knowledge Graph를 통해 RAG의 잠재력을 최대한 활용해보세요. Manning에서 제공하는 최종 가이드를 기간 한정으로 무료로 받아볼 수 있어요.
- GraphRAG