728x90
반응형

AI의 진짜 잠재력은 단순한 챗봇을 훨씬 뛰어넘는 데 있어요. Retrieval-Augmented Generation (RAG)을 이용해서 간단한 상호 작용부터 복잡한 워크플로우까지, 에이전트가 독립적으로 작업을 해결하도록 만드는 거죠. 이걸 효과적으로 하려면 에이전트한테 정적인 검색 그 이상이 필요해요. 사용자 상호 작용, 기업 데이터, 외부 지식을 계속 통합하는 동적인 메모리가 있어야 하거든요.

현재 RAG 방식은 데이터가 자주 업데이트되면 어려움을 겪어서 에이전트 기반 시스템의 효율성을 떨어뜨려요. 이 문제를 해결하려고 Zep AI의 Graphiti 프레임워크는 시간 인식 기반으로 만들어진 유연한 실시간 메모리 계층을 도입했는데, 이게 Knowledge Graph인 Neo4j에 저장된답니다.

Graphiti가 어떻게 작동하는지 분석하고, 쿼리 중심 요약(QFS)과 비교해 볼까요? 특히 QFS의 인기 있는 Microsoft Research GraphRAG 구현을 한번 살펴봐요.

정적 접근 방식의 문제

Microsoft의 GraphRAG 접근 방식은 엔터티와 관계를 추출하고, 이걸 주제별 클러스터 (또는 "커뮤니티")로 묶어서 엔터티 중심의 Knowledge Graph를 구축하는 방식이에요. 그리고 LLM을 사용해서 이 커뮤니티의 요약을 미리 계산해두죠. 쿼리를 처리할 때 Microsoft GraphRAG는 여러 LLM 호출을 해요. 먼저 부분적인 커뮤니티 수준 응답을 만들고, 이걸 하나로 합쳐서 포괄적인 답변을 만드는 거죠.

이 접근 방식은 대규모 정적 데이터 세트에서 상세하고 맥락에 맞는 응답을 제공하는 데 아주 효과적이에요. 하지만 업데이트 때문에 전체 그래프를 다시 계산해야 할 수도 있어서, 데이터가 자주 바뀌는 상황에서는 효율성이 떨어져요. 게다가 여러 단계의 요약 때문에 검색 속도가 느려지고, 종종 수십 초나 걸리기도 해요. 이런 대기 시간과 동적인 업데이트 부족 때문에 GraphRAG에 대한 이 접근 방식은 에이전트 애플리케이션을 위한 포괄적이고 전체적인 메모리로는 적합하지 않아요.

Neo4j를 사용한 Graphiti: 실시간 동적 에이전트 메모리

Graphiti는 동적인 데이터로 정적인 RAG의 한계를 극복하도록 도와줘요. 들어오는 데이터를 점진적으로 처리하고, 일괄 재계산 없이 엔터티, 관계, 커뮤니티를 즉시 업데이트하는 실시간, 시간 인식 Knowledge Graph 엔진이거든요. Graphiti는 단순한 검색 도구가 아니에요. 에이전트를 위한 항상 존재하는 컨텍스트 소스로서, 계속 사용 가능하고 업데이트된답니다.

Graphiti는 채팅 기록, 구조화된 JSON 데이터, 구조화되지 않은 텍스트를 동시에 처리해요. 모든 데이터 소스는 단일 그래프로 제공되거나, 같은 Graphiti 설정 안에서 여러 그래프가 같이 있을 수도 있어요. 덕분에 에이전트는 자기 세계에 대해 통합되고 발전하는 관점을 얻을 수 있죠. 이건 기존 RAG 시스템이 근본적으로 제공할 수 없는 기능이에요.

Graphiti를 찾아보세요! .

Graphiti가 동적 데이터에 더 잘 작동하는 이유

Graphiti의 실시간 증분 아키텍처는 빈번한 업데이트에 최적화되어 있어요. 새로운 데이터 에피소드(이벤트 또는 메시지)를 지속적으로 수집해서 기존의 `노드`에 대한 항목과 `관계`를 추출하고 즉시 해결하죠.

Graphiti 및 성능 벤치마크에 대한 심층적인 기술 탐색을 확인하려면 다음을 확인하세요. Zep: 에이전트 메모리를 위한 시간적 Knowledge Graph 아키텍처.

핵심 기능은 이벤트가 발생한 시기와 수집된 시기를 추적하는 Graphiti의 이중 시간 모델이에요. 모든 그래프 `에지`(또는 `관계`)에는 명시적인 유효성 간격(t_valid, t_invalid)이 포함되죠. Graphiti는 Semantic Search, 키워드 검색 및 그래프 검색을 사용해서 새로운 지식이 기존 지식과 충돌하는지 확인해요. 충돌이 발생하면 Graphiti는 시간적 메타데이터를 지능적으로 사용해서 오래된 정보를 업데이트하거나 무효화하지만, 폐기하지는 않으면서 대규모 재계산 없이 기록 정확성을 유지한답니다.

