4 분 소요

AI 지식의 지도 그리기: 온톨로지부터 LangGraph까지

들어가며: 단편적인 지식을 연결된 ‘시스템’으로

요즘 AI 공부를 하다 보면 정말 많은 용어가 쏟아진다. RAG, 벡터 DB, 그래프 데이터베이스… 처음엔 각 개념을 개별적으로 이해하는 데 집중했는데, 어느 순간 이런 의문이 들더라. “이 개념들을 어떻게 꿰어야 실질적으로 동작하는 강력한 AI 시스템이 될까?”

단순히 문서를 검색해서 답을 주는 수준을 넘어, 데이터 간의 깊은 관계를 이해하고(Ontology), 그 흐름을 정교하게 설계하며(Topology), 이를 통해 스스로 사고하는 에이전트(LangGraph)를 만드는 과정. 오늘은 공부하며 정리한 이 핵심 연결 고리들을 공유해보려고 한다.

단순한 용어 정리를 넘어, 실제 구현 시 마주하게 될 깊은 고민과 앞으로의 실습 로드맵까지 담아봤다.


목차

  1. 온톨로지(Ontology): 데이터 세계의 철학 수업
  2. 토폴로지(Topology): 형태가 아니라 관계로 본다
  3. RAG(Retrieval Augmented Generation): 기억력을 강화한 LLM
  4. LangGraph: 상태 머신 기반 LLM 워크플로우 설계
  5. 개념들 간의 연결 요약
  6. 향후 실습 계획: 단계별 고도화 로드맵
  7. 마무리

1. 온톨로지(Ontology)

“데이터 세계의 철학 수업”

  • 핵심 질문: 컴퓨터가 ‘맥북’과 ‘전자기기’의 관계를 이해하려면 뭘 알아야 할까? → 바로 그 관계를 정의해주는 게 온톨로지다.

온톨로지는 단순히 데이터를 분류하는 것을 넘어, 지식의 개체(Entity)와 그들 사이의 관계(Relationship)규칙(Axioms)을 정형화된 구조로 표현하는 시스템이다. 즉, 개념 간의 관계를 인간이 아니라 기계가 이해할 수 있도록 서술하는 방법인 셈이다.

  • Taxonomy vs. Ontology: Taxonomy가 생물 분류처럼 계층적(is-a)이라면, Ontology는 ‘A는 B에 속한다’뿐만 아니라 ‘A는 C를 만들었다’, ‘D는 E에 위치한다’ 같은 다차원적인 그물망을 포함한다.
  • 구조 예시 (심화): 실제로는 RDF, OWL 등의 표현 언어로 구현된다.
      :맥북 rdf:type :노트북 .
      :노트북 rdfs:subClassOf :전자기기 .
      :애플 rdf:type :회사 .
      :맥북 :제조사 :애플 .
    
  • 현업에서의 가치: 이러한 구조는 LLM이 아니라, 지식 그래프(Knowledge Graph) 기반 AI에서 핵심이다. LLM에게 사전 지식이나 상식을 온톨로지 형태로 보완해서 전달하면 시스템의 일관성과 신뢰성을 확보할 수 있다.

시각화 (Ontology Model)

graph TD
    A[맥북] -- is_a --> B[노트북]
    B -- is_a --> C[전자기기]
    A -- brand --> D[Apple]
    A -- chip --> E[M3 Pro]
    D -- makes --> B

2. 토폴로지(Topology)

“형태가 아니라 관계로 본다”

  • 핵심 질문: 두 문서가 “비슷하다”는 건 무슨 뜻일까? 단순히 단어가 같다고 해서 비슷할까? “빨간 신호등”과 “빨간 립스틱”은 같은 빨강이지만 문맥이 전혀 다르다. 그래서 우리는 그래프 기반의 연결성, 즉 토폴로지적 구조를 활용한다.

  • 개념 요약: 토폴로지는 데이터가 서로 어떻게 연결되어 있는가를 다루는 구조다. 기하학적 거리보다 “연결성”과 “인접성”을 중심으로 보며, Neo4j 같은 그래프 데이터베이스의 핵심 개념이기도 하다.
  • RAG 맥락에서의 적용:
    • 벡터 유사도: 문서 A와 B가 직접적으로 얼마나 닮았는지만 평가한다.
    • 토폴로지 적용: “문서 A와 B는 문서 C를 통해 간접적으로 연결되어 있음”을 고려한다. 단순히 유사한 문서를 찾는 게 아니라, 정보의 길을 따라 도달할 수 있는 구조를 파악하는 것이다.

직관적인 비유:

  • 단어 임베딩은 “점”
  • 온톨로지는 “범주”
  • 토폴로지는 “점들을 잇는 선의 지도”

3. RAG(Retrieval Augmented Generation)

