본문으로 건너뛰기
HF Daily Papers조회 1

코드 에이전트에 필요한 정적 구조의 정도: 결정적 앵커링 연구

대규모 언어 모델 기반 코드 에이전트는 텍스트 검색 중심의 탐색으로 레포지토리 내부의 구조적 연결성을 놓치기 쉬워 재현성과 탐색 효율이 떨어진다. 정적 분석으로 추출한 구조적 사실을 인라인 주석으로 주입하면 에이전트가 불필요한 다중 검색을 줄이고 탐색 경로를 고정해 안정성을 높일 수 있다. 이는 실운영 환경에서 한 번만 실행되는 에이전트의 실패 원인 규명과 일관된 결과 확보에 직접적인 이익을 준다.

용어 해설

키워드 검색 우선 검색(grep-first retrieval)
코드 레포지토리에서 우선적으로 텍스트 기반 키워드 검색(grep/rg)을 사용해 후보 스팬을 회수하고, 이후 LLM이 해당 스팬을 읽고 판단하면서 탐색을 진행하는 방식이다. 이 방식은 인덱스 구축이 필요 없고 언어에 무관하게 동작하지만 코드의 구조적 연결성(호출 관계, 상속, 설정 전파)을 명시하지 않는다. 본문에서는 이 기본 루프를 고수한 채 정적 주석을 삽입해 구조적 신호를 보강하는 것이 연구 대상이다.
호출 그래프(Call Graph)
프로그램 내 함수·메서드 간 호출 관계를 정점과 간선으로 나타낸 그래프이다. 정적 분석 도구가 소스 코드를 파싱해 생성하며 함수 간 전파 경로를 드러내므로 버그 위치화나 영향 분석에서 유용하다. 본문에서는 호출 그래프를 태그로 직렬화해 에이전트의 탐색 지침으로 사용했다.
결정적 앵커링(Deterministic Anchoring)
정적 분석으로 추출한 저장소 수준의 불변 관계를 인라인 주석으로 삽입해 확률적 탐색을 제약하는 기법이다. 앵커는 호출자·피호출자·상속·설정 사용 등 고정된 구조 사실을 제공하여 LLM 기반 에이전트의 탐색 경로를 일관되게 만든다. 본 연구는 이러한 앵커가 함수 위치화, 탐색 횟수, 실행 간 안정성에 미치는 효과를 측정했다.
Func@k 지표(Func@k)
주어진 이슈에 대해 상위 k개의 함수 후보가 모두 정답 함수를 포함하는지 여부를 과제 단위로 집계한 지표이다. 각 인스턴스가 성공이면 1, 아니면 0으로 계산한 뒤 데이터셋 전체에 대한 비율을 산출한다. 본문에서는 Func@5와 Func@10을 주요 로컬라이제이션 성능 지표로 사용했다.

코드 예제

python
# === Function Annotation ===
# function _get_locale_dirs
# used by: fetch, lang_stats, update_catalogs
# === Function Annotation ===
def _get_locale_dirs(resources, include_core=True):

CodeAnchor 태그의 예시로, 함수 정의 바로 위에 'used by' 필드를 포함한 구조적 주석을 삽입한 형태를 보여준다.

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 06. 25.수집 2026. 06. 30.출처 타입 PAPER

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.