[Paper] 신뢰할 수 있는 Graph‑RAG for Codebases: AST 기반 그래프 vs LLM 추출 지식 그래프

발행: (2026년 1월 14일 오전 03:03 GMT+9)
9 min read
원문: arXiv

Source: arXiv - 2601.08773v1

개요

이 논문은 복잡한 Java 코드베이스 탐색과 같은 소프트웨어 엔지니어링 작업에서 Retrieval‑Augmented Generation (RAG)을 보다 신뢰성 있게 만드는 방법을 조사합니다. 평범한 벡터 검색, LLM이 생성한 지식‑그래프, 그리고 결정론적 AST‑파생 그래프라는 세 가지 검색 파이프라인을 비교함으로써, 저자는 추상 구문 트리(AST)에서 직접 구축된 그래프가 다중 홉 아키텍처 쿼리에 대해 가장 높은 커버리지, 정확도 및 비용 효율성을 제공한다는 것을 보여줍니다.

주요 기여

  • Three‑pipeline benchmark를 실제 Java 프로젝트(Shopizer, ThingsBoard, OpenMRS)에서 수행하여 인덱싱 시간, 쿼리 지연, 커버리지, 비용, 답변 정확성을 평가함.
  • **Deterministic AST‑derived knowledge graph (DKB)**를 Tree‑sitter와 양방향 탐색을 이용해 구축했으며, 파일을 거의 완전하게 커버하면서 몇 초 만에 생성함.
  • Empirical evidence(실증적 증거)로, LLM‑추출 지식 그래프(LLM‑KB)가 코드베이스의 상당 부분을 놓치고 인덱싱 비용이 더 높다는 것을 보여줌.
  • Demonstration(시연)으로, 순수 벡터 기반 RAG가 다중 홉 아키텍처 추론에 어려움을 겪으며 환각 비율이 더 높아짐을 확인함.
  • Practical guidelines(실용적인 가이드라인)으로, 코드 어시스턴트 도구나 자동 문서화 시스템을 구축할 때 적절한 검색 전략 선택 방법을 제시함.

방법론

  1. Repositories & Queries – 이 연구는 세 개의 오픈‑소스 Java 코드베이스(Shopizer, ThingsBoard, OpenMRS)를 사용합니다. 각 코드베이스마다 15개의 “아키텍처 및 코드‑추적” 질문(예: “OrderController가 호출하는 서비스는 무엇인가요?”)을 선별하여 실행합니다.
  2. Retrieval Pipelines
    • No‑Graph RAG: 청크된 소스 파일에 대한 전통적인 벡터 유사도 검색.
    • LLM‑KB: LLM에 프롬프트를 보내 엔티티(클래스, 메서드, 인터페이스)와 관계를 추출한 뒤, 생성된 지식‑그래프 노드를 임베딩.
    • DKB: Tree‑sitter로 코드를 파싱하고 AST를 순회하여 선언, 상속, 메서드 호출 및 의존성 엣지의 결정적 그래프를 추출; 각 노드를 임베딩.
  3. Metrics – 각 파이프라인에 대해 저자들은 다음을 기록합니다:
    • Indexing time (그래프 구축 + 임베딩)
    • Query latency (검색 + 생성)
    • Corpus coverage (인덱스에 포함된 소스 파일 비율)
    • Cost (LLM API 호출, 컴퓨팅 시간)
    • Answer correctness (인간이 0‑2 척도로 평가).
  4. Evaluation – 답변을 코드와 문서에서 도출한 정답과 비교합니다. 환각(잘못됐지만 그럴듯한 진술)은 별도로 기록합니다.

결과 및 발견

