위대한 모노레포 해체: 빅테크가 AI 에이전트 시대를 위해 분산되는 이유
Source: Dev.to
번역할 전체 텍스트를 제공해 주시면, 요청하신 대로 한국어로 번역해 드리겠습니다. (소스 링크는 그대로 유지하고, 마크다운 형식과 기술 용어는 그대로 보존합니다.)
소개
세계 최대 기술 기업들의 엔지니어링 부서에서는 조용한 혁명이 일어나고 있습니다. FAANG‑style 조직들은 전설적인 모노레포를 적극적으로 리팩터링하고 있습니다 — 10년 넘게 엔지니어링 문화의 기반이 되어 온 방대한 통합 코드베이스 말이죠. 이유는? 내부자들이 “무한 에이전트 코드.” 라고 부르는 것을 준비하고 있기 때문입니다.
Monorepo란 무엇인가?
Monorepo는 조직의 모든 코드를 하나의 저장소에 담은 형태입니다. 구글은 수십억 라인의 코드를 단일 저장소에 보관하는 세계 최대 규모의 Monorepo를 운영하는 것으로 유명합니다. 페이스북, 마이크로소프트 등도 뒤따라 대규모에서도 이 방식을 적용할 수 있도록 정교한 도구들을 구축했습니다.
장점
- 여러 서비스에 걸친 원자적 변경
- 의존성 지옥을 없애는 통합 버전 관리
- 공유 라이브러리를 통한 코드 재사용
- 일관된 도구 체인 및 개발자 경험
기업들은 Monorepo를 대규모로 유지하기 위해 맞춤형 빌드 시스템(예: Bazel, Buck), 코드 리뷰 도구, 인프라 등에 수백만 달러를 투자했습니다.
왜 갑자기 방향을 바꾼 걸까?
답은 현대 AI 코딩 에이전트가 어떻게 작동하는지에 있다.
AI 에이전트와 컨텍스트 윈도우
AI 에이전트는 단순히 자동완성을 하는 것이 아니라 전체 코드베이스를 추론하고, 아키텍처 패턴을 이해하며, 여러 파일에 걸쳐 대대적인 변경을 할 수 있다. 이들의 가장 큰 제한은 컨텍스트 윈도우이다. 컨텍스트 윈도우가 수백만 토큰으로 확대되더라도, 수십억 라인에 달하는 모노레포는 고유한 문제를 제시한다:
- 관련 없는 코드는 토큰을 낭비하고 잡음을 추가한다.
- 의존성 누락은 모든 내용을 컨텍스트에 담을 수 없기 때문이다.
AI 에이전트가 결제 서비스를 수정해야 할 때, 관련 없는 영상 인코딩 코드를 뒤져야 하면 안 된다. 모노레포에서는 관련 컨텍스트를 확보하는 것이 기하급수적으로 어려워진다.
자율적 변경의 위험
AI 에이전트는 이제 수초 만에 수백 개의 파일을 수정할 수 있다. 모노레포에서는 한 팀의 관례를 미묘하게 오해하는 것만으로도 수십 개 서비스에 걸친 파괴적인 변경으로 이어질 수 있다. 인간이 원자적인 변경을 쉽게 할 수 있었던 동일한 상호 연결성이 자율 에이전트의 변경을 두렵게 만든다.
소유권 및 CI/CD 병목 현상
- 코드 소유권이 에이전트가 대규모로 변경을 생성할 때 모호해진다.
- 모노레포 CI/CD 시스템은 AI‑생성 PR의 양을 감당하도록 설계되지 않았으며, 중앙 집중식 빌드 시스템이 즉각적인 병목 현상이 된다.
새로운 연합 모델
완전히 격리된 저장소로 되돌아가는 대신, 많은 기업들이 연합 아키텍처로 전환하고 있습니다:
- 도메인 기반 저장소는 팀 소유와 일치합니다
- 저장소 간 명시적인 API 계약은 도구에 의해 강제됩니다
- AI 시스템의 컨텍스트 역할을 하는 에이전트 최적화 문서
- 에이전트가 익숙하지 않은 코드베이스를 빠르게 파악할 수 있도록 표준화된 스캐폴딩
이 접근 방식은 AI 에이전트에게 명확한 경계를 제공하면서도 공유 인프라의 협업 이점을 유지합니다.
전환 과제
- Cross‑repo refactoring은 새로운 도구가 필요합니다
- Dependency management가 다시 중요해집니다
- Version‑compatibility matrices가 강력히 돌아옵니다
기업들은 AI 에이전트 자체가 이 격차를 메우는 데 도움이 될 것이라고 기대하고 있으며, 분산된 저장소로 다시 도입된 복잡성을 관리하기 위해 에이전트를 활용하고 있습니다.
더 넓은 함의
- 팀 자율성은 저장소 경계가 명확해짐에 따라 팀이 기술 선택에 대한 통제력을 더 많이 갖게 되면서 증가합니다.
- 에이전트 전문화가 실현 가능해집니다; 조직 전체의 규칙을 모두 가르치는 대신 특정 도메인에 맞게 에이전트를 미세 조정할 수 있습니다.
- 채용 패턴은 부족한 지식(tribal knowledge)에 의존하는 사람보다 명확한 인터페이스와 문서를 정의하는 데 뛰어난 엔지니어 쪽으로 이동할 수 있습니다.
모노레포는 분산 시스템을 인간이 조정하기에 너무 어려워서 등장했습니다. 이제 AI 에이전트가 그 조정 복잡성을 관리할 수 있게 되면서, 흐름이 다시 반대로 움직이고 있습니다. 우리는 인간의 이해를 위해 단순화하는 것이 아니라, 기계의 이해를 위해 구조를 재구성하고 있습니다.
결론
“The infinite agent code” 미래는 에이전트가 무한히 코드를 작성하는 것이 아니라, 에이전트가 모든 규모의 소프트웨어 개발에서 진정한 협업자가 되는 것이다. 이를 위해서는 우리의 시스템이 에이전트에게 읽히기 쉬워야 한다.
FAANG 기업들이 모노레포를 분할하는 것은 통합 코드베이스의 이점을 포기하는 것이 아니라, 인간과 인공지능 모두에게 서비스를 제공하는 아키텍처로 진화하고 있는 것이다.
문제는 이 전환이 다른 곳에서도 일어날지 여부가 아니라, 여러분의 조직이 이를 주도할지 아니면 뒤처져 따라잡아야 할지이다.
원본은 @samswoora on X에서 영감을 받은 관찰에서 시작되었습니다.