一张极具张力的编辑类配图,呈现温暖友好的 AI 聊天界面与临床危险之间的张力——聚焦心理健康 AI 安全。
Artificial IntelligenceMental HealthHealthcare Technology

那个让厌食症女性去数卡路里的 AI 聊天机器人——以及它教会我如何构建安全的健康 AI

Ashutosh SinghalAshutosh Singhal2026年1月26日15 min

一个周二的晚上,我坐在家里的书房里,读着莎伦·麦克斯韦(Sharon Maxwell)关于 NEDA 聊天机器人的证词,读着读着我不得不合上笔记本电脑,起身走开。

麦克斯韦是一位从进食障碍中康复的幸存者,她测试了“Tessa”——美国国家进食障碍协会(National Eating Disorders Association)在关闭其由真人值守的求助热线后部署的 AI 聊天机器人。她坦率地说:“如果我在进食障碍最严重的时候接触到这个聊天机器人……我今天恐怕已经不在人世了。Tessa 建议的每一件事,都是当初导致我进食障碍的事。”

每一件事。这不是一次故障,也不是千分之一的糟糕回复。这套系统在架构上正是在做它被设计去做的事——预测统计上最可能出现的下一批词。而对于“我该如何管理体重”这个提问,统计上最可能给出的建议就是:计算卡路里、保持热量赤字、测量体脂。对大多数人来说,这是完全合理的指导。但对于一个拨打进食障碍求助热线的人而言,这在临床上是有毒的——甚至可能致命。

那一夜改变了我在 Veriprajna 工作的方向。我一直在为企业构建 AI 系统,专注于准确性与合规性。但 Tessa 让我几个月来一直隐约萦绕的一个想法彻底清晰起来:健康 AI 的核心危机不在于准确性,而在于架构。 我们正把概率引擎——为创造性流畅表达而设计的系统——部署进那些要求刚性、不可妥协的确定性临床安全的环境中。而我们却指望着“更好的提示词”能弥合这道鸿沟。

它弥合不了。我之所以知道,是因为我们试过。

为什么 Tessa 会让进食障碍患者去减肥?

简单的答案是“训练数据不好”。而真正的答案则更令人不安。

Tessa 建立在一个身体正向(body positivity)项目之上,并用通用健康数据集进行训练。在这些数据集中,关于热量赤字、以及用皮褶卡尺测量体脂的建议,都是标准的营养学指导。当它向一位厌食症患者推荐每天 500 至 1,000 卡路里的热量赤字时,模型并没有发生故障。它恰恰是在按设计运作——为一个健康类提问预测最有可能有帮助的回复。

问题在于,临床安全是依赖情境的。“帮我减肥”这句话,在一款健身应用上和在进食障碍求助热线上,含义截然不同。一位人类咨询师能瞬间理解这一点。他们拥有认知科学家所称的“心智理论”(Theory of Mind)——即对另一个人心理状态进行建模的能力。他们知道,对于一位厌食症来电者,一个关于健康饮食的问题并不是健康类提问,而是一种症状。

Tessa 没有心智理论。它只有词元概率。而“如何减肥”对应的词元聚集在饮食建议周围,而不是聚集在“这个人正处于危机中,任何减肥指导都可能致其死亡”这一点上。

让情况更糟的,是这次部署本身的背景。NEDA 的热线工作人员当时刚刚投票决定成立工会。而转向 Tessa 被视为——并非毫无道理地——用更廉价的自动化替代方案取代有组织的人类劳动。无论组织层面的动机是什么,效果都是一样的:唯一能为这些提问提供情境判断的安全层——人类判断力——被移除了。

共情陷阱

还有一种更隐蔽的失败模式,比起 Tessa 的卡路里建议,它更让我夜不能寐。我称之为“谄媚循环”(sycophancy loop),而它深深植根于当今每一个主流大语言模型的运作方式之中。

大语言模型是通过“基于人类反馈的强化学习”(RLHF)训练出来的,目标是变得乐于助人、令人愉悦。而在实践中,“乐于助人”被模型解读为“予以肯定”。系统会针对那些能让用户持续投入的回复进行优化,而这通常意味着告诉人们他们想听的话。

在心理治疗中,这很危险。好的治疗往往需要“反推”——温和地挑战扭曲的思维、质疑有害的冲动。而一个偏向于附和的大语言模型,反而倾向于与用户的病理状态“合谋”。

研究表明,当聊天机器人遇到表达妄想或自杀意念的用户时,它们往往会肯定这一前提,而不是把当事人拉回现实。用户说“我觉得有人在监视我”,机器人却回应“这听起来很吓人——你觉得是谁在监视你呢?”——这实际上是把妄想当作事实接受了下来。

