Devlery
Blog/AI

AI 시대 개발 워크플로우 재설계: 도구 조합부터 파이프라인 자동화까지

AI 코딩 도구를 개별적으로 쓰는 단계를 넘어, 개발 파이프라인 전체를 AI 중심으로 재설계하는 방법을 다룬다. 기획, 구현, 리뷰, 배포까지 각 단계에서 AI를 어떻게 조합하는지 실전 워크플로우로 정리했다.

AI 코딩 도구를 하나씩 쓰는 것은 이제 기본이다. Claude Code로 기능을 구현하고, Copilot으로 자동완성을 받고, Cursor로 리팩토링을 한다. 하지만 도구를 개별적으로 쓰는 것과, 개발 워크플로우 전체를 AI 중심으로 재설계하는 것은 다른 차원의 이야기다.

이 글에서는 개발 파이프라인의 각 단계 — 기획, 구현, 리뷰, 테스트, 배포 — 에서 AI 도구를 어떻게 조합하고 자동화하는지 다룬다. 개별 도구 사용법이 아니라, 워크플로우 설계 관점에서 접근한다.

기존 워크플로우의 병목

전통적인 개발 워크플로우를 단계별로 보면, 대부분의 시간이 "반복적이지만 판단이 필요한" 작업에 소모된다.

단계주요 작업시간 비중AI 자동화 가능성
기획요구사항 분석, 기술 스펙 작성15%중간
구현코드 작성, 디버깅40%높음
리뷰코드 리뷰, 피드백 반영20%높음
테스트테스트 작성, 실행15%높음
배포CI/CD, 모니터링10%중간

개발 단계별 시간 비중 & AI 자동화 가능성

기획
15%중간
구현
40%높음
리뷰
20%높음
테스트
15%높음
배포
10%중간

높음 중간

구현, 리뷰, 테스트가 전체의 75%를 차지하고, 세 단계 모두 AI 자동화 가능성이 높다. 하지만 단순히 "AI에게 코드를 짜달라고 하면 된다"는 접근은 실패한다. 각 단계의 맥락을 이어주는 워크플로우 설계 가 핵심이다.

1단계: AI 기반 기획 — 스펙을 코드로

기획 단계에서 가장 큰 병목은 "요구사항 → 기술 스펙" 변환이다. PM이 작성한 요구사항을 개발자가 기술적으로 해석하고, 구현 계획을 세우는 과정에 시간이 많이 든다.

CLAUDE.md로 프로젝트 컨텍스트 구축

AI 도구의 성능은 컨텍스트의 품질에 비례한다. 프로젝트의 아키텍처, 컨벤션, 기술 스택을 한 곳에 정리하면 모든 AI 도구가 이를 참조할 수 있다.

# CLAUDE.md (또는 .cursorrules)

## 아키텍처
- Next.js 15 App Router + TypeScript
- Drizzle ORM + PostgreSQL
- React Query로 서버 상태 관리
- Zod로 모든 외부 입력 검증

## 컨벤션
- 컴포넌트: 함수형 + forwardRef 패턴
- API 라우트: /app/api/[resource]/route.ts
- 에러 처리: Result 타입 (성공/실패 명시적 반환)
- 테스트: Vitest + Testing Library

## 디렉토리 구조
- src/components/ — 재사용 UI 컴포넌트
- src/features/ — 기능별 모듈 (컴포넌트 + 훅 + API)
- src/lib/ — 유틸리티, 설정

이 파일 하나로 Claude Code, Cursor, Copilot 모두 프로젝트 맥락을 이해한다. Claude Code는 CLAUDE.md 를 자동으로 읽고, Cursor는 .cursorrules 를 참조한다. 같은 내용을 두 파일에 유지하면 어떤 도구를 쓰든 일관된 결과를 얻는다.

기술 스펙 자동 생성

요구사항 문서를 Claude에게 주면 기술 스펙 초안을 자동으로 생성할 수 있다.

