INTERVENOR: 대화형 수리 체인을 활용한 대형 언어 모델의 코딩 능력 유도

이 논문은 인터벤어(INTERVENOR, INTERactiVE chaiN Of Repair)라는 시스템을 소개합니다. 이 시스템은 인간에서 관찰된 상호작용 코드 수정 과정을 모방하여, 코드 진단과 코드 수정을 모두 포함하고 있습니다. 인터벤어는 대형 언어 모델(LLMs)에게 코드 수정 과정 중 서로 다른 역할을 수행하도록 요청하며, 이는 코드 학습자(Code Learner)와 코드 교사(Code Teacher)의 역할을 포함합니다. 구체적으로, 코드 학습자는 지시사항에 따라 코드를 생성하거나 수정하는 임무를 맡고 있으며, 코드 교사는 코드 학습자를 위한 수정 체인(Chain-of-Repair, CoR)을 작성하는 책임이 있습니다. CoR를 생성하는 동안, 코드 교사는 컴파일러로부터 받은 오류 피드백을 바탕으로 코드 학습자가 생성한 코드를 검토하고, 어떻게 코드 버그를 해결할지 재평가해야 합니다.실험 결과는 인터벤어가 기준 모델들을 능가함을 보여주며, 특히 GPT-3.5와 비교해 코드 생성 작업에서는 약 18%, 코드 번역 작업에서는 약 4.3%의 개선을 나타냈습니다. 우리의 추가 분석은 CoR가 버그의 원인을 설명하고 자연어로 해결 계획을 제시하는 데 효과적임을 입증하였습니다. 컴파일러의 피드백을 통해 인터벤어는 문법 오류와 단언 오류를 정확히 식별하고, 이를 수정하기 위한 정밀한 지침을 제공할 수 있습니다. 모든 데이터와 소스코드는 https://github.com/NEUIR/INTERVENOR 에서 확인할 수 있습니다.