AI 시대, 데이터 표현의 두 축: 임베딩과 그래프
들어가면서: AI는 모든 것을 알고 있을까?
최근 AI, 특히 대규모 언어 모델(LLM)의 발전은 놀랍습니다. 마치 AI가 세상의 모든 지식을 꿰뚫고 있는 것처럼 느껴질 때도 있습니다. 하지만 AI는 생각보다 모든 것을 알고 있는 것이 아닙니다. AI의 답변 품질은 모델 자체의 언어 능력뿐만 아니라, 외부에서 얼마나 정확하고 풍부한 맥락 정보를 찾아내어 제공하는가에 크게 좌우됩니다. 즉, AI 답변 품질은 검색 품질에 크게 영향을 받는다는 것이죠. 이는 특히 RAG(Retrieval-Augmented Generation) 시스템에서 더욱 두드러집니다.
키워드 검색의 한계: ‘의미’를 놓치다
우리가 오랫동안 사용해온 전통적인 검색 방식은 주로 키워드(Keyword) 기반입니다. 특정 단어가 문서에 포함되어 있는지 여부를 판단하여 결과를 반환하죠. 하지만 이 방식은 명확한 한계를 가집니다.
예를 들어, “자율주행차”에 대한 정보를 찾고 싶을 때, “무인 자동차”라는 키워드가 포함된 문서는 검색되지 않을 수 있습니다. 두 단어는 의미적으로는 매우 유사하지만, 키워드만으로는 그 유사성을 파악하기 어렵기 때문입니다. 키워드 검색은 단어의 표면적인 일치에 집중하기 때문에, 의미적 유사성(Semantic Similarity)을 파악하는 데 취약합니다.
임베딩(Embedding): 의미적 위치를 만든다
이러한 키워드 검색의 한계를 극복하기 위해 등장한 개념이 바로 임베딩(Embedding)입니다. 임베딩은 단어, 문장, 문서 등 텍스트 데이터를 수치화된 벡터(Numerical Vector)로 변환하는 기술입니다. 이 벡터 공간에서 의미적으로 유사한 데이터는 서로 가까운 위치에 배치됩니다.
임베딩은 의미적 위치를 만든다. 즉, “자율주행차”와 “무인 자동차”는 서로 다른 단어지만, 임베딩 공간에서는 매우 가까운 벡터 값을 가지게 됩니다. 덕분에 우리는 “자율주행차”를 검색했을 때 “무인 자동차”에 대한 정보도 함께 찾아낼 수 있게 됩니다. 임베딩은 “비슷한 것 찾기”에 강하다는 것이 핵심입니다.
임베딩의 한계: 관계 추론에는 약하다
임베딩은 의미적 유사성을 파악하는 데 탁월하지만, 모든 것을 해결해주지는 않습니다. 특히 데이터 간의 복잡한 관계를 추론하거나 경로를 탐색하는 데는 한계가 있습니다.
예를 들어, “A라는 인물이 B라는 회사에 근무하며, B회사는 C라는 기술을 사용하고, C기술은 D라는 특허와 관련이 있다”와 같은 관계를 임베딩만으로 파악하기는 어렵습니다. 임베딩은 각 개체(인물, 회사, 기술, 특허)의 의미적 유사성은 잘 표현할 수 있지만, 이들 사이의 명시적인 연결 고리(Explicit Relationship)나 관계의 종류를 직접적으로 표현하지는 못합니다. 즉, 임베딩은 ‘무엇이 비슷한가’는 잘 알지만, ‘무엇이 어떻게 연결되어 있는가’는 설명하기 어렵습니다.
그래프(Graph): 관계 지도를 만든다
여기서 그래프(Graph)의 역할이 중요해집니다. 그래프는 노드(Node)와 엣지(Edge)로 구성되어 데이터 간의 관계를 직접적으로 표현하는 구조입니다.
- 노드(Node): 개체(Entity)를 나타냅니다. (예: 사람, 회사, 기술, 특허)
- 엣지(Edge): 노드 간의 관계(Relationship)를 나타냅니다. (예: 근무한다, 사용한다, 관련 있다)
그래프는 관계 지도를 만든다. 그래프를 사용하면 “A는 B에 근무한다”는 관계, “B는 C를 사용한다”는 관계를 명시적으로 표현하고, 이 관계들을 따라가며 정보를 탐색할 수 있습니다. 이는 관계 추론이나 경로 탐색에 매우 강력합니다.
임베딩과 그래프의 차이: 비슷한 것 vs 연결된 것
정리하자면, 임베딩과 그래프는 데이터를 표현하는 방식과 강점이 명확히 다릅니다.
| 특징 | 임베딩(Embedding) | 그래프(Graph) |
|---|---|---|
| 데이터 표현 | 고차원 벡터 공간의 점 | 노드(개체)와 엣지(관계) |
| 강점 | 의미적 유사성 파악, 비슷한 것 찾기 | 명시적 관계 표현, 관계 추론 및 경로 탐색 |
| 핵심 표현 | 의미적 위치를 만든다 | 관계 지도를 만든다 |
| 활용 예시 | 시맨틱 검색, 추천 시스템, 텍스트 분류 | 지식 그래프, 소셜 네트워크 분석, 사기 탐지 |
임베딩은 비슷한 것을 찾고, 그래프는 연결된 것을 따라간다. 이 두 가지는 상호 보완적인 관계에 있습니다.
실제 AI 시스템에서의 결합: RAG, AI Agent, Knowledge Graph
그렇다면 실제 AI 시스템, 특히 RAG(Retrieval-Augmented Generation)나 AI Agent와 같은 복잡한 시스템에서는 이 두 가지를 어떻게 활용할 수 있을까요? 정답은 둘을 함께 사용할 가능성이 높다는 것입니다.
- 임베딩 기반의 1차 검색: 사용자의 질문이 들어오면, 먼저 임베딩 기반의 시맨틱 검색을 통해 질문과 의미적으로 유사한 문서나 지식 조각들을 빠르게 찾아냅니다. 이는 넓은 범위에서 관련성 높은 정보를 필터링하는 데 효과적입니다.
- 그래프 기반의 관계 확장 및 추론: 1차 검색으로 얻은 정보들을 바탕으로, 지식 그래프(Knowledge Graph)를 탐색하여 해당 정보와 연결된 다른 개체나 관계를 찾아냅니다. 예를 들어, 특정 문서에서 언급된 인물이나 기술이 그래프 내에서 어떤 다른 정보와 연결되어 있는지 추론하여 맥락을 확장할 수 있습니다. 이는 AI가 더 깊이 있고 정확한 답변을 생성하는 데 필요한 풍부한 배경 지식을 제공합니다.
- 메타데이터 활용: 여기에 데이터의 생성일, 작성자, 중요도 등 메타데이터를 함께 활용하면 검색 및 추론의 정확도를 더욱 높일 수 있습니다.
이러한 접근 방식은 LLM이 단순히 학습된 지식만을 활용하는 것을 넘어, 외부의 최신 정보나 특정 도메인의 전문 지식을 효과적으로 활용할 수 있게 합니다. 마치 AI 에이전트가 복잡한 작업을 수행하기 위해 안정적이고 예측 가능한 실행 환경(Harness)이 필요하듯이 1, AI 시스템의 답변 품질을 높이기 위해서는 데이터의 표현 방식과 검색 전략이 매우 중요합니다.
오늘의 마무리: LLM 성능 너머의 데이터 표현
이번 학습을 통해 저는 “LLM 성능”보다 데이터 표현 방식도 중요하다는 인사이트를 얻었습니다. 아무리 강력한 LLM이라도, 입력으로 주어지는 데이터가 불완전하거나 비효율적으로 표현되어 있다면 그 잠재력을 온전히 발휘하기 어렵습니다. 특히 RAG, AI Agent, Knowledge Graph, Semantic Search와 같은 최신 AI 시스템을 구축할 때는 데이터 자체의 내용뿐만 아니라, 그 데이터를 어떻게 저장하고, 어떻게 검색하며, 어떻게 관계를 탐색할 것인지에 대한 깊은 고민이 필수적입니다.
AI 답변 품질은 검색 품질에 크게 영향을 받는다. 이 명제를 다시 한번 되새기며, 앞으로 AI 시스템을 설계할 때 데이터의 의미적 유사성과 관계적 연결성을 모두 고려하는 표현 방식에 더 많은 관심을 기울여야겠다고 다짐합니다. 결국, “아 왜 AI 시스템에서 데이터 표현 방식이 중요한지 감이 온다”는 느낌을 받으셨다면, 이 글의 목표는 달성된 것입니다.
References
- RAG (Retrieval-Augmented Generation) Explained
- What is a Knowledge Graph?
- Semantic Search: What it is and why it matters
이전에 AI 에이전트의 Harness(하네스)에 대한 기술적 고찰에서 AI 에이전트의 안정적인 실행 환경의 중요성에 대해 다룬 바 있습니다. ↩︎