"이 기능 요구사항을 기술 스펙으로 변환해줘. 필요한 API 엔드포인트, 데이터 모델, 컴포넌트 목록을 포함해줘."

여기서 중요한 것은 초안 이라는 점이다. AI가 생성한 스펙을 그대로 쓰면 안 된다. 개발자가 검토하고, 엣지 케이스를 추가하고, 기존 시스템과의 충돌을 확인해야 한다. AI는 70%의 뼈대를 만들고, 개발자가 30%의 판단을 추가하는 구조가 효과적이다.

2단계: AI 기반 구현 — 도구 조합 전략

구현 단계에서는 하나의 AI 도구만 쓰는 것이 아니라, 작업 유형에 따라 도구를 전환하는 것이 효율적이다.

작업 유형별 도구 매핑

새 기능 구현 (처음부터 만들기)
└── Claude Code — 자율 에이전트로 위임

기존 코드 수정 (파일 내 변경)
└── Cursor — 코드베이스 인덱싱으로 문맥 파악

빠른 코드 작성 (함수, 타입 정의)
└── GitHub Copilot — 인라인 자동완성

복잡한 디버깅 (에러 추적)
└── Claude Code — 로그 분석 + 코드 탐색 자동화

실전 워크플로우: 피처 브랜치 개발

하나의 기능을 구현하는 실제 흐름을 보면 이렇다:

# 1. 기능 브랜치 생성
git checkout -b feat/user-profile

# 2. Claude Code로 기능 뼈대 생성
claude "CLAUDE.md를 참고해서 사용자 프로필 기능을 구현해줘.
  - API: GET/PATCH /api/users/[id]
  - DB: users 테이블에 bio, avatar_url 컬럼 추가
  - UI: ProfilePage, ProfileEditForm 컴포넌트
  테스트도 함께 작성해줘."

Claude Code가 기본 구현을 마치면, Cursor로 전환해서 세부 조정을 한다.

# 3. Cursor에서 세부 수정
# Agent 모드에서 코드베이스 문맥을 활용
> ProfileEditForm에서 이미지 업로드 기능을 추가해줘.
> @UploadComponent를 참고해서 같은 패턴으로 만들어줘.

마지막으로 Copilot이 일상적인 코딩을 보조한다.

// 4. Copilot의 인라인 완성으로 빠르게 마무리
// 타입 정의, 유틸 함수 등 반복적인 코드
interface UserProfile {
  id: string;
  name: string;
  bio: string | null;        // Copilot이 나머지를 자동완성
  avatarUrl: string | null;
  createdAt: Date;
  updatedAt: Date;
}

핵심은 도구 전환 비용을 줄이는 것 이다. 터미널(Claude Code) → IDE(Cursor + Copilot) 전환은 자연스럽다. 하지만 매번 컨텍스트를 다시 설명해야 한다면 효율이 떨어진다. CLAUDE.md.cursorrules 로 공유 컨텍스트를 유지하는 것이 중요한 이유다.

3단계: AI 기반 리뷰 — 사람과 AI의 역할 분리

코드 리뷰는 AI가 가장 잘 보조할 수 있는 영역이다. 하지만 AI 리뷰가 사람 리뷰를 완전히 대체하는 것은 아니다. 각각의 강점이 다르기 때문이다.

AI가 잘하는 리뷰

  • 패턴 매칭: 알려진 버그 패턴, 보안 취약점 탐지
  • 일관성 검사: 코딩 컨벤션, 네이밍 규칙 준수 여부
  • 엣지 케이스: null 체크, 에러 핸들링 누락
  • 의존성 분석: 사용하지 않는 임포트, 순환 참조

사람이 잘하는 리뷰

  • 설계 판단: "이 추상화가 적절한가?"
  • 비즈니스 로직: "이 조건이 기획 의도에 맞는가?"
  • 장기적 영향: "이 결정이 6개월 후에 문제가 되지 않을까?"
  • 팀 맥락: "이전에 비슷한 시도를 했는데 이런 문제가 있었다"

