Poison Valleys: LLM 코드 복구의 경로 의존적 실패 진단
요약
본 논문은 LLM 기반 코드 복구 에이전트의 실패 원인을 진단하는 새로운 방법론인 'Poison Valleys'를 제안합니다. 이 연구는 두 가지 합성 Python 사례(PersistQueue, Dijkstra)에서 모델 요청을 통해 경로 의존적 실패를 추적하며, 오개념이 가설 및 계획 단계에 미치는 영향을 분석했습니다.
핵심 포인트
- LLM 코드 복구 에이전트의 근본적인 실패 원인 진단 방법을 제시함.
- 오개념을 가설에서 계획으로 옮기는 것이 실패율 증가를 유발함을 입증함.
- 상류 오개념과 코드 메커니즘 간 측정 가능한 연결고리를 발견함.
코드 복구 에이전트가 실패할 때, 최종 테스트는 패치가 잘못되었다는 것은 밝혀내지만, 어떤 이전 커밋(commitment) 때문에 문제가 발생했는지 또는 어떤 소프트웨어 의무(software obligation)가 실패했는지는 알려주지 않습니다. Poison Valleys는 두 가지 합성 Python 사례에서 1,844개의 모델 요청을 통해 이러한 경로를 추적합니다. 첫 번째 사례는 PersistQueue로, 디스크 기반 큐에 원자적 배치 클레임(atomic batch claiming) 기능을 추가하는 경우이며, 다른 사례는 Dijkstra로, 최단 경로 검색에 소스 민감 필터링(source-sensitive filtering)을 추가하는 경우입니다. 우리는 그럴듯하지만 잘못된 소프트웨어 메커니즘을 정의하고, 이를 모델의 가설(hypothesis), 구현 계획(implementation plan), 또는 둘 다에 배치한 다음, 오라클(Oracle)과 목표 진단 좌표(targeted diagnostic coordinates)를 사용하여 생성된 코드를 평가합니다. 오개념(misconception)을 가설에서 계획으로 옮기는 것은 실험적 혼합(experimental mix)을 맞춘 후 PersistQueue에서 32.2%, Dijkstra에서 28.9%의 실패율 증가를 가져왔습니다. 서로 다른 오개념은 위반된 의무의 구별되는, 모델에 종속적인 패턴을 생성했지만, 여러 개가 동일한 동작으로 수렴할 수도 있었습니다. 이는 상류의 오개념(upstream misconception)에서 코드 메커니즘 및 실패 형태로 측정 가능한 연결고리를 만듭니다. 코드, 데이터 및 데모: https://poisonvalleys.org.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기