苏晓追查算法权重的第一步,是买了三盒便利贴。
唐宁看见她把便利贴一张张贴到晓衡会议室玻璃墙上,忍不住问:“我们不是查算法吗?怎么像准备开手账工作坊?”
苏晓把一张黄色便利贴按平:“查不到源码的时候,就先查它留下的脚印。”
张磊也来了。他本来是来送事故口述材料的,结果一进门看见满墙便利贴,眼睛一亮:“这个我熟。凡哥那边叫证据链,你这边叫便利贴宇宙。”
苏晓递给他一支笔:“既然熟,写。”
张磊立刻严肃:“写什么?”
“把邱大爷事故里所有信号拆出来。”
于是墙上很快出现一排歪歪扭扭但很具体的便利贴。
楼道感应灯故障工单。
楼道扶手维修排期。
三楼邱某夜间下楼看不清。
永安里历史跌倒率低。
河湾新村独居高龄占比高。
维修队资源不足。
人工复核同意。
纸质补录低置信。
附件第三层。
同意执行。
张磊写完最后一张,停了停,又补了一张:有没有人当回事。
苏晓没有拿掉。
她让唐宁把系统导出的日志放到屏幕上。试点组这次开放了部分审计日志,但不是完整模型,只是决策链摘要、信号列表、权重区间和材料展示记录。钟负责人说这已经是为了事故复盘做出的特殊开放。苏晓听完只回了一句:“特殊开放不代表充分开放。”
唐宁把日志按时间展开。
第一个问题很快出现:楼道感应灯故障工单被归入“设施维护类”,权重中等;扶手维修排期归入“养老改善类”,权重中等;邱大爷夜间看不清的纸质补录,被归入“居民主观反馈类”,基础置信度低;历史跌倒率低,被归入“统计风险类”,置信度高;河湾新村独居高龄占比高,被归入“结构风险类”,置信度高。
唐宁皱眉:“统计数据天然比主观反馈权重高。”
苏晓点头:“问题不是统计数据高,而是具体反馈没有被提升。”
张磊问:“啥叫提升?”
唐宁解释:“比如一个人说楼道暗,这可能只是抱怨。但如果同时存在感应灯故障、扶手维修延后、老人夜间出行,这条反馈就不该还按普通抱怨处理。它应该和其他信号互相增强。”
张磊点头:“就是一句‘看不清’单独听像吐槽,放在坏灯和老人身上就是警报。”
苏晓看他:“这句写下来。”
张磊立刻写:吐槽加场景,可能就是警报。
第二个问题在材料展示记录里。复核界面生成摘要时,系统按“置信度、风险等级、历史影响范围”排序。纸质补录因为置信度低、影响范围单人,被排到附件第三层。摘要生成模块没有把它纳入主摘要,因为它不满足“多来源确认”条件。
唐宁冷笑:“所以一个老人说看不清,不算。除非很多老人一起说看不清,系统才觉得黑。”
张磊说:“灯坏了还得凑团购?”
苏晓没有笑。她把“多来源确认”写到白板上,下面画了一条红线。
“公共安全里,有些信号不该等多来源。”她说,“尤其是老人、孩子、残障者和低数字能力人群的具体反馈。弱势群体本来就不容易多来源表达。等到多来源,可能已经出事。”
她继续看日志。第三个问题更隐蔽:系统有一个“服务转移收益”指标。它计算资源从一个项目转到另一个项目后,预计能降低多少综合风险。河湾新村的结构风险更高,转移收益很大。永安里的局部风险因为历史事故率低,被系统认为延后七日影响可控。
唐宁问:“权重里有没有‘近期具体反馈时效’?”
苏晓查了半天,摇头:“有,但权重很低,只用于提升观察等级,不直接改变调度优先级。”
张磊把笔往桌上一放:“也就是说,老人上周说看不清,在系统眼里像评论区留言,不像现场求救。”
“差不多。”苏晓说。
这不是一个单点错误,而是一套偏好。系统喜欢统计、喜欢多来源、喜欢结构性信号、喜欢可验证数据。它不喜欢纸质补录,不喜欢单人反馈,不喜欢主观描述,不喜欢不标准的生活话。可真实风险常常最先以生活话出现。
“我腿不得劲。”
“这灯最近老不亮。”
“晚上看不清。”
“那个台阶我总觉得要绊。”
这些话不漂亮,不像数据,却是事故发生前最早的裂缝。
苏晓让唐宁再查历史样本。过去两个月里,类似“低置信主观反馈 + 设施故障 + 老年居民”的组合出现过十九次。其中十二次被系统归为低到中风险,七次进入人工处理。进入人工处理的七次里,有五次最终确认需要提前维修或上门查看。也就是说,这类信号一旦被人看见,命中率并不低。
唐宁看着结果,骂了一句很轻的脏话。
张磊说:“翻译一下,就是系统嫌它不靠谱,但人一看发现挺靠谱。”
苏晓点头:“这就是权重错配。”
她把十九个样本贴到墙上。每一个样本都很小:一个老人说楼道滑,一个家属说门口坡道不好推轮椅,一个孩子家长说校门口井盖松,一个骑手说某条巷子夜里灯坏。系统大多把这些归为低置信反馈,除非有照片、多人投诉或传感器数据支持,才会升权。
问题是,很多人不会拍照,不会提交规范描述,也不会反复投诉。有人说一次没人理,就不说了。有人以为自己说得不对。有人觉得麻烦。系统看见的是“反馈不足”,现实里可能是“表达困难”。
林凡下午赶到晓衡时,整面玻璃墙已经贴满。苏晓站在墙前,眼睛有点红,但语气很稳。
“我们找到了三层问题。”她说。
第一层,权重偏好统计信号,低估近期单人具体反馈。
第二层,摘要生成偏好高置信材料,把低置信高相关材料埋进附件。
第三层,弱势群体表达困难没有被计入,导致他们的反馈天然低权重。
林凡看着墙上的便利贴,沉默很久。
“能证明和邱大爷事故相关吗?”
“可以证明机制相关。”苏晓说,“不能说如果权重改了就一定不会摔,但可以证明现有权重让那条反馈没有被看见。”
张磊低声说:“这已经够难受了。”
苏晓把一份初步报告发给试点组。标题很直接:《养老改善服务调度中低置信高相关信号被系统性低估的风险说明》。张磊建议把副标题改成《老人说看不清不是空气》,被唐宁驳回,但保留在内部版本。
当晚,星穹和试点组召开技术复盘。钟负责人一开始强调,模型设计遵循一般风险建模原则,低置信单人反馈如果权重过高,可能导致大量误报、资源错配和被恶意利用。
苏晓没有否认:“我理解误报风险。但你们现在的设计,是用避免误报的逻辑处理人身安全前置信号。公共安全场景里,误报成本和漏报成本不一样。”
钟负责人说:“如果每条单人反馈都升权,维修资源会被大量占用。”
唐宁接话:“我们没说每条都升。我们说组合升权。低置信反馈遇到设施故障、老年人、夜间通行、既有改善排期,就必须进入复核摘要。”
林凡补充:“而且升权不等于立即调资源,至少要让复核人看见。”
许既明听完,问了一个问题:“恶意反馈怎么办?”
苏晓说:“记录、抽样、人工确认。不能因为有人可能乱报,就默认具体反馈不重要。”
张磊举手:“这就像不能因为有人装病请假,就把所有说不舒服的人当打工文学。”
顾启明看他:“你怎么每次都能把公共安全讲回打工?”
张磊说:“因为打工人也是公共的一部分。”
会议室里有人笑了一下,气氛稍微松开。
钟负责人提出技术调整方案:新增“低置信高相关”提示标签;当主观反馈与设施故障、弱势群体、夜间或高风险空间重叠时,进入复核摘要;摘要生成不再只按置信度排序,增加“潜在人身风险”权重;纸质补录设置人工质量标注,逐步提高可信度。
苏晓说:“还不够。需要重新审查过去三个月被低估的样本。”
钟负责人皱眉:“工作量很大。”
林桂兰在线上开口:“工作量大,总比人摔了强。”
又是她最朴素的一句话,把所有技术争论按回地面。
许既明最后同意启动专项回溯,但要求范围先限定养老改善和公共通行安全。苏晓没有继续扩大战场。她知道争取到一个范围,比在会上喊完所有正确的话更有用。
会后,苏晓一个人留在晓衡会议室。便利贴墙还在,灯光照着那些小纸片,像一堵由普通人抱怨、提醒、求助和不标准表达组成的墙。她把邱大爷那条“三楼邱某反映夜间下楼看不清”移到最中间,又在旁边贴了一张新的:
低置信,不等于低重要。
林凡站在门口,看她贴完。
“还好吗?”他问。
苏晓说:“我在想,我们总说让系统听人话。但人话在系统里总是置信度低。”
林凡走过去,拿起一张空白便利贴,写:
人话要进主摘要。
苏晓笑了一下:“这句很不正式。”
“内部版本。”
“张磊会喜欢。”
“他已经在群里发了。”
果然,张磊在群里发了一张照片,配文:今日晓衡墙面金句,人话要进主摘要。
林桂兰回复:这句好。别让机器只听会填表的人。
老周回复:信号不是只有传感器才算。
这几句话串在一起,像那段时间真正的结论。
第二天,专项回溯开始。第一批样本里,很快发现另外几个被低估的风险点:一个坡道扶手松动,一个老旧小区门口积水,一个学校附近井盖异响。它们还没有造成事故,但都被系统归为低优先级。整改队伍开始上门核查。
张磊看着回溯清单,说:“这就是事故前的弹幕。以前没人看弹幕,现在终于开了。”
何苗说:“别把所有东西都比成弹幕。”
“那比成什么?”
“生活预警。”
“生活预警没有弹幕有传播性。”
林凡没有管他们斗嘴。他看着清单上那些具体到有点琐碎的描述:灯闪、地滑、扶手晃、井盖响、坡道难推。它们都不像宏大城市治理,也不像高科技信号,却是城市最早发出的轻声提醒。
全域优化要听见城市。
城市不是只用传感器说话。
人也在说。
而那个问题,也因为这次追查变得不可避免。苏晓要求进一步查看权重细节和摘要生成规则,星穹法务部门很快发来回复:相关模型参数与排序逻辑涉及商业机密,无法完全公开。
张磊看到邮件后,冷笑一声:“来了,技术界祖传护身符。”
苏晓把邮件打印出来,放到便利贴墙前。
林凡看着那四个字。
商业机密。
黑箱又换了一件新衣服。