본문으로 건너뛰기

© 2026 Molayo

HN요약2026. 05. 25. 05:46

Leanstral: 신뢰할 수 있는 코딩 및 형식 증명 엔지니어링을 위한 오픈 소스 에이전트

요약

Lean 4 증명 보조 도구를 활용하여 코드의 정확성을 형식적으로 증명하는 오픈 소스 에이전트 Leanstral을 출시했습니다. 인간의 수동 검토 병목 현상을 해결하기 위해 설계되었으며, 효율적인 희소 아키텍처를 통해 높은 성능과 비용 효율성을 제공합니다.

핵심 포인트

  • Lean 4 기반의 최초 오픈 소스 코드 및 증명 에이전트 출시
  • Apache 2.0 라이선스로 가중치 및 기술 보고서 공개
  • 매우 희소한 아키텍처를 사용하여 높은 효율성과 성능 달성
  • MCP 지원을 통해 확장 가능한 에이전트 환경 구축
  • FLTEval 벤치마크를 통한 실제 증명 엔지니어링 능력 검증

AI 에이전트(AI agents)는 코드 생성 분야에서 매우 유능한 도구임이 입증되었습니다. 하지만 우리가 이러한 모델들을 최첨단 연구 수학부터 미션 크리티컬(mission-critical) 소프트웨어에 이르기까지 이해관계가 큰 영역으로 확장함에 따라, 우리는 확장성 병목 현상(scaling bottleneck)에 직면하게 됩니다. 바로 인간의 검토(human review)입니다. 수동으로 검증하는 데 필요한 시간과 전문 지식은 엔지니어링 속도(engineering velocity)를 저해하는 주요 임피던스(impedance)가 됩니다.

우리는 작업을 수행할 뿐만 아니라 엄격한 사양(specifications)에 따라 구현 내용을 형식적으로 증명(formally prove)할 수 있는, 더 유용한 차세대 코딩 에이전트를 구상하고 있습니다. 인간이 기계가 생성한 로직을 디버깅하는 대신, 인간은 자신이 원하는 바를 지시합니다. 오늘 우리는 그 비전을 향한 첫 번째 주요 발걸음을 내딛습니다.

Leanstral 소개

우리는 Lean 4를 위해 설계된 최초의 오픈 소스 코드 에이전트인 Leanstral을 출시합니다. Lean 4는 퍼펙토이드 공간(perfectoid spaces)과 같은 복잡한 수학적 객체나 Rust 파편(fragments)의 속성과 같은 소프트웨어 사양을 표현할 수 있는 증명 보조 도구(proof assistant)입니다. 대규모 범용 모델(generalist models)의 래퍼(wrapper) 역할을 하거나 단일 수학 문제에 집중하는 기존 증명 시스템과 달리, Leanstral은 매우 효율적(6B 활성 파라미터)으로 설계되었으며 실제 형식 리포지토리(formal repositories)에서 작동하도록 학습되었습니다.

개방적이고 접근 가능함: 우리는 Leanstral 가중치(weights)를 Apache 2.0 라이선스 하에 공개하며, Mistral vibe 내의 에이전트 모드 및 무료 API 엔드포인트를 통해 제공합니다. 또한 우리의 학습 접근 방식을 상세히 설명하는 기술 보고서(tech report)와, 평가의 초점을 경시대회 수학 너머로 확장하기 위한 새로운 평가 스위트인 FLTEval을 출시할 예정입니다.

효율적이고 강력함: 우리는 Leanstral에 매우 희소한 아키텍처(highly sparse architecture)를 사용하며, 이를 증명 엔지니어링(proof engineering) 작업에 최적화했습니다. Lean을 완벽한 검증기(verifier)로 활용하여 병렬 추론(parallel inference)을 활용함으로써, Leanstral은 기존의 폐쇄형 소스(closed-source) 경쟁사들에 비해 성능이 뛰어나면서도 비용 효율적입니다.

MCP를 통한 업그레이드 가능: Leanstral은 vibe를 통해 임의의 MCP를 지원하며, 자주 사용되는 lean-lsp-mcp를 통해 최대 성능을 달성하도록 특별히 학습되었습니다.

평가

실제 증명 엔지니어링 (proof engineering) 시나리오에서의 유용성을 반영하기 위해, 우리는 개별적인 수학 문제 대신 FLT 프로젝트의 각 PR(Pull Request)에서 모든 형식적 증명을 완료하고 새로운 수학적 개념을 정확하게 정의하는 것을 기준으로 Leanstral을 벤치마킹했습니다. 우리는 Leanstral을 선도적인 코딩 에이전트(Claude Opus 4.6, Sonnet 4.6, Haiku 4.5) 및 오픈 소스 모델(Qwen3.5 397B-A17B, Kimi-K2.5 1T-A32B, GLM5 744B-A40B)과 비교했습니다.

Leanstral vs. OSS 모델

Leanstral-120B-A6B는 훨씬 더 큰 규모의 오픈 소스 경쟁 모델들에 비해 상당한 효율성 우위를 보여줍니다. GLM5-744B-A40B 및 Kimi-K2.5-1T-32B와 같은 모델들이 확장에 어려움을 겪으며 FLTEval 점수가 각각 약 16.6과 20.1에서 정체되는 반면, Leanstral은 단 한 번의 패스 (single pass)만으로 이들 모두를 능가합니다.

제시된 가장 강력한 OSS 경쟁 모델인 Qwen3.5-397B-A17B조차 25.4점에 도달하기 위해서는 4번의 패스가 필요합니다. 반면, Leanstral은 그 절반의 투자(pass@2)만으로도 26.3이라는 더 높은 점수를 달성하며, 동일한 비용 수준에서 29.3에 도달하는 등 선형적으로 계속해서 성능을 확장해 나갑니다.

