25년 10월 4주차 그래프 오마카세

Introducing GraphQA: An Agent for Asking Graphs Questions

Introducing GraphQA: An Agent for Asking Graphs Questions | Catio
GraphQA is Catio’s new open-source agent for natural-language questions over architecture graphs, fusing LLMs with graph algorithms to deliver fast, structure-aware answers for dependencies, flows, and system reasoning.
GitHub - catio-tech/graphqa: GraphQA: Natural Language Graph Analysis Framework - Ask questions about any graph in natural language
GraphQA: Natural Language Graph Analysis Framework - Ask questions about any graph in natural language - catio-tech/graphqa
  • 기업의 복잡한 클라우드 아키텍처 관리를 돕기 위해 AI 기반의 도구와 추천 기능을 제공하는 기술 기업(Tech Company), "Catio" 라는 그룹은 주력 분야인 클라우드 아키텍처를 기반으로 AI 코파일럿을 만드는 회사로 잘 알려져 있습니다. 최근 Catio 그룹은 클라우드 시스템을 그래프로 보고 추론하는 기술(GraphQA)을 개발하여 이 코파일럿에 적용한 테크니컬 레포트를 공식 블로그에 게재하였습니다.
  • 최근 인공지능 분야는 스스로 문제를 해결하는 에이전트(Agent) 개발에 집중하고 있습니다. 하지만 복잡한 시스템의 구조를 분석하고 추론하는 문제에서는 기존 LLM의 한계가 명확했습니다.
  • 클라우드 아키텍처, 공급망, 소셜 네트워크 등 세상의 많은 시스템은 본질적으로 서비스, 데이터베이스, API 등이 복잡하게 연결된 그래프(Graph) 구조로 얽혀 있습니다. 시스템을 최적화하거나 문제를 해결하려면 이러한 관계를 이해해야 합니다. 하지만 이러한 그래프 구조를 분석하고 추론하는 능력은 여전히 ​​특수 쿼리 언어와 전문가 영역에 머물러 있었습니다.
  • 이러한 간극을 메우기 위해 만들어진 오픈소스 에이전트, GraphQA에 대해서 이번 주 오마카세로 가볍게 소개해드리고자 합니다.

  • LLM은 텍스트 추론에 강력하여 요약, 설명, 심지어 계획까지 수행할 수 있습니다. 하지만 그래프 경로 추적, 종속성 계산, 영향 분석 등 시스템의 구조적 관계에 있어서는 취약합니다. 즉, 서비스 간의 관계를 설명할 수는 있지만, 특정 데이터베이스에서 시작되는 모든 종속 경로를 계산할 수는 없습니다.
  • 그래프는 경로, 종속성, 계층 구조 등 시스템에 형태를 부여하는 모든 요소를 명시적이고 계산 가능하게 만듭니다. 수십 년간 그래프 이론이 해결해 온 이 구조적 추론 능력을 AI 에이전트에게 제공하는 것이 GraphQA의 핵심 목표입니다.
  • 그래프를 단순한 텍스트로 변환하여 RAG를 시도하는 방식으로는 정확한 구조 분석이 불가능했습니다. GraphQA는 시스템을 단순한 텍스트가 아닌 그래프로 취급하고, 실제 그래프 알고리즘을 사용하여 추론합니다.
    • 기존 방식과의 차별점: 그래프를 분석할 텍스트로 처리하거나, LLM이 불안정한 쿼리 언어(Cypher/Gremlin)를 생성하게 하는 대신, 에이전트가 그래프 알고리즘 도구에 직접 접근하여 구조를 파악하게 합니다.
    • 에이전트는 언어 추론과 함께 근거리 탐색, 영향 추적, 병목 현상 감지와 같은 알고리즘을 사용하여 문제를 해결할 수 있습니다. 즉, 아키텍처가 무엇인지 이해할 뿐만 아니라, 무언가가 변경될 때 어떻게 동작할지까지 예측할 수 있습니다.
  • GraphQA는 새로운 쿼리 언어가 아닌, 그래프 추론을 위한 모듈식 에이전트 인터페이스로 제공됩니다.
    • LangGraph가 추론 루프를 조율하며 도구 호출, 메모리, 중간 결과를 관리하는 오케스트레이션(orchestration) 역할을 담당합니다.
    • 다음 LLM (e.g. GPT)은 사용자의 질문을 해석하고 그 의도를 파악하여, LangGraph를 통해 적절한 알고리즘을 호출, 다음에 실행할 그래프 작업을 결정하는 역할을 수행합니다.
    • NetworkX (선택적으로 cuGraph를 통한 GPU 가속)을 통해 Searching, Shortest Path, Centrality analysis 등의 그래프 도구들을 제공하는 알고리즘 코어를 담당합니다.
    • 에이전트 로직 변경 없이도 사용자가 직접 정의한 알고리즘이나 다른 그래프 백엔드로 쉽게 확장할 수 있도록 설계되었습니다.
  • 이러한 요소들이 결합되어, GraphQA는 백엔드에 관계없이 그래프에 대한 알고리즘 추론을 위한 깔끔하고 보편적인 인터페이스를 에이전트에게 제공합니다. GraphQA는 클라우드 아키텍처, 공급망, 소셜 네트워크, 생물 시스템 등 구조가 중요한 모든 영역에서 에이전트의 능력을 한 단계 끌어올릴 잠재력을 가지고 있다고 평가받고 있습니다.
  • 현재 GraphQA는 Catio의 추천 및 채팅 모듈에 활용되고 있으며, LLM에게 '텍스트만 읽는 능력'을 넘어 '시스템의 구조를 계산하는 능력'을 제공함으로써 폭넓은 적용 분야로 확장될 수 있음을 밝힙니다.
    • 마이크로 서비스 : 서비스 간 종속성 맵핑
    • 데이터 거버넌스 : 데이터 흐름 및 계보(Lineage) 분석
    • 공급망 위험 분석 등
  • 현재 해당 프로젝트는 오픈 소스로 공개되어 있으니 참고해보시면 좋을 것 같습니다.

[Contact Info]

Gmail: jhbae1184@akane.waseda.jp

Twitter (X): @jhbae1184

LinkedIn

Read more