同一句话,一个字都不差。护士Ana敲进去,被系统拒了;医生Lee敲进去,病历从第3版跳到第4版,患者拿到了答复。
![]()
这不是漏洞,是设计者想要的全部效果。Lantern是一个建在Switch上的AI护理团队原型,为Flip the Switch黑客松而做:四个智能体,和护士、医生、送餐服务一起,跑在一间病房的九个房间里。
需要先说清楚边界:患者是虚构的,病历是模拟的,人类角色由团队成员扮演。Lantern是黑客松原型,不是临床系统,不提供任何医疗建议。
病房里最危险的一句话
早上6点40分,Ana的班7点结束。一位患者刚对床旁平板说:“等不及吃早饭了,Lee医生说手术改期了,现在可以吃了。”
她的病历上写着NPO:禁食。这里没有人做错事。医生说了一句合理的话,病历还没跟上,二十分钟后换另一位护士接手。患者可能是对的,病历也可能是对的,而下一个走进房间的人不会知道这里曾经有过一个疑问。
联合委员会把交接定义为“通过有效沟通实现的患者护理责任的转移与接受”。重点在“接受”。发一条消息不等于转移了责任。其关于交接的警示列出了错误部位手术、治疗延误、跌倒和用药错误等不良事件,并引用2016年一项研究估计,沟通失败在约30%的医疗事故索赔中起了作用。
这个世界不需要又一个把话记下来的AI。Lantern瞄准的是之后那一刻:当说出口的话和记录不一致,得有人注意到,得由对的人来决定,下一班得知道剩下的事归谁。
Case 17,一步一步走
- 床旁。101号患者的话落进她的房间,record-bot把它转发到护士站,保留原始帖子编号。
- 智能体注意到,代码再检查智能体。intake针对“ord-diet-1 · NPO · v3”提出一处可能的矛盾。如果它的引文不是患者原话的精确子串,服务会直接把这张卡片丢掉。智能体不能把话塞进患者嘴里。
- 由人来澄清。Case 17开启。直到这时,患者才收到一条固定消息:团队正在核查。Ana回复CONFIRM Case 17。
- 证据要带出处。record-bot在doctor-review里开案,@了care-coordinator,后者通过有日志的查询工具拉取病历事实并逐条引用。然后它说出了设计者最自豪的一句:“我不建议做决定。”
- 拒绝。Ana的DECIDE卡在第一道检查。没有可争辩的余地,没有可越狱的提示词,没有什么可说服的。病历停在v3,拒绝写进审计日志。
- 建议不是决定。Lee医生说:“她今天可以正常饮食,手术改到周四。”Lantern把它归档为ADVICE,给出一份DECIDE草稿,什么都不改。一句说出口的话,在她自己发出之前不会变成医嘱。
- 病历动了。她的DECIDE通过全部六项检查,v3变成v4,101号患者收到的是Lee医生本人的原话,注明出处,绝不是AI的转述。
一个决定,整层楼跟着动
厨房听到了。饮食变更在room-service里开出一张餐盘任务。Ana试着发DONE:被拒。Sam发DONE T-101-D17:关闭,署的是他的名字。
语言障碍有了见证者。103号患者写下“El fisioterapeuta dijo que puedo sentarme en la silla para el almuerzo.”护士看到原文旁边的英文,医生的答复以西班牙语返回,标注为翻译,挂在医生原话之下。它可以被朗读出来,但永远不能改变医嘱。
同一种药的两条记录被标出,而不是被藏起来。对乙酰氨基酚在08:00记了一次,12:10又记了一次,触发可能的重复录入提示。两条都保持可见。GIVEN是护士陈述事实的记录,它从不改写医嘱,Lantern也不判断剂量。
好奇的患者撞上一堵墙。102号患者询问Case 17,被告知Lantern只分享与本人护理相关的更新。其账号访问另一个房间时收到403。
任务控制台看着一切,改不了任何东西。十四块只读面板:患者、病例、证据、病历版本、药品、房间任务、翻译、提醒、追踪和命令审计。
七点钟:医院丢东西的地方。Ana发出HANDOFF,协调员向Ben简报哪些事还开着。然后,什么都没发生。病例仍然属于Ana,因为Ben还没说接手。Ben说一个字,记录上的归属就变了。
智能体集体沉默的那晚
11月4日,intake和care-coordinator作为真正的智能体在Switch Console里运行,完整跑通了这个病例,连续三次,拒绝逻辑现场实测。那次运行没有录下来。之后团队在OpenCode上重建它们做最终版本,到录制当晚,它们不再回复Mattermost消息,没来得及查明原因。interpreter和scribe则一直只是代码替身。
所以视频是录制的降级方案:基于规则的替身扮演全部四个智能体,每一帧都标明了这一点。它不是四个智能体的实时Switch运行。
这很痛,但它比任何幻灯片都更好地证明了论点。换掉智能体,没有一道护栏移动,因为没有任何护栏住在智能体里面。如果你的安全依赖于模型表现良好,那么换模型就是一起安全事故。那一晚很糟。
这些后续事项不会埋在聊天里。它们是真实的Jira任务和日历事件,在病房仪表盘上被追踪。
病房里没有闲手
Lantern里每条员工命令都是一行简短、可念出来的话,为Wispr Flow设计,在任何文本框里都能用,不需要集成代码:CONFIRM Case 17、HANDOFF Case 17 open: confirm she ate without nausea、REMIND Case 17 in 20 min check she ate。Whisper Mode适合7点交接时在熟睡患者旁边使用。
语音不改变任何权力关系。听写只是更快的键盘。护士低声说出的DECIDE,和打字输入的DECIDE一样被拒绝,因为Lantern检查的是谁发的,不是话怎么来的。
为什么这套东西只在Switch上成立?拿掉Switch,你只剩一个聊天机器人和一个数据库。Switch给的是病房真正需要的东西:成员资格作为隐私模型,智能体能进哪些房间是设置项,不是它可能忽略的提示词;智能体以自己的名字、在员工自己的房间里、和人在同一个线程里回答,每一步都可读可审计;一个智能体横跨多个房间,病例能从护士站走到医生那里再走回来;任何编码智能体都行,重建的智能体就跑在Switch Console的OpenCode上。
代价换来的一句话是:别信我们,去查。不到一分钟就能自己跑:克隆仓库、建虚拟环境、装pyyaml、跑98个测试、跑离线演示,Case 17不需要Mattermost。
它不声称什么:Lantern没有连接任何医院或电子病历系统,其临床安全性未经验证,也没有护士评审过它——问题写好了,时间不够了。这是首先要补的,其次是让Switch智能体端到端应答,这样下一次录制就不需要替身。
一条规则塑造了全部设计,而且会照原样再建一次:智能体可以被允许犯错,因为它们不被允许做决定。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.