Quality Gate
모든 번역은 디스크에 기록되기 전에 결정론적 유효성 검사 게이트를 거쳐요. Quality Gate는 기계 번역에서 흔히 발생하는 실패 유형을 잡아내어, 조용히 대체되거나 로캘 파일에 쓰레기 값이 기록되는 일을 방지해요.
유효성 검사 항목
| 검사 항목 | 탐지 내용 | 게이트 라벨 |
|---|---|---|
| 빈 값/공백 | 모델이 빈 문자열이나 공백을 반환함 | [GATE] empty |
| 원본 그대로 반환 | 모델이 원본 영어 입력을 그대로 반환함 | [GATE] source-echo |
| 환각 루프 | 반복되는 트라이그램(trigram) 패턴 (예: "Qo' Qo' Qo'") | [GATE] hallucination |
| 길이 팽창 | 출력 결과가 원본보다 비정상적으로 긺 | [GATE] length |
| 문자 체계 준수 | 대상 로캘에 맞지 않는 문자 체계를 사용함 | [GATE] script |
빈 값/공백
빈 문자열, 공백으로만 이루어진 값 또는 null인 번역을 거부해요. 번역하기 어려운 키에 대해 모델이 아무것도 반환하지 않는 경우를 잡아내요.
원본 그대로 반환
모델이 번역을 수행하지 않고 영어 원본 텍스트를 그대로 반환하는 경우를 감지해요. 짧은 문자열이나 프롬프트가 불충분할 때 흔히 발생해요.
환각 루프
출력 결과에서 트라이그램(3글자) 패턴을 분석해요. 출력 길이에 비해 특정 트라이그램이 임계값 이상 반복되면 해당 번역을 거부해요. 이를 통해 "Qo' Qo' Qo' Qo' Qo'"와 같이 비정상적인 출력 결과를 잡아낼 수 있어요.
길이 팽창
출력 길이가 maxLengthRatio × source length(기본값: 4배)를 초과하는 번역을 거부해요. 짧은 입력에 대해 모델이 환각을 일으켜 장문의 텍스트를 생성하는 경우를 잡아내요.
설정 파일의 maxLengthRatio을 통해 구성할 수 있어요.
문자 체계 준수
script 필드가 구성된 로캘(예: 평원 크리족 음절 문자의 경우 "script": "cans")에 대해, 출력 결과에 대상 문자 체계에 적합한 비 ASCII 문자가 포함되어 있는지 유효성을 검사해요. 아랍어, CJK(한중일) 또는 음절 문자 로캘에 대해 라틴 문자로만 구성된 출력이 반환되면 거부돼요.
실패 시 발생하는 일
- 실패한 번역은
[GATE]접두사, 키 이름, 실패 사유, 값의 미리보기와 함께 stderr에 로그로 남아요. - 해당 키는 로캘 파일에 기록되지 않아요.
- 재시도 캐스케이드(retry cascade)가 시작돼요(아래 참조).
[GATE] hero.title: source-echo — "Welcome to our platform"
[GATE] nav.about: hallucination — "À À À À À À À À"
재시도 캐스케이드
일괄 처리(batch)가 실패하면(JSON 구문 분석 오류 또는 Quality Gate 거부), rosetta는 점진적으로 더 작은 단위로 나누어 재시도해요.
Full batch (30 keys) → parse error
└→ Half batch (15 keys) → 2 failures
└→ Individual keys (1 each) → isolates the 2 problem keys
재시도 횟수는 maxRetries(기본값: 3, 언어별로 구성 가능)로 제한돼요. 이를 통해 지속적으로 실패하는 키에 토큰이 과도하게 소비되는 것을 방지해요.
재시도 횟수를 모두 소진하면 문제가 발생한 키는 로그에 남고 건너뛰게 돼요. 이 키들은 다음 sync 실행 시 다시 시도돼요.
프롬프트 캐싱
시스템 메시지(어조, 문법 규칙, 스타일 참고 사항)는 사용자 메시지(번역할 키)와 분리돼요. 이러한 분리는 의도적인 설계예요.
- 특정 로캘에 대해 시스템 메시지는 모든 일괄 처리에서 동일해요.
- Anthropic 및 Google과 같은 제공업체는 반복되는 시스템 메시지를 캐시해요.
- 결과: 첫 번째 일괄 처리에서는 전체 토큰 비용을 지불하지만, 이후의 일괄 처리에서는 사용자 메시지에 대한 비용만 지불하게 돼요.
이를 통해 일괄 처리가 많은 프로젝트의 토큰 비용을 크게 줄일 수 있어요.
함께 보기
- 동기화 작동 방식 — 파이프라인에서 Quality Gate가 적용되는 위치
- 번역 방법 — 게이트로 전달되는 방법들
- 문자 체계 변환기 — 게이트 통과 후의 문자 체계 변환
- 코칭 데이터 — 업스트림 번역 품질 향상
- CLI 참조 — sync — 재시도 동작을 포함한 동기화 플래그