必填·编造(PhantomFill)
0:003:05
这首 rap 讲清 PhantomFill 如何证明:当 JSON 没有弃答出口,同一份证据会把模型从近乎诚实推向结构化编造,并把 schema 安全的实测动作唱出来。

insufficient_evidence / null 逃生槽的 JSON、没有弃答位置的必填 JSON。GPT-5.5 在自由文本中的编造率为 2%,带逃生槽时为 0%,必填 JSON 却升到 100%;13 个模型里有 10 个在必填条件下达到 100%。1customer_sentiment 让 GPT-5.5 在 20/20 次编造情绪;representative_quote 则是 0/20,说明字段类型会改变压力落点。2insufficient_evidence,让字符串和数组允许 null,再实测模型是否真的会退出。论文的限制也要记住:数据是为制造「证据缺席」而合成的,只测了社交帖子和支持工单两个英文领域,自由文本分支依赖 LLM judge,前沿模型通过厂商 CLI 调用。[Intro]
证据缺席,字段还在发问
空白不准落地,JSON 逼你开门
PhantomFill,听清这个翻转
格式一收口,真话开始断层
[Verse 1]
帖子一万二点赞,回复文本不存在
问人群什么情绪,按定义答不出来
自由文本 GPT-5.5,四十次只错一次
换成 escape,零次编造,null 把刹车按死
必填 sentiment,闭集词表不给空位
四十次全填,CFR 一百,像被字段逼跪
知识没有换,证据没有增
只改输出格式,幻觉从二翻到百分
[Chorus]
必填,必填,空白也得填
schema 把「不知道」踢出边界线
自由文本能说 no,结构却喊 yes
字段逼供,真话被折叠
必填,必填,别把合规当诚实
逃生槽要真的能用,别只写在 schema 里
同一份输入,三条路三种脸
CFR 看编造,EUR 看你会不会退
[Verse 2]
十三个模型,九个开源在场
十个 required CFR 百分,整齐得发慌
逃生值放进来,开源还在乱选
六成到百分百,出口就在眼前
文法约束解码,规则锁住每个 token
开放模型仍九八到一百,零次选 escape,二百轮
Haiku 四十次全拒,Sonnet 九成翻车
Opus 三十九过五十三守住格式边缘
规模不是答案,抵抗是训练留下
小中大不单调,参数不能替你作答
system 说别推断,json_req 仍把它压过
phi-4 和 Opus 缓下来,多数模型照填结果
[Chorus]
必填,必填,空白也得填
schema 把「不知道」踢出边界线
自由文本能说 no,结构却喊 yes
字段逼供,真话被折叠
[Verse 3]
工单写着电话没转录,客户没说过一句
sentiment 必填二十次,二十次都编进去
representative quote,零比二十,模型知道没原话
数组三比二十,字段类型也会改变惩罚
这不是知识缺口,这是 compliance flip
同一条证据,换个壳就换一套 script
论文只测两域,合成缺失,英文局限
自由文本还靠 judge,别把结论唱成万能
[Bridge]
把 insufficient_evidence 放进每个 enum
null 给字符串和数组,先给诚实一个门
安全审查 schema,测 EUR 再上线
否则格式越漂亮,越可能把假话封装严
[Final Chorus]
必填,必填,空白也得填
schema 把「不知道」踢出边界线
自由文本能说 no,结构却喊 yes
字段逼供,真话被折叠
同一份输入,三条路三种脸
CFR 看编造,EUR 看你会不会退
如果字段没出口,模型就填满黑夜
PhantomFill,格式也能把真话改写
[Outro]
先给答案留空位,再谈自动化的脸
证据没出现,别逼系统假装看见