TL;DR
모델이 생성한 코드가 자기 검증용 테스트만으로는 실제 결함을 가릴 수 있어 작성자와는 별도로 스펙과 패치만 입력받는 독립 검증자 모델을 두는 방법을 제안한다. 구현은 PR 파이프라인에서 기존 테스트가 통과된 뒤 스펙과 패치만 제공해 verifier 모델에 0-7 점수와 짧은 비평을 요청하는 형태로 이루어지며, 평가 축은 Comprehension(문제 인식), Causality(원인 제거 여부), Empirical grounding(실증 여부)이다. 작성자는 이 기법을 직접 적용해 부하 상황에서 잘못된 캐시 키 저장, 특정 비테스트 포맷을 망가뜨리는 날짜 파서, 리다이렉트 엣지케이스에서 권한이 유출되는 인증 체크 같은 결함을 포착했다. 독립성 확보가 핵심적 제약조건이며 검증자가 테스트나 작성자의 추론에 접근하면 효과가 감소한다.
실용적 조언
- 검증자를 구현할 때는 작성 모델이 생성한 테스트나 추론 로그에 대한 접근을 엄격히 차단해야 한다는 원칙을 지켜야 한다. 검증자 입력은 공식 스펙과 패치 코드로 한정하고, 검증자에게 테스트 결과나 작성자가 사용한 가정 정보를 제공하면 독립성 목적이 훼손되어 동일한 편향이 재현된다. 평가 결과를 자동화된 점수와 간단한 비평 텍스트로 출력하면 PR 워크플로에서 사람이 빠르게 판정할 근거를 제공할 수 있다.
- 점수 체계는 세 축(Comprehension, Causality, Empirical grounding)을 적용해 0-7 범위로 정량화하되, 숫자만으로 판단하지 않고 검증자의 비평 텍스트를 함께 기록해야 한다. PR 파이프라인에서는 기존 테스트가 통과된 후 두 번째 게이트로 검증자를 배치해 자동화된 경고를 생성하고, 경고 발생 시 작성자에게 원인 분석과 추가 증명(예: 부하 상황 재현, 추가 포맷 테스트)을 요구하는 정책을 두는 것이 효과적이다. 실무적으로는 검증자가 반복적으로 실패하는 패턴을 로그로 축적해 향후 테스트 설계에 반영하면 전체 품질 향상에 기여한다.
섹션별 상세
def verify_patch(spec_path, patch_path, verifier_client):
spec = Path(spec_path).read_text()
patch = Path(patch_path).read_text()
prompt = f"""You are an independent verifier. You did not write this code
and you cannot see its tests. Given only the spec and the patch, score 0-7
on three axes and write a short critique of where it is weak.
1. Comprehension: does it solve the real problem or match surface pattern?
2. Causality: does it fix the cause or only the tested part?
3. Empirical grounding: is it proven or just claimed?
Spec:
{spec}
Patch:
{patch}"""
return verifier_client.complete(prompt)
PR 패치 검증용으로 스펙과 패치만을 입력받아 세 축(Comprehension, Causality, Empirical grounding)으로 0-7 점수화하고 약식 비평을 생성하는 독립 검증자 호출 예시 코드이다.
용어 해설
- Pseudo-correctness
- — 모델이 자체적으로 생성한 테스트나 검증 루틴을 통과하지만 근본적으로 논리적 오류나 경계 조건을 놓친 채 잘못된 출력을 제공하는 현상으로, 작동 원리는 작성 모델이 자신의 가정에 맞춘 테스트를 생성하고 그 테스트만 통과하도록 코드나 패치를 맞추기 때문에 실제 운영 조건에서 실패할 가능성이 높다는 점이 중요하다.
- Independent Verifier
- — 작성자 모델이 보지 못하는 스펙과 패치만 입력으로 받아 변경 사항의 근본적 적합성과 원인 해결 여부를 검토하는 모델 기반 검증 역할로, 테스트 코드나 작성 모델의 추론 로그 접근을 차단하여 작성자 모델의 편향이 재현되는 것을 예방한다.
- Self-review Bias
- — 코드나 문서를 생성한 동일한 모델이 자신의 산출물을 검토할 때 발생하는 편향으로, 입력된 가정과 논리 흐름을 재검증하기보다는 그 가정에 부합하는 결과만 승인하는 경향이 있어 객관적 결함 포착을 저해한다.
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.