실패에서 통과로: LLM 코드 생성(Code Generation)을 위한 자연어 프롬프트 최적화 규칙의 진화
요약
LLM의 코드 생성 성능을 높이기 위해 자연어 프롬프트 최적화 규칙을 진화시키는 탐색 기반 접근 방식인 DUALFIX를 제안합니다. 이 방식은 실행 피드백과 결합하여 명세 및 구현 수준의 오류를 해결하며, 모델 간 전이 가능성이 뛰어납니다.
핵심 포인트
- 프롬프트 변환 규칙을 진화시켜 코드 생성 성능을 개선하는 DUALFIX 제안
- 실행 피드백만으로는 해결하기 어려운 실패 사례의 12-17%를 추가 해결
- Self-Fix 대비 최대 3-5배 높은 실패 복구 성능 입증
- 한 모델에서 학습된 규칙이 다른 모델로 제로샷 전이 가능함 확인
대규모 언어 모델(Large language models)은 프롬프트 구성(prompt formulation)에 민감한 것으로 알려져 있습니다. 문구의 미세한 변화만으로도 성능이 크게 저하될 수 있습니다. 이러한 민감성은 하나의 기회를 시사합니다. 만약 프롬프트 문구가 성능을 해칠 수 있다면, 이를 성능을 개선하는 데 사용할 수 있지 않을까요? 이 질문을 조사하기 위해, 우리는 코딩 성능에 강력한 다운스트림 효과(downstream effects)를 미치는 일련의 자연어 변환 규칙(natural language transformation rules)을 식별하고 진화시키는 탐색 기반 접근 방식(search-based approach)을 소개합니다. 그런 다음, 우리는 진화된 변환 규칙과 실행 피드백 수정(execution-feedback repair)을 결합하여 명세 수준(specification-level) 및 구현 수준(implementation-level)의 실패를 모두 해결하는 단계별 복구 파이프라인인 DUALFIX를 제안합니다. 우리 접근 방식의 핵심 강점은 범용성(generality)에 있습니다. 진화된 규칙은 오류에 구애받지 않고(error-agnostic), 문제 전반에 걸쳐 재사용 가능하며, 모델 간 전이(transferable)가 가능합니다. 우리는 두 가지 도전적인 벤치마크인 LiveCodeBench와 APPS에서 세 가지 모델을 대상으로 실행 피드백 수정 베이스라인과 DUALFIX를 비교 평가했습니다. 결과에 따르면, 진화된 변환은 실패 사례의 10-30%를 해결하며, 여기에는 실행 기반 수정만으로는 해결할 수 없는 실패의 12-17%가 포함됩니다. 전반적으로, DualFix는 베이스라인 실패의 최대 30%를 복구하며, 평가된 모든 설정에서 Self-Fix보다 3-5배 더 많은 실패 사례를 해결합니다. 또한, 우리는 한 모델에서 진화된 규칙이 다른 모델로 제로샷(zero-shot) 전이되어, 어떠한 재최적화(re-optimization) 없이도 실행 피드백 수정을 능가함을 보여줍니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기