사이언은 Anthropic이 자사 모노레포에서 Git 대신 쓰려고 직접 만든 서버 중심 버전 관리 시스템으로, 주 사용자를 항상 온라인인 AI 에이전트와 CI 작업으로 보고 대량의 병합·체크아웃을 서버가 맡게 했다. 외부에 공개되지 않는 사내 도구라서 직접 쓰기보다 대규모 에이전트 개발 환경의 설계 사례로 참고하면 된다.
| 항목 | Git | 사이언 |
|---|---|---|
| 구조 | 분산형, 로컬에 전체 저장소 | 서버 중심, 필요한 것만 받음 |
| 작업 단위 | 커밋 (트리 전체를 가리킴) | 체인지셋 (바뀐 파일 목록) |
| 병합·리베이스 | 내 컴퓨터에서 | 서버 클러스터에서 |
| 오프라인 작업 | 가능 | 지원 안 함 |
Claude로 개발하면서 하루에 병합되는 변경이 넉 달 만에 열 배 넘게 늘었고, 소스 관리가 개발 전체에서 가장 큰 병목이 됐다. 메인 브랜치 히스토리만 100GB 가까이 되는 저장소를 CI·에이전트 샌드박스마다 통째로 받으면, 계산상 하루 트래픽이 수백 페타바이트에 이른다.
하루 병합 건수, Anthropic 발표 기준.
사이언의 체인지셋은 쓰기 전 기록(write-ahead log)의 한 항목이다. 트리 전체 대신 첫 번째 부모와 비교해 바뀐 파일 목록만 담고, 실제 내용은 블롭 저장소의 압축 파일을 가리키는 주소로 남긴다. 클라이언트는 파일 트리와 히스토리를 필요할 때만 요청하고, 일부만 받는 체크아웃이나 가상 체크아웃으로 작업한다. 지역별 프록시가 자주 쓰는 객체를 캐시해서 적중률을 99% 넘게 유지한다. 히스토리 조회도 API로 열려 있어서, 사내 도구는 로컬 저장소 없이 바로 답할 수 있다.
| 이런 상황이면 | 사이언에서 가져올 생각 |
|---|---|
| 에이전트 샌드박스마다 전체 클론 | 필요한 디렉터리만 받는 체크아웃 |
| 도구가 히스토리를 자주 조회 | 로컬 저장소 대신 서버 API로 조회 |
| 에이전트 변경 리뷰가 밀림 | 디렉터리별 권한, 주석 변경과 민감한 로직 승인 분리 |
사이언은 오프라인 작업을 지원하지 않는다. 개발팀은 가장 많이 쓰는 쪽이 Claude이고 Claude는 어차피 온라인이라 중요하지 않았다고 설명했다. Anthropic도 사이언이 모든 곳에서 Git을 대신할 수 있는 건 아니라고 밝혔다. 이런 구조를 들이려면 코드 검색, 리뷰, CI 파이프라인까지 함께 옮겨야 한다. 일곱 명이 Claude의 도움을 받아 다섯 달 만에 이전을 마쳤는데, 그 과정에서 인프라 시뮬레이션과 퍼징을 따로 만들어 품질을 지켰다.
사이언을 가장 많이 쓰는 건 사람 개발자가 아니라 Claude 에이전트와 CI 작업이다. 저장소를 통째로 받지 않고 필요한 부분만 받아 작업하며, 무거운 병합은 서버에 맡긴다.
| 어디서 | 어떻게 쓰나 |
|---|---|
| 에이전트 샌드박스 | 일부만 받는 체크아웃이나 가상 체크아웃으로 필요한 파일만 받아 코드를 고친다 |
| CI 작업 | 작업마다 전체 클론 없이 필요한 파일만 받아 돌리고, 병합·리베이스는 서버 클러스터가 처리한다 |
| 사내 개발 도구 | 히스토리 조회 API를 불러 로컬 저장소 없이 바로 답한다 |
| 코드 리뷰 | 디렉터리별 권한으로 주석 변경과 민감한 로직의 승인을 나눠 처리한다 |