AI 기반 CI/CD 파이프라인 구축기: GPT와 Claude로 코드 품질 높이기
어느 날 PR이 40개 넘게 밀려있는 걸 보고 고민에 빠졌습니다. "이걸 다 리뷰하려면 얼마나 걸리지...?" 그때 떠올랐던 것이 지난 번 글에서 다뤘던 **GPT**와 **Claude**의 장점들이었습니다. 실제로 두 AI를 CI/CD 파이프라인에 도입해 코드 리뷰 프로세스를 자동화한 경험을 공유합니다.
왜 AI 기반 CI/CD인가?
기존 CI/CD 파이프라인에서 해결이 필요했던 문제들:
- 단순 린팅만으로는 잡아내기 어려운 로직 오류
- 테스트 커버리지는 높지만 테스트의 질은 확인이 어려움
- 코드 리뷰 병목 현상
- 문서화 지연 및 누락
AI 파이프라인 구축 단계
# GitHub Actions workflow 예시
name: AI Enhanced CI/CD
on: [pull_request]
jobs:
ai-code-review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: AI Code Review
run: |
curl -X POST $OPENAI_API_URL \
-H "Authorization: Bearer ${{secrets.OPENAI_API_KEY}}" \
-d "{"model": "gpt-4", ...}"
- name: AI Test Generation
run: |
curl -X POST $CLAUDE_API_URL \
-H "Authorization: Bearer ${{secrets.CLAUDE_API_KEY}}" \
-d "{"model": "claude-2", ...}"
1. 자동화된 코드 리뷰
GPT-4의 역할:
- 코드 스타일 검사
- 일반적인 버그 탐지
- 성능 개선 제안
Claude의 역할:
- 보안 취약점 분석
- 비즈니스 로직 검증
- 테스트 케이스 품질 평가
2. 테스트 자동 생성
// 기존 코드
function calculateDiscount(price, userType) {
return userType === 'vip' ? price * 0.9 : price;
}
// Claude가 생성한 테스트 케이스
describe('calculateDiscount', () => {
test('VIP 사용자는 10% 할인', () => {
expect(calculateDiscount(1000, 'vip')).toBe(900);
});
test('일반 사용자는 할인 없음', () => {
expect(calculateDiscount(1000, 'normal')).toBe(1000);
});
test('잘못된 가격 입력 처리', () => {
expect(() => calculateDiscount(-1000, 'vip')).toThrow();
});
});
3. 자동 문서화
GPT-4를 활용하여 코드 주석과 문서를 자동으로 생성했습니다:
/**
* 사용자 유형에 따른 할인가 계산
* @param {number} price - 원래 가격 (0보다 커야 함)
* @param {string} userType - 사용자 유형 ('vip' 또는 'normal')
* @returns {number} 할인된 가격
* @throws {Error} 가격이 0 이하일 경우
*
* @example
* calculateDiscount(1000, 'vip') // returns 900
* calculateDiscount(1000, 'normal') // returns 1000
*/
도입 후 개선된 지표들
지표 | 이전 | 이후 |
---|---|---|
PR 리뷰 평균 소요 시간 | 2.5일 | 0.8일 |
테스트 커버리지 | 76% | 94% |
배포 후 발견된 버그 | 월 평균 8건 | 월 평균 2건 |
2024.12.05 - [분류 전체보기] - AWS Lambda 탈출기: Supabase Edge Functions로 비용 60% 줄이기
AWS Lambda 탈출기: Supabase Edge Functions로 비용 60% 줄인 후기
AWS Lambda 탈출기: Supabase Edge Functions로 비용 60% 줄인 후기65%↓월 비용 절감77%↓응답 시간 단축3배↑트래픽 처리량최근 운영하던 이커머스 서비스의 이미지 프로세싱 API를 AWS Lambda에서 Supabase Edge F
coffeeandonut.tistory.com
2024.12.05 - [Tech] - GPT vs Claude(클로드): 개발자가 실전에서 느낀 진짜 차이점
GPT vs Claude(클로드): 개발자가 실전에서 느낀 진짜 차이점
GPT vs Claude: 개발자가 실전에서 느낀 진짜 차이점"ChatGPT가 더 좋나요, Claude가 더 좋나요?" - 현업에서 가장 많이 받는 질문 중 하나입니다. 하지만 이건 마치 "망치가 좋나요, 드라이버가 좋나요?"
coffeeandonut.tistory.com