지속적 통합
개발자가 코드를 푸시하거나 Pull Request를 열 때 자동으로 빌드, 린트, 테스트를 실행해 변경이 프로젝트 기준을 통과하는지 확인하는 개발 운영 방식이다. CI는 사람이 로컬에서 까먹기 쉬운 검증을 서버에서 반복 가능하게 수행하며, 여러 사람이 동시에 작업할 때 main 브랜치가 깨지는 일을 줄인다. 바이브 코딩에서는 AI가 빠르게 만든 변경을 바로 배포하기 전에 독립된 환경에서 한 번 더 검증하는 안전망으로 작동한다.
예시
AI 에이전트가 브랜치에 커밋을 올리면 CI가 lint, build, test를 실행한다. 실패하면 머지하지 않고 실패 로그를 기준으로 AI에게 수정 범위를 좁혀 지시해 main 브랜치가 깨지는 것을 막는다.
참고
CI는 특정 제품명이 아니라 자동 통합 검증 방식이며, GitHub Actions나 Vercel 빌드 같은 도구로 구현할 수 있다.
카테고리
테스트·디버깅
난이도
basic
태그
CI · 자동검증
함께 읽기
연관 용어
하네스 엔지니어링
품질 게이트
AI 에이전트의 작업 결과가 다음 단계로 넘어가기 전에 반드시 통과해야 하는 자동화된 검증 지점이다. 공항의 보안 게이트가 탑승 전 필수 검사를 수행하듯, 품질 게이트는 코드가 프로덕션으로 가기 전에 필수 검증을 수행한다. 에이전틱 엔지니어링에서 품질 게이트는 AI가 생성한 코드의 품질을 인간의 직접 검토 없이도 자동으로 보장하는 핵심 메커니즘이다. 일반적인 품질 게이트 체인: Agent 코드 생성 → [린트 통과?] → [타입 체크 통과?] → [단위 테스트 통과?] → [통합 테스트 통과?] → [보안 스캔 통과?] → [코드 커버리지 기준 충족?] → 인간 리뷰. 각 대괄호가 하나의 Quality Gate이며, 어느 하나라도 실패하면 AI 에이전트에게 피드백이 돌아가 수정을 시도한다. Stripe의 Minions 시스템에서는 CI(지속적 통합) 파이프라인 통과가 필수 품질 게이트로, AI가 작성한 코드가 모든 테스트를 통과해야만 PR이 생성된다. 품질 게이트가 촘촘할수록 AI Slop이 프로덕션에 도달할 확률이 낮아지지만, 너무 과도하면 하네스 부채(Harness Debt)가 발생할 수 있다.
테스트·디버깅
단위 테스트
개별 함수, 메서드, 모듈이 예상대로 올바르게 동작하는지 검증하는 가장 작은 범위의 자동화된 테스트이다. '단위(unit)'는 테스트할 수 있는 가장 작은 코드 조각을 의미하며, 외부 의존성(데이터베이스, 네트워크, 파일 시스템)을 모킹(mocking)하여 해당 함수 자체의 로직만 순수하게 검증한다. 바이브 코딩에서 단위 테스트는 AI가 생성한 코드의 정확성을 보장하는 첫 번째 방어선이다. AI에게 'calculateTax 함수의 단위 테스트를 작성해줘'라고 하면 Jest, Vitest 등의 프레임워크로 다양한 입력 값과 경계 조건에 대한 테스트 코드를 생성한다. 그러나 AI가 생성한 테스트에는 주의가 필요하다: AI는 종종 정상 경로(happy path)만 테스트하고, 에지 케이스(경계 값, null, 빈 문자열, 음수 등), 에러 상황, 동시성 문제 등을 간과하는 경향이 있다. 따라서 AI가 생성한 테스트를 검토하고 에지 케이스를 추가하는 것이 인간의 중요한 역할이다. 에이전틱 엔지니어링에서는 Test Generator 에이전트가 자동으로 테스트를 생성하고, 품질 게이트에서 테스트 통과를 필수로 요구한다.
테스트·디버깅
통합 테스트
여러 모듈이나 서비스가 결합(integration)되어 함께 올바르게 동작하는지 검증하는 테스트이다. 단위 테스트가 개별 부품(함수)의 정상 동작을 확인한다면, 통합 테스트는 부품들이 조립되었을 때 전체가 기대한 대로 동작하는지 확인한다. 바이브 코딩에서 통합 테스트가 특히 중요한 이유: AI는 개별 함수 단위에서는 올바른 코드를 생성하더라도, 함수 간 데이터 전달, API와 데이터베이스 연동, 서비스 간 통신에서 미묘한 불일치를 만들어낼 수 있다. 예를 들어, 사용자 서비스가 반환하는 사용자 ID 형식(숫자 vs 문자열)과 결제 서비스가 기대하는 형식이 다른 경우, 단위 테스트는 각각 통과하지만 통합 테스트에서 실패한다. 테스트 범위 예시: API 엔드포인트 → 비즈니스 로직 → 데이터베이스 쿼리가 함께 동작하는지, 인증 미들웨어와 라우터가 올바르게 연결되는지, 외부 API 연동이 예상대로 동작하는지 등. Supertest(Node.js), pytest(Python) 등의 도구가 사용된다.