루핑은 신뢰성이 아니다: 에이전트 기반 코드 수정(Agentic Code Repair)을 위한 상태 제한 증거 및 타입 지정 수정 계약
요약
코딩 에이전트의 반복적인 수정 루프가 반드시 신뢰성을 보장하지 않는다는 점을 지적하며, 에이전트 기반 코드 수정의 상태 제한 증거 및 타입 지정 수정 계약을 제안합니다. 연구를 통해 반복 횟수에 따른 정확도 변화와 잘못된 추적 데이터의 위험성을 분석했습니다.
핵심 포인트
- 단순 반복 루프는 코드 수정의 신뢰성을 보장하지 않음
- 반복 횟수 증가 시 현재 정확도는 하락하나 지속적 정확도는 상승함
- 오래된 추적 데이터(stale traces)가 올바른 시작을 방해함
- 증거 제한 타입 루프 계약을 통한 기계적 실행 가능성 확보
생성--테스트--수정 (Generate--test--revise) 루프는 코딩 에이전트에서 흔히 나타나지만, 반복 그 자체만으로는 신뢰성을 보장하지 못합니다. 우리는 올바른 패치(patch)를 찾는 것과 이를 유지, 검증 및 제출하는 것 사이의 간극을 연구합니다. 30개의 HumanEval 수정을 대상으로 한 밀봉된 5-시드(five-seed) 연구를 통해 900개의 3회 수정 궤적(trajectories)을 생성했습니다. 강제 수정(forced revision) 하에서, 현재의 추적(traces)을 사용하는 현재의 정확도(correctness)는 1회 수정 후 0.820에서 2회 수정 후 0.673으로 떨어지지만, 지속적 정확도(ever-correct)는 0.847로 상승합니다. 두 가지 공통 상태(common-state) 연구는 사후 처리 위험 집합 편향(post-treatment risk-set bias)을 제거하기 위해 동일한 동결된 프로그램에서 추출한 2,430개의 분기(branches)를 사용합니다. 사전 지정된 14B 복제 연구에서, 오래된 추적(stale traces)은 현재의 추적을 사용할 때(4/135)와 비교하여 올바른 시작(correct starts)의 34/135를 해치며, 이는 22.2포인트의 증가를 나타냅니다 (작업 클러스터 95% 신뢰 구간(CI) $[8.9, 37.0]$, 정확한 Holm $p=0.0337$). 전향적인 540-롤아웃(rollout) 정책은 관찰된 올바른 시작의 피해를 제거하지만, 잘못된 시작의 수정을 줄이고 공동 기준(joint criterion)을 통과하지 못합니다. 24개의 버그와 4개의 코더 스택에 대한 저장소(Repository) 실험은 Holm 유의미한 효과 없이 바닥 효과(floor effects)와 구성 요소의 이질성(heterogeneity)을 드러냅니다. 따라서 우리는 수락(admission), 보존(preservation), 근거 기반 인증(grounded certification), 역량(competence), 그리고 활성(liveness)을 분리합니다. 우리는 증거 제한 타입 루프 계약(evidence-bound typed loop contract)을 도출하고, 검증기 증거를 정확한 코드 상태에 결합하고, 검증된 체크포인트를 보존하며, 감사 가능한 수락 영수증(auditable admission receipts)을 발행하는 참조 구현(reference implementation)에서 기계적으로 실행 가능한 하위 집합을 인스턴스화합니다. 이 구현은 실행 가능한 명세(executable specification)이자 적합성 산출물(conformance artifact)이며, 개선된 수정 역량이나 보정된 검증기 의존성(calibrated verifier dependence)의 증거는 아닙니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.CL (NLP)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기