
원문: https://jellyfish.co/blog/ai-coding-tools-not-paying-off-your-code-architecture-might-be-to-blame/
Jellyfish에서는 최근 OpenAI와 협력하여 AI 코딩 도구가 개발자 생산성에 미치는 영향을 연구했습니다. 분석 결과, AI 도구 도입이 생산성, 특히 PR 병합 건수의 상당한 증가와 상관관계가 있었습니다. 실제로, 모든 엔지니어가 코딩 시 AI를 항상 사용하는 "완전 도입"의 경우 PR 병합이 2.1배 증가했습니다..
하지만 소프트웨어 엔지니어링 팀은 각자 고유한 제약, 강점, 그리고 어려움을 지닌 복잡한 존재라는 것을 우리 모두 알고 있습니다. 어쩌면 흥미로운 성과를 거두고 있을지도 모릅니다… 아니면 AI 투자의 효과가 기대에 미치지 못하고 있을지도 모릅니다. 어느 경우든 PR 처리량에 영향을 미치는 요인은 AI 도입 외에도 많습니다. 가장 중요한 요소인 코드 아키텍처에 대해 이야기해 보겠습니다.
코드 아키텍처란 소스 코드 저장소 전반에 걸쳐 제품과 서비스를 구성하고 조정하는 전략을 의미합니다. 모노리포 vs. 폴리리포, 모놀리스 vs. 마이크로서비스, 또는 중앙 집중식 vs. 연합형 제품/플랫폼 전략을 생각해 보세요.
코드 아키텍처를 이해하는 간단한 지표 중 하나는 주간 활성 저장소입니다. 이번 주에 코드를 몇 개의 개별 저장소에 병합하셨나요? 하지만 이 지표는 엔지니어 수에 따라 선형적으로 증가합니다. 대기업은 일반적으로 저장소가 더 많으므로 확장할수록 더 많은 제품과 서비스를 나타냅니다. 이에 따라 Jellyfish에서는 새로운 지표인 엔지니어당 주간 활성 저장소를 개발했습니다. 이 지표는 규모에 관계없이 조직의 저장소 전략을 특성화하는 데 더 유용합니다. 엔지니어당 활성 저장소 수가 적으면 더 통합된 아키텍처(모노리포, 모놀리식 서비스 및/또는 중앙 집중식 제품)를 나타내고, 높으면 더 분산된 아키텍처(폴리리포, 마이크로서비스 및/또는 페더레이션 제품)를 나타냅니다.
다양한 코드 아키텍처와 그것이 AI 생산성 향상에 미치는 영향을 이해하기 위해, 우리는 2025년 1월부터 8월까지 321명의 Jellyfish 고객으로부터 데이터를 조사했습니다. 이는 130,000개의 코드 저장소에서 380만 건 이상의 풀 리퀘스트를 나타냅니다.
아래 차트는 데이터 세트 전체에 걸쳐 엔지니어당 주간 활성 저장소의 분포를 보여줍니다(관찰 기간 동안 다양한 주에 대한 각 회사의 스냅샷인 총 "회사 주차" 9,602개).

이 차트는 기업들이 채택하는 다양한 코드 아키텍처를 보여줍니다. 분포를 사분위로 나누고, 각 사분위의 특징을 가장 잘 나타내는 코드 아키텍처를 표시했습니다. 아래 표는 다양한 체계와 각 체계를 구성하는 아키텍처 전략 유형을 요약한 것입니다.
| 4분위 | 코드 아키텍처 | 엔지니어당 주간 평균 저장소 | 설명 |
|---|---|---|---|
| 1 | 중앙집중식 구조 | < 1 | 모노레포, 모놀리식 서비스, 소수의 제품 |
| 2 | 균형 잡힌 구조 | 1–2 | 코드, 서비스 및 제품의 적당한 분포 |
| 3 | 분산 구조 | 2–3.7 | 폴리리포스, 분산 서비스, 다양한 제품 |
| 4 | 고도로 분산된 구조 | 3.7+ | 광범위한 마이크로서비스, 고도로 연합된 제품 |
이전 분석과 마찬가지로, 전사적 AI 도입률을 설정하여 조직 내 엔지니어들이 AI 코딩 도구를 얼마나 자주 사용하는지 측정합니다. 이는 엔지니어가 AI를 사용한 실제 코딩 일수의 비율로 정의되며, 팀 내 모든 엔지니어의 평균입니다.
코드 아키텍처별로 데이터를 세분화해 보면, 코딩 행동과 AI 도입 효과가 집단별로 매우 다르게 나타나는 것을 알 수 있습니다. 아래 차트는 네 개의 산점도((scatter plots))로 구성되어 있으며, 각 데이터 포인트는 단일 회사 및 주간의 스냅샷으로, 엔지니어당 통합된 PR과 해당 회사 주간의 AI 도입률을 나타냅니다. 각 산점도는 중앙 집중형, 균형형, 분산형, 고도 분산형 등 다양한 코드 아키텍처(4분위)에 해당합니다. 또한, AI 도입률 변화가 PR 처리량에 미치는 영향을 측정하기 위해 추세선을 추가했습니다.