“기억력을 강화한 LLM”

  • 핵심 질문: LLM은 왜 가끔 뻔뻔하게 틀린 소리를 할까? LLM은 학습된 파라미터 기반이기 때문에 최신 정보나 도메인 전문 지식, 개인이 가진 문서를 모르기 때문이다. 이를 해결하기 위해 검색(Retrieval)과 생성(Generation)을 결합한 것이 RAG다.

RAG의 핵심 구성 요소

구성 요소 설명
Chunking 정보 단위를 나눌 때 의미가 단절되지 않게 하는 전략
Embedding 텍스트를 고차원의 의미 기반 숫자 벡터로 변환하는 과정
Similarity Search 벡터 DB(Chroma, Pinecone 등)에서 질문과 가장 가까운 Chunk 검색
Prompt Templating 검색된 문서들을 어떤 형태로 LLM(GPT, Claude 등)에 전달할지 설계
  • 한계와 고려점:
    • 문서가 복잡할수록 Chunking 전략이 성능을 좌우한다.
    • 검색된 문서 자체가 잘못되면, AI는 잘못된 정보를 아주 확신에 차서 말하는 할루시네이션(환각)을 일으킬 수 있다.
    • 프롬프트(Prompt) 구조에 따라 성능이 크게 달라지므로 정교한 설계가 필요하다.

고도화된 RAG 전략 (Advanced RAG)

구분 주요 기술 설명
질문 최적화 Query Transformation 모호한 질문을 AI가 검색하기 좋게 재작성 (HyDE, Multi-Query 등)
검색 고도화 Hybrid Search 키워드(BM25)와 의미(Vector) 검색의 결합
정확도 향상 Re-ranking 검색된 문서 중 질문과 가장 관련성 높은 순으로 재정렬

4. LangGraph

“상태 머신 기반 LLM 워크플로우 설계 툴”

  • 핵심 질문: LLM을 단계적으로, 혹은 복잡한 “조건 분기”를 넣어 가며 쓰려면 어떻게 해야 할까? LangChain만으로는 흐름이 복잡해질수록 반복 로직을 처리하기가 매우 까다롭다.

LangGraph는 LLM 호출 과정을 상태 기계(State Machine)처럼 정의한다.

  • Nodes & Edges: 각 노드는 Agent나 Tool이 될 수 있고, 이들을 잇는 엣지가 곧 사고의 경로다.
  • 상태 전이(Transition): 조건을 문장, 토큰, 분류 결과 등에 따라 자유롭게 정의한다.
  • 코드로 그리는 플로우차트:
    • Step 1: 사용자 입력 분석
    • Step 2: 기술적 질문이면 기술 Agent로, 비즈니스 질문이면 비즈니스 Tool로 분기
    • Step 3: 응답을 요약하여 최종 보고서 포맷으로 출력
    • → 이런 복잡한 구조를 코드로 우아하게 설계할 수 있다.

5. 개념들 간의 연결 요약

지금까지 다룬 개념들은 다음과 같이 하나의 흐름으로 이어진다.

  • 온톨로지: 개념의 정의와 관계를 정리 (데이터의 철학)
  • 토폴로지: 그 관계들을 구조화하고 문서 간 연결성 이해 (데이터의 지도)
  • RAG: 그 구조 위에서 실제 정보를 꺼내서 LLM에게 전달 (지식 주입)
  • LangGraph: 위 모든 과정을 상태 기반 워크플로우로 자동화 (프로세스 도면)

향후 실습 계획 (4단계 로드맵)

개념을 잡았으니 이제 손으로 익힐 차례다. 단계별로 ‘나만의 지능형 비서’를 고도화해 보려고 한다.

Step 1. 기반 다지기 (Vanilla RAG)

  • 목표: PDF/Excel 문서를 벡터 DB에 넣고 검색하는 기본 Flow 완성
  • 도구: LangChain, Chroma/FAISS

Step 2. 데이터 구조 최적화 (Ontology Design)

  • 목표: 비정형 데이터에서 핵심 개체와 관계를 추출해 지식 그래프로 변환
  • 도구: LangChain Extractors, JSON-LD 스키마

Step 3. 지능형 워크플로우 구축 (LangGraph)

  • 목표: 검색 결과가 부실할 시 스스로 쿼리를 수정해 재검색하는 루프 에이전트 구현
  • 도구: LangGraph, State Management

Step 4. 인터랙티브 UI 및 배포

  • 목표: 에이전트의 사고 과정을 시각화하고 웹으로 배포
  • 도구: Streamlit, LangSmith (디버깅)

마무리

온톨로지로 지식의 토대를 쌓고, 토폴로지로 사고의 흐름을 설계하며, RAG와 LangGraph로 이를 실행에 옮기는 과정… 이 모든 게 연결될 때 비로소 ‘진짜 쓸모 있는 AI’가 탄생한다는 걸 느꼈다.

비전공자인 내가 삽질하며 배운 이 프로세스들이, 나와 비슷한 고민을 하는 사람들에게 작은 이정표가 되면 좋겠다. 다음 포스팅에서는 온톨로지 심화로 돌아올 예정이다.


참고 링크

댓글남기기