한 개발자가 AI 코딩 에이전트를 활용해 Azure의 RSL(Replicated State Library, Azure 서비스의 기반이 되는 복제 상태 라이브러리) 기능을 모두 구현한 Rust(안전성과 성능이 뛰어난 시스템 프로그래밍 언어) 기반의 멀티-팍소스(multi-Paxos, 분산 시스템의 합의 알고리즘) 엔진을 공개했다. 이 프로젝트는 단순한 프로토타입 수준을 넘어, 실제 운영 가능한 수준의 분산 시스템을 AI와 협업해 어디까지 구축할 수 있는지 증명했다는 점에서 의미가 크다.
가장 놀라운 점은 생산성의 비약적인 상승이다. 전체 프로젝트 기간은 약 3개월이었으나, 실제 Rust 코드 10만 줄을 작성하는 데 걸린 시간은 단 4주에 불과했다. 또한, 초기 초당 23K 수준이었던 처리 성능을 3주간의 집중 최적화를 통해 300K ops/sec까지 13배 가까이 끌어올렸다. 이는 AI가 단순한 코드 완성을 넘어, 고도의 성능 튜닝과 복잡한 아키텍처 설계 단계에서도 실질적인 레버리지가 될 수 있음을 보여준다.
13만 줄의 코드와 1,300개 테스트, 300K ops/sec의 성과
개발팀이 공개한 수치는 여기서 갈린다. 단 4주 만에 10만 줄의 러스트(Rust, 메모리 안전성이 뛰어난 시스템 프로그래밍 언어) 코드를 작성했고, 전체 프로젝트 규모는 13만 줄을 넘어섰다. 보통의 개발 환경이라면 숙련된 엔지니어 여러 명이 수개월 혹은 수년이 걸릴 분량이지만, AI 에이전트를 전면에 배치해 구축 기간을 획기적으로 단축했다. 이후 3주간의 집중적인 성능 최적화 과정을 거치며 시스템의 처리량은 초당 2만 3천 건(23K ops/sec)에서 30만 건(300K ops/sec)으로 13배 가까이 수직 상승했다. 이는 단순한 코드 생성을 넘어 AI가 시스템 아키텍처의 병목 지점을 찾아내고 이를 해결하는 최적화 단계까지 깊숙이 관여했음을 보여준다.
이러한 초고속 개발을 가능하게 한 것은 여러 AI 코딩 도구의 전략적 조합과 공격적인 리소스 투입이다. 메인 드라이버로 클로드 코드(Claude Code, 터미널 기반 AI 코딩 에이전트)와 코덱스 CLI(Codex CLI, 명령줄 인터페이스 기반 코드 생성 도구)를 사용했으며, 깃허브 코파일럿(GitHub Copilot), 어그먼트 코드(Augment Code), 키로(Kiro), 트레이(Trae) 등을 보조적으로 활용했다. 개발자는 터미널 환경에서 AI와 상호작용하는 비동기 흐름을 구축해 생산성을 극대화했으며, VS Code(비주얼 스튜디오 코드)는 코드 차이점 확인과 미세한 수정 작업에만 제한적으로 사용했다. 비용 측면에서도 타협이 없었다. 앤스로픽(Anthropic)의 맥스 플랜에 매달 100달러를 지불하며 속도 제한을 풀었고, 챗GPT 플러스(ChatGPT Plus) 계정을 두 개 구독해 요일별로 나누어 사용하는 방식으로 AI의 응답 제한(Rate Limit) 문제를 정면으로 돌파했다.
양적 팽창보다 더 주목할 점은 엔터프라이즈급 시스템을 만들기 위한 철저한 검증 체계다. 전체 코드의 65% 이상이 테스트 코드로 구성되었으며, 확보된 테스트 케이스만 1,300개가 넘는다. 비유하자면 건물을 올리는 속도만큼이나 건물이 무너지지 않는지 확인하는 정밀 진단 장치를 더 촘촘하게 설계한 셈이다. 단순한 기능 단위 테스트부터 제안자와 수락자만 포함된 최소 단위 통합 테스트, 그리고 여러 복제본이 동시에 작동하는 전체 통합 테스트와 의도적으로 장애를 주입해 복구 능력을 확인하는 실패 주입 테스트까지 모두 포함했다. AI가 작성한 코드가 복잡한 분산 합의 알고리즘의 무결성을 유지하고 있는지 확인하기 위해 테스트라는 방어선을 겹겹이 쌓아 올린 결과다. 이러한 공격적인 테스트 전략 덕분에 단기간에 구축한 시스템임에도 불구하고 높은 신뢰도를 확보할 수 있었다.
코드 계약(Code Contracts)과 경량 SDD로 잡은 팍소스의 복잡성
개발자가 가장 두려워하는 것은 코드가 겉으로는 잘 돌아가는데 결과값이 미세하게 틀리는 상황이다. 특히 팍소스(Paxos)처럼 복잡한 분산 합의 알고리즘에서는 작은 실수 하나가 시스템 전체의 데이터 불일치로 이어진다. 이를 막기 위해 도입한 것이 코드 계약(Code Contracts)이다. 쉽게 말하면 함수가 실행되기 전의 전제 조건과 실행 후의 사후 조건, 그리고 어떤 상황에서도 변하지 않아야 할 불변량을 미리 약속해두는 방식이다. 비유하자면 집을 지을 때 설계도에 기둥은 반드시 수직이어야 한다거나 지붕을 얹기 전 벽체 공사가 끝나야 한다는 조건을 명시해두고, 이를 어기면 즉시 경고를 울리는 안전장치를 설치한 것과 같다. 이번 프로젝트에서는 GPT-5 High 모델을 활용해 이 계약서를 매우 정교하게 작성했다. 작성된 계약은 테스트 단계에서 런타임 어서트(runtime assert, 실행 중 조건 확인)로 변환되어 실시간으로 검증되며, 실제 운영 환경에서는 성능을 위해 비활성화할 수 있다. 여기서 한 발 더 나아가 속성 기반 테스트(Property-based tests)를 적용했다. 이는 계약 내용을 바탕으로 AI가 무작위 입력값을 수만 번 집어넣어 개발자가 생각지 못한 엣지 케이스(edge case, 극단적인 예외 상황)를 찾아내는 방식이다. 실제로 이 과정을 통해 팍소스의 안전성을 해치는 미세한 결함을 사전에 발견해 수정할 수 있었다. 이는 [2] .NET Contracts의 개념을 AI의 추론 능력으로 고도화한 결과다.
설계 단계에서는 기존의 무거운 명세 기반 개발 방식 대신 경량 SDD(Spec-Driven Development, 명세 주도 개발) 전략을 택했다. 예전에는 요구사항부터 설계서, 작업 목록까지 모든 문서를 완벽하게 맞추려다 보니 수정 사항이 생길 때마다 문서 간 정합성을 맞추는 데 더 많은 시간을 썼다. 이번에는 [3] Spec Kit의 /specify 명령어로 핵심 사용자 스토리와 수용 기준이 담긴 가벼운 명세를 먼저 생성했다. 이후 /clarify 명령어를 통해 AI가 스스로 자신의 설계를 비판하고 개선안을 제안하게 만드는 자가 비판 루프를 돌렸다. 비유하자면 요리사가 레시피를 쓴 뒤 스스로 맛을 보며 간을 맞추고 부족한 재료를 추가하는 과정과 비슷하다. 이 단계에서 AI는 초기 명세에서 놓친 사용자 스토리를 제안하거나 기준을 더 구체화하며 설계의 빈틈을 메운다. 이렇게 다듬어진 명세를 바탕으로 최종 플랜을 생성하며, 이때 작업 단위를 단일 유저 스토리(User Story, 사용자 관점의 기능 단위)로 쪼개어 AI가 처리 가능한 최적의 크기로 설정했다. 너무 큰 덩어리를 맡기면 AI가 맥락을 놓치기 쉽지만, 유저 스토리 단위로 접근하면 AI가 가장 효율적으로 제어권을 유지하며 코드를 짤 수 있는 스위트 스팟(sweet spot)이 되기 때문이다. 이러한 체계적인 접근 덕분에 [1] Azure RSL의 복잡한 기능을 Rust 언어로 빠르게 구현하면서도 높은 신뢰성을 확보할 수 있었다.
AI 코딩의 임계점 돌파, 아키텍트의 역할 변화와 자동화의 미래
개발자가 체감하는 가장 극적인 변화는 단순한 코드 작성이 아니라 성능을 극한으로 쥐어짜는 최적화 단계에서 나타난다. 이번 프로젝트에서 시스템 처리량은 초당 2만 3천 건에서 30만 건으로 무려 13배 가까이 수직 상승했다. 이는 프로파일링(프로그램의 실행 성능을 분석해 느린 구간을 찾는 과정)으로 병목 지점을 찾아내고 AI가 최적화 코드를 제안하면 이를 다시 검증하는 루프를 반복한 결과다. 비유하자면 운동선수가 경기 영상을 슬로우 모션으로 분석하며 폼의 미세한 오차를 교정해 기록을 단축하는 과정과 비슷하다. 사람이 일일이 찾기 힘든 비효율적인 경로를 AI가 빠르게 짚어내면서 최적화의 속도가 비약적으로 빨라졌다.
성능 개선의 핵심은 메모리와 자원 관리의 효율성을 극대화하는 것이었다. 우선 제로 카피(데이터를 복사하지 않고 메모리 주소만 참조하는 기술)를 적용해 불필요한 데이터 이동을 없앴다. 쉽게 말하면 책의 내용을 전부 베껴 쓰는 대신 포스트잇으로 해당 페이지를 가리키는 방식이다. 또한 여러 작업이 하나의 자원을 쓰기 위해 줄을 서는 락(Lock, 동기화 장치)을 제거해 대기 시간을 없앴고 비동기 처리 시 발생하는 오버헤드(부가적인 계산 비용)를 최소화했다. 러스트(Rust) 언어가 제공하는 엄격한 메모리 안전성 덕분에 이러한 공격적인 최적화 과정에서도 시스템이 붕괴하거나 메모리가 오염될 위험 없이 성능을 끌어올릴 수 있었다.
이제 AI 코딩의 전장은 단순한 기능 구현을 넘어 자율적인 성능 최적화와 검증 자동화 영역으로 이동하고 있다. 개발자가 유저 스토리(사용자 관점의 기능 요구사항)를 정의하면 AI가 설계부터 실행까지 완수하는 엔드투엔드 자동화와 계약 기반의 워크플로우가 미래의 핵심 요구사항이다. 알파이볼브(AlphaEvolve)나 오픈이볼브(OpenEvolve) 같은 프로젝트들은 이미 AI가 스스로 실험하고 성능을 개선하는 자율 최적화의 가능성을 증명하고 있다. 현재 이 시스템은 파이프라이닝과 NVM(비휘발성 메모리, 전원이 꺼져도 데이터가 유지되는 메모리) 지원까지 완료했다. 이는 [5] PoWER Never Corrupts (OSDI 2025) 논문에서 검증된 지속성 로그 기술을 통합해 달성한 결과다. 다만 RDMA(원격 직접 메모리 접근, 네트워크를 통해 다른 컴퓨터의 메모리에 직접 접근하는 기술) 지원은 아직 미정이다. 전체적인 구조는 [4] Jay Lorch Design의 간결한 설계를 기반으로 복잡한 합의 알고리즘을 효율적으로 구현했다.




