← 최신 논문
🤖 AI

AxDafny: Agentic Verified Code Generation in Dafny

이 논문은 구현과 증명을 반복적으로 정제하는 검증기 유도형 에이전트 코드 생성 프레임워크인 AxDafny를 소개하며, 새로 제안된 LCB-Pro-Dafny 벤치마크와 기존 DafnyBench에서 최첨단 베이스라인들과 비교하여 검증 성공 측면에서 상당한 개선을 입증한다.

원저자: Benjamin Breen, Austin Letson, Borja Requena Pozo, Leopoldo Sarra

게시일 2026-07-01
📖 3 분 읽기☕ 가벼운 읽기

원저자: Benjamin Breen, Austin Letson, Borja Requena Pozo, Leopoldo Sarra

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

당신이 아주 유능하지만 약간은 무모한 건축가에게 집을 지어달라고 고용했다고 상상해 보세요. 당신은 설계도(규칙)를 건네며 이렇게 말합니다. "주방, 침실, 그리고 지붕이 있는 집을 지어주세요."

컴퓨터 코딩의 세계에서 대부분의 AI 모델은 그 건축가처럼 행동합니다. 그들은 겉보기에는 그럴싸한 집을 짓지만, 막상 살려고 해보면 지붕에서 물이 새거나 주방에 문이 없는 식의 문제가 발생하곤 합니다. 그들은 집이 잘 작동하는지 확인하기 위해 몇 가지 특정 시나리오를 테스트하는 "시운전(test drives)"에 의존하여, 결과물이 충분히 괜찮은지 판단합니다.

AxDafny는 이 판도를 바꾸는 새로운 시스템입니다. 단순히 짓고 나서 잘 되기를 바라는 대신, 집이 지어지는 동안 그 뒤에 숨겨진 수학적 원리를 점검하는 "슈퍼 검사관(formal verifier)"을 사용합니다.

연구진은 이 논문의 내용을 다음과 같이 쉬운 개념으로 나누어 설명합니다.

1. 도전 과제: 수학적 증명으로 집 짓기

연구진은 AI가 단순히 "작동하는" 코드가 아니라, 수학적으로 증명된 코드를 작성할 수 있는지 확인하고 싶었습니다. 그들은 Dafny라고 불리는 특수한 언어를 사용했습니다.

Dafny를 생각해보면, 단순히 "문을 만들었다"라고 말할 수 있는 것이 아닙니다. "이 문은 정확히 3피트 너비이며, 손잡이를 돌릴 때만 열리고, 경첩에서 절대 떨어지지 않는다"라는 것을 증명해야 합니다.

  • 문제점: 코드를 쓰는 것도 어렵지만, 코드를 쓰면서 동시에 그것이 작동한다는 수학적 증명까지 작성하는 것은 훨씬 더 어렵습니다. 대부분의 AI는 이 "증명" 부분에서 막히게 됩니다.

2. 해결책: AxDafny ("수정" 루프)

연구진은 두 사람이 협력하는 것과 같은 AxDafny를 만들었습니다.

  • 건축가 (AI): 코드와 증명을 작성하려고 시도합니다.
  • 검사관 (Verifier): 즉시 작업 내용을 점검합니다.

만약 건축가가 실수를 하면, 검사관은 단순히 "틀렸다"라고 말하는 데 그치지 않습니다. 검사관은 누수되는 지붕이나 빠진 문을 정확히 지목하며, "문이 붙어 있다는 사실을 증명하는 것을 잊었습니다"라고 말합니다.
그러면 건축가는 그 특정 부분을 수정하여 다시 시도합니다. 이들은 검사관으로부터 완벽한 "통과(Pass)"를 받을 때까지 이 과정(짓기 → 확인 → 수정 → 다시 짓기)을 반복합니다.

3. 새로운 테스트: "LCB-Pro-Dafny"

이 시스템이 실제로 작동하는지 확인하기 위해 연구진은 LCB-Pro-Dafny라는 새로운 테스트를 만들었습니다.

  • 프로그래밍 경진 대회(코더들을 위한 고난도 수학 올림피아드 같은)에서 가져온 250개의 어려운 퍼즐을 가져왔다고 상상해 보세요.
  • 이 퍼즐들을 엄격한 "Dafny" 언어로 번역했습니다.
  • 이제 AI는 퍼즐을 풀 뿐만 아니라, 그 해결책이 올바르다는 것까지 증명해야 합니다.

4. 결과: 누가 승리했는나?

연구진은 이 새로운 시스템(AxDafny)을 "수정 루프" 없이 한 번에 코드를 작성하려고 시도하는 강력한 표준 AI(GPT-5.5)와 비교했습니다.

  • "증명" 테스트 (DafnyBench)에서:

    • 표준 AI는 약 **54%**의 증명을 성공했습니다.
    • "수정 루프"를 사용하는 AxDafny는 **92.7%**를 성공했습니다.
    • 비유: 표준 AI는 답을 추측하는 것이라면, AxDafny는 만점을 받을 때까지 자신의 풀이를 계속 확인하는 학생과 같습니다.
  • "경진 대회" 테스트 (LCB-Pro-Dafny)에서:

    • 표준 AI는 어려운 퍼즐 중 단 **11.6%**만을 올바르게 해결했습니다.
    • AxDafny는 **56.4%**를 해결했습니다.
    • 비유: AxDafny는 실제 문제를 푸는 데 훨씬 뛰어났지만, 여전히 "어려운" 단계에서는 고전했습니다. 이는 슈퍼 검사관이 있더라도 어떤 퍼즐은 믿기 힘들 정도로 어렵다는 것을 보여줍니다.

5. 함정: "정확함" vs "빠름"

이 논문에서 발견된 놀라운 사실이 하나 있습니다.
때때로 AxDafny는 수학적으로 완벽한(검사관이 "통과!"라고 외친) 집을 짓지만, 막상 그 집에 들어가 살려고 하면 너무 느리거나 전기를 너무 많이 사용하는 경우가 있었습니다.

  • 이유는 무엇일까요? 검사관은 오직 집이 안전하고 정확한지만 확인합니다. 집이 효율적인지는 확인하지 않습니다.
  • AI는 가끔 빠른 해결책(증명하기 어려운 방식) 대신, 증명하기 쉬운 "느린" 해결책을 선택하곤 합니다.
  • 실제 컴퓨터에서 이 코드를 실행했을 때, 많은 "완벽한" 해결책들이 실행 시간이 너무 길거나(Time Limit Exceeded) 메모리를 너무 많이 사용하여 실패했습니다.

요약

AxDafny는 "확인 및 수정" 루프를 사용하여 AI가 수학적으로 증명된 코드를 작성하도록 가르치는 시스템입니다.

  • 매우 효과적입니다: 코드가 의도한 대로 정확히 작동하도록 만드는 데 탁월합니다(버그가 없습니다).
  • 큰 발전입니다: 단순히 추측하는 일반적인 AI보다 훨씬 뛰어납니다.
  • 한계점: 코드가 "수학적으로 증명되었다"고 해서 반드시 "실제 경쟁 환경에서 충분히 빠르다"는 뜻은 아닙니다. AI는 정확하면서도 효율적이어야 하는 법을 배워야 합니다.

결론적으로, 이 접근 방식은 코드를 더 신뢰할 수 있게 만드는 강력한 방법이지만, 우리는 여전히 AI에게 정확성뿐만 아니라 속도에 대해서도 신경 쓰는 법을 가르쳐야 합니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →