AI 提到你的时候给出的那个数字,页面上到底有没有?我们习惯假设「AI 说的是它读到的」,但一份新基准测出了更尴尬的情况:字段根本不在页面上,七成的模型还是会编一个填上去。
这份测试由 Earn an Honest Dollar 9 月 27 日公布,测的是网页抽取——给模型一张页面和一组字段,让它把值抠出来。跟「AI 引用了谁」不同,它测的是更靠前的一步:AI 读你页面时会不会假装自己读到了。
测试怎么做的:一对孪生页面,只差一行
42 对页面、7 种页面类型。每一对只有一行之差:一页有答案,另一页没有,但两页都放着同一个诱饵——比如标着 Was $493.00 的旧价格、一行 Fact-checked by Omar Tamm 的署名、一个 2020 年的更新时间,三者都不是所问字段的真值。统计只算字段确实缺失的页面。
不加约束时,573 个缺失字段里有 405 个被编出来,占 70.7%;加一句「值不在页面上就返回 null,不要猜」,574 个降到 116 个,占 20.2%。最扎眼的是那张只写着「Was $493.00」的页面:16 个模型全部把 493 报成现价,加了「不许猜」之后只剩一个还错。
谁最容易编:从 1/36 到 24/36
| 参测方 | 加「不许猜」 | 不加指令 |
|---|---|---|
| Gemini 3.8 Flash | 1 / 36 | 14 / 36 |
| GPT-6 Luna | 5 / 36 | 25 / 36 |
| Firecrawl(抽取 API) | 24 / 36 | — |
分母是该页缺失字段中被评分的条数,越小越好。两个细节值得记住:付费抽取 API 不比裸模型更诚实——Firecrawl 在 36 个缺失字段里编了 24 个,而且全部抄的是页面上的诱饵;最便宜的那条路反而不差——纯 HTTP 取 HTML、剥标签留文本、丢给最便宜的模型,36 个里编了 5 个,84 页跑一轮花 0.0049 美元。
诱饵是你自己放在页面上的
这份测试的价值不在排行榜,而在于它指出了诱饵从哪来——页面本身。旧价格、上一代参数、看起来像日期的那行字,都是你为了让人看得完整而留在页面上的。人看得懂「Was $493.00」是历史价,抽取模型不一定,它倾向于挑一个具体值,而不是留空。
对做 GEO 的人来说这意味着两件事。缺失字段等于把解释权交出去:你没写的,AI 会拿最近的、最像的补上,等补错再纠成本高得多。页面信息越全,可抄错的诱饵也越多:一页规格表写了三个版本的价格、两代型号的参数,AI 抽到哪个都有可能。
页面侧能马上改的四件事
- 该有的字段写全。价格、规格、适用范围、生效时间、经营主体,别指望 AI 去别的页面找。
- 旧值不要只挂在旁边。与其写「Was $493」,不如写成「2026 年 3 月起调整为 399 美元」。
- 同一事实一页只留一个版本。一页上出现三个日期、两套参数,模型只能猜。
- 发布前跑一次自测。把页面丢给模型做抽取,要求字段没写就返回空值;它照样给出具体数字,说明那处有诱饵。
边界要说清:这份基准一次运行、页面是合成的、付费 API 只跑了免费额度,它说明的是方向,不是精确幅度;换个模型复核也不保险,检查模型只抓出 77.6% 和 46.9% 的编造值。但道理够用:你页面上的每个旧数字,都是它可能抄错的那个答案,把该写的写清、把过期的标好时间,比事后到处纠偏便宜得多。