피드로 돌아가기
Building KernelMind, A Code-Aware Github Companion
Dev.toDev.to
AI/ML

FQN 기반 Graph 구조 도입을 통한 Code-Aware RAG retrieval 최적화

Building KernelMind, A Code-Aware Github Companion

Ishaan Mavinkurve2026년 5월 17일8advanced

Context

단순 Embeddings 기반의 Vector Search는 코드의 실행 흐름과 구조적 관계를 파악하지 못해 맥락이 끊긴 파편화된 Chunk만 추출하는 한계 노출. 특히 동일한 함수명(init 등)의 중복 발생으로 인해 심볼의 고유 식별이 불가능한 상태에서 retrieval 정밀도 저하 발생.

Technical Solution

  • Fully Qualified Names(FQN) 도입을 통한 코드 내 모든 심볼의 전역적 고유 식별자 확보 및 중복 파싱 방지
  • Local method call(self.method)을 글로벌 주소 가능 심볼로 변환하는 Resolution Logic 설계를 통한 시맨틱 관계 복원
  • caller-callee 간의 Directed Edge를 구축하여 단순 텍스트 뭉치가 아닌 실행 흐름을 반영한 Graph Data Structure 구현
  • BFS 기반의 Graph Traversal에 Semantic Weighting을 결합하여 사용자 쿼리와 연관된 실행 경로 우선 탐색 로직 적용
  • 단순 구조적 관계를 넘어 Query Intent에 따른 추론 경로를 최적화함으로써 관련 없는 유틸리티 코드 배제 및 워크플로우 중심의 컨텍스트 추출

1. 코드 RAG 설계 시 단순 Chunking 대신 AST 파싱을 통한 FQN 기반 식별 체계 구축 검토

2. 심볼 간의 호출 관계를 Graph로 모델링하여 단일 문서 검색이 아닌 실행 흐름(Execution Flow) 단위의 컨텍스트 확보

3. Vector Search 결과에 Graph Traversal(BFS/DFS)을 결합한 하이브리드 검색 전략 적용

원문 읽기