brunch

AI 에이전트의 사고에 맥락을 더해주는 GraphDB

GraphDB는 VectorDB와 어떻게 다를까?

by 알바트로스

요즘 들어 퇴근 후에도 'AI 에이전트'와 관련된 이야기를 나누는 일이 부쩍 늘었습니다. 이전에는 현업 엔지니어로서 팀 동료들과 나누던 이야기를, 이제는 누구나 관심을 가지고 궁금해하고 있는 것을 체감합니다. 오랜만에 만난 가족과 친지들 뿐 아니라 친구들까지 이제는 AI 에이전트에 많은 관심을 가지고 질문 세례를 퍼부으니까요.


확실히 AI 에이전트는 이제 인공지능 업계를 넘어 거의 모든 산업을 재편하는 핵심 동력으로 자리 잡고 있는 것 같습니다. 사람들의 높은 관심도는 이미 수치로 반영되어 나타나고 있습니다. 글로벌 조사기관 밸류에이츠 리포트(Valuates Reports) AI 에이전트 소프트웨어 시장은 2024년 5억 5400만 달러(약 7700억 원)에서 2031년 151억 2천만 달러(약 21조 원)로 성장하며, 연평균 성장률(CAGR)이 60.3%에 이를 것으로 전망된다고 합니다.


그러나 현업 AI 엔지니어로서 느끼는 AI 에이전트의 한계는 아직까지 명확합니다. 우선 AI 방대한 양의 사전학습 데이터에 근거해 확률론에 기반한 추론을 하는 LLM의 특성상 기존의 AI 에이전트만으로는 매번 정확하고 일정한 아웃풋을 내기가 어렵습니다. 또한 텍스트 데이터를 단순 벡터화해 저장하는 데이터 저장 파이프라인만으로는 단어 간의 미묘한 뉘앙스나 관계를 잡아내기 어려운 게 사실이죠. 그렇다면, 이 한계를 극복하고 AI 에이전트를 한 단계 발전시킬 방법은 없을까요? 저는 이번시간에 소개할 그래프 데이터베이스(GraphDB)가 그 해답이 될 수 있다고 생각합니다.



왜 AI 에이전트에 GraphDB가 필요한가?


우리는 지난 시간에 벡터 데이터베이스(Vector DB)가 고차원 벡터 데이터를 어떻게 효율적으로 저장하고 검색하는지 알아봤습니다. 벡터 DB는 텍스트나 이미지 같은 비정형 데이터를 임베딩(Embedding)이라는 과정을 통해 다차원 공간의 벡터로 변환하고, 이 벡터 간의 유사도(Similarity)를 기반으로 관련성 높은 데이터를 빠르게 찾아내는 데 강점을 가지고 있는 DB였습니다.


그런데 벡터 DB 외에도 데이터 간의 관계를 특별히 강조하는 데이터베이스가 있습니다. 바로 그래프 데이터베이스(GraphDB)입니다. 벡터 DB와 GraphDB는 모두 기존의 관계형 데이터베이스(RDB)나 NoSQL의 한계를 극복하기 위해 등장했지만, 데이터를 바라보는 관점과 활용 방식에서 중요한 차이점과 유사점을 동시에 가지고 있습니다.

출처 : medium


AI 에이전트의 핵심은 단순히 명령을 수행하는 것을 넘어, 주변 환경을 이해하고, 목표를 설정하며, 복잡한 결정을 내리는 데 있습니다. 예를 들어, 한 여행 AI 에이전트가 "이번 주말, 서울 근교의 분위기 좋은 카페를 찾아주고, 가는 길에 30분 정도 산책할 수 있는 공원을 추천해 줘."라는 요청을 받았다고 가정해 봅시다.