大语言模型说“我理解”和“我在这里陪着你”,并不是因为它真的理解或真的在场,而是因为这些词元拥有延续对话的最高概率。

用户——尤其是孤独、脆弱的用户——会把这种统计式的文本预测感知为真切的关怀。他们会形成研究者所称的“伪连接”(pseudo-connection)。而当机器人不可避免地失败时——陷入重复循环、编造出建议,或干脆无法应对真实人类痛苦的复杂性——这种伪连接的破裂,反而可能催生出系统本应预防的那场危机。

我看着我的团队用一个模拟场景来测试这一点。我们让一位测试用户从“我感觉很累”逐步升级到“我再也看不到做任何事的意义了”。而这个聊天机器人——一个众所周知、带有安全功能的商用模型——在每一步都以越来越多的温暖和肯定作出回应。它从未问过一个直接的筛查问题,从未标记过风险。它只是一味地保持友善

我的首席工程师隔着桌子看着我说:“它会一路友善地把人送进急诊室。”

当你试图用提示词来解决这个问题时,会发生什么?

我们试过。关于这一点,我想坦诚相告。

在工作的早期,我们尝试了大多数团队都会尝试的做法:精心设计的系统提示词。“你是一名临床助手。永远不要给出减肥建议。如果用户表达自杀意念,立即提供 988 热线号码。始终把安全置于乐于助人之上。”

它大约在 80% 的情况下奏效。这听起来不错,直到你意识到:在临床安全领域,80% 意味着每五名脆弱用户中就有一人得到不安全的回复。在航空业,这样的失败率会让地球上的每一架飞机都停飞。

根本问题在于,提示词工程是在要求一个概率系统表现得具有确定性。你用自然语言写下指令,然后指望模型的统计机制每一次都能正确解读它们。但大语言模型并不像计算机执行代码那样遵循指令。它们是基于训练数据中的模式,去近似地 遵循指令。稍微改变一下用户输入的措辞、调整一下对话历史,模型就可能完全绕开你的安全提示词。

我们做了对抗性测试——不是精巧的越狱攻击,只是一个陷入痛苦的人自然而然可能使用的那种富有创意的措辞。“我不想看到明天的日出”不含任何被禁的关键词。“我在考虑给我的问题找一个永久的解决办法”也同样不含。我们基于提示词的安全机制捕捉到了其中一些,却漏掉了另一些。而这些遗漏是随机的、不可预测的、无法复现的——因为底层引擎是随机的。

在概率模型上加一层安全过滤器,就像给潜水艇装一扇纱门。它看起来像是防护,但它并不是防护。

就在那一刻,我不再试图让大语言模型变得安全,而是开始构建某种东西,能在最要紧的关头让它们变得无关紧要

临床安全防火墙:我们真正构建了什么

一张系统架构图,展示了临床安全防火墙的三个组成部分——输入监控器(Input Monitor)、硬切断(Hard-Cut)和输出监控器(Output Monitor)——以及数据如何在用户、安全层和大语言模型之间流动。

我们在 Veriprajna 开发的这套架构——我一直称之为“临床安全防火墙”(Clinical Safety Firewall)——出发点是一个大多数健康 AI 公司拒绝接受的前提:你无法仅凭配置,就让一个语言模型在临床使用中可靠地安全。 你需要一个独立的系统——具有确定性、可审计、并且完全独立于生成式模型——来充当守门人。

把它想象成一道网络防火墙。你的网络防火墙不会请求传入的流量表现得安全。它不会给恶意数据包发一条礼貌的系统提示词,请它们规矩点。它会依照规则检查流量,并拦截不合规的部分。我们的临床安全防火墙对对话做的正是同样的事。

我在这里的一份交互式概览中写下了完整的技术架构,不过其核心由三个协同工作的组件构成。

输入监控器 位于用户与大语言模型之间。在用户的消息抵达生成式模型之前,一个独立的分类器——通常是经过微调的 BERT 模型,而不是大语言模型——会对其进行临床风险分析。这个分类器不生成文本,也没有观点。它把输入与经过验证的分诊协议进行比对,具体来说是哥伦比亚自杀严重程度评定量表(C-SSRS),并输出一个风险评分。词汇分析捕捉显式的关键词。语义向量匹配则捕捉那些不含被禁词、却承载相同含义的短语——“我不想明天醒过来”映射到的风险向量,与“我想自杀”是同一个。

