AI가 우리 코드의 몇 퍼센트를 만들었을까? 개발팀을 위한 AI 코드 기여도 추적 가이드
안녕하세요, 코딩 동료 여러분!
요즘 GitHub Copilot, Cursor, Claude 같은 AI 코딩 도구 없이 개발하기란 상상하기 어렵죠? AI가 코드를 뚝딱 만들어주고, 버그를 찾아주고, 심지어 문서까지 작성해주는 시대가 왔으니까요.
그런데 문득 이런 궁금증이 들지 않으셨나요?
"우리 팀의 전체 코드 중에서 AI가 직접 작성한 코드는 과연 몇 퍼센트나 될까?"
이 질문은 단순한 호기심을 넘어, 우리 팀의 생산성과 효율성을 객관적으로 측정하는 데 정말 중요한 역할을 합니다. 실제로 Google과 Microsoft 같은 거대 기술 기업들은 자신들의 코드베이스에서 AI가 생성한 코드의 비율이 20~30%에 달한다고 공개적으로 밝히고 있어요.
이 글에서는 여러분의 팀에서도 AI가 작성한 코드의 비율을 정확하게 추적하고, 보기 좋게 시각화하는 방법을 단계별로 자세히 알려드릴게요.
1. 왜 AI 코드 기여도를 추적해야 할까요?
이 지표를 추적하는 것은 단순히 '우리가 AI를 얼마나 쓰고 있는지'를 확인하는 것을 넘어, 팀의 미래 전략을 세우는 데 필수적인 데이터가 됩니다.
- 투자 대비 효과(ROI) 확인: AI 도구에 투자한 비용이 실제로 팀의 생산성 향상으로 이어지는지 객관적인 근거를 마련할 수 있습니다. AI 사용량이 늘어날수록 팀의 개발 속도(DORA 지표 등)가 빨라지는지 확인하는 거죠 .
- 잠재적인 위험 요소 파악: AI가 생성한 코드는 때로 예상치 못한 버그나 기술 부채를 만들 수 있습니다. AI 사용량이 급증할 때 버그 발생률도 함께 높아지는지 추적하여, 미리 대비하고 더 나은 활용 방안을 모색할 수 있어요.
- 개발 문화 개선: 이 지표를 통해 AI가 우리 팀의 작업 방식에 어떤 영향을 미치는지 이해할 수 있습니다. 예를 들어, AI 활용을 독려하거나, 반대로 코드 품질을 더 꼼꼼히 검토하는 문화를 만들 수도 있죠 .
2. 가장 똑똑한 추적 방법: Git Co-authored-by 트레일러
바로 Co-authored-by 트레일러를 커밋 메시지에 추가하는 방식은 기술적으로 매우 훌륭하고 실현 가능성이 높습니다. 왜냐하면 Git의 강력한 기능을 그대로 활용하기 때문이죠.
Co-authored-by는 원래 여러 명이 함께 작업한 커밋에 공동 저자를 표시하기 위해 만들어진 Git의 공식 기능입니다. AI가 참여한 커밋에 이 트레일러를 붙여 '공동 저자'로 기록하는 것은 AI의 기여를 Git 히스토리라는 불변의 기록에 남기는 것입니다.
이 방법은 AI의 기여를 투명하고 감사 가능한(auditable) 데이터로 만들어줍니다. GitLens 같은 VS Code 확장 프로그램이나 git-ai-commit 같은 CLI 도구는 이 트레일러를 자동으로 추가해주는 기능도 제공하고 있어, 개발자가 수동으로 입력할 필요 없이 편리하게 기록할 수 있습니다 .
3. 단계별 시스템 구축하기: GitHub Actions 활용
이제 이 아이디어를 실제 시스템으로 만들어볼게요. AI가 작성한 코드가 푸시될 때마다 자동으로 계산해서 그 결과를 보여주는 시스템을 구축해봅시다.
3.1. 필요한 도구와 기술
- Git: 두말할 필요 없겠죠!
- GitPython: Git 명령어를 Python 스크립트에서 더 안정적이고 객체지향적으로 다룰 수 있게 해주는 라이브러리입니다. 단순히 subprocess를 쓰는 것보다 훨씬 효율적입니다.
- cloc (Count Lines of Code): 주석이나 빈 줄을 제외하고 순수한 코드 라인만 정확하게 세어주는 전문 도구입니다.
- GitHub Actions: 코드 변경이 일어날 때마다 자동으로 스크립트를 실행해주는 GitHub의 자동화 기능입니다.
3.2. 핵심 로직: 라인 단위 기여도 계산
AI 코드 기여도 비율은 다음과 같은 간단한 공식으로 계산할 수 있습니다.
$AI\ 코드\ 기여\ 비율 = \frac{AI\가\ 추가한\ 라인\ 수(AI\_LOC)}{전체\ 코드\ 라인\ 수(Total\_LOC)} \times 100\%$
이 값을 구하기 위해 다음 단계를 거칩니다.
- AI 관련 커밋 식별: git log --grep="Co-authored-by: <AI_TOOL_NAME>" 명령어를 사용해 AI 도구 이름이 포함된 모든 커밋을 찾습니다.
- 변경 라인 수 집계: 식별된 각 커밋에 대해 git diff --shortstat 명령어를 실행하면 해당 커밋에서 추가된 라인 수를 알 수 있습니다.
- 전체 코드 라인 수 계산: cloc 도구를 사용해 레포지토리의 전체 코드 라인 수를 구합니다.
3.3. 자동화 파이프라인 구축 (GitHub Actions)
이 계산 로직을 GitHub Actions 워크플로우로 자동화하면 정말 편리합니다. .github/workflows/ai-tracker.yml 파일을 만들고 아래 내용을 작성해 보세요.
name: AI 코드 기여도 추적기
on:
push:
branches:
- main
schedule:
- cron: '0 0 * * *' # 매일 00:00 UTC에 실행
jobs:
track-ai-contribution:
runs-on: ubuntu-latest
steps:
- name: 전체 Git 히스토리 다운로드
uses: actions/checkout@v4
with:
fetch-depth: 0 # 전체 히스토리를 가져와야 모든 커밋을 분석할 수 있어요! [14, 15]
- name: Python 환경 설정 및 라이브러리 설치
uses: actions/setup-python@v5
with:
python-version: '3.10'
run: |
pip install GitPython cloc
- name: 분석 스크립트 실행
run: python./scripts/analyze_ai_code.py
- name: 변경된 데이터 파일 커밋
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add ai_code_data.json
git commit -m "chore: AI 기여도 데이터 업데이트" |
| echo "No changes to commit"
git push
YAML 파일 설명:
- on: push: main 브랜치에 코드가 푸시될 때마다 이 워크플로우가 자동으로 실행됩니다.
- on: schedule: 매일 자정(UTC)에 자동으로 실행되도록 설정했어요. 이는 cloc으로 전체 코드 라인 수를 매번 계산하는 대신, 정해진 시간에 한 번만 업데이트하여 불필요한 컴퓨팅 자원 낭비를 막기 위함입니다.
- fetch-depth: 0: 이 부분이 핵심입니다. GitHub Actions는 기본적으로 최신 커밋만 가져오는데, fetch-depth: 0을 설정해야 전체 Git 히스토리를 가져와서 모든 커밋을 분석할 수 있습니다.
- analyze_ai_code.py: 이 스크립트가 위에서 설명한 GitPython과 cloc을 사용해 데이터를 수집하고 ai_code_data.json 파일을 만듭니다. 이 파일이 바로 여러분이 제안해주신 'map 파일' 역할을 하는 거죠.
4. 시각화로 정보 전달하기: README 배지와 그래프
수집한 데이터를 팀원들이 한눈에 볼 수 있도록 GitHub README에 시각화해볼까요?
4.1. GitHub README 다이내믹 배지
README 배지는 프로젝트의 현황을 요약해서 보여주는 작은 '명함'과 같아요. AI 코드 기여도 배지를 만들면 현재 비율이 얼마인지 즉시 알 수 있습니다.
- Shields.io: Shields.io 같은 서비스는 동적 배지 생성 기능을 제공합니다. 여러분의 분석 스크립트가 생성한 JSON 데이터를 기반으로 실시간으로 업데이트되는 맞춤형 배지를 만들 수 있어요.
- 컬러 범위 설정: AI 코드 비율이 일정 범위를 넘어서면 배지 색상이 자동으로 빨간색으로 바뀌게 설정할 수 있습니다. 예를 들어, 10% 이하는 녹색, 10~20%는 노란색, 20% 이상은 빨간색으로 설정해서 팀에 '이제 AI 코드를 좀 더 꼼꼼히 살펴봐야 할 시점'이라는 시각적 경고를 줄 수 있습니다.
4.2. 일자별 추이 그래프
ai_code_data.json 파일에 쌓인 데이터를 활용하면 시간에 따른 AI 코드 기여도의 변화를 그래프로 그릴 수 있어요.
- 추천 라이브러리: Plotly.js나 Cubism.js 같은 자바스크립트 라이브러리를 사용하면, 예쁘고 인터랙티브한 시계열 그래프를 손쉽게 만들 수 있습니다 .
- 그래프의 가치: 이 그래프를 보면 '이번 주에 AI 코딩 챌린지를 했더니 비율이 5%나 올랐네!'와 같은 흥미로운 변화를 발견하고, 그 원인을 분석하는 데 큰 도움을 받을 수 있습니다.
5. 한 가지 지표만 믿지 마세요! (⭐ 가장 중요!)
여기까지 오셨다면 AI 코드 기여도 비율을 성공적으로 추적할 수 있을 겁니다. 하지만 마지막으로 꼭 기억하셔야 할 것이 있습니다.
AI가 작성한 코드 라인 수가 많다고 해서 반드시 생산성이나 코드 품질이 높아지는 것은 아닙니다.
이 지표는 AI 활용의 한 단면만 보여주는 '허영 지표(vanity metric)'가 될 수 있어요. AI가 100줄의 코드를 추가했지만, 그 코드가 치명적인 버그를 숨기고 있다면 오히려 팀의 발목을 잡을 수 있습니다 . 실제로 일부 연구에서는 AI 도구가 숙련된 개발자의 작업 속도를 오히려 19% 늦추는 결과를 보이기도 했어요.
따라서 AI의 진정한 영향을 측정하기 위해서는 '코드 라인'을 넘어선 다층적인 측정 프레임워크를 구축할 것을 강력히 추천합니다 .
- DORA 지표: AI 코드 비율과 함께 배포 빈도, 변경 리드 타임, 변경 실패율 등을 추적하세요. AI 도입이 실제 비즈니스 성과에 어떤 영향을 미치는지 종합적으로 판단할 수 있습니다.
- 정적 분석 도구: AI가 생성한 코드의 품질을 객관적으로 평가하기 위해 SonarQube와 같은 정적 분석 도구를 활용하세요. 순환 복잡도, 코드 커버리지, 버그 밀도 등을 함께 추적하면 AI가 만들어낸 코드의 '실제 가치'를 알 수 있습니다.
- 개발자 만족도: 정량적 데이터만으로는 알 수 없는 개발자들의 주관적인 경험과 만족도를 파악하는 것도 중요합니다. 정기적인 설문조사를 통해 AI 도구가 작업 흐름에 어떤 긍정적/부정적 영향을 주는지 확인하세요.
6. 결론: 이제 시작해볼까요?
여러분이 제안해주신 Co-authored-by 트레일러 방식은 AI 코드 기여도를 추적하는 데 가장 효율적이고 실용적인 방법입니다. Git의 표준 기능을 활용하기 때문에 팀의 워크플로우에 자연스럽게 녹아들 수 있습니다.
최종 권고:
- 팀 규칙 정하기: 팀원들과 함께 AI 커밋에 Co-authored-by 트레일러를 붙이기로 약속하세요.
- GitHub Actions 설정하기: 위에 제시된 YAML 파일을 참고하여 자동화 파이프라인을 구축하세요.
- 다차원적으로 분석하기: 코드 라인 비율뿐만 아니라 DORA 지표, 코드 품질, 개발자 만족도 등 다양한 지표를 함께 추적하여 AI의 진정한 영향을 파악하세요.
AI는 이제 개발의 필수적인 파트너입니다. 이 시스템을 통해 우리 팀이 AI와 얼마나 똑똑하게 협업하고 있는지, 그리고 앞으로 어떤 방향으로 나아가야 할지 중요한 통찰력을 얻을 수 있을 거예요.
궁금한 점이 있으면 언제든지 다시 질문해주세요!