AI, 구글 코드 마이그레이션 50% 시간 절약

Google AI

 

### 구글의 AI 활용 코드 마이그레이션 사례와 성과

구글이 내부적으로 AI를 활용해 코드 마이그레이션에 성공적으로 적용한 사례가 주목받고 있어. 회사는 과정 중 50% 이상의 시간 절감을 달성했으며, 대규모 코드베이스에서 LLM(대형 언어 모델)의 가능성을 입증했어. 이 문서를 통해 구글 사례의 주요 포인트를 자세히 살펴보자.


1. 코드 마이그레이션의 배경 및 필요성

구글의 제품 및 서비스는 방대한 코드베이스에 기반을 두고 있어. 하지만 오래된 코드를 최신 기술 스택으로 전환하는 작업에는 막대한 시간과 인력이 소요돼. 특히 다음 세 가지 주요 사례에서 이러한 문제가 두드러졌지:

  • Google Ads 32비트 ID → 64비트 ID 변환
    구글 Ads 코드베이스는 32비트 ID를 사용했고, 이를 64비트로 변경해야 했어. 이 과정은 수십만 곳에 분산된 코드를 모두 식별하고 수정하는 작업이 포함됐지.
  • 테스트 프레임워크 전환 (JUnit3 → JUnit4)
    JUnit3의 사용을 중단하고 JUnit4로 전환해야 했어. 이 과정은 약 5,359개 파일과 149,000줄 코드 변경이 필요했지.
  • 시간 라이브러리 변경 (Joda → Java.time)

기존 Joda 라이브러리 대신 표준 Java.time 라이브러리를 사용하도록 전환했어. 이는 코드의 최신화와 유지보수성을 높이기 위한 결정이었어.


2. AI 도입과 LLM 활용 방식

구글은 LLM(대형 언어 모델)을 활용해 이러한 마이그레이션 프로세스를 자동화했어. 아래는 도입된 워크플로우를 정리한 내용이야:

(1) AI 기반 마이그레이션의 단계

  1. 문제 정의 및 코드 식별
    • 엔지니어가 코드 검색 도구(Kythe)와 스크립트를 사용해 변경 대상 코드를 식별.
    • 수정 여부를 결정.
  2. LLM 툴킷 적용
    • AI 모델이 코드를 분석하고 변경 사항을 제안.
    • AI가 생성한 코드는 유닛 테스트를 통과한 후 수동 검토로 넘어감.
  3. 수동 검토 및 최종 수정
  • LLM이 생성한 코드의 80%가 수정 없이 사용 가능했지만, 나머지는 인간 엔지니어가 필요한 경우 수정했어.
  1. 코드 검토 및 팀 승인
    • 각 코드 변경은 영향을 받는 분야의 다른 개발자들에게 검토를 받은 뒤 병합.

3. 주요 성과와 결과

AI 도입으로 구글은 다음과 같은 성과를 거뒀어:

  • 시간 절약
    • JUnit3 → JUnit4 전환에 3개월이 소요되면서 이전 예상 대비 50%의 시간 절약.
    • Joda → Java.time 전환은 시간 절약률이 89%에 이르렀어.
  • 생산성 향상
    • 약 87%의 코드가 LLM 생성 그대로 커밋됨.
    • 기존 수작업 방식 대비 더 효율적이고 오류율이 낮았어.
  • 유연한 적용 가능성
  • 다양한 코드 변환(데이터 타입, 라이브러리, 프레임워크)이 동일한 워크플로우로 처리 가능했어.
  • LLM 기반 코드 작성 증가
    • 구글 통계에 따르면, AI를 사용한 코드 완성 비율이 개발자가 직접 타이핑한 코드량을 초과함.

4. 한계점 및 개선 방향

LLM의 긍정적 성과에도 불구하고 몇 가지 한계와 개선점이 존재해:

  • 인간 검토 필요성
    • AI 모델이 만든 코드의 일부는 오류가 있거나 불필요한 변화를 포함해, 개발자의 검토와 수정이 여전히 필요했어.
  • 비용 문제
    • AI 모델의 사용 비용이 상당히 높아, 수작업에 비해 효율성이 떨어질 가능성이 있음.
    • 특히, 대규모 프로젝트의 경우 비용이 기하급수적으로 늘어날 수 있다는 점이 지적됐어.
  • 추가 도구 필요성
  • 인간 검토 과정의 병목 현상을 완화하기 위해 더 정교한 검증 도구와 워크플로우가 필요.

5. LLM을 활용한 코드 유지보수의 미래

구글 사례는 LLM이 대규모 코드베이스를 업데이트하고 현대화하는 데 있어 주요 도구로 자리 잡을 수 있음을 보여줬어.

  • 기업 내 적용 확대 가능성
    • 코드 리뷰, 코드 작성 보조, 리팩토링 등의 다양한 작업에 활용 가능.
  • AI와 전통적인 도구의 혼합 사용
    • LLM은 높은 유연성을 제공하지만, Abstract Syntax Trees(AST)와 같은 기존 도구와 병행해서 사용하는 것이 효율적.
  • 장기적 트렌드
  • 구글 사례는 LLM 기반 워크플로우가 대규모 IT 유지보수 방식 자체를 혁신할 가능성을 암시해.

6. 마무리

구글의 사례는 AI, 특히 LLM 모델이 코드 마이그레이션 같은 복잡한 작업에 얼마나 혁신적으로 기여할 수 있는지를 보여주는 좋은 사례야. 하지만 비용, 검토 과정 등의 문제를 고려하면, AI는 단독 해결책이 아니라 기존 방법과의 적절한 조합 속에서 최대의 효과를 발휘한다고 볼 수 있어. 앞으로도 이런 기술이 IT업계의 표준을 어떻게 바꿀지 기대가 크다!

*Source URL:
https://www.theregister.com/2025/01/16/google_ai_code_migration/

Google AI

Leave a Reply

Your email address will not be published. Required fields are marked *