🤖인사이트
잠자는 동안 실행되는 AI 에이전트 만들기
AI가 자동으로 코드를 작성하지만, 그 결과를 어떻게 신뢰할 수 있을까? TDD 원칙을 활용한 검증 시스템 구축기
↗ 원본 링크#AI에이전트#코드검증#TDD#자동화
문제: AI가 만든 코드를 믿을 수 있을까?
AI 에이전트가 밤새 코드를 작성하고 브랜치에 반영하지만, 정작 그 코드가 올바른지 검증하기 어렵습니다.
실제 사례:
▸Claude Code를 사용하는 팀들의 PR 병합량이 **주당 10개에서 40~50개로 급증**
▸코드 리뷰에 더 많은 시간 소비
▸결국 배포 후에야 문제를 발견하는 악순환
기존 해결책의 함정
1. 리뷰어 추가 채용
▸시니어 엔지니어가 하루종일 AI 코드만 읽는 비효율
▸속도가 따라가지 못함
2. AI가 자기 코드 테스트
▸
"자기 축하 기계": 가 되어버림
▸원래 의도와 다른 오해를 잡아내지 못함
▸같은 AI가 작성하고 검증하면 같은 실수 반복
해결책: TDD 원칙 차용
핵심 아이디어
코드 작성 전에 수용 기준(Acceptance Criteria)을 먼저 작성하기
실제 적용 예시
로그인 기능 수용 기준:
▸
AC-1: 유효한 자격 증명으로 로그인 시 /dashboard로 이동, 세션 쿠키 설정
▸
AC-2: 잘못된 비밀번호 입력 시 "Invalid email or password" 표시
▸
AC-3: 필드가 비어있으면 제출 버튼 비활성화
▸
AC-4: 5회 실패 후 60초간 차단, 대기 시간 메시지 표시
검증 파이프라인 구축
4단계 프로세스
1.수용 기준 작성 (코드 작성 전)
2.에이전트가 구현 (Claude Code 등)
3.별도 도구로 검증 (Playwright MCP)
4.통과/실패 명확히 판별
사용 도구
▸Claude Code의 headless 모드 (`claude -p`)
▸Playwright MCP (브라우저 자동화)
▸별도 백엔드 불필요
핵심 교훈
> "에이전트 산출물을 신뢰하려면 작업 시작 전에 '완료'의 정의를 명확히 해야 합니다"
프롬프트 작성보다 수용 기준 정의가 더 어렵지만 필수적
▸AI의 속도 문제는 해결됨
▸이제 느린 부분은 "코드가 올바른지 판단하는 것"
▸평문으로 기능 요구사항 기술하는 것이 단위 테스트보다 쉬움
결론
AI 에이전트를 신뢰하려면:
1.먼저 "무엇을 해야 하는지" 명확히 정의
2.별도 도구로 독립적 검증
3.같은 AI로 작성과 검증을 동시에 하지 말 것