이 시간 모델은 강력한 기록 `쿼리`를 가능하게 해서 사용자가 정확한 순간에 지식 상태를 재구성하거나 시간이 지남에 따라 데이터가 어떻게 발전하는지 분석할 수 있도록 도와줘요.

빠른 `쿼리` 속도: LLM 호출 없이 즉시 검색

Graphiti는 속도를 위해 만들어졌어요. Zep의 자체 Graphiti 구현은 매우 낮은 대기 시간의 검색을 달성해서 300ms의 P95 대기 시간으로 결과를 반환하죠. 이는 Semantic Embedding, 키워드(BM25) 검색 및 직접 그래프 탐색을 결합해서 검색 중에 LLM 호출을 방지하는 하이브리드 검색 접근 방식을 통해 가능한 일이에요.

`벡터` 및 BM25 `인덱스`를 사용하면 그래프 크기에 관계없이 `노드`와 `에지`에 거의 일정한 시간으로 접근할 수 있어요. 이는 두 가지 `인덱스` 유형 모두에 대한 Neo4j의 광범위한 지원 덕분이라고 할 수 있죠.

Graphiti의 `쿼리` 대기 시간은 음성 애플리케이션을 포함한 실시간 상호 작용에 아주 이상적이에요.

사용자 정의 엔터티 유형: 간단한 온톨로지 구현

Graphiti는 들어오는 데이터를 기반으로 온톨로지를 자동으로 구축해서 `노드` 중복을 제거하고 `에지` `관계`에 일관되게 레이블을 지정해요. 자동 온톨로지 생성 외에도 Graphiti는 친숙한 Pydantic 모델을 사용해서 사용자 정의 도메인별 엔터티를 정의하는 직관적인 방법을 제공하죠.

이러한 사용자 지정 엔터티 유형을 사용하면 정확한 컨텍스트 추출이 가능하므로 상담원 상호 작용의 품질이 크게 향상돼요. 항목 유형의 예는 다음과 같아요.

  • 표준 `속성`(이름, 생년월일, 주소)과 함께 개인화된 사용자 기본 설정 및 관심 사항(예: 좋아하는 레스토랑, 연락처, 취미)
  • 절차적 메모리, 작업 지침 캡처
  • 도메인별 비즈니스 개체(예: 제품, 판매 주문)
from pydantic import BaseModel, Field

class Customer(BaseModel):
    """A customer of the service"""
    name: str | None = Field(..., description="The name of the customer")
    email: str | None = Field(..., description="The email address of the customer")
    subscription_tier: str | None = Field(..., description="The customer's subscription level")

Graphiti는 추출된 엔터티를 정의된 사용자 정의 유형과 자동으로 일치시켜요. 사용자 정의 엔터티 유형은 지식을 정확하게 기억하고 상황 인식을 향상시키는 에이전트의 능력을 향상시키며, 이는 일관되고 관련성 있는 상호 작용에 필수적이죠.

주요 비교

다음 표는 QFS 기반 GraphRAG와 비교해서 Graphiti의 주요 특성을 분석한 내용이에요.

에이전트의 미래를 뒷받침하는 그래프 메모리

Graphiti는 특히 동적 에이전트 시스템을 위한 메모리 인프라로 처음부터 구축되었기 때문에 전통적인 RAG 방법과는 차별점을 가져요. Graphiti는 시간적으로 인식되는 Knowledge Graph를 통해 점진적인 실시간 업데이트를 제공하죠. 이 설계 덕분에 엔지니어는 데이터가 변경될 때 더 이상 전체 그래프를 다시 계산할 필요가 없어요. 대신 Graphiti는 업데이트를 점진적으로 통합하고 시간적 메타데이터를 기반으로 충돌을 해결하며 정확한 기록 상태를 유지한답니다.

쿼리 시 LLM 기반 요약의 병목 현상을 제거함으로써 Graphiti는 엔지니어가 대화형 실제 애플리케이션에 요구하는 실질적인 대기 시간 수준을 달성해요. Semantic Embedding, 키워드 검색 및 그래프 순회를 결합한 하이브리드 인덱스 시스템을 사용하면 그래프 규모에 관계없이 거의 일정한 시간에 빠른 검색이 가능하죠. Graphiti는 Pydantic 모델과 같은 친숙한 구조를 통해 구현된 맞춤 엔터티 유형과 같은 직관적인 도구를 통해 에이전트 개발의 상당한 기능 격차를 해결하여 엔지니어에게 강력하고 성능이 뛰어나며 진정한 동적 메모리 계층을 제공한답니다.

자세히 알아보기젭과 그라피티.


  • 에이전트 AI
  • AI 에이전트
  • Retrieval-Augmented Generation

에이치시스템즈LogTree는 Neo4j 기반 GraphRAG 플랫폼으로, 데이터를 자동으로 지식그래프화하고 자연어 질의로 즉시 답을 제공합니다.

👉 에이치시스템즈 홈페이지

728x90
반응형

+ Recent posts