ExecVerify: White-Box RL with Verifiable Stepwise Rewards for Code Execution Reasoning

이 논문은 실행 단계별 검증 가능한 보상과 난이도 조절이 가능한 데이터 합성을 통해 강화학습을 적용한 'ExecVerify'를 제안함으로써, 7B 모델이 32B 모델 수준의 코드 추론 성능을 달성하고 코드 생성 정확도를 크게 향상시킨다는 것을 보여줍니다.

Lingxiao Tang, He Ye, Zhaoyang Chu, Muyang Ye, Zhongxin Liu, Xiaoxue Ren, Lingfeng Bao

게시일 2026-03-13
📖 3 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

이 논문은 **"코드를 짜는 AI(대형 언어 모델) 가 코드를 실제로 실행해 볼 때, 그 과정을 제대로 이해하고 있는지"**를 가르치는 새로운 방법을 소개합니다.

기존의 AI 는 코드를 읽을 때 마치 외국어를 외우는 학생처럼, "입력 (Input) 이면 출력 (Output) 은 이렇게 나오는구나"라고 암기하는 데 그쳤습니다. 하지만 코드가 실제로 어떻게 돌아가는지 (변수의 값이 어떻게 변하는지, 어떤 줄이 먼저 실행되는지) 는 모른 채 답만 맞추려 했습니다.

이 논문은 이를 해결하기 위해 **'ExecVerify(실행 검증)'**라는 시스템을 만들었습니다. 일상적인 비유로 설명해 드리겠습니다.


1. 문제: "암기형 학생" vs "이해형 학생"

  • 기존 방법 (SFT, 지도 학습):
    선생님이 "이 코드를 실행하면 결과가 A 가 돼"라고 말해주면, 학생은 그 말만 외워서 "A!"라고 외칩니다.

    • 문제점: 중간 과정을 몰라도 됩니다. "왜 A 가 된 거지?"를 물어보면 "선생님이 그렇게 했으니까요"라고 대답할 뿐, 실제 계산 과정을 모릅니다. 코드가 조금만 바뀌어도 엉뚱한 답을 냅니다.
  • ExecVerify 의 접근 (화이트박스 강화 학습):
    선생님이 "이 코드를 실행해 보자. 1 단계에서는 변수 result 의 값이 뭐가 되지? 2 단계에서는 어떤 줄이 실행될까?"라고 중간중간 퀴즈를 냅니다.

    • 핵심: AI 가 코드를 실행하는 컴퓨터 (인터프리터) 와 연결해서, 실제 실행되는 과정을 하나하나 확인하며 학습시킵니다.

2. 해결책: "코딩 교실"의 3 단계 전략

이 논문은 AI 를 가르치는 과정을 3 단계로 나눕니다.

1 단계: "난이도 조절된 문제지 만들기" (데이터 합성)

기존에 있는 코드는 너무 쉽거나, 너무 어려워서 AI 가 배울 수 없었습니다.

  • 비유: 수학 선생님이 학생 수준에 맞춰 문제를 직접 만든다고 상상해 보세요.
    • "단순한足셈"부터 시작해서, "중첩된 루프 (for 문 안에 for 문)"가 들어간 복잡한 문제까지, 난이도별로 딱 맞는 문제를 AI 가 스스로 만들어냅니다.
    • 이렇게 하면 AI 는 쉬운 문제에서 기초를 다지고, 점점 어려운 문제에서 실력을 키울 수 있습니다.

2 단계: "실시간 피드백을 주는 코딩 교실" (화이트박스 강화 학습)

이게 이 논문의 가장 큰 혁신입니다.

  • 기존: AI 가 코드를 짜고 실행해 보니 결과가 맞으면 "정답!", 틀리면 "오답!"이라고만 알려줍니다. (결과만 봄)
  • ExecVerify: AI 가 코드를 실행하는 중간중간에 "지금 변수 x 의 값은 뭐야?", "다음 줄은 어디로 갈 거야?"라고 물어봅니다.
    • 비유: 요리사가 요리를 할 때, 요리사가 "소금을 얼마나 넣었어?", "불은 어느 정도야?"라고 중간중간 체크하는 것과 같습니다.
    • AI 가 **중간 과정 (변수의 값, 제어 흐름)**을 정확히 맞혀야 점수를 받습니다. 이렇게 하면 AI 는 단순히 답을 외우는 게 아니라, **코드가 어떻게 돌아가는지 '이해'**하게 됩니다.

3 단계: "실전 코딩 대회" (코드 생성 강화 학습)

이제 AI 가 코드를 실행하는 원리를 완벽하게 이해했으니, 실제 코드를 만들어내는 훈련을 합니다.

  • 비유: 이제 이론과 실행 원리를 다 배운 학생이, 실제 요리 대회에 나가서 맛있는 요리를 만들어냅니다.
  • AI 가 만든 코드가 테스트를 통과하면 점수를 주고, 통과하지 못하면 다시 고치게 합니다. 이때 2 단계에서 배운 '실행 원리' 덕분에 훨씬 더 정확한 코드를 만들게 됩니다.

3. 결과: 작은 AI 가 거인 AI 를 이기다

  • 놀라운 성과: 이 방법으로 훈련된 **70 억 개 (7B)**의 작은 AI 모델이, **320 억 개 (32B)**나 되는 거대 AI 모델과 코드를 실행하는 능력에서 거의 비슷하거나 더 좋은 성적을 냈습니다.
  • 코드 생성 능력: 단순히 코드를 실행하는 것뿐만 아니라, 새로운 코드를 작성하는 능력도 기존 방법보다 최대 5.9% 향상되었습니다.

4. 요약: 왜 이 연구가 중요한가?

기존의 AI 는 **"결과만 맞추는 암기왕"**이었다면, 이 논문의 ExecVerify는 **"원리를 이해하는 코딩 천재"**를 만듭니다.

  • 창의적 비유:
    • 기존: 길찾기 앱이 "A 에서 B 로 가려면 오른쪽으로 3 번, 왼쪽으로 2 번"이라고 외운다. (길 바뀜에 취약)
    • ExecVerify: 길찾기 앱이 "왜 오른쪽으로 가야 하는지, 신호등은 어떻게 작동하는지"를 이해한다. (새로운 길도 스스로 찾아낼 수 있음)

이 기술은 작고 효율적인 AI 모델이 복잡한 코딩 작업을 수행할 수 있게 해주며, 앞으로 더 똑똑하고 신뢰할 수 있는 코딩 도우미를 만드는 데 큰 발걸음이 될 것입니다.