제로지식 프로그래밍을 위한 LLM 평가와 향상
초록
본 논문은 제로지식 증명(ZKP) 프로그램 작성을 위한 대형 언어 모델(LLM)의 역량을 체계적으로 측정하는 ZK‑Eval 벤치마크를 제안하고, 기존 모델들의 언어 구문 이해는 뛰어나지만 대수 원시 연산 및 제약 시스템 구성에서는 낮은 정확도를 보임을 확인한다. 이를 극복하기 위해 제약 스케치, 검색 기반 보강, 인터랙티브 수정을 결합한 에이전트 프레임워크 ZK‑Coder를 설계하여 Circom과 Noir에서 GPT‑o3 기반 코드 생성 성공률을 각각 20.29 %→87.85 %와 28.38 %→97.79 %로 크게 향상시킨다.
상세 분석
ZK‑Eval은 제로지식 프로그래밍의 특수성을 반영해 세 단계(언어·툴체인 지식, 대수 원시 연산 능력, 엔드‑투‑엔드 제약 구현)로 평가를 구성한다. 첫 단계에서는 공식 문서·튜토리얼·오픈소스 예제를 기반으로 문법·타입·API 사용 여부를 검사한다. 두 번째 단계는 모듈러 연산, 역원, 비트 연산 등 핵심 원시 연산을 실제 제약 회로에 적용하도록 요구한다. 마지막 단계는 자연어 명세를 입력으로 받아 전체 회로 코드를 자동 생성하고, 컴파일·증명까지 성공하는지를 측정한다. 네 개의 최신 LLM(GPT‑o4‑mini, GPT‑o3, Claude‑2, Llama‑2‑70B) 중 모든 모델이 첫 단계에서는 85 % 이상 높은 정확도를 보였지만, 두 번째 단계에서는 20 % 이하, 세 번째 단계에서는 15 % 이하의 성공률에 머물렀다. 이는 LLM이 표면적인 구문을 학습했으나, 유한체 위에서의 수학적 제약을 정확히 모델링하는 능력이 부족함을 의미한다.
ZK‑Coder는 이러한 약점을 보완하기 위해 세 가지 모듈을 도입한다. ① ZK Sketch Layer(ZKSL)는 사용자가 제시한 명세를 먼저 대수 원시 연산의 그래프 형태로 스케치하게 하여, 모델이 구체적인 회로 코드를 작성하기 전에 제약 구조를 명확히 이해하도록 돕는다. ② Guided Retrieval‑Augmented Generation(RAG)은 사전 구축된 검증된 구현(예: circomlib, Noir stdlib)에서 관련 템플릿을 검색해 프롬프트에 삽입함으로써 모델이 최신 API와 최적화된 패턴을 그대로 활용하도록 한다. ③ Interactive Repair는 초기 코드 생성 후 자동 컴파일·증명 테스트를 수행하고, 오류 로그를 기반으로 추가 프롬프트를 생성해 반복적으로 코드를 수정한다. 실험 결과, 각 모듈을 제거하면 성공률이 10 % 이상 급락하며, 특히 스케치 단계가 없을 경우 원시 연산 오류가 급증한다.
이 연구는 제로지식 프로그래밍이 기존 소프트웨어 개발과 근본적으로 다른 인지적 요구를 가진다는 점을 강조한다. LLM을 단순히 “코드 자동완성” 도구로 보는 관점에서 벗어나, 도메인‑특화된 추론 단계와 외부 지식 보강이 필요함을 실증한다. 또한, ZK‑Eval이라는 체계적인 평가 프레임워크는 앞으로 새로운 DSL이나 저자원 언어에 대한 LLM 성능을 비교·측정하는 표준이 될 가능성을 제시한다.
댓글 및 학술 토론
Loading comments...
의견 남기기