Leanstrall Normalized Model Cost Vs Flt Eval Score

Leanstral vs. Claude 제품군

Leanstral은 Claude 제품군에 대한 고가치 대안 역할을 하며, 훨씬 저렴한 가격으로 경쟁력 있는 성능을 제공합니다. Leanstral의 pass@2는 26.3점에 도달하여 Sonnet을 2.6점 차이로 앞서며, 실행 비용은 Sonnet의 $549와 비교해 단 $36에 불과합니다. pass@16에서 Leanstral은 31.9점에 도달하여 Sonnet을 8점 차이로 여유롭게 따돌립니다. Claude Opus 4.6이 품질 면에서는 여전히 선두를 유지하고 있지만, 실행 비용이 $1,650에 달해 Leanstral을 실행하는 것보다 92배나 높습니다.

벤치마킹 과정에서 우리는 평가를 위해 특별한 수정 없이 Mistral Vibe를 스캐폴드 (scaffold)로 사용했습니다.

모델비용 ($)점수
Haiku18423.0
...

사례 연구 (Case studies)

최신 Lean 버전의 변경 사항에 관한 StackExchange 게시물 답변

사례 연구 (Case studies)

최신 Lean 버전의 변경 사항에 관한 StackExchange 게시물 답변

새로운 Lean 릴리스에서 breaking changes (파괴적 변경 사항)가 발생하면, 코드를 마이그레이션하는 작업은 엄청난 골칫거리가 될 수 있습니다. 우리는 Lean 4.29.0-rc6에서 원인 모르게 컴파일이 중단된 스크립트에 대해 Proof Assistants Stack Exchange에 올라온 실제 질문을 Leanstral에 입력했습니다 (해당 버전은 최신 버전이라 학습 데이터에 포함되지 않았습니다). 원인은 def T2 := List Bool로 작성된 단순한 타입 별칭(type alias)을 포함하는 패턴 매칭에 갑자기 실패하게 된 rewrite (rw) tactic (전술)이었습니다.

Leanstral은 막연한 추측을 하는 대신 본격적으로 문제를 해결하기 시작했습니다. 실패하는 환경을 재현하기 위한 테스트 코드를 성공적으로 구축하였고, 정의적 동등성 (definitional equality)과 관련된 근본적인 문제를 진단했습니다. 모델은 def가 명시적인 unfolding (펼치기)을 요구하는 경직된 정의를 생성하기 때문에, rw tactic이 매칭에 필요한 기저 구조를 보는 것을 능동적으로 차단하고 있다는 점을 정확히 식별했습니다.

제안된 해결책은 간단했습니다. defabbrev로 바꾸는 것이었습니다. abbrev는 원래 타입과 즉시 정의적으로 동등한 투명한 별칭 (transparent alias)을 생성하기 때문에, rw tactic이 증명 내의 (L2 n).length 패턴을 다시 완벽하게 매칭할 수 있었습니다. Leanstral은 작업을 완료하고 사용자에게 그 근거를 완벽하게 설명했습니다.

프로그램에 대한 추론 (Reasoning about programs)

우리는 https://www.cs.princeton.edu/courses/archive/fall10/cos441/sf/Imp.html 에서 Rocq의 정의들을 복사하여 Leanstral에 Lean으로 변환하도록 요청했습니다. Leanstral은 커스텀 notation (표기법)을 구현하면서까지 이를 성공적으로 수행했습니다. 예시 스니펫:

inductive ceval : com → state → state → Prop where
| E_Skip (st : state) : ceval .CSkip st st
| E_Ass (st : state) (a1 : aexp) (n : Nat) (l : ident) (h : aeval a1 st = n) :
...

또한 Rocq 문장(증명 제외)만 주어졌을 때, 이를 Lean으로 번역한 뒤 해당 언어의 프로그램에 대한 몇 가지 속성을 증명할 수도 있었습니다:

-- 예시 명령: 변수 X에 2를 더함
def plus2 : com := .CAss "X" (.APlus (.AId "X") (.ANum 2))
-- 정리: plus2 명령은 변수 X에 2를 정확하게 더한다
...

증명을 요구하십시오. 지금 바로 Leanstral을 사용해 보세요.

Leanstral은 오늘부터 누구나 사용할 수 있습니다.

  • Mistral Vibe에서의 제로 설정 (Zero-Setup): 즉각적인 제로 설정 기반의 바이브 코딩 (vibe coding) 및 증명을 위해 Leanstral을 Mistral Vibe에 직접 통합했습니다. 활성화하려면 /leanstall을 사용하세요. 그 후 모델이 Leanstral로 표시될 때까지 Shift+Tab을 누르면 Leanstral을 사용할 수 있습니다. 또는 vibe --agent lean을 사용하세요.

  • Labs API: 우리의 무료/거의 무료인 API 엔드포인트 labs-leanstral-2603을 통해 모델에 접속하세요. 우리는 차세대 검증된 코드 모델 (verified code models)을 위한 연료가 될 실제 피드백과 관측성 (observability) 데이터를 수집하기 위해, 한정된 기간 동안 이 엔드포인트를 매우 높은 접근성을 유지하며 제공하고 있습니다.

  • 가중치 소유 (Own the Weights): Apache 2.0 라이선스가 적용된 모델을 다운로드하여 귀하의 자체 하드웨어 (own metal)에서 실행하세요.

AI 자동 생성 콘텐츠

본 콘텐츠는 HN OpenAI Codex의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0