멀티홉 추론(Multi-Hop Reasoning)의 이해

벡터 데이터베이스는 의미론적 검색(semantic search)에는 효과적입니다. 하지만 사람, 시스템, 이벤트 간의 다단계 추론에는 어려움을 겪습니다.

표준 RAG는 수학적 계산을 기반으로 텍스트 청크를 검색합니다. 이 방식은 데이터 포인트 간의 연결 고리를 놓치기 쉽습니다. GraphRAG는 이 문제를 해결합니다. GraphRAG는 대규모 언어 모델(LLM)을 실시간 지식 그래프에 연결합니다.

텍스트 속성 그래프(Text-Attributed Graph)는 노드(node)와 엣지(edge)를 사용합니다.

  • 노드는 사용자나 제품과 같은 엔티티(entity)입니다.
  • 엣지는 "IMPACTS" 또는 "CLONED_FROM"과 같은 관계입니다.
  • "홉(hop)"은 엣지를 통해 한 노드에서 다른 노드로 이동하는 것을 의미합니다.

멀티홉 추론은 단일 문서에는 포함되지 않은 연결 고리를 찾아냅니다.

예시: 사용자가 "CSV 업로드 오류를 어떻게 해결하나요?"라고 질문합니다.

표준 RAG는 키워드를 검색합니다. 이 경우 오래된 FAQ나 무관한 버그 리포트를 반환할 수 있으며, 비즈니스 맥락을 놓치게 됩니다.

GraphRAG는 정확한 경로를 추적합니다: (사용자 버그 리포트) -> [CLONED_FROM] -> (마스터 엔지니어링 티켓) -> [HAS_RESOLUTION] -> (패치 배포됨).

이를 통해 LLM은 막연한 추측 대신 검증된 단계를 제공받을 수 있습니다.

다음 두 가지 방법을 통해 이를 제어할 수 있습니다:

  1. 깊이 탐색(Depth Traversal) 특정 세부 사항을 파고들 때 사용합니다. 근본 원인 분석(root-cause analysis)에 유용합니다. Cypher에서는 홉(hop)의 범위를 설정할 수 있습니다. 예를 들어, 버그 재현 단계를 찾기 위해 쿼리가 1~5단계 깊이까지 탐색할 수 있습니다.

  2. 너비 탐색(Breadth Traversal) 전체 생태계를 파악할 때 사용합니다. 수평적으로 확장하여 모든 직접적인 연결을 확인합니다. 이를 통해 특정 제품에 영향을 미치는 모든 지원 티켓을 한눈에 파악할 수 있습니다.

고급 AI를 구축하려면 이러한 쿼리를 하드코딩하지 마십시오. 대신 멀티 에이전트 시스템을 사용하십시오:

  • 코디네이터 에이전트(The Coordinator Agent): 이 에이전트는 쿼리를 계획합니다. 질문에 너비 탐색이 필요한지 깊이 탐색이 필요한지 결정합니다. 또한 사용자 프롬프트를 그래프 쿼리를 위한 수학적 파라미터로 변환합니다.
  • 재귀적 검색 에이전트(The Recursive Retrieval Agent): 이 에이전트는 데이터베이스가 노드를 찾을 때마다 이를 평가합니다. LLM이 데이터를 확인하기 전에 중요한 데이터는 유지하고 노이즈는 제거합니다.

이러한 아키텍처는 조사 범위를 확장할 수 있는 시스템을 구축합니다. 벡터 검색으로는 제공할 수 없는 완전한 답변을 얻을 수 있습니다.

Source: https://dev.to/imhyke/understanding-multi-hop-reasoning-how-graph-databases-traverse-data-for-ai-31ml

Optional learning community: https://t.me/GyaanSetuAi