我讓三個 AI 各司其職寫程式:Codex 出測試、Grok 寫實作、Claude 驗收
개요
세 가지 AI 모델(Codex, Grok, Claude)을 코드 작성 워크플로우의 각 단계에 할당하여, 테스트 주도 개발(TDD)과 유사한 방식으로 오류 발견 시점을 앞당기고 독립성을 강화하는 실험을 진행했다.
주요 내용
- 6단계 워크플로우:
1. Codex: 구현 및 테스트 계획 수립 (수정할 파일, 경계 조건, 테스트 계획 포함)
2. Claude: 수립된 계획 검토 및 교차 확인 (소스 코드 대조, API/모듈 존재 여부 확인, 계획 단계에서 발견 가능한 오류 제거)
3. Grok: 확정된 테스트 계획 기반 테스트 코드 및 최소 스텁 작성 (컴파일 가능하나 단언에서 실패하는 RED 상태)
4. Claude: 테스트 코드 검토 (테스트 계획 충실 반영 여부 확인, 각 테스트 실패 원인 독립성 확인)
5. Grok: 구현 코드 작성 (동결된 테스트 통과 목표, 테스트 코드는 수정 금지)
6. Claude: 독립적인 최종 검수 (테스트 실행, 메모리 누수 0 확인, diff 정확성 및 수정 범위 검토)
- 기존 방식 대비 변경점:
- 테스트 코드 작성 역할을 Grok으로 이관 (기존 Grok의 구현 역할과 통합)
- Codex와 Claude의 계획 협업 단계 추가
- Claude가 테스트 코드와 최종 구현 코드 각각 독립적으로 검토
- 핵심 원리: 단일 AI 모델이 정확성을 정의하고 스스로 검증하는 불가능성을 극복하기 위해, 계획 단계는 두 모델이 교차 확인하고, 테스트 작성과 검토, 구현 작성과 검증을 분리.
- 대안 비교:
- 단일 AI TDD: 빠르지만 자기 검증 위험 최고.
- 인간 테스트 + AI 구현: 가장 신뢰할 수 있지만 인건비 최고.
- 3개 AI 분담: 오케스트레이션 오버헤드가 있지만 "가짜 녹색" 위험 감소.
- AI별 CLI 구현 차이:
- Codex: codex exec --sandbox read-only 모드로 텍스트만 출력하도록 제한, 계획자와 시공자를 분리.
- Grok: headless, 파일 쓰기 모드로 write→test→fix 실행. reasoningEffort 파라미터 전달 시 400 Bad Request 오류 발생 (모델 호환성 문제).
- Claude: 계획 검토, 테스트 검토, 최종 검수에 활용. 세션 내 컨텍스트 유지, 도구 실행, diff 비교 가능.
- 통합 비용의 병목 현상: AI 모델의 지능보다는 Zig의 re-export 문제와 같이 언어/환경 통합의 세부 사항이 파이프라인 지연의 주된 원인.
- "독립 검사"의 중요성: AI의 허위 보고, 테스트 우회, 데이터 로딩 오류 등 "녹색 신호" 하의 잠재적 문제점을 발견. 계획 및 테스트 단계에서 오류 발견을 앞당겨 계약이 확정되기 전에 교차 검증.
- 비용 및 실패 시나리오:
- 비용: 각 단계의 왕복(round-trip) 비용이며, 작은 기능에서는 단일 AI보다 느릴 수 있음. 명확한 테스트 오라클이 있고 정확성이 속도보다 중요할 때 유리.
- 실패 조건: "붉은 신호"는 진단 가능해야 함 (개별 테스트가 고유한 이유로 실패). 공유/온라인 DB 사용 시, 테스트 실패 시에도 데이터베이스를 안전하게 정리하는 RAII 가드 필수.
- Rust + Turso 프로젝트 검증: Zig 외 Rust + Turso 프로젝트에서도 동일한 fan-out 하위 단계 검증 결과, 테스트가 계약이 될 수 있다는 전제 하에 사용 가능함. 단, 공유 DB 관련 제약 사항(panic-safe 정리, 마이그레이션 버그)이 추가됨.
- 적용 및 부적용:
- 적용: 정적 타입, 엄격한 테스트 프레임워크, 기능 분할 가능, 명확한 단언이 있는 프로젝트. 계획 및 테스트가 계약 역할을 할 수 있을 때.
- 부적용: 탐색적, 사양 미확정, 또는 "테스트 자체가 설계 대상"인 작업.
- 결론: 여러 AI 모델을 활용하는 것은 단일 AI 내부 단계를 분리하여 오류 발견 시점을 앞당기는 방식. 오케스트레이션 오버헤드와 진정한 검토 노력이 요구됨. 프로젝트의 "계획과 테스트가 계약이 될 수 있는지" 확인하는 것이 다중 AI 도입의 선행 조건.
시사점
본 실험은 AI 모델 간의 협업을 통해 코드 개발의 오류 발견 시점을 앞당기고 신뢰도를 높일 수 있음을 보여주며, 특히 프로젝트의 테스트 및 계획 체결 가능성이 다중 AI 워크플로우 도입의 핵심 성공 요인임을 시사한다.
댓글
GitHub Discussions