깃허브, 코파일럿 런타임 80만 줄 러스트로 재작성…"코드 대부분은 AI가 썼다"
깃허브가 코파일럿 CLI와 앱, SDK를 떠받치는 '코파일럿 에이전트 런타임'을 타입스크립트에서 러스트(Rust)로 전면 재작성했다고 깃허브 블로그(GitHub Blog)를 통해 밝혔다. 회사는 이 작업에 자사 도구인 깃허브 코파일럿 앱과 코파일럿 CLI를 직접 사용했으며, 완성된 코드는 80만 줄 이상의 프로덕션 러스트라고 설명했다.
깃허브에 따르면 코드 대부분은 AI 에이전트가 작성했고, 128건의 풀 리퀘스트로 나뉘어 메인 브랜치에 반영됐다. 마지막에 한 번에 갈아끼우는 방식이 아니라 구성 요소를 하나씩 러스트로 바꿔 점진적으로 배포하는 '인플레이스' 전략을 택했다. 약 14주 반의 이식 기간 동안 메인 브랜치에서는 사전 배포판 100건과 정식판 35건 등 총 135건의 릴리스가 나갔다. 깃허브는 이 과정에서 발생한 소수의 회귀 버그를 빠르게 찾아 고쳤고, 런타임 성능은 수십 배 이상 개선됐다고 밝혔다.
재작성 배경으로는 런타임이 VS 코드와 비주얼 스튜디오, 코파일럿 코드 리뷰, 워드·엑셀 등 마이크로소프트와 깃허브의 여러 제품에 공유 기반으로 쓰이게 된 점이 지목됐다. 기존 구조에서는 SDK가 CLI를 별도 프로세스로 띄우는 방식이어서, C#·파이썬·고·자바 등 어떤 언어로 SDK를 쓰든 노드제이에스나 V8이 포함된 바이너리를 함께 배포해야 했고 클라이언트당 최소 100MB 수준의 메모리를 추가로 썼다. 깃허브는 러스트를 택한 이유로 C ABI를 통한 인프로세스 임베딩, 낮은 시작·유지 비용, 예측 가능한 자원 사용을 들면서도 "모든 대형 타입스크립트 프로그램이 러스트가 돼야 한다는 주장은 결코 아니다"라고 선을 그었다.
깃허브는 에이전트 도입 이전이라면 개발팀 전체가 1~2년 걸렸을 작업을 주로 개발자 한 명이 몇 달 만에 끝냈다고 밝혔다. 다만 CLI가 여전히 런타임 내부를 직접 호출하는 부분이 남아 있어, SDK 공개 인터페이스 위로 완전히 옮기는 작업은 진행 중이다.
김성진 메타브리프 기자 metabrief.kr@gmail.com