효과적인 리뷰 파이프라인은 AI가 먼저 1차 리뷰를 수행하고, 사람이 AI가 잡지 못하는 영역을 보는 구조다.

# .github/workflows/ai-review.yml
name: AI Code Review
on:
  pull_request:
    types: [opened, synchronize]

jobs:
  ai-review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run AI Review Agent
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: npx tsx review-agent/index.ts ${{ github.event.pull_request.number }}

AI 리뷰가 완료된 후, 사람 리뷰어는 AI가 남긴 코멘트를 참고하면서 설계와 비즈니스 로직에 집중할 수 있다. 리뷰 시간이 줄어드는 것이 아니라, 리뷰의 깊이 가 달라진다.

4단계: AI 기반 테스트 — 커버리지 자동 확보

테스트 작성은 대부분의 개발자가 싫어하지만 꼭 해야 하는 작업이다. AI에게 위임하기 좋은 영역이다.

구현과 테스트의 동시 생성

Claude Code에게 기능을 구현하면서 테스트를 함께 작성하도록 지시하는 것이 가장 효과적이다.

claude "사용자 인증 미들웨어를 구현하고, 다음 케이스를 테스트해줘:
  1. 유효한 토큰으로 인증 성공
  2. 만료된 토큰으로 인증 실패
  3. 토큰 없이 요청 시 401 반환
  4. 잘못된 형식의 토큰 거부
  Vitest로 작성하고, msw로 API를 모킹해줘."

핵심은 테스트 케이스를 사람이 지정 하는 것이다. AI에게 "테스트를 작성해줘"라고만 하면 happy path만 테스트하는 경향이 있다. 엣지 케이스와 실패 시나리오를 명시적으로 지정하면 테스트 품질이 올라간다.

테스트 커버리지 갭 분석

기존 코드에 테스트가 부족한 경우, AI에게 커버리지 갭을 분석하고 보충하도록 요청할 수 있다.

claude "src/features/auth/ 디렉토리의 테스트 커버리지를 분석해줘.
  테스트가 없는 함수를 찾고, 각각에 대해 테스트를 작성해줘.
  기존 테스트 스타일을 따라서 작성해줘."

Claude Code는 기존 테스트 파일의 패턴(테스트 구조, mock 방식, assertion 스타일)을 분석해서 일관된 스타일로 새 테스트를 작성한다.

5단계: AI 기반 배포 — 모니터링과 롤백

배포 단계에서 AI의 역할은 아직 제한적이지만, 두 가지 영역에서 효과적이다.

배포 전 체크리스트 자동화

claude "배포 전 체크리스트를 실행해줘:
  1. 모든 테스트 통과 확인
  2. 타입 에러 없는지 확인
  3. 린트 에러 없는지 확인
  4. 환경 변수 누락 확인
  5. 마이그레이션 파일이 있다면 리뷰"

에러 로그 분석

배포 후 에러가 발생했을 때, 로그를 AI에게 분석시키면 원인 파악이 빠르다.

claude "이 에러 로그를 분석해줘:
  $(cat error.log | tail -100)

  관련 코드를 찾아서 원인을 파악하고, 수정 방안을 제시해줘."

에러 로그의 스택 트레이스를 따라가면서 관련 코드를 읽고, 문맥을 파악하는 작업은 Claude Code가 자율적으로 수행한다. 사람이 로그를 읽고 파일을 하나씩 열어보는 것보다 빠르다.

전체 워크플로우 파이프라인

지금까지의 내용을 하나의 파이프라인으로 정리하면 이렇다:

