本节摘要:围绕 Jev 最重要的批评,来自软件工程师 Anthony Maio 的分析(被 pearpages、tensorplay、chatmaxima、aisignal 等多方引用):"Jev 约束的是输出的形状,它不约束判断本身。" 展开说:0% 幻觉/0% 类型错误是结构保证——答案空间被你的请求枚举死,模型不可能产出
billing之外的字符串;但选错选项、给错概率,结构管不着。Sean Goedecke 更尖锐,称"零幻觉"的说法是"语义上的闪避(a semantic dodge)"。一个设计糟糕的 schema(选项重叠、描述含糊、缺逃生门)不仅不会因类型安全而变好,反而可能比自由生成更糟——错误被包装成一个看起来自信的合法答案。TypeSafe 创始人 Almeida 对此的回应是承认:结构保证 ≠ 正确性保证,正确性要在自己数据上评测。本教程的立场:这个批评不是"别用 Jev",而是"schema 设计成为一等编程技能"——并给出三条落地回应。
阅读完本节,你应当能够:
"Jev 约束的是输出的形状。它不约束判断。"
"Jev constrains the shape of the output. It does not constrain the judgment." —— Anthony Maio
"(零幻觉的)说法是一种语义上的闪避。" "a semantic dodge" —— Sean Goedecke(pearpages)
两句话合起来的完整逻辑:
| 保证 | 不保证 | |
|---|---|---|
| 结构层(数学保证) | 答案必在枚举空间内;永不解析失败;永不产出未见过的"选项" | — |
| 判断层(经验问题) | — | 选对选项;概率分布合理;置信度如实 |
官方基准里"0% 幻觉"指的是左列——由构造成立,不需要实验证明;而用户期待的往往是右列——选得对不对。宣传语与期待之间的这道缝,就是批评者说的"闪避"。
机制有三:
{"choice": "billing", "probabilities": {"billing": 0.86}, "confidence": 0.7}——格式完美、概率自信,下游代码毫无防备地执行。⚠️ 一句必须记住的话:它不能幻觉出新选项,但它可以自信地选错。
批评的正面价值是把责任交还给工程。本教程贯穿的三件工具就是回应:
TypeSafe 创始人 Almeida 的公开回应也落在同一方向:承认结构保证与正确性保证的区分,正确性需使用方评测。(延伸的开放问题:评测基准均为厂商自报、独立第三方复现尚少——TrueFoundry 等的分析指出"什么可验证、基准没覆盖什么"仍是进行时。)
如果你在评估"要不要在生产里用 Jev",这条批评翻译成三个检查动作:
三问皆有答案——用;一问含糊——先补作业再用。这与第 8.2 节影子模式、第 9 章评测体系完全同构:工具的新颖不改变工程的纪律。
批评消化完,最后一节收拢全书:四种方案怎么选、Jev 放在哪一层、以及资源地图。