AI 에이전트가 만든 코드를 다음 단계로 넘기기 전에, 에이전트에게 보이지 않는 기준으로 서버에서만 평가하는 검문소다. AI가 코드와 테스트를 함께 쓰는 파이프라인에서 AI가 통과 기준에만 맞춰 점수를 따는 일을 막을 때 쓴다.
| 항목 | 일반 품질 게이트 | 에비던스 게이트 |
|---|---|---|
| 기준 위치 | 파이프라인 설정·저장소에 공개 | 서버에만 보관 |
| 에이전트가 받는 결과 | 어느 기준에서 실패했는지 | pass 또는 fail만 |
| 판단할 수 없을 때 | 설정에 따라 다름 | 기본 차단(fail-closed) |
| 남는 기록 | 빌드 로그 | 감사용 증거 기록 |
파이프라인에 "테스트 커버리지 80% 이상" 같은 기준이 보이면, LLM은 실제 품질을 높이기보다 그 숫자를 채우는 테스트를 만든다. 측정 지표가 목표가 되면 지표가 제 역할을 못 하게 된다는 굿하트의 법칙이 그대로 나타나는 것이다. 코드와 테스트를 같은 에이전트가 쓰면 사람이 이 문제를 알아채기가 더 어렵다.
게이트는 AI가 PR을 만든 뒤, 스테이징 배포나 머지 전에 둔다. Claude Code 같은 도구로 PR을 자동 생성하는 흐름이라면 순서는 다음과 같다.
| 순서 | 단계 | 하는 일 |
|---|---|---|
| 1 | 에이전트 작업 | 코드와 테스트를 써서 제출 |
| 2 | 에비던스 게이트 | 공개되지 않은 기준으로 평가하고 pass/fail만 돌려줌 |
| 3 | 증거 기록 | 평가 결과를 감사 추적용으로 남김 |
| 4 | 다음 단계 | 통과한 것만 스테이징 배포·머지 |
검사 범위는 코드 품질에서 그치지 않는다. 샌드박스 격리 수준이 정책에 맞는지, 인퍼런스 라우팅 예산이 설정됐는지, 청사진(blueprint)이 올바른 구성을 따르는지도 같은 게이트에서 확인하도록 넓힐 수 있다.
| 상황 | 판단 |
|---|---|
| AI가 코드와 테스트를 모두 쓰고 자동 머지까지 간다 | 쓴다 |
| 감사 기록을 남겨야 한다 | 쓴다 (평가 증거가 남음) |
| 사람이 모든 PR을 직접 리뷰한다 | 일반 CI 게이트로 충분할 수 있다 |
| 사람이 주로 코드를 쓴다 | 기준을 공개하는 쪽이 고치기 편하다 |
블라인드 게이트는 에이전트가 기준을 노리고 맞추는 것은 막는다. 하지만 기준 자체가 잘못 설계돼 생기는 오탐·미탐은 막지 못한다. 기준을 만들고 관리하는 책임은 사람에게 남는다.
기준을 완전히 가리면 개발자도 왜 실패했는지 디버깅하기 어렵다. 에이전트에게는 pass/fail만 주고 사람에게는 실패 이유를 보여주는 식으로, 누구에게 어디까지 공개할지 정해 두는 게 좋다.
가장 흔한 건 코딩 에이전트가 올린 PR을 머지 전에 거르는 방식이다. 같은 게이트에 에이전트 실행 환경의 정책 검사를 붙이고, 남은 평가 기록은 감사 자료로 쓴다.
| 어디서 | 어떻게 쓰나 |
|---|---|
| 코딩 에이전트 PR 파이프라인 | 에이전트가 PR을 올리면 숨긴 기준으로 평가하고, 통과한 것만 스테이징·머지로 보냄 |
| 에이전트 실행 환경 점검 | 샌드박스 격리 수준, 인퍼런스 예산, 청사진 구성이 정책에 맞는지 배포 전에 확인 |
| 감사·규정 대응 | 게이트가 남긴 평가 증거로 어떤 변경이 언제 어떤 기준을 통과했는지 보여줌 |
| 개발자 디버깅 | 에이전트에는 pass/fail만 주고, 사람은 별도 화면에서 실패 이유를 확인 |