언어

AI 코딩

코파일럿 런타임 러스트 이전, AI 토큰 12만 달러

깃허브는 2026년 9월 코파일럿 런타임 러스트 이전을 마쳤고, 14.5주 동안 AI 에이전트가 80만 줄 넘는 운영용 러스트 코드의 대부분을 썼어요. The Register에 따르면 이 이전에는 AI 토큰 약 12만 달러와 개발자 한 명의 약 3주가 들었고, 깃허브는 측정한 시작 시나리오가 5.25초에서 292밀리초로 줄었다고 말해요. 대형 레거시 코드베이스를 가진 기업에는 한때 팀 전체가 필요했던 재작성을 에이전트가 해낸 측정된 사례예요.

글: Mike Mozg4분 분량

깃허브가 런타임을 타입스크립트에서 옮겨야 했던 이유

코파일럿 에이전트 런타임은 GitHub Copilot CLI, 코파일럿 앱, 코파일럿 SDK, 코파일럿 클라우드 에이전트의 엔진이에요. VS Code, 비주얼 스튜디오, 엑셀, 아웃룩, 파워포인트, 워드도 이를 바탕으로 해요. 이 런타임은 Node.js와 V8 엔진 위의 타입스크립트로 쓰였고, 이는 빠른 시작이나 촘촘한 서버가 아니라 빠른 개발에 맞춘 스택이에요.

런타임이 퍼지면서 그 선택은 비싸졌어요. SDK를 쓰는 애플리케이션마다 Node.js와 V8을 호스팅할 별도 프로세스를 띄워야 했어요. 깃허브는 이 때문에 클라이언트당 작업 집합이 대략 100MB 늘고, 모든 이벤트와 메시지가 프로세스 경계를 넘어야 하고, Node가 죽으면 세션도 함께 죽었다고 말해요.

깃허브가 대신 만든 것

깃허브는 런타임을 호스트 애플리케이션이 C ABI로 직접 임베드할 수 있는 네이티브 러스트 라이브러리로 바꿨고, 프로세스 외부 모드도 계속 쓸 수 있어요. 코파일럿 SDK는 타입스크립트, 파이썬, Go, .NET, 자바, 러스트용 언어별 인터페이스를 유지해요.

"모든 대형 타입스크립트 프로그램이 러스트가 되어야 한다는 주장은 결코 아니에요." 스티븐 토브, 마이크로소프트 저명 엔지니어, 이전에 대해

토브는 팀의 요건이 C ABI를 통한 임베드, 낮은 시작 및 정상 상태 오버헤드, 예측 가능한 자원 사용이었다고 썼어요.

에이전트가 실제로 일한 방식

이전은 한 번에 전환하지 않고 점진적으로 진행됐어요. 타입스크립트 컴포넌트를 하나씩 러스트로 바꾸고 임시 호환 계층으로 이어서 기존 엔드투엔드 테스트가 새 코드를 시험할 수 있게 했어요. 이 계층은 제거되기 전까지 내부 export 2,019개와 타입스크립트 호출 지점 3,356곳에 이르렀어요. 작업은 풀 리퀘스트 128건으로 반영됐고, 깃허브는 이전 중에 안정 버전 35개와 사전 출시 버전 100개로 릴리스 135개를 냈어요.

코파일럿이 코파일럿을 다시 썼어요. 작업의 부분마다 GPT-5.6 Sol과 Claude Opus 4.8을 포함한 여러 모델을 썼어요. 에이전트는 코드를 쓰는 것보다 정보를 모으는 데 더 많은 시간을 썼어요. 가장 어려웠던 파일 session.ts는 타입스크립트가 3만 줄이 넘었어요. 이 파일의 이전 세션은 25시간이 걸렸어요. 문서를 읽는 데 56분을 썼고, 도구 호출을 122번 했고, 서로 조율하는 자식 세션을 15개 만들었어요. 깃허브는 직접 컴파일 확인 4,478번을 기록했고 87.1%가 깔끔하게 끝났어요.

이전이 측정한 것

깃허브와 The Register는 다음 결과를 보고해요.

  • 규모: 8월 21일까지 런타임에는 운영용 러스트 83만 2,378줄과 러스트 단위 테스트 46만 8,689줄이 있었어요. 에이전트는 타입스크립트 약 43만 줄을 변환했고, 2026년 5월 초 추정치는 약 13만 줄이었어요.
  • 시작: 러스트 런타임을 프로세스에 임베드하자 클라이언트 시작, 세션 생성, 단일 턴 시나리오가 5.25초에서 292밀리초로 줄었어요.
  • 처리량: 동시 파이프라인 100개에서 한 턴짜리 세션 수명 주기 1,000번을 돌렸을 때, 타입스크립트는 초당 7.55번, 프로세스 내 러스트는 초당 120번을 처리해 15.9배 빨랐어요.
  • 메모리: 클라이언트 10개 묶음이 타입스크립트에서는 1,383MB, 러스트에서는 126MB를 썼어요.
  • 비용: AI 토큰 약 12만 달러와 개발자 한 명의 약 3주예요.

