
무슨 일이 있었냐면요
우리가 매일 쓰는 Git, 사실 2005년에 리누스 토르발스가 리눅스 커널을 관리하려고 만든 도구거든요. 20년 가까이 된 이 도구는 대부분 C 언어로 짜여 있어요. C는 빠르긴 한데, 메모리를 사람이 직접 관리해야 해서 작은 실수 하나가 보안 구멍이나 크래시로 이어지기 쉬운 언어예요.
GitButler라는 회사가 이 Git을 아예 Rust로 처음부터 다시 쓰는 'Grit'이라는 프로젝트를 공개했어요. 그것도 그냥 다시 쓴 게 아니라, AI 코딩 에이전트를 적극적으로 활용해서 작업했다는 게 핵심이에요.
Rust로 다시 쓴다는 게 왜 의미가 있냐면
이게 뭐냐면, Rust는 '메모리 안전성'을 컴파일 단계에서 보장해주는 언어예요. 쉽게 말하면, C에서는 개발자가 '이 메모리 이제 안 써' 하고 직접 정리해야 하는데, 깜빡하거나 잘못 정리하면 프로그램이 터지거나 해킹 통로가 생겨요. Rust는 컴파일러가 '잠깐, 여기 메모리 관리가 위험해' 하고 미리 막아줘요. 그래서 C로 짠 프로그램에서 발견되는 보안 취약점의 상당수가 Rust에서는 애초에 발생하기 어려워요.
Git처럼 전 세계 수억 명이 쓰는 도구라면 이 안전성이 정말 중요하거든요. 게다가 Rust는 C에 견줄 만큼 빠르면서도, 패키지 관리(cargo)나 테스트 도구가 현대적이라 유지보수가 훨씬 편해요.
AI 에이전트와 함께 짰다는 부분
이 프로젝트에서 흥미로운 건 작업 방식이에요. 기존 Git의 동작을 그대로 따라 하는(호환되는) 구현을 만들어야 하는데, 이건 명세가 명확하고 정답이 정해져 있는 작업이라 AI 에이전트가 의외로 잘하는 영역이에요.
예를 들어 '이 Git 명령어가 이런 입력을 받으면 이런 출력을 내야 한다'는 식의 테스트를 먼저 정해두고, 에이전트가 그 테스트를 통과하는 코드를 반복해서 만들어내는 방식이죠. 사람은 방향을 잡고 검토하고, 반복적이고 기계적인 변환 작업은 에이전트가 맡는 분업이에요. 다만 글에서도 솔직하게 인정하듯, 에이전트가 만든 코드를 그대로 믿으면 안 되고 사람이 꼼꼼히 리뷰하는 과정이 필수예요. '에이전트가 다 해준다'가 아니라 '에이전트와 협업한다'에 가까워요.
업계 맥락에서 보면
Git을 다시 구현하려는 시도는 사실 처음이 아니에요. gitoxide라는 순수 Rust Git 구현 프로젝트가 이미 꽤 성숙해 있고, libgit2(C로 된 라이브러리)도 오래전부터 있었어요. 마이크로소프트는 거대한 저장소를 다루려고 별도 도구를 만들기도 했고요.
Grit이 이들과 다른 점은 '에이전트 기반 개발'이라는 방법론 자체를 전면에 내세운다는 거예요. 요즘 마이크로소프트가 Windows 일부를 Rust로 옮기고, 안드로이드도 새 코드는 Rust를 권장하는 흐름과 맞물려 있어요. 'C로 짜인 핵심 인프라를 Rust로, 그것도 AI 도움을 받아 옮긴다'는 게 점점 현실적인 선택지가 되고 있는 거죠.
한국 개발자에게 주는 시사점
당장 Grit을 실무에 쓰자는 얘기는 아니에요. 아직 초기 단계니까요. 하지만 두 가지는 챙겨볼 만해요. 첫째, Rust를 배워두는 가치가 계속 커지고 있어요. 시스템 레벨 도구를 만드는 회사라면 점점 더 Rust를 찾거든요. 둘째, AI 에이전트로 대규모 리팩토링/포팅 작업을 하는 노하우예요. '테스트를 먼저 촘촘히 만들고, 에이전트에게 그걸 통과시키게 한다'는 패턴은 레거시 코드를 현대 언어로 옮기는 우리 회사 프로젝트에도 그대로 응용할 수 있어요.
한 줄 정리
검증된 명세가 있는 작업은 'AI 에이전트 + 안전한 언어'의 조합이 빛을 발하는 영역이에요. 여러분이라면 사내 레거시 도구를 Rust로 옮길 때 AI 에이전트에게 어디까지 맡기고, 어디부터는 직접 손댈 것 같으세요?
🔗 출처: Hacker News
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공