깃허브 코파일럿(GitHub Copilot) 런타임이 약 40만~45만 줄에 달하는 기존 타입스크립트(TypeScript) 운영 코드를 러스트(Rust)로 전면 이식했습니다. 이번 프로젝트의 핵심 목표는 단순히 러스트를 도입하는 것이 아니라, Node.js와 V8 엔진에 대한 의존성을 제거하고, 깃허브(GitHub) 및 마이크로소프트(Microsoft)의 다양한 제품에 유연하게 내장할 수 있는 공통 에이전트 런타임을 구축하는 것이었습니다. 이 대규모 전환 작업은 개발과 배포를 멈추지 않고 약 14.5주 동안 점진적으로 진행되었으며, 이 과정에서 약 130회에 걸쳐 새로운 버전이 출시되었습니다.
깃허브는 언어 선택을 위해 타입스크립트, 파이썬(Python), 고(Go), 자바(Java), C# 등 여러 언어로 프로토타입을 만들고 성능을 비교했습니다. 최종 후보는 러스트와 네이티브 AOT(Ahead-Of-Time) 기반 C#이었는데, 두 언어 모두 성능과 내장 가능성 면에서 우수했습니다. 그러나 깃허브 내부의 기존 러스트 프로젝트와 개발자 경험을 고려하여 러스트를 최종 선택했습니다. 이식 과정에서는 napi-rs를 활용해 타입스크립트와 러스트 간의 상호 운용성을 확보했으며, 작은 변경 단위로 자주 배포하여 회귀(regression) 문제 발생 시 원인을 빠르게 파악하고 해결할 수 있었습니다. 종단 간 테스트(end-to-end test)와 검증 장치 보호가 정확성을 유지하는 데 결정적인 역할을 했으며, 에이전트(AI)가 코드 세부 검토를 담당하고 사람은 아키텍처와 변경 범위를 검토하는 하이브리드 접근 방식을 사용했습니다.
이번 코파일럿 런타임의 러스트 이식은 단순히 언어를 교체하는 것을 넘어, 대규모 AI 기반 서비스의 아키텍처를 미래 지향적으로 재편하는 중요한 사례입니다. 기존의 파편화된 에이전트 런타임을 통합하고, 더 적은 메모리 사용량과 높은 처리량, 그리고 다양한 환경에서의 내장 가능성을 확보함으로써 깃허브는 코파일럿의 활용 범위를 넓히고 개발 효율성을 극대화할 수 있게 되었습니다. 이는 빠르게 변화하는 AI 모델 및 기법 환경에서 여러 구현을 최신 상태로 유지하는 어려움을 해소하고, 장기적으로는 개발 비용 절감과 사용자 경험 향상으로 이어질 것입니다. 또한, 개발 중단 없이 점진적으로 대규모 코드베이스를 전환하는 방식은 다른 기업들에게도 중요한 참고 사례가 될 수 있습니다.