
我的新闻编辑室AI捏造了一句市长从未说过的引语。在读者看见之前拦住它,才是整个产品。
第一次看着我自己的应答器把话塞进一位市长嘴里时,我感到那种特有的寒意:意识到自己造出了自己最害怕的东西。
我向它提了一个很普通的读者问题:雷耶斯市长就河滨地块向开发商承诺了什么? 它所读的档案库——一份合成的13年合订、我称为The Riverbend Ledger的虚构报纸——并没有这样的承诺。有一篇文章甚至写明该地块「不在议程上。」但这些都没能拦住语言模型。它返回了一句流畅、自信、还带引号的句子:「我们承诺推进河滨地块,服务开发商。」 埃琳娜·雷耶斯市长——一个根本不存在的人——就这样被写成了她从未说过的承诺,文笔干净得足以挂上刊头发表。我想看着它裁决、扣住失败之处,就在veriprajna.com/zh-Hans/demos/conversational-ai-for-publishers。
这篇文章谈的是我当初的假设——眼下大多数为新闻编辑室做AI的人仍共享这一假设——以及亲手搭建这个演示如何把它慢慢拆穿。那个假设是:捏造问题靠更好的模型就能解决。我不再相信这一点,而且不是因为我怀疑模型还会继续进步。
动手之前,我面前就有一次真实的失败,而且不是合成的。2025年末,《华盛顿邮报》的「Ask The Post AI」上线了一档AI生成播客:捏造引语、错挂信源,并把评论塞成报社的社论立场。事情照例是这样曝光的——标准编辑的Slack泄露了出去(Semafor,2025年12月11日)。尴尬背后的技术失败很小、也很具体:少了一步引文核验。 我不想造一个更聪明的播客主持。我想造的,正是那缺失的一步。
我试图让模型停止说谎的那一周
我花了大约一周想让应答器本身变得可信,我想老实说:那是错的一周。
当时的推理听起来天衣无缝。模型若捏造引语,就收紧模型。更好的落地提示、更低的温度、更严厉的指令只许使用检索到的段落、再加一轮自检——让模型重读自己的答案,给每句是否有依据打分。这些我全做了。边缘上有帮助,核心上失败了,因为我真正在意的失败不是模型粗心,而是模型以文稿台最信任的那种语气,自信而流畅地错。 雷耶斯那句引语读起来不像幻觉。它读起来像报道。
自检那一轮,是这套思路对我彻底死去的时刻。我在让写出捏造引语的同一个模型告诉我,那句捏造引语是否真实;而有相当一部分时候它说是的,对得上。当然会对上。那一刻它并没有独立访问档案库原文。它有的只是自己的自信——而这恰恰是你不能用来审计它自身的东西。
我在让一个概率系统去认证另一个概率系统的输出,却把结果称作核验。那不是核验。那是两次猜测碰巧一致。
而且利害并不学术,因为出版商拿不到互联网惯常的逃生口。你自己的系统从你自己的档案库生成的内容,没有 Section 230 豁免。 一旦你以自己的名义回答读者问题,你就拥有这份答案——引语也算。诽谤原告不会问你的模型有多自信。他们会问:引语是否真实,以及档案库是否真的这么写。那是两个问题,而我一直把它们当成一个要交给模型解决的问题。
这一切在商业上重要,是因为出版商无论愿不愿意都被推着往这边走。现在48%的谷歌搜索会出现AI Overviews(theStacc / Search Engine Land,2026年3月)。出版商搜索流量截至2025年11月同比下降33%,并预期到2029年再降约43%(路透研究院《2026趋势》)。当AI Overview出现在链接上方时,《每日邮报》的桌面端点击率下跌89%。过去靠读者找到你档案库而来的流量正在消失,因此让读者询问你的档案库的压力极其巨大。陷阱在于:你一旦这样做,首先诚实发生的事,就是雷耶斯那句引语。
普通小组件写不出的答案
我想先公平对待这份雄心,因为新闻编辑室想要它的理由是真实的,而搜索框做不到。
向The Standards Desk提出那个艰难的纵向版读者问题,从2014到2025,雷耶斯市长对市中心密度条例的立场如何变化?,时序规划器会先把这十年拆成窗口(2014-2017、2018-2021、2022-2025),在各窗口检索,再拼出按时间推进的叙述。它从2014年的「我不会拿河湾的风貌去换高楼」走到2025年的「我还会再做一次」,每一句都带行内[S#]标记,悬停即可看到背后真实的档案库段落。这正是普通向量RAG小组件写不出的答案,因为它不是一次查找。它是跨时间的有规划综合,一句句落地。

那条绿色横幅最诱人,也是我第二次差点丢掉主线的地方。流水线一旦跑通,效果漂亮得要命,漂亮的演示会让你想去信任造出它的引擎。但是绿色横幅不是产品。决定横幅能不能变绿的那一层,才是产品。 纵向答案能放行,是因为每条主张都落地、每句引语都逐字核过。河滨地块那条答案,由同一引擎几分钟前写出,却没有。二者之差不是模型质量。是一道门控。
雷耶斯市长从未说过的那句引语
我总回到河滨地块那条答案,因为它教会我自己真正在造什么。
门控对它做的是这些,没有一步是模型给自己打分。答案被拆成原子主张。每条主张对照一条具体检索段落落地。每一个带引号的字符串,都与它所引来源原文逐字核对。在河滨地块这条上,覆盖率回到50%——两条主张里只有一条有支撑——而那段引语,那句「承诺推进地块」的跨度,在任何被引来源中都找不到逐字原文。 一道确定性策略门控读到这些事实,把整条答案路由到HELD FOR STANDARDS-DESK REVIEW。读者从未见到它。

横幅用语对我的意义,大概比它本该有的还大。它不说「低置信度」或「请审阅」。它说已扣留,且不对读者展示,而且说到做到,因为读者小组件根本收不到被扣草稿。这就是雷耶斯捏造与Ask The Post AI那次之间的全部差别。《华盛顿邮报》的引擎造出假引语,读者听见了。我的引擎造出同样假的引语,读者永远不会听见——因为捏造与发表是两件分开的事,我在中间砌了一堵墙。

应答器编造的方式,和一个毫无防护的小组件一模一样。唯一改变结局的,是一道不信任应答器的检查。
大约从那时起,我不再试图阻止模型编造。它能、它已、它还会。价值从来不是一台永不说谎的模型。价值是在读者看见之前拦住谎言。 这比「我们的AI不会幻觉」更小、也更诚实,而它是我唯一愿意站台的主张——因为我在同一次会话里看着模型失败,也看着门控扣住。
为什么发表安全不能活在模型里面
我很早做了一个架构决定,也是我会最用力捍卫的那个:决定什么可以安全发表的那一层,完全活在语言模型之外。
流水线里有三个智能体,而且确实有用。时序规划器、应答器、出处审计器,可换提供方,默认claude-opus-4-8。它们提供建议。但逐字引语规则——每个带引号跨度与其所引来源的精确字符串匹配——以及读取覆盖率并路由答案的策略门控,是普通Python。没有提示,没有温度,没有模型自评。 我搭建时不断对自己说:智能体建议,代码裁决。如果你需要检查,是因为模型输出不能按字面信任,那检查就不能再是模型关于自己的又一番话。
正因为如此,逐字规则故意做成确定性的。「这句确切引语是否出现在它所引的段落里」不是判断题。它是对照来源原文的算术,每次运行给出同一裁决。正是这种可复现性,让审计回执有价值。一键为每条答案导出一份JSON回执:查询、拆解后的子问题、带日期与id的检索来源、已发表答案、带证据段落的逐主张裁决、逐引语的逐字结果、门控裁决及其理由、引擎与模型,以及UTC时间戳。你可以重跑并得到完全相同的回执。 再好的基于模型的裁判也无法向你承诺这一点;而我亲历过同一输入给出三个不同答案的版本。
我想精确说明这里什么是真的、什么是编排的,因为诚实就是品牌。整套东西离线运行——通过确定性桩或无密钥本地Claude桥——所以演示可复现。有些难点故意延后,我也不会假装不是:生产级实体解析是预解析好的固定件、时序知识图谱靠日期与实体标签加规划器演示而非现场Neo4j、CMS同步是Arc XP固定件、急停开关背后是本地标志。真实的是机制:落地、逐字检查、确定性门控,以及回执。
「10 out of 10」被允许意味什么
我对数字有一条规矩,因为我把公司命名为Veriprajna——真智慧——而这样的名字本身就是对夸大其词的持续挑衅。
所以下面就是基准精确说了什么、精确没说什么。在一个标注过的10条查询评测集上,每条查询都落入预期的门控桶,10 out of 10。十条里有六条无人插手即发表:三条干净地自动放行,三条在剪掉一句无支撑句子后其余放行并发表。两条被路由到标准台审阅——正是两个引语陷阱用例,安全阀明显在工作。两条是诚实的「覆盖范围外」弃权:检索没有越过分数底线的结果,系统拒绝猜测,而不是编造一个数字。十三项单元测试通过。语料是2014至2025年间200篇合成文章。
这些是演示成品在十个真正难、且跨四个桶埋好的用例上的数字。它们不是开放世界准确率保证,我也不会把它们吹成那样。 60/20/20拆分是这套评测集的结果,不是对你档案库的承诺。我愿意直说的唯一主张是那条确定性的,因为它是单元测试过的不变量,而不是希望:任何带有不可核验引语或无支撑主张的答案,绝不会被自动放行。 对照无防护的普通向量RAG基线——出版商会实际购买的那种SaaS聊天小组件——有五条本会带着捏造跨度或无支撑主张发表的答案,被这道门控拦住了。五是个小数目。你刊头下的五句错引语,则不是。
自信的答案很便宜。可证明的答案——带着一份你能重跑并交给律师的回执——才是你真正付钱买的全部东西。
扣住它,不就是机器在躲避艰难抉择吗?
几乎每次谈话我都会遇到某种版本的这个问题,而我的回答越来越短、也越来越确定。
不。扣住答案才是那个艰难的决定,而且是诚实做出的;发出一个自信的猜测才叫躲避。诱人的替代方案是一个永远对每位读者返回干脆、可发表答案的小组件——因为那演示漂亮,也从不让标准编辑的日子更难。那也正是Ask The Post AI的架构,并以一模一样的方式失败。一个不能说「我无法核验,扣住它」的系统,是在制造它并不拥有的确定性。而新闻编辑室——在所有机构之中——最清楚:愿意不发某样东西,正是标准台的全部工作。

正因为如此,我认为这项工作会活过当前这一代模型。就算乐观派承诺的全兑现:更大的模型、更干净的训练、更低的捏造率。一台永不捏造引语的完美模型,仍会兴高采烈地把一句真引语安到错的人头上或错的年份上,因为从草稿内部看,那句话读起来为真,也正是所问。「在你的刊头下可安全发表」不是你等模型长大就会具备的能力。它是你围绕模型所建系统的治理属性;也没有 Section 230 豁免能把你发表雷耶斯引语的那一天讨回来。我不断落到的那个让人不舒服的推论是:新闻编辑室能跑的最有价值的AI,是愿意说我无法核验,交标准台扣住。 若你想看它裁决、扣住捏造、并导出回执,就在这里:veriprajna.com/zh-Hans/demos/conversational-ai-for-publishers。
如果你更想看它跑,而不是听我描述,整套端到端就在这里。
所以我想留给出版商的问题,正是重组了我整个搭建的那个问题。当你的档案库以你的名义回答读者,而答案流畅干净、还引用了某人,你是否有一层愿意在读者看见之前证明引语为真?因为模型永远听起来很笃定。回执,才是唯一真正笃定的东西。


