최근 오픈소스 프로젝트에서 AI 코딩 에이전트의 활동이 급격히 늘고 있습니다. 이미 GitHub PR의 10% 이상이 에이전트가 생성한 것으로 추정됩니다. 그런데 정말 궁금한 게 있습니다.
“에이전트가 쓴 코드는 시간이 지나도 잘 유지되는가? 아니면 더 자주 수정되고 삭제되는가?”
오늘 고른 논문 **Investigating Autonomous Agent Contributions in the Wild: Activity Patterns and Code Change over Time**는 이 질문에 110,000개의 실제 PR을 바탕으로 답을 제시합니다.
이 글에서는 논문의 핵심 발견을 정리하고, 실전 에이전트/자동화 시스템 설계에 어떤 힌트를 줄 수 있는지 살펴보겠습니다.
논문 한 줄 요약
110,000개의 오픈소스 PR을 분석한 결과, 에이전트 활동은 증가하고 있지만 에이전트가 쓴 코드는 인간이 쓴 코드보다 더 높은 churn rate를 보인다.
즉, 에이전트 코드는 더 자주 수정되고 대체된다는 것입니다.
연구 배경: 왜 이 논문이 중요할까?
기존 AI 코딩 도구 연구는 주로 다음에 집중했습니다.
- 정확도 벤치마크 (HumanEval, MBPP 등)
- 개발자 생산성/만족도 조사
- 단발성 태스크 성능
하지만 실제 소프트웨어 개발은 코드를 짜는 것만 끝이 아닙니다.
- PR이 머지되고
- 시간이 지나면서 유지보수되고
- 버그가 발견되면 수정되고
- 새로운 요구사항에 맞춰 리팩토링됩니다
이 논문은 바로 이 **“시간이 지난 후의 코드 안정성”**을 처음으로 대규모로 측정했습니다.
연구는 어떻게 진행되었나?
데이터셋
- 110,000개 PR과 관련 커밋, 코멘트, 리뷰, 파일 변경
- 5개 주요 코딩 에이전트 대상:
- OpenAI Codex
- Claude Code
- GitHub Copilot
- Google Jules
- Devin
- 수백만 줄의 소스 코드 포함
분석 차원
논문은 다음과 같은 다양한 차원에서 에이전트 vs 인간을 비교합니다.
-
협업 및 개발 진행 (RQ1)
- Merge 빈도
- Merge 지연 시간
- 파일 구성
- 커밋/리뷰 밀도
-
코드 유지보수 (RQ2)
- Survival rate: 코드가 수정/삭제되지 않고 유지되는 비율
- Churn rate: 코드가 변경되는 비율
- Deletion rate: 코드가 삭제되는 비율
주요 발견 1: 에이전트 활동은 증가 중, 특히 저평가 레포에서
에이전트 활동은 전반적으로 증가하고 있지만, 흥미로운 패턴이 있습니다.
- **저평가 레포(star 적은 레포)**에서 에이전트 활동이 더 집중
- 인간 PR은 대형 레포에서 더 많이 발생
- 즉, 에이전트는 주류 레포보다 장기 레포에서 더 활발
이는 에이전트가 “메이저 프로젝트의 핵심 기능”보다는 “개인 프로젝트나 실험적 레포의 보조 기능”에 더 많이 쓰인다는 뜻일 수 있습니다.
주요 발견 2: 에이전트 코드의 Survival Rate가 더 낮다
코드 안정성을 측정하는 핵심 지표는 survival rate입니다. Survival rate가 높다는 건 “그 코드가 나중에 수정/삭제되지 않고 그대로 유지된다”는 뜻입니다.
논문의 분석 결과:
| 시간 경로 | 인간 코드 Survival Rate | 에이전트 코드 Survival Rate |
|---|---|---|
| 7일 | 더 높음 | 더 낮음 |
| 30일 | 더 높음 | 더 낮음 |
| 90일 | 더 높음 | 더 낮음 |

인간이 쓴 코드가 더 오랫동안 그대로 유지되는 경향이 있습니다.
통계적 검증 결과 모든 시간 구간에서 인간 vs 에이전트 간에 유의미한 차이가 발견되었습니다.
주요 발견 3: 에이전트 코드의 Churn Rate가 더 높다
Churn rate는 코드가 얼마나 자주 변경되는지를 나타냅니다.
Churn rate = 변경된 줄 수 / 전체 변경 줄 수
분석 결과:

- 에이전트 커밋이 인간 커밋보다 더 높은 churn rate를 보임
- 즉, 에이전트 코드는 더 자주 수정 및 리팩토링됨
특히 초기 커밋 이후 7-30일 사이에 가장 많은 변경이 발생합니다.
주요 발견 4: Deletion Rate도 에이전트가 더 높다
코드가 삭제되는 비율을 살펴보면:

- 에이전트 코드는 인간 코드보다 더 자주 삭제됨
- 이는 에이전트가 생성한 코드가 더 빈번하게 대체된다는 뜻
삭제 비율은 전반적으로 낮지만(코드가 완전히 삭제되는 건 드문 일), 그나마도 에이전트가 더 높습니다.
핵심 메시지: “빠르게 쓰이지만, 덜 안정적”
종합하면 이런 그림이 나옵니다.
장점:
- ✅ 에이전트 활동이 증가 중
- ✅ 저평가 레포에서 생산적인 기여
- ✅ 빠르게 초기 버전 생성 가능
단점:
- ⚠️ Survival rate가 더 낮음 (코드가 덜 안정적)
- ⚠️ Churn rate가 더 높음 (더 자주 수정됨)
- ⚠️ Deletion rate가 더 높음 (더 자주 삭제됨)
즉, 에이전트는 **“빠르게 프로토타입을 만드는 데는 훌륭하지만, 장기적으로는 더 많은 수정/유지보수가 필요”**한 코드를 생성하는 경향이 있습니다.
실전 에이전트 설계에 주는 인사이트
1) 에이전트 코드는 “초안”으로 보는 게 현실적
코드를 짜는 에이전트의 출력을 **최종 산출물이 아니라 “초안”**으로 보면 더 합리적입니다.
- 에이전트가 1차 코드를 생성
- 인간이 검토하고 수정
- 시간이 지나면 추가적인 유지보수 필요
이렇게 **“에이전트 → 인간 검토 → 시간에 따른 리팩토링”**의 파이프라인을 설계하는 게 현실적입니다.
2) 코드 검증 테스트를 더 엄격하게
에이전트 코드가 더 자주 바뀐다는 건, 초기에 더 엄격한 테스트가 필요하다는 뜻일 수 있습니다.
- 정적 분석 도구 강화
- 코드 리뷰 체크리스트 에이전트 코드용 버전
- 테스트 커버리지 목표 상향 조정
3) 문맥 이해를 위한 더 풍부한 입력
에이전트 코드의 덜 안정적인 성격은 “문맥 이해의 부족” 때문일 가능성이 큽니다.
- 프로젝트 전체 구조를 더 잘 이해할 수 있는 RAG 구성
- 과거 커밋/PR 패턴 학습
- 팀 코딩 스타일 가이드 명시화
4) 교육 관점: “에이전트 코드는 100% 신뢰하지 말자”
개발자 교육에서도 이 메시지는 중요합니다.
- 에이전트 코드를 무조건 믿지 말고
- 테스트와 리뷰를 거치는 프로세스를 기본으로
- “에이전트가 준 코드가 맞는가?”를 항상 묻는 문화
5) 자동화 관점: “변경 감시 시스템”의 필요성
에이전트가 만든 코드의 churn이 높다는 건, **“어떤 코드가 많이 바뀌는지”**를 감시하는 시스템이 필요하다는 뜻입니다.
- 코드 변경 추적 대시보드
- “에이전트 vs 인간” 코드 품질 비교 메트릭
- 빈번한 변경이 발생하는 패턴 감지
데이터셋 공개
이 연구는 데이터셋을 공개합니다.
110,000+ PR과 관련 메타데이터가 포함되어 있어, 추가 연구에 활용할 수 있습니다.
마무리
이 논문은 **“에이전트가 쓴 코드는 인간이 쓴 코드보다 덜 안정적”**이라는 명확한 근거를 제시합니다.
하지만 이걸 **“에이전트는 쓸모없다”**로 해석하면 안 됩니다.
대신 **“에이전트는 빠르게 초안을 만드는 도구이고, 안정적인 코드로 만드는 건 인간과 함께하는 프로세스의 몫”**으로 이해하는 게 현실적입니다.
실전 에이전트 시스템을 설계할 때:
- 에이전트 코드는 검증 후 사용
- 시간에 따른 코드 품질 감시
- 교육으로 “비판적 수용” 문화 정착
이 3가지를 잊지 않으면, 에이전트는 개발자 생산성을 크게 높여줄 수 있습니다.
참고: 논문 전문은 arXiv 2604.00917에서 확인할 수 있습니다.