개발 파이프라인 플로우
사람 AI
1
기획
사람요구사항 정의
AI기술 스펙 초안 생성
사람스펙 검토 + 엣지 케이스 추가
2
구현
AIClaude Code — 기능 뼈대 구현 + 테스트
AICursor — 세부 수정 + 리팩토링
AICopilot — 일상적 코딩 보조
3
리뷰
AI1차 코드 리뷰 (자동)
사람2차 코드 리뷰 (설계 + 비즈니스)
4
테스트 & 배포
AI테스트 커버리지 보충
AI배포 전 체크리스트 실행
사람최종 승인 + 배포

각 단계에서 AI가 반복적이고 패턴이 있는 작업 을 처리하고, 사람이 판단이 필요한 작업 에 집중하는 구조다. 이것이 "AI를 쓴다"와 "AI 중심으로 워크플로우를 재설계한다"의 차이다.

실전 팁: 워크플로우 도입 시 주의사항

점진적 도입

하루 만에 전체 워크플로우를 바꾸려고 하면 실패한다. 한 단계씩 도입하는 것이 현실적이다.

  1. 1주차: CLAUDE.md / .cursorrules 작성. AI 도구에 프로젝트 컨텍스트를 제공한다.
  2. 2주차: 구현 단계에서 Claude Code 도입. 새 기능이나 작은 기능부터 위임한다.
  3. 3주차: AI 코드 리뷰 파이프라인 추가. GitHub Actions에 AI 리뷰 에이전트를 연결한다.
  4. 4주차: 테스트 자동 생성 도입. 새 코드에 대해 AI가 테스트를 자동으로 작성하게 한다.
11주차

컨텍스트 구축

CLAUDE.md / .cursorrules 작성으로 AI 도구에 프로젝트 컨텍스트 제공

22주차

AI 구현 도입

Claude Code로 새 기능이나 작은 기능부터 AI에게 구현 위임 시작

33주차

AI 리뷰 파이프라인

GitHub Actions에 AI 리뷰 에이전트를 연결하여 자동 코드 리뷰 구축

44주차

테스트 자동화

새 코드에 대해 AI가 테스트를 자동 작성하여 커버리지 확보

품질 검증 체계

AI가 생성한 코드를 맹목적으로 신뢰하면 안 된다. 검증 체계가 필요하다.

# AI 코드 검증 스크립트
#!/bin/bash
echo "1. 타입 체크..."
npx tsc --noEmit

echo "2. 린트..."
npx biome check src/

echo "3. 테스트..."
npx vitest run

echo "4. 빌드..."
npm run build

AI가 코드를 생성할 때마다 이 스크립트를 실행한다. Claude Code는 CLAUDE.md 에 이 검증 명령어를 정의해두면 자동으로 실행한다.

팀 도입 시 합의 사항

팀에서 AI 워크플로우를 도입할 때 미리 합의해야 할 것들이 있다:

  • AI 생성 코드의 소유권: AI가 만든 코드도 커밋한 사람이 책임진다
  • 리뷰 정책: AI 리뷰만으로 머지할 수 있는 범위 (예: 문서 수정, 의존성 업데이트)
  • 도구 표준화: 팀에서 사용하는 AI 도구 목록과 설정 파일 공유
  • 프롬프트 공유: 효과적인 프롬프트를 팀 위키에 정리

마무리

AI 시대 개발 워크플로우의 핵심은 도구를 쓰는 것 이 아니라 도구를 조합하는 것 이다.

  • Claude Code는 자율적인 구현과 분석에 강하다
  • Cursor는 코드베이스 문맥을 활용한 수정에 강하다
  • Copilot은 빠른 인라인 코딩에 강하다

이 세 도구를 개발 파이프라인의 각 단계에 배치하고, AI 리뷰와 AI 테스트로 품질을 자동 관리하면, 개발 속도와 코드 품질을 동시에 올릴 수 있다. "AI 도구를 쓴다"에서 "AI 중심으로 일한다"로의 전환은 도구 하나를 추가하는 것이 아니라, 일하는 방식을 재설계하는 것이다.