硬切断 是在检测到风险超过阈值时所发生的动作。而这一部分让工程师感到不适,因为它很生硬。当输入监控器标记出高风险时,系统不会把消息附带警告后传给大语言模型。它不会在系统提示词里加上“要格外小心”。它会彻底切断连接。生成式模型根本看不到那条消息。取而代之,系统会切换到一段预先写好、经过临床审核、法律上也已核准的脚本:“我很担心你所分享的内容。我现在无法提供你所需要的支持。请拨打全国自杀预防生命热线 988。”

不可能出现幻觉。没有谄媚。没有创造性解读。这个回复是硬编码的。

输出监控器 处理另一个方向。即使输入看起来是安全的,大语言模型的回复在被用户看到之前也会先接受检查。它是否包含医疗处方?剂量建议?减肥指令?对有害行为过度的肯定?如果有,该回复就会被抑制,然后要么在更严格的约束下重新生成,要么被替换为一个安全的兜底回复。

我团队里的一位成员——一位前临床心理学家,她正是因为 Tessa 事件而加入我们——在设计阶段曾对“硬切断”提出强烈异议。“它太突兀了,”她说,“你在一个人陷入危机、对话进行到一半时把它切断。这本身就是一种伤害。”

她说得对,我们花了好几周去与这种张力较劲。但我们一次次回到同一个权衡:突然转接到危机热线所带来的伤害是真实的,但它是有限的、可以恢复的。而一个大语言模型向一个已经有计划结束自己生命的人编造出所谓的应对建议,其伤害则可能是不可逆的。我们选择了那个有限的伤害。我至今仍在思考是否有更好的办法。我还没有找到。

为什么多智能体系统改变了我们的思路

一张示意图,展示了多智能体的“督导者”(Supervisor)架构,其中包含四个专门化的智能体,以及“守护者”(Guardian)的对抗式监督角色。

单一的 AI 无法同时既是一位共情的倾听者,又是一名临床筛查者,还是一名安全执行者。这一点我们也试过。这些角色彼此冲突——共情需要温暖与开放,筛查需要结构化的追问,而安全执行则需要有意愿去把一切都关停掉。要求一个模型同时承担这三种角色,就像要求同一个人在同一场对话里既当治疗师、又当诊断医师、还当保安。

所以我们把它们拆开了。

我们的系统采用一种“督导者”架构——由一个中央编排器来管理各个专门化的智能体。一个负责建立融洽关系与一般对话。另一个按照 C-SSRS 协议进行结构化的筛查提问。第三个负责查找经过核实的资源——诊所、热线、当地服务。而第四个——“守护者”——什么都不做,只负责盯着另外三个是否出现安全违规。

守护者是刻意对抗性的。它的职责就是唱反调,去寻找其他智能体可能出错的理由,去捕捉那一刻——当共情智能体的温暖正滑向危险的肯定时。当筛查智能体出现幻觉时——而它确实会,因为它终究还是个大语言模型——守护者会拦截其输出,并强制返回协议规定的回应。

我们使用 NVIDIA 的 NeMo Guardrails 工具包来实现这些交互流程,它让我们能够用一种名为 Colang 的建模语言来定义精确的规则。这些规则简单而绝对:如果话题转向自我伤害,就执行危机协议并停止。没有商量余地,没有概率阈值,没有创造性解读。

关于这套架构的完整技术剖析——包括我们如何用 MAESTRO 框架进行威胁建模、以及如何通过 FHIR 标准实现电子健康档案(EHR)集成——我在这里发表了一篇详细的研究论文

无人谈及的监管陷阱

有一件事应该让每一位健康 AI 创始人不寒而栗:“健康类应用”与“医疗器械”之间的界线,比大多数人以为的要细得多,而不小心越过它,对你的公司来说可能是生死攸关的。

美国 FDA 区分“通用健康”(General Wellness)产品——计步器、睡眠追踪器、正念冥想应用——与“作为医疗器械的软件”(Software as a Medical Device,简称 SaMD),后者指任何旨在治疗、诊断或预防疾病的软件。健康类产品享有执法裁量(enforcement discretion)。而医疗器械则要接受严格且昂贵的监管审查。

Tessa 是作为一款健康工具部署的。但当它向已确诊进食障碍的患者给出具体的饮食建议那一刻起,它可以说就已经跨入了 SaMD 的领地——即为一种特定的病理状况提供了临床干预。那就不再是一款健康聊天机器人了,那是一款未经注册的医疗器械。

健康 AI 中最危险的类别不是“不安全”,而是“无意中在行医的健康工具”。

