Format 실패는 quality issue 로 위장한 bug
prompt 가 JSON 요청하는데 model 이 markdown-wrapped JSON 반환하면 downstream pipeline crash. 그건 quality 실패가 아니야 — format compliance 실패고, 자기 metric 받을 자격 있어.
Format validation 이 잡는 것
- JSON 이 expected key 와 type 으로 정확히 parse.
- Code block 이 well-formed 하고 listed 언어가 content 와 match.
- Citation 이 required pattern 따름 (numbered, bracketed, source 와 함께).
- List 가 right cardinality (예: 정확히 5 bullet).
- Output 이 length constraint 내 머무름 (max 100단어).
- Required token 출현 ("FINAL ANSWER:", "Step 1:" 등).
세 strictness level
- Regex match — pattern check. 빠름, 부서지기 쉬움.
- Schema validation — Pydantic / JSON Schema / Zod. type 에러와 missing field 잡음.
- Semantic validation — schema pass 하지만 content 가 invariant 만족? (예: citation ID 가 실제 source 가리킴)
원칙: Format compliance 는 quality 와 분리된 axis. 독립 추적. 아름다운 prose 만들지만 JSON schema 10% 깨는 model 은 broken.
현대 provider 가 structured-output mode 제공
OpenAI 의 response_format=json_schema, Anthropic 의 tool-use, Google 의 controlled generation. Schema-valid output 보장. Task 가 허용하면 써 — format-failure 비율이 거의 0 으로 떨어져. 그러면 eval 이 semantic correctness 에 집중.