Anthropic 3분 소요

AI 코딩 에이전트 시대, Git을 떠나면 얻는 것과 잃는 것

핵심 요약

  • Scion의 도입 범위와 설계가 확인되지 않은 상태에서 앤트로픽이 Git을 전면 폐기했다고 단정할 수는 없습니다.
  • 중앙집중형 관리 시스템은 여러 에이전트의 변경을 한곳에서 조율하도록 설계할 수 있습니다.
  • 변경을 순서대로 합쳐도 코드의 동작이 서로 충돌하는 문제까지 자동으로 해결되지는 않습니다.
  • Git도 중앙 서버를 중심으로 운영할 수 있어, 조율 기능이 필요하다는 이유만으로 교체가 필수는 아닙니다.

AI 코딩 에이전트 여러 개가 같은 프로젝트를 수정하면 코드가 빠르게 쌓입니다. 이때는 작성 속도와 함께 변경을 합치는 과정도 살펴야 합니다. 서로 다른 변경을 어떤 순서로 검증하고 합치느냐에 따라 제품의 안정성이 달라집니다.

앤트로픽은 정말 Git을 떠난 걸까요?

“앤트로픽이 Scion으로 Git을 대체했다”는 표현만으로는 실제로 무엇이 달라졌는지 알 수 없습니다. 일부 작업에 새 도구를 도입하는 것과 회사 전체의 저장소를 옮기는 것은 규모도 의미도 다릅니다.

Scion이 변경 이력을 직접 저장하는 시스템인지, 기존 버전관리 위에서 에이전트의 작업을 조율하는 도구인지도 구분해야 합니다. 구체적인 설계와 도입 범위를 확인하기 전에는 Git 전면 폐기나 그 이유를 확정된 사실로 설명할 수 없습니다.

여기서 한 가지는 따져볼 만합니다. 사람이 익숙하게 써 온 버전관리 방식이 여러 에이전트가 동시에 일할 때도 효율적일까요?

Git은 각자의 컴퓨터에서 변경 이력을 다룰 수 있도록 설계된 분산 버전관리 도구입니다. 개발자는 로컬에서 변경을 기록하고 비교하면서, 팀의 공용 서버에 있는 저장소를 기준으로 협업할 수도 있습니다. 분산된 도구와 중앙화된 운영은 함께 존재할 수 있습니다.

중앙집중형 관리가 줄여 주는 조율 비용

가령 에이전트 10개가 하나의 서비스를 수정한다고 해보겠습니다. 하나는 로그인 오류를 고치고, 다른 하나는 사용자 정보의 구조를 바꿉니다. 나머지는 테스트와 화면을 수정합니다.

각자 맡은 일을 끝냈다고 바로 코드를 합칠 수 있는 것은 아닙니다. 작업하는 동안 다른 변경이 먼저 반영됐다면, 달라진 코드에서도 자신의 코드가 제대로 작동하는지 다시 확인해야 합니다.

중앙에서 제출을 조율하는 시스템을 두면 이 과정을 일정한 절차에 따라 처리할 수 있습니다. 서버가 변경을 대기열에 넣고, 앞선 변경을 포함한 상태에서 검사한 뒤 순서대로 반영하도록 설계하는 방식입니다.

이렇게 하면 에이전트가 “지금 합쳐도 되는가”를 판단하려고 반복하는 작업을 줄일 수 있습니다. 충돌이 생기거나 검사를 통과하지 못했을 때도 한곳에서 같은 규칙에 따라 재시도하게 만들기 쉽습니다.

하지만 중앙집중형이라는 이름 자체가 이런 이점을 보장하지는 않습니다. 제출 순서와 검증 절차를 실제로 구현하고, 실패했을 때 어떻게 처리할지도 정해 두어야 합니다. 대기열이 길어지면 중앙에서 조율하는 과정이 오히려 병목이 될 수도 있습니다.

한곳에서 합친다고 충돌이 사라지지는 않습니다

버전관리에서 말하는 충돌과 프로그램이 동작하면서 생기는 충돌은 다릅니다.

예를 들어 한 에이전트가 함수의 반환값을 문자열에서 객체로 바꿨다고 해보겠습니다. 다른 에이전트는 별도 파일에서 그 반환값을 문자열처럼 처리합니다. 수정한 위치가 겹치지 않으면 텍스트를 합치는 데는 문제가 없을 수 있지만, 코드를 실행하면 오류가 납니다.

중앙 서버가 변경을 차례대로 받아도 이런 문제는 남습니다. 변경 순서를 정하는 기능과 변경의 의미를 검증하는 기능은 별개이기 때문입니다.

그래서 에이전트가 작업할 때는 테스트와 함께 변경의 맥락도 살펴야 합니다. 어떤 요청을 받고 어느 코드 상태를 바탕으로 작업했는지 알아야 하고, 통과한 검사도 해당 변경과 연결되어 있어야 합니다. 문제가 생겼을 때 커밋 작성자 이름만으로는 이런 내용을 파악하기 어렵습니다.

변경을 되돌릴 때도 한계가 있습니다. 코드를 원래대로 돌려도 이미 바뀐 데이터베이스나 외부 시스템의 상태까지 자동으로 복구되지는 않습니다. 버전관리 도구를 바꾼다고 운영 중에 생긴 문제를 복구하는 일까지 해결되지는 않습니다.

편리한 조율에는 어떤 대가가 따를까요?

중앙 시스템을 반드시 거쳐야 하는 작업은 그 시스템이 멈추면 영향을 받습니다. 서버가 멈췄을 때 로컬에서 코드를 편집할 수 있더라도 변경을 제출하거나 공유하는 일은 막힐 수 있습니다. 오프라인 작업을 어디까지 지원할지는 따로 설계해야 합니다.

새 시스템으로 옮길 때는 주변 도구와의 연결도 살펴봐야 합니다. 코드 리뷰와 자동 테스트, 배포, 변경 이력 검색을 기존 작업 흐름 안에서 얼마나 원활하게 이어 갈 수 있는지가 중요합니다. 저장 방식이 달라진다면 이력을 온전히 내보내 다른 도구로 옮길 수 있는지도 확인해야 합니다.

필요한 기능이 제출 대기열과 자동 검증이라면 Git을 유지하면서 구현할 수도 있습니다. Git 기반으로 협업할 때도 변경을 순서대로 검사하고 반영하도록 운영할 수 있습니다.

교체 여부를 판단하려면 “AI용으로 만들었는가”보다 구체적인 기준이 필요합니다. 같은 작업량을 처리할 때 재시도가 얼마나 줄고 검증을 얼마나 기다려야 하는지 비교해야 합니다. 잘못된 변경의 원인을 얼마나 빨리 찾을 수 있는지도 살펴야 합니다.

AI 에이전트가 많아지면 코드를 보관하는 일만큼 여러 작업을 조율하는 일도 중요해집니다. 중앙집중형 설계는 조율 과정을 단순하게 만들 수 있지만, 검증과 복구까지 대신해 주지는 않습니다. 도구를 바꾸기 전에 팀이 겪는 문제가 Git 자체의 한계 때문인지, 변경을 합치는 과정에 빈틈이 있어서인지부터 구분해야 합니다.

Anthropic Git AI 코딩 에이전트

댓글

    댓글을 불러오는 중...