做生产领域智能安监那阵子,系统一天能吐上千条告警。甲方第一次看演示,问的不是「准不准」,是「这堆告警里,有多少条是人复核过的」。我当时答不上来。
一份清单值钱的地方不在它有多长,在你验证到第几行。
这两周有几件事,让我觉得这个问题终于有了可以量化的答案。
Cloudflare 这个月开源了 security-audit-skill,设计原则里写着一句很硬的话:单次运行只找到重复运行合计发现的漏洞的约一半。
「我没查出问题」是最贵的一句话,因为它听起来像结论,其实只是样本量等于一。
我在安监项目里学到的第一课是:误报和漏报的成本从来不对称,指标本身就在替你做价值判断。那时候为了压漏报,我们把阈值调得很低,结果复核队列爆掉,真正危险的告警反而沉在里面。现在 agent 做审计,是同一个坑换了个位置:产出变便宜了,复核的队列一点没变短。
所以规矩得改一条。凡是 agent 批量产出的清单,对外只报两个数的比值,不报总数。漏洞清单、评审意见、测试用例、迁移建议,都一样。
生成变便宜之后,真正变贵的是「我敢不敢信」这一下。
我自己这条日报流水线也一样:每天几十条候选,进正文的不到十条,剩下的进选题库。不是它们不重要,是我还没验完。
Utah 这个月成了美国第一个允许 AI 在无医生事前审核下开初始处方的州,范围缩到痤疮外用药。真正值得抄的不是「AI 能开药」,是它进下一阶段的门禁:满四周、满一百例、与医生一致率不低于 95%、无遗漏的安全停止、无严重不良事件,五条同时满足才行。
能数出来的才算门禁,数不出来的只是措辞。
我见过太多团队写的上线条件是「观察一段时间,没问题就放量」。这不是门禁,这是把判断推迟到出事那天。Utah 那五条之所以成立,是因为安全停止本身是可计数的事件:先有埋点,才有门禁。
还有一处细节更值得学。进入第三阶段后,人工复核降到每月抽查一成,但每一次不良事件和升级仍然百分之百人工看。
放量时递减的是例行复核,不是异常复核。
我在国网体系里做过项目,审批门这东西最怕的不是严,是含糊。变更单上写「风险评估通过」,和写「三类风险各有一份测试报告、编号可查」,走的是两条完全不同的路。
靠人背书的门是人治,靠记录放行的门才是工程。
强监管行业看起来慢,有一部分慢得有道理:它把「谁签的字」换成了「留下了什么记录」。agent 要进生产,现在缺的正是这一步。
一、给清单加一个字段:已验证条数 / 总条数。 不花预算,改的是报表口径。只报总数,等于把未验证的部分默认算成了已验证。
二、把「跑几次」写进验收标准。 Cloudflare 那个数字(单次约一半)说明召回随次数增长,一次不收敛。设一个 N,写进流程,别让「跑过了」冒充「查清了」。
三、给每条判定路径记一个回落率。 OpenAI 10 月 6 日上线了 Decisions API,输出 token 不计费,看着是省钱的;但按官方定价粗算,判定之后若还有超过约六分之一的请求要回落到通用生成,总成本反而更高。省钱的不是那个便宜的端点,是回落得够少的那条路径。