에이전트가 잘못한 곳

재작성은 깔끔하지 않았어요. The Register는 수십 건의 회귀, 즉 컴파일은 되지만 예전처럼 동작하지 않는 코드를 보도해요. 토브는 이를 모호한 의미 체계, 브랜치 드리프트, 옮기지 못한 기능, 다르게 동작하는 대체 코드로 추적했어요. 그는 "컴파일되면 맞다"는 말이 농담으로만 쓸모 있다고 썼어요.

이런 문제는 컴파일, 테스트, 사람의 검토가 중간에 잡아냈어요. 런타임 자체의 재구성은 범위 밖으로 남겨 뒀고 다음 단계예요.

레거시 코드를 가진 기업에 달라지는 점

여기서 비즈니스 과제는 아무도 인력을 댈 수 없는 재작성이에요. 깃허브는 이 프로젝트가 에이전트 이전이라면 개발자 팀 전체가 한두 해 걸렸을 일인데, 팀의 나머지가 기능을 계속 추가하는 동안 주로 개발자 한 명이 몇 달 만에 마쳤다고 말해요.

방법은 에이전트만큼 중요해요. 작은 풀 리퀘스트, 옛 코드와 새 코드 사이의 임시 다리, 기존 테스트, 모든 변경을 검토하는 사람이에요. 자체 이전을 저울질하는 기업은 이 작업의 공개된 수치 하나, 토큰 약 12만 달러와 자기 비용을 견줄 수 있어요.

자주 묻는 질문

코파일럿 런타임의 러스트 이전은 얼마나 걸렸나요?

약 14.5주이고, 깃허브가 런타임을 계속 릴리스하는 동안 풀 리퀘스트 128건으로 진행됐어요.

AI 지원 재작성에는 비용이 얼마나 들었나요?

The Register에 따르면 AI 토큰 사용 약 12만 달러와 개발자 한 명의 약 3주예요.

러스트 컴파일러가 에이전트의 실수를 잡았나요?

일부만 잡았어요. 컴파일러는 코드가 유효한 러스트인지 확인할 뿐 예전 동작을 유지하는지는 확인하지 못해서, 깔끔하게 컴파일되는 회귀는 테스트와 사람의 검토가 찾아냈어요.

MOZGII의 시각

우리라면 이렇게 만듭니다

이 사례에서 얻을 교훈은 에이전트가 가장 싼 부분이었다는 거예요. 일이 되게 한 건 이미 있던 테스트 스위트, 옛 코드와 새 코드를 나란히 돌리게 해 준 다리, 변경을 검토한 엔지니어였어요.

에이전트로 대형 코드베이스를 옮긴다면 먼저 경계에서 중요하게 여기는 동작을 테스트로 잡아 둘 거예요. 입력, 출력, 오류 사례, 취소, 재시도예요. 임시 다리 뒤에서 모듈을 하나씩 옮기고, 조각마다 일반 릴리스로 내보내고, 옛 모듈은 언제든 되돌릴 수 있게 둬요. 에이전트는 읽고, 초안을 쓰고, 점검을 돌려요. 병합마다 사람이 책임져요.

동작이 문서로 남지 않은 곳에서 무너질 거예요. 컴파일러는 코드가 유효하다는 것만 확인하고 옛 코드와 같은 일을 하는지는 확인하지 않으며, 이 사례의 회귀는 바로 그 틈에서 나왔어요. 기록해 둔 운영 요청을 두 버전에 재생해 답을 비교할 거예요.

지켜볼 지표는 하나예요. 이전한 모듈당 출시 후 발견된 회귀 수를 모듈당 토큰 지출과 나란히 본 값이에요. 다음으로는 같은 방법을 코드 자체의 재구성에 적용할 거예요. 깃허브가 나중으로 미룬 단계예요.

출처

이 기사의 사실은 다음 출처에서 가져왔습니다.

  1. 01Github Migrates Copilot Runtime to Rust with AI-Assisted Rewrite - InfoQinfoq.com
  2. 02Microsoft agentically ports Copilot runtime to Rust for $120Ktheregister.com
  3. 03Migrating the GitHub Copilot runtime to Rust, using Copilot - The GitHub BlogLinkedIn iconInstagram iconYouTube iconX iconTikTok iconTwitch iconGitHub icongithub.blog

쿠키를 사용합니다

MOZGII 개선을 위해 익명 사용 데이터를 수집합니다. 동의 없이는 어떠한 데이터도 수집되지 않습니다. 개인정보 처리방침 · 쿠키 정책