가장 먼저 주목해야 할 점은 코드 아키텍처에 따라 평균 PR 양이 다르며, 코드가 덜 중앙화 될수록 PR의 양이 증가한다는 것입니다. AI 코딩 방식과 관계없이, 고도로 분산된 아키텍처를 사용하는 팀은 중앙 집중화된 아키텍처를 사용하는 팀보다 엔지니어 한 명당 약 2배 더 많은 PR을 병합합니다(엔지니어 한 명당 평균 PR 수는 5.3개, 중앙 집중화된 아키텍처를 사용하는 팀은 2.7개) .
이러한 차이가 전반적인 생산성의 차이를 의미하는 것은 아닙니다. 분산 아키텍처에서 PR 수가 더 많은 것은 여러 저장소 간의 협업과 조정이 훨씬 많이 필요하기 때문입니다. 분산 아키텍처에서 단일 기능을 배포하려면 일반적으로 여러 서비스에 걸쳐 변경이 필요하며, 단일 업그레이드 또는 코드 마이그레이션을 여러 저장소에 걸쳐 복제해야 할 수 있으므로 평균적으로 더 많은 풀 리퀘스트가 발생합니다.
가장 흥미로운 점은 AI 도입과 PR 처리량 간의 상관관계가 코드 아키텍처에 따라 다르다는 것입니다. 중앙 집중식 및 균형형 아키텍처를 사용하는 팀은 AI 코딩 도구 도입률이 0%에서 100%로 증가할 때 엔지니어당 PR이 약 4배(이전 연구에서 관찰한 수치의 약 두 배) 증가할 것으로 예상됩니다. 분산형 아키텍처를 사용하는 팀은 약 2배의 증가를 예상할 수 있는데, 이는 중앙 집중식 및 균형형 아키텍처에서 관찰된 수치의 약 절반 수준입니다.
상위 4분위에서는 AI 도입과 처리량 간의 관계가 가장 뚜렷하며, 상관관계는 약간 부정적인 경향을 보입니다. 이는 AI 도구 도입이 고도로 분산된 코드 아키텍처를 가진 팀의 업무 속도를 오히려 저하시킬 수 있음을 시사합니다. 아래 표에 전체 결과를 요약했습니다.

명백한 질문은 이러한 불균형의 원인이 무엇일까요? 입니다. 한 가지 설명은 AI 코딩 도구의 효과성에 있어 컨텍스트의 중요성입니다. 지난 한 해 동안 LLM의 인덱싱 및 검색 능력과 도구 활용 능력이 크게 향상되었으며, 오늘날의 AI 도구는 여러 측면에서 제공되는 컨텍스트의 질에 의해서만 제한됩니다. 이것이 코드 아키텍처가 중요한 이유일 수 있습니다. 코드가 중앙 집중화될수록 AI 코딩 도구는 모든 관련 변경 사항을 포함하여 정확하고 효과적으로 작업을 완료하는 데 필요한 컨텍스트를 더 쉽게 찾을 수 있습니다. 반면, 고도로 분산된 시스템은 아키텍처를 이해하고 코드를 효과적으로 푸시하는 데 필요한 복잡한 리포지토리 간 조정을 관리할 수 있는 전문가에게 의존할 가능성이 높습니다.
그렇다면 고도로 분산된 아키텍처를 가진 조직이 망한다는 뜻일까요? 전혀 그렇지 않습니다. 컨텍스트 엔지니어링과 AI 에이전트는 빠르게 발전하고 있으며, 이러한 조직은 저장소, 서비스 및 제품에 걸쳐 있는 코딩 작업의 자동화를 개선함으로써 많은 이점을 얻을 수 있습니다. 특히 중복성이 높고 쉽게 검증할 수 있는 경우 더욱 그렇습니다. 여러 저장소에서 작업을 조정할 수 있는 코딩, 테스트 및 리뷰 에이전트는 이러한 아키텍처에 큰 이점을 가져다줄 수 있습니다.
하지만 현재로서는 데이터가 명확합니다. 코드 아키텍처는 AI 투자 수익에 중요한 그리고 어쩌면 예상치 못한 요소입니다. 이러한 강력한 새 도구의 사용을 확장하면서 코드 아키텍처를 면밀히 검토해 보세요. 더욱 통합된 코드베이스가 AI 도구의 생산성 극대화라는 더 큰 가능성을 열어줄 열쇠가 될 수 있습니다.
🚀 한국어로 된 프런트엔드 아티클을 빠르게 받아보고 싶다면 Korean FE Article을 구독해주세요!