글자 크기

AI 8개가 동시에 일할 때, 나는 아이를 재웠다

새벽 2시. 아이가 드디어 잠들었다.

노트북을 열었더니 AI 에이전트 8개가 작업을 마쳐 있었다.

  • 테스트 코드 318개 작성
  • 코드 품질 경고 5,874개 → 0개
  • 테스트 커버리지 26% → 46%
  • 파일 318개 변경, 코드 24,897줄 추가

나는 “돌려”라고 두 글자만 쳤다.


테스트 커버리지 26%의 민낯

프로젝트를 시작한 지 3개월.

Rails 앱의 뼈대는 갖춰졌는데, 테스트 커버리지가 26%였다.

개발자들은 안다. 26%가 뭘 의미하는지.

“돌아가긴 하는데, 언제 터질지 모른다.”

문제는 시간이었다.

낮에는 육아, 밤에는 기능 개발.

테스트 코드 짤 시간이 없었다.

그래서 AI한테 물었다.

“백그라운드로 돌릴 수 있는 작업이 뭐야?”


8개 병렬 에이전트가 한 일

Claude Code의 Task 도구로 8개 에이전트를 동시에 실행했다.

각 에이전트가 맡은 작업:

Agent 작업 결과
1 Phase 2 서비스 테스트 85개 테스트, 0 failures
2 API 컨트롤러 테스트 76개 테스트, 0 failures
3 Web 컨트롤러 테스트 149개 테스트, 25 pending
4 i18n 한국어 번역 17개 모델 번역 완료
5 Rubocop 자동 수정 5,874개 → 0개
6 UX 개선 – 로그인 유지 이미 구현 확인
7 PWA Service Worker 오프라인 지원 구현
8 통합 테스트 9개 시나리오 + 버그 3개 수정

핵심은 병렬 실행이었다.

순차적으로 했으면 8시간 걸렸을 작업이 병렬로 돌리니 40분 만에 끝났다.


GitHub Actions CI 파이프라인

테스트를 만들었으면 자동화해야 한다.

GitHub Actions로 CI 파이프라인을 구성했다.

# .github/workflows/ci.yml
jobs:
  test:
    runs-on: ubuntu-latest
    services:
      postgres:
        image: postgres:16
      redis:
        image: redis:7
    steps:
      - name: Run RSpec
        run: bundle exec rspec --format RspecJunitFormatter
      - name: Upload coverage
        uses: codecov/codecov-action@v4

이제 코드를 push할 때마다:

  1. PostgreSQL 16 + Redis 7 컨테이너 자동 실행
  2. RSpec 테스트 전체 실행
  3. 커버리지 리포트 자동 업로드

숫자가 말해주는 것

작업 전후 비교:

지표 Before After 변화
테스트 커버리지 26.83% 46.26% +19.43%
Rubocop 경고 5,874개 0개 -100%
테스트 케이스 ~50개 318개 +536%
변경된 파일 318개
코드 변경량 +24,897 / -15,559

이 숫자들이 의미하는 건 단순하다.

“이제 코드를 고쳐도 뭐가 깨지는지 안다.”

테스트 없이 개발하는 건 눈 감고 운전하는 거다.

이제 최소한 앞유리는 생겼다.


당신의 26%는 뭔가요?

솔직히 말하면, 나도 무서웠다.

“AI가 짠 테스트 코드를 믿어도 되나?”

“뭔가 잘못되면 어쩌지?”

근데 결과물을 보니까 알겠더라.

AI는 내가 못하는 걸 대신하는 게 아니라, 내가 미루던 걸 대신하는 거였다.

테스트 코드. 코드 스타일 정리. 번역 파일.

다 해야 하는 줄 알면서 미뤘던 것들.

당신도 미루고 있는 거 있을 거다.

프로젝트의 “26%”. 해야 하는데 손 안 대는 영역.

AI한테 맡겨봐.

“이거 백그라운드로 돌릴 수 있어?”라고 물어봐.

아이 재우고 돌아오면 끝나 있을 수도 있다.

나도 그랬으니까.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다