코드 에이전트에게 정적 구조가 얼마나 필요한가? 결정론적 앵커링(Deterministic Anchoring)에 관한 연구
요약
LLM 기반 코드 에이전트의 확률적 탐색 문제를 해결하기 위해 경량 정적 분석을 통한 '결정론적 앵커링' 효과를 연구했습니다. 정적 구조 정보를 주석으로 주입함으로써 에이전트의 탐색을 더 예측 가능하고 재현 가능하게 만들 수 있음을 입증했습니다.
핵심 포인트
- 정적 구조 주입은 에이전트의 탐색을 규율 있고 재현 가능하게 만듦
- 함수 수준의 로컬라이제이션 개선 및 상호작용 라운드 단축
- 실행 간 분산을 약 절반으로 줄여 단일 실행 신뢰성 향상
- 저장소 규모와 특성에 따른 최적의 구조적 주석 세밀도 존재
LLM 기반 코드 에이전트(code agents)는 키워드 검색을 통해 저장소(repositories)를 탐색하지만, 소프트웨어가 실제로 작동하는 방식을 정의하는 호출 그래프(call graphs), 상속 계층(inheritance hierarchies), 설정 의존성(configuration dependencies)과 같은 구조적 관계를 놓칩니다. 이로 인해 에이전트의 탐색은 확률적(stochastic)이며 실행 시마다 재현하기 어렵습니다. 우리는 경량 정적 분석(lightweight static analysis)이 이러한 에이전트들에게 결정론적 앵커(deterministic anchors)를 제공할 수 있는지 조사합니다. 여기서 결정론적 앵커란 확률적 탐색을 제한하고 탐색을 더 예측 가능하게 만들기 위해 일반 텍스트 주석(plain-text comments)으로 주입되는 안정적인 구조적 사실을 의미합니다. OpenAI의 Codex라는 강력한 베이스라인에서 시작하여, 우리는 다양한 세밀도(granularities)의 구조적 주석을 체계적으로 주입하고 이것이 로컬라이제이션(localization), 궤적 동작(trajectory behavior), 그리고 실행 간 안정성(run-to-run stability)에 미치는 영향을 측정합니다. 우리의 연구는 우리가 '결정론적 앵커링 효과(deterministic anchoring effect)'라고 부르는 것을 식별합니다: 정적 구조는 에이전트를 더 '똑똑하게' 만들기보다, 그들의 탐색을 규율 있고 재현 가능하게 만듦으로써 더 큰 도움을 줍니다. 세 가지 관찰 결과가 이 발견을 뒷받침합니다: (1) 앵커링은 효과가 있습니다: 경량 호출/상속 토폴로지(topology)는 함수 수준의 로컬라이제이션을 개선하며(+2.2pp Func@5), 궤적을 단축시킵니다(-1.6 interaction rounds); (2) 앵커링은 규모에 민감합니다: 최적의 세밀도와 방향성은 저장소의 특성에 따라 달라지며, 의미론적 밀도가 높을수록 수익 체감(diminishing returns) 현상이 나타나고, 허브(hub)가 많은 프로젝트는 순방향 엣지(forward edges) 없이 '누가 나를 호출하는지(who-calls-me)'를 노출하는 역방향 전용 링크(inverse-only links)로부터 이득을 얻습니다; (3) 앵커링은 안정화합니다: 태그는 링크 추적률(link-following rate)을 0.15-0.18에서 0.21-0.24로 높이고, 실행 간 분산(run-to-run variance)을 대략 절반으로 줄이며, 입력 토큰을 약 10% 더 사용하는 대가로 중간 규모 저장소에서 단일 실행 신뢰성(Pass@1 +3.4 pp)을 향상시킵니다. 이러한 관찰 결과는 실질적인 가이드라인을 제시합니다: 중간 규모 프로젝트에서는 기본적으로 경량 토폴로지를 사용하고, 대규모 저장소에서는 순방향 엣지를 가지치기(prune)하며, 밀집된 태그는 암시적 의존성(implicit-dependency) 사례를 위해 남겨두십시오.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기