ProjAgent: 저장소 수준 코드 생성을 위한 절차적 유사성 검색
요약
본 논문은 복잡한 프로젝트 전반의 코드를 생성하기 위해 '절차적 유사성(procedural similarity)'을 도입한 ProjAgent 시스템을 제안합니다. ProjAgent는 목표 함수를 단계별로 분해하고, 각 단계에서 유사한 로직을 가진 저장소 함수들을 검색하여 코드 생성을 수행하는 에이전트 워크플로우를 사용합니다. 이 방식은 기존의 의미적/구조적 검색의 한계를 극복하며 높은 성능을 보였습니다.
핵심 포인트
- 절차적 유사성(procedural similarity)을 새로운 검색 신호로 도입함.
- 에이전트 워크플로우를 통해 목표 함수를 단계별로 분해하고 로직을 검색함.
- 검색된 컨텍스트와 의미적 검색 결과를 통합하여 코드 생성을 강화함.
- 정적 분석 피드백 루프를 통해 생성 코드를 반복적으로 수정하며 안정성을 높임.
저장소 수준의 코드 생성은 복잡한 크로스 파일 종속성과 프로젝트별 관례를 고려하면서 목표 함수를 구현하는 것을 필요로 합니다. 기존의 검색 방법들은 주로 어휘적(lexical), 구조적(structural) 또는 의미적(semantic) 유사성에 의존하며, 식별자나 애플리케이션 도메인이 다르더라도 유사한 절차적 로직을 구현하는 저장소 함수들을 간과하는 경우가 많습니다. 본 논문에서는 명시적인 검색 신호로서 절차적 유사성(procedural similarity)을 도입한 저장소 수준 코드 생성 시스템 ProjAgent를 제안합니다. ProjAgent는 목표 함수를 중간 추론 단계로 분해하고, 각 단계에서 유사한 절차적 동작을 보이는 저장소 함수들을 검색하기 위해 에이전트 워크플로우(agentic workflow)를 사용합니다. 검색된 절차적 컨텍스트는 기존의 의미적 검색과 통합되어 코드 생성을 위한 더욱 풍부한 저장소 컨텍스트를 구성합니다. ProjAgent는 또한 컴파일러 및 정적 분석 피드백을 사용하여 생성된 코드를 반복적으로 수정하는 보수적인 정적 분석 피드백 루프(static-analysis feedback loop)를 통합합니다. REPOCOD 데이터셋으로 평가했을 때, ProjAgent는 41.14%의 Pass@1을 달성하며 기존 검색 기반 기준 모델들을 능가했습니다. 이러한 결과들은 절차적 유사성이 저장소 수준 코드 생성에 효과적이며 이전에 탐구되지 않은 검색 차원임을 입증합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기