← 목록  |  개요 · 새 방법론 · 검색·이중판정 · 씨드 A/B (v11) · 수정자 비교

개요 — 검색 확대 + 이중 판정 검증

검색 대상을 씨드 대상 전 그룹으로 넓히고, 후보 선택을 Gemini·GPT 이중 판정 평균으로 바꾼 변경의 검증. 스텝을 실행하지 않고 하네스로 같은 순수 함수만 호출했다 — 납품된 체크포인트·자산은 건드리지 않았다.

프로젝트475e5694…
에피소드18f15068…
커밋228c8ebe (미커밋 변경 포함)
search_grounded_ref v4 (4.202607301950)
심판gemini-pro + gpt (평균)
검색 오케스트레이터gpt-5.6
범위검색·선택 + 씨드 A/B 1그룹
실행2026-07-30 19:46~20:21

L1 — 유닛 테스트 (결정론 영역)

LLM/VLM 완성도는 유닛으로 증명할 수 없다. 여기서 고정한 것은 산술·해시· 집합 같은 수학적으로 결과가 보장되는 계약뿐이다.

파일건수고정한 계약
test_search_grounded_ref_v3.py19 이중 판정 평균 · usable=false 0점 강제 · 단독 심판 표시 · 동점 시 낮은 index · 범위 밖 index 무시 · 점수 clamp · 계약 해시 예외 경계 · 팩 버전 명시 실패
test_form_reference_target_parity.py8 검색 대상 == 씨드 대상(두 모집단 플래그) · 바인딩 없는 그룹 포함 · spec 결손만 제외되고 CP 에 명시 기록
test_openai_key_failover.py25 키 수준 실패만 전환 · 단순 429/5xx/타임아웃 제외 · 타 provider 오류 무시 · 슬롯 소진 시 조용히 삼키지 않음 · 프록시 1회 재시도
test_bgfirst_no_conti_exempt_default_noop.py7 기본값 빈 집합 = 완전 no-op · 선언 태그만 해제(prefix·대소문자 번짐 없음)
test_text_cleaner_split_depth.py5 빈 응답이 빈 문자열로 흐르지 않음 · 폭 1까지 좁힘 · 페이지 커버리지
test_step_manifest_schema_version_sync.py+1 스텝 SCHEMA_VERSION(3) ↔ manifest 핀 교차

신규 65건 통과 인과 의존 기존 700건 통과

실행에서 드러난 것

결함 1 · 수정함 이중 판정의 점수 척도가 심판마다 달랐다

pick_system 팩 어디에도 점수 척도 지시가 없어 Gemini 는 0~100 을, GPT 는 사실상 0~10 을 썼다. 두 점수를 그대로 평균하면 Gemini 가 사실상 단독으로 결정한다 — 확정된 "둘 다 보고 평균"이 성립하지 않았다. 팩 v4 에 0~100 구간별 기준과 "다른 심판과 평균되니 네 척도를 만들지 말라"를 명문화하고 스키마 score 설명에도 같은 척도를 박았다.

팩 v3 (결함) — 주유소 상위 6후보

#geminigpt평균
185.08.046.5
290.09.049.5
380.08.044.0
4100.010.055.0
575.07.041.0
60.06.03.0

팩 v4 (수정) — 같은 그룹 재실행

#geminigpt평균
185.094.089.5
275.089.082.0
380.097.088.5
477.082.079.5
582.093.087.5
684.091.087.5

확인 OpenAI 키 2슬롯 failover 가 실전에서 발동했다

L2 첫 호출에서 1차 키가 You exceeded your current quota 를 냈고 보조 슬롯으로 자동 전환돼 그대로 완주했다. 기존 키는 이미 quota 소진 상태였다 — failover 가 없었다면 이 검증은 첫 호출에서 죽었다. 전환 트리거는 키 수준 실패(billing·quota·401·403)로만 좁혀져 있고, 단순 429·5xx·타임아웃은 기존 재시도 경로가 그대로 처리한다.

결함 2 · 미수정(보고) 형태 전용 계약절이 생성 프롬프트에 전달되지 않는다

씨드가 변형(variants) 모드일 때 form_only_clause 는 판정·결함 검사 브리프에만 붙고, 실제 생성 프롬프트(roll_prompts) 에는 들어가지 않는다(multiroll_select 가 생성 시 라벨별 변형 전문을 쓰기 때문). 참조 사진은 전달되지만 "배치·날씨·시간대는 베끼지 말라"는 지시가 생성 단계에 없다. 아래 A/B 산출로 실제 영향을 판단할 것.

완전성

복사한 이미지 221장 · 누락 0장

모든 페이지는 자족적이다 — 이미지는 assets/ 에 물리 복사돼 있고 외부 요청·절대경로가 없다.