만약 이 AI 에이전트가 기존의 벡터 DB에만 의존한다면, "분위기 좋은 카페"와 "산책하기 좋은 공원"의 개념을 정확히 연결하고, 이 둘 사이의 관계를 파악하기 어렵습니다. 벡터 DB를 통해서만 정보를 전달받은 LLM은 '분위기 좋은 카페', '산책하기 좋은 공원', '서울 근교'와 같은 단어들을 단순히 텍스트 시퀀스로 인식할 뿐, 이들 간의 복잡한 연결 고리나 맥락을 이해하는 데에는 한계가 있기 때문입니다.


이때 GraphDB가 빛을 발합니다. GraphDB는 한마디로 데이터와 데이터 간의 관계를 노드(Node)와 에지(Edge)로 표현하는 특화된 데이터베이스입니다. 위 예시를 GraphDB로 한번 표현해 보겠습니다.

출처 : memgraph.

1. 노드(Node): '카페', '공원', '서울 근교', '주말', '산책'

2. 에지(Edge): '카페'와 '서울 근교'는 '위치' 관계, '카페'와 '공원'은 '인접' 관계, '카페'와 '주말'은 '영업시간'

GraphDB는 이처럼 복잡하게 얽힌 관계를 직관적이고 효율적으로 저장하고 탐색할 수 있습니다. AI 에이전트는 GraphDB를 통해 "서울 근교"에 있는 "분위기 좋은 카페" 근처에 "산책하기 좋은 공원"이 있는지 빠르게 파악하고, 최적의 경로를 추론할 수 있게 됩니다.



GraphDB는 AI 에이전트의 사고에 '맥락'을 제공해 준다!


GraphDB가 AI 에이전트에게 제공하는 핵심적인 가치는 바로 맥락 이해와 추론 능력입니다. GraphDB는 데이터 간의 관계를 명시적으로 표현하기 때문에, AI 에이전트는 단순한 키워드 매칭을 넘어 맥락을 깊이 이해할 수 있습니다. 복잡한 추론 과정에서 여러 노드와 에지를 따라가며 논리적인 결론을 도출하는 데 큰 도움을 주는 것입니다.


뿐만 아니라 GraphDB에 저장된 데이터는 관계의 네트워크를 형성합니다. AI 에이전트는 이 네트워크를 탐색해 나가면서 기존에 알려지지 않았던 새로운 관계나 패턴을 발견하고, 이를 통해 사용자에게 더 유용하거나 새로운 정보를 제공합니다. 예를 들어 소셜 네트워크 서비스(SNN)의 사람들 간의 관계를 바탕으로 다양한 패턴을 발견해 내어 효과적인 광고를 제안하거나 보안 감시망을 발달시키는 것과 같은 일들이 가능해집니다.


출처 : memgraph

GraphDB의 또 다른 놀라운 점은 AI 에이전트가 새로운 정보를 습득하면, GraphDB에 새로운 노드와 에지를 추가하거나 기존 관계를 업데이트하여 지식 그래프(Knowledge Graph)를 확장해 나아갈 수 있도록 도와준다는 점입니다. 이는 마치 에이전트가 스스로 지식을 쌓고, 시간이 지남에 따라 더 똑똑해지도록 돕는 것과 같습니다. 마치 두뇌활동을 활발히 할수록 뇌세포가 늘어나는 것과 같은 원리라고 할까요?


출처 : linkurious.


AI 에이전트에서 LLM이 인간의 언어를 이해하고 생성하는 '두뇌' 역할을 담당했다면, GraphDB는 복잡한 현실 세계를 이해하고 추론하는 '사고 능력'을 제공하는 역할을 합니다. 어쩌면 LLM과 GraphDB의 조합이야말로 진짜로 생각하는 기계를 만들기 위한 최상의 조합이라고 할 수 있을지 모릅니다. LLM의 한계를 보완하고, 에이전트가 진정으로 '생각'하는 것처럼 행동하게 만드는 이 조합은 앞으로 AI 에이전트 기술의 혁신을 이끌어갈 중요한 열쇠가 될 것입니다.

keyword
이전 01화프롬프트의 진화 - 컨텍스트 엔지니어링이란?