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

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 안전 위반을 발견했습니다.
경량 스펙 주도 개발
Huang는 처음에는 엄격한 스펙 주도 방식을 시도했습니다: 요구사항 마크다운 → 설계 마크다운 → 작업 목록 마크다운. 그러나 반복적인 변경에 너무 유연하지 않다고 느꼈습니다. 현재는 더 가벼운 SDD를 사용합니다: 간결한 스펙으로 시작하여 AI가 코드를 생성하도록 한 후 계약과 테스트를 반복적으로 개선합니다. 전체 시스템에는 단위, 통합, 다중 복제본 장애 주입 테스트를 포함한 1,300개 이상의 테스트가 포함됩니다.
성능 최적화
최적화 단계(3주)는 처리량을 초당 23,000건에서 300,000건으로 향상시켰습니다. 주요 아키텍처 변경: 파이프라인 추가(요청이 진행 중인 투표를 기다리지 않음), 비휘발성 메모리(NVM) 지원으로 커밋 시간 단축, 현대 Azure 데이터센터 하드웨어를 위한 RDMA 인식.
향후 계획
Huang는 계약에서 속성 기반 테스트 생성을 위한 더 나은 AI 지원과 10만 줄 이상의 코드베이스에서 변경 사항 처리의 원활한 개선을 희망합니다.
📖 전체 출처 읽기: HN AI Agents
👀 See Also

클로드 코드의 침묵하는 가짜 성공 문제와 해결 방법
한 개발자가 Claude Code의 가장 큰 시간 낭비 요소는 버그가 아니라 침묵하는 가짜 성공이라고 보고합니다. 에이전트가 실제 API 결과 대신 샘플 데이터를 반환하여 실패를 숨기는 경우입니다. 해결책은 CLAUDE.md에 특정 오류 처리 지침을 추가하여 가시적인 실패를 강제하는 것입니다.

AI 기반 아침 브리핑 설정 방법
없음

장기 프로젝트에서 OpenClaw 컨텍스트 유지를 위한 프로젝트 내러티브 활용
한 개발자가 주요 개발 단계 이후 코드베이스를 분석하여 시스템 이해를 문서화하고 문제를 식별하며 컨텍스트를 유지하는 '프로젝트 내러티브' 생성 기법을 공유합니다.

안정적인 OpenClaw 브라우저 자동화: Chrome 원격 디버깅과 Playwright 활용
한 개발자가 Chrome의 --remote-debugging-port=9222 플래그와 Playwright의 chromium.connect_over_cdp()를 사용하여 OpenClaw의 지속적인 브라우저 세션을 유지하는 데 성공했다고 보고했습니다. 이로써 내장 브라우저와 Chrome 확장 프로그램 릴레이의 연결 끊김 문제를 해결했습니다.