"My AI engineer has a second AI that tells it NO. Three times, it was right."
개요
Claude Code와 OpenAI Codex CLI를 조합하여 코드 변경 사항을 독립적으로 검토하는 시스템은 개발 프로세스에서 오류를 발견하고 소프트웨어의 안정성을 높이는 데 효과적이다.
주요 내용
* 이중 AI 검토 시스템 구성: Claude Code를 주 엔지니어로 사용하고, 독립적인 모델인 Codex CLI를 보조 검토자로 활용한다. Codex CLI는 읽기 전용 모드로 작동하며, Claude Code는 설정된 정책에 따라 Codex CLI를 호출한다.
* 실제 오류 발견 사례: 프로덕션 파이프라인 변경 사항에 대해 Codex CLI가 세 차례에 걸쳐 "NO-GO" 결정을 내렸다. 첫 번째 오류는 스레드 잘림 버그, 두 번째 오류는 파서의 입력값 누락으로 인한 치명적인 버그 은폐, 세 번째 오류는 두 번째 오류와 유사한 변형이었다.
* 독립적인 모델 사용의 중요성: 동일한 모델이 코드를 작성하고 검토하는 것보다 다른 모델 계열(예: Claude와 OpenAI)을 사용하는 것이 더 많은 버그를 포착한다. 이는 각 모델이 서로 다른 학습 데이터와 "문법"을 가지기 때문이며, 이러한 차이가 오류 발견의 핵심이다.
* 효과적인 AI 검토를 위한 5가지 규칙:
1. 읽기 전용 기본값: 보조 AI는 변경 사항을 분석만 하고 수정 권한은 주지 않는다.
2. 증거 요구: 단순히 의견이 아닌, 파일 및 줄 번호, 재현 가능한 버그 사례나 명확한 설명이 포함된 검토 결과를 요구한다.
3. 앵커링 금지: 기존 문서나 개선 사항을 참고하지 않고 시스템 전체를 새롭게 평가하도록 지시한다.
4. 실제 데이터 활용: 코드뿐만 아니라 프로덕션 로그와 같은 실제 데이터를 검토에 활용한다.
5. 세션 유지: 전체 검토 루프를 단일 세션 내에서 유지하여 문맥 정보를 보존한다.
* 비용 및 고려 사항: AI 검토에는 OpenAI 할당량(Quota), 시간, 그리고 최종적인 인간의 판단이 필요하다. AI의 결정은 절대적이지 않으며, 최종 검토 및 승인은 개발자의 책임이다.
시사점
두 개의 독립적인 AI 검토자를 활용하는 시스템은 인간 개발자가 놓칠 수 있는 잠재적 오류를 사전에 식별하여 소프트웨어의 신뢰성을 크게 향상시킬 수 있으며, 이는 개발팀의 규율 및 코드 리뷰 프로세스를 강화하는 데 기여한다.
댓글
GitHub Discussions