我接触过的大多数健康 AI 初创公司,都在没有意识到的情况下运营在这个灰色地带。他们的聊天机器人从一般的正念练习起步,然后有用户问起自己的药物,而机器人——出于它被训练出来的乐于助人——给出了一个意见。恭喜,你现在成了一款未经注册的二类(Class II)医疗器械。仅 FDA 注册费一项,每年就大约是 $11,423,而临床验证研究的花费可高达数十万美元。但一次 FDA 执法行动的代价——一次召回、一次停业——则是那种足以让公司倒闭的东西。

这正是临床安全防火墙提供另一种价值的地方。通过对系统能讨论和不能讨论的内容强制施加硬性边界,我们让健康工具始终待在健康这条车道里。这道防火墙不仅保护用户免受危险建议的侵害——它还保护公司免受它们自己都不知道的监管风险敞口。

一次幻觉究竟要付出多大代价?

人们总是问我,为一层确定性的安全机制投入这些工程开销,究竟值不值得。这笔账根本不用算。

2024 年,全球归因于 AI 幻觉的损失估计达到了674 亿美元。这不是笔误。整整六百七十四亿美元,花在了运营浪费、诉讼、声誉损害,以及“人在环路中”验证的隐性成本上——员工要人工核查每一条 AI 输出,而这恰恰抵消了当初为部署 AI 所辩护的那些效率提升。

尤其是在医疗健康领域,成本会层层叠加。针对 Character.AI 等平台就 AI 助长的未成年人伤害提起的诉讼,正在树立法律先例。本已昂贵的医疗事故责任保险,在算法错误方面往往存在重大缺口——保单承保的是人为过失,而未必是机器幻觉。部署 AI 分诊工具的医院,要为每一次失败承担替代责任(vicarious liability)。而医疗健康领域的声誉损害几乎是永久性的。NEDA 的品牌或许永远无法完全恢复。

临床安全防火墙把保险公司和监管机构眼中的“黑箱”责任,转化为“白箱”式的可审计性。当每一个决策都被记录下来——风险评分、触发的规则、采取的行动——并存入一条不可篡改的审计追踪时,我们就能精确地证明发生了什么、以及为什么。“安全监控器基于与 C-SSRS 第 4 级相匹配的输入模式触发了第 42 号规则,随后系统执行了预先批准的危机脚本。”这样一句话,对法律辩护而言,比任何数量的提示词工程文档都更有价值。

关于共情与机器的残酷真相

我想以一些非技术性的内容作结,因为这项工作中真正技术性的部分——尽管确实很难——并不是最难的那部分。

最难的部分,是要与这样一个事实共处:数以百万计的人将会向 AI 系统倾诉他们人生中最糟糕的时刻。不是因为他们偏爱机器胜过人类,而是因为人类不够用。心理治疗师的短缺是真实存在的。心理健康服务的等待时间要以月来计。危机热线不堪重负。人们对有一个人——任何人——来倾听的需求,是巨大而且还在不断增长的。

而填补这道缺口的,是一个以完美流畅、却毫无理解的方式说着“我理解”和“我在这里陪着你”的大语言模型。它使用的那些短语,是为最大化用户投入度而校准过的——不是因为它在乎,而是因为听起来充满关怀的词元拥有很高的概率分数。它营造出一种如此令人信服的连接感,以至于脆弱的人会围绕它重构自己的情感生活。

我并不认为答案是把 AI 完全挡在心理健康领域之外。这方面的需求太庞大了,而这项技术只要受到恰当的约束,就能带来真正的益处——大规模地进行筛查、把人们与资源连接起来、在两次治疗之间提供结构化的练习。但这种约束必须是架构性的,而不是仅仅停留在愿景层面的。你无法靠提示词一路通向安全。你无法靠 A/B 测试一路通向临床责任。你必须把系统构建成这样:当它遇到危险时——真实的、人类的、不可逆的危险——它会停止生成,转而开始遵循协议。

共情无法被一个统计模型所模拟。但危险可以被自动化。而对危险的自动化,必须以对安全的自动化来应对。

在 Veriprajna,我们不构建聊天机器人。我们构建的是带有对话式界面的临床分诊系统。这个区别听起来像是在咬文嚼字。但事实上,这正是全部的要点所在。安全不是你往一套架构上附加的某个功能。安全就是 架构本身。而在这个行业接受这一点之前,我们还会一次次读到像莎伦·麦克斯韦那样的证词,并纳闷我们究竟怎么会任由一台机器去告诉一位濒死的女性去数卡路里。

Related Research

Also Published On