三层防线,缺一不可
**第一层:约束输出形态**
**第二层:程序校验**
解析后立刻校验,不要相信提示词:
1. 能否解析(去掉可能的代码块围栏后重试解析);
2. 必填字段是否都在;
3. 类型是否对(字符串写成数字、数组写成字符串都很常见);
4. 取值是否在允许集合内(枚举、区间);
5. 业务校验(日期先后、金额非负、ID 是否存在)。
**第三层:失败重试**
三个常见坑
一个可执行的检查清单
1. schema 写清楚(含空值与边界示例);
2. 解析 → 校验 → 归一化(例如统一时间格式、去掉多余空白);
3. 失败时带错误信息重试,最多 2 次;
4. 仍失败则降级,并把该样本加入评测集;
5. 记录**格式失败率**这个指标:它比「感觉还行」靠谱得多。