AI로 10만 줄의 러스트 코드 작성: 계약, 명세 기반 개발, 그리고 성능

✍️ OpenClawRadar📅 게시일: May 20, 2026🔗 Source
AI로 10만 줄의 러스트 코드 작성: 계약, 명세 기반 개발, 그리고 성능
Ad

Cheng Huang는 Azure의 복제 상태 라이브러리(RSL)를 현대화하기 위해 약 6주간 Rust 기반 멀티팍소스 합의 엔진을 구축했습니다. 이 프로젝트는 13만 줄 이상의 Rust 코드(~10만 줄은 AI 에이전트가 4주 동안 작성, 3주는 최적화)를 포함하며 처리량을 초당 23,000건에서 300,000건으로 끌어올렸습니다.

Huang는 여러 AI 코딩 에이전트를 사용했습니다: GitHub Copilot, Claude Code, Codex CLI, Augment Code, Kiro, Trae. 현재 주 구성은 터미널에서 Claude Code + Codex CLI이며 VS Code는 차이점 비교와 사소한 수정에만 사용합니다. 또한 속도 제한을 처리하기 위해 두 개의 ChatGPT 구독을 유지합니다(하나는 월-수, 다른 하나는 목-일).

코드 계약 — AI가 작성

핵심 정확성 전략: AI가 생성한 코드 계약으로 중요한 함수의 사전 조건, 사후 조건, 불변 조건을 명시하고 테스트 중에 런타임 어설트로 변환합니다. Huang는 GPT-5 High가 우수한 계약을 작성하며 Opus 4.1도 좋지만 더 많은 검토가 필요하다고 밝혔습니다. 예를 들어, process_2a 메서드(Paxos 2a 단계 메시지 처리)에는 16개의 계약이 있습니다. 계약은 타겟 테스트 케이스와 무작위 입력을 탐색하는 속성 기반 테스트를 생성하는 데 사용됩니다. 한 계약은 복제 일관성 문제를 일으킬 수 있는 미묘한 Paxos 안전 위반을 발견했습니다.

Ad

경량 스펙 주도 개발

Huang는 처음에는 엄격한 스펙 주도 방식을 시도했습니다: 요구사항 마크다운 → 설계 마크다운 → 작업 목록 마크다운. 그러나 반복적인 변경에 너무 유연하지 않다고 느꼈습니다. 현재는 더 가벼운 SDD를 사용합니다: 간결한 스펙으로 시작하여 AI가 코드를 생성하도록 한 후 계약과 테스트를 반복적으로 개선합니다. 전체 시스템에는 단위, 통합, 다중 복제본 장애 주입 테스트를 포함한 1,300개 이상의 테스트가 포함됩니다.

성능 최적화

최적화 단계(3주)는 처리량을 초당 23,000건에서 300,000건으로 향상시켰습니다. 주요 아키텍처 변경: 파이프라인 추가(요청이 진행 중인 투표를 기다리지 않음), 비휘발성 메모리(NVM) 지원으로 커밋 시간 단축, 현대 Azure 데이터센터 하드웨어를 위한 RDMA 인식.

향후 계획

Huang는 계약에서 속성 기반 테스트 생성을 위한 더 나은 AI 지원과 10만 줄 이상의 코드베이스에서 변경 사항 처리의 원활한 개선을 희망합니다.

📖 전체 출처 읽기: HN AI Agents

Ad

👀 See Also