측정항목No‑Graph RAGLLM‑KBDKB
인덱싱 시간~5 분 (벡터 임베딩)30‑45분 (LLM 프롬프트 + 임베딩)< 10초 (AST 파싱 + 임베딩)
커버리지파일의 92 % (일부 청크 누락)84 % (Shopizer에서 377 파일 건너뜀)100 % (결정적 파싱)
쿼리 지연시간평균 1.2 초평균 2.8 초, 변동 폭 큼평균 1.3 초
비용 (레포당)낮음 (벡터 임베딩만)높음 (LLM 호출이 주도)보통 (AST + 저비용 임베딩)
정확도 (Shopizer)평균 점수 0.78 (다중 홉에서 최악)평균 점수 1.45평균 점수 1.62 (최고)
환각 비율답변의 27 %12 %8 %

요약: 결정적 AST 기반 그래프는 커버리지와 답변 품질 면에서 LLM이 생성한 그래프보다 일관되게 우수하며, 구축 비용과 속도 면에서도 훨씬 저렴하고 빠릅니다. 단순 벡터 검색은 여러 코드 엔티티를 넘는 추론이 필요한 모든 쿼리에서 뒤처집니다.

실용적 함의

  • 개발자를 위한 도구 – IDE 플러그인이나 채팅 기반 코드 어시스턴트가 AST 기반 그래프를 채택하여 정확하고 다단계 탐색을 제공할 수 있다 (예: “컨트롤러에서 DB 레이어까지 전체 호출 체인을 표시해 주세요”).
  • 비용 효율적인 확장 – DKB 인덱싱이 초단위로 빠르고 저렴하기 때문에, 대규모 모노레포도 과도한 클라우드 비용 없이 자주 갱신할 수 있다.
  • 환각 감소 – 결정론적 그래프는 LLM에 구체적인 기반을 제공하여 존재하지 않는 관계를 만들어낼 가능성을 낮춘다. 이는 프로덕션 수준 코드 어시스턴트에 있어 중요한 안전 요소이다.
  • 하이브리드 파이프라인 – 팀은 주제 검색을 위한 경량 벡터 스토어를 유지하고, 구조적 쿼리를 위해 AST 그래프를 겹쳐 사용할 수 있어 양쪽 장점을 모두 활용한다.
  • 컴플라이언스 및 감사 – 결정론적 그래프는 검증 가능한 아티팩트(AST)를 제공하므로, 불투명한 LLM 생성 지식 베이스와 달리 감사를 수행할 수 있다.

제한 사항 및 향후 작업

  • 언어 범위 – 실험은 Java에만 국한되어 있습니다; 동적 타입 언어(Python, JavaScript)로 확장하려면 추가적인 휴리스틱이 필요할 수 있습니다.
  • 그래프 풍부성 – 현재 AST 기반 그래프는 선언과 호출 관계만을 포착하고 런타임 정보(예: 리플렉션, DI 컨테이너 연결) 등을 제외하고 있어 정확도에 영향을 줄 수 있습니다.
  • LLM 프롬프트 엔지니어링 – 본 연구는 LLM‑KB에 대해 단일 프롬프트 전략만 사용했으며, 보다 정교한 프롬프트나 파인튜닝된 모델을 활용하면 커버리지 격차를 줄일 수 있을 것입니다.
  • 사용자 연구 검증 – 개발자 만족도, 해결 시간 등 인간 중심 평가가 향후 작업으로 남아 있습니다.
  • CI/CD와의 통합 – 지속적 통합 파이프라인에서 DKB 업데이트를 자동화하고, 코드 리뷰 지원에 미치는 영향을 측정하는 것은 아직 열려 있는 과제입니다.

저자

  • Manideep Reddy Chinthareddy

논문 정보

  • arXiv ID: 2601.08773v1
  • 분류: cs.SE, cs.AI
  • 출판일: 2026년 1월 13일
  • PDF: PDF 다운로드
Back to Blog

관련 글

더 보기 »

[Paper] Gemini용 프로덕션 준비 프로브 구축

최첨단 language model 능력이 빠르게 향상되고 있습니다. 따라서 점점 더 강력해지는 시스템을 악용하는 악의적인 행위자들에 대한 보다 강력한 mitigations가 필요합니다. Prior w...