确认对话框是 AI agent 工具箱中最廉价的安全层。它由一个字符串、一个按钮和一个回调函数组成。提议增加这一功能的项目经理在散会时,坚信该 agent 现在是安全的。开发它的工程师用一个下午就把它发布上线了。负责审计的合规检查员勾选了通过选项。而那天早上第七次看到它的用户,在眼睛还没读完标题之前,鼠标就已经移到了“确认”按钮上。
不到一周,确认步骤就不再是一个决策点,而变成了一种节奏。Agent 问:“你确定要发送这封邮件吗?”,用户回答“是”,就像别人打喷嚏时随口回一句“保重”一样自然。终有一天,Agent 会提议一个真正错误的动作——错误的收件人、错误的金额、错误的语气——而用户会带着之前确认那六个正确动作时同样的自动化反应去确认它。邮件发出后,团队写下一份事后分析,称之为“用户操作失误”。
这不是用户错误。这是系统误把“点击”的存在当成了“同意”的存在。
习以为常是用户的特性,而非对话框的 Bug
关于确认提示,首先需要理解的是:习以为常(Habituation)并非注意力的缺失,而是一种成功的适应。用户的脑部遇到了一种每次都以相同形式出现的刺激,且没有任何信息能预示该操作是高风险还是常规操作。于是,脑部根据每一个合理的推论规则正确地学习到:这种刺激不包含任何值得处理的信号。
2015 年,杨百翰大学、匹兹堡大学和 Google 进行的一项 fMRI 研究测量了视觉皮层对重复安全警告的反应,并观察到在第二次接触后反应就急剧下降。到第五次时,从神经学角度来看,警告已完全被视而不见。另一项 2014 年的 SOUPS 研究发现,参与者在不到两秒钟的时间内就会点击跳过 SSL 警告——速度快到点击已经变成了一种运动程序,而非认知活动。另一项研究报告称,当确认对话框的文本在实验中途发生变化时,只有 14% 的用户注意到了。
这些数据指出的并不是用户懒惰。而是这种刺激没有给用户理由去保持关注,而用户的注意力理所当然地转移到了其他地方。对话框的设计初衷是为了让发布的工程师感到安全,而不是为了让与之共存的用户保持敏感。
当 AI agent 在每次工具调用前都弹出相同的通用确认(“你想继续吗?”)时,它也在运行这种相同的习惯化循环,只不过是压缩版的。Agent 的动作比人类更快、更频繁。以前 SaaS 应用的用户每周可能看到两次确认对话框,现在他们的 Agent 每天会弹出二十次。对这些对话框注意力的半衰期是以小时计的,而不是以月计。
是摩擦预算,而非摩擦下限
一种失败的心智模型是将确认视为一张可以笼罩在每个不可逆操作上的统一安全网。真正有效的心智模型是将确认视为一种“摩擦预算”——这是一种有限的资源,你在每个会话中只能在极少数决策上使用它,一旦超过限度,用户就会停止处理其中任何一个决策。
摩擦预算的一个特性是:到处乱花等同于根本没花。如果每个操作都有提示,那么每个提示都会得到相同的反射性点击。真正重要的高风险提示被几十个无关紧要的低风险提示伪装掩盖了。试图通过确认所有操作来“保证安全”的 Agent,实际上将用户的信噪比降到了零。现在它在没有任何确认的情况下运行——仅仅保留了确认的表象。
第一步,在进行任何 UX 工作之前,先针对动作本身建立一个风险等级分类器(Stakes Classifier)。不应基于动作类别——“发送邮件”不是风险等级;“发送包含未签署合同的邮件给法律顾问”才是。也不能依赖静态列表——对于你未能预料到的动作,静态列表总是会出错。风险等级分类器应该能针对每次调用进行评估,从以下维度打分:可逆性(用户能否一键撤销,还是需要打电话?)、爆炸半径(这会影响一条记录、一个团队,还是整个客户群?)以及外部性(结果是否脱离了用户的控制——已发送、已发布、已支付?)。
低于阈值的操作完全不需要确认。Agent 直接执行,由审计日志记录发生的情况。高于阈值的操作才会获得确认,而正因为用户不常看到它,它才值得用户关注。一个每天只看到三次确认的用户,且每次确认都与他想要思考的事情相关,那么他的确认操作依然具有意义。
提示必须呈现不可逆性,而不仅仅是宣告它
第二步是停止询问“你确定吗”,开始展示用户正在承诺执行的内容。一个通用的“你确定要发送这封邮件吗?”是一个答案永远为“是”的问题——因为用户刚刚告诉 Agent 去发送它,而 Agent 现在要求用户重新确认他们已经确认过的事情。这个对话框要求用户批准的是一种意图,而不是审查一个产出物。
一个值得产生摩擦的确认应该展示产出物。邮件本身,包括收件人、主题、正文和任何附件,以收件人将看到的格式渲染出来。转账信息,包括汇款账户、收款账户、金额以及转账后的余额。删除操作,包括记录条数、其中的样本以及对受影响依赖项的说明。用户现在可以进行判断,因为系统已经向他们提交了判断所需的素材。预览就是确认;按钮只是触发器。
这种转变至关重要,因为它改变了用户被要求执行的任务。旧的提示问的是:在某种笼统的意义上,你希望这件事发生吗?新的提示问的是:即将发生的具体事情是否符合你的要求?第一个问题关乎记忆。第二个问题关乎感知。感知很难进入“自动驾驶”模式,因为即使动作相同,产出物每次也都在变化,用户必须实际查看它才能给出回答。
一个有用的副作用:预览也能捕捉到 Agent 的错误。幻觉产生的收件人、错误的账号、引用模型捏造数字的邮件——这些在预览中都是可见的,而在“发送邮件给 3 个人?”这种提示中则无法察觉。确认步骤不再是对用户的行为提醒,而是成为了 Agent 的验证界面。
高风险长尾需要肌肉记忆无法战胜的摩擦力
即使有风险分类器和预览功能,风险分布的长尾部分仍需要更多保护。长尾部分是习惯化成本最高的地方——在那里,一次错误操作的代价相当于成千上万次正确操作——而且统一的确认机制提供的保护最少,因为点击批准常规邮件的动作,正被要求去批准一个不可逆的操作。
这种长尾场景有效的模式是肌肉记忆(运动程序)字面上无法执行的摩擦力。例如,需要键入的确认:用户必须在提交操作前输入接收者姓名、金额或“转账”字样。GitHub 的删除仓库流程让你输入仓库名称,这之所以有效,是因为“点击确认”的肌肉记忆无法复用于“输入仓库名称”。用户被迫进入一种状态:手必须由眼睛引导,而眼睛必须由对话框内容引导。这里没有自动驾驶的路径。
延时激活从另一个方向遵循同样的原理。高风险确认按钮在对话框打开后的三秒内是禁用的。反射性点击的用户会发现没有任何反应;阅读对话框的用户则会发现按钮在他们准备好按下时已经激活。这比键入确认的干预程度更小,但在键入过于激进的场景中(例如用户确实打算点击且仅需要强制停顿的重复性高风险流程)非常奏效。
多态性是第三个工具,主要适用于同一高风险确认反复触发给同一个用户的情况。关于多态安全警告的研究——改变颜色、布局、措辞、按钮位置——表明,在静态警告不再被注意很久之后,它们依然能抓住用户的注意力。对于智能体(Agent)来说,这意味着改变操作细节的高亮方式、改变问题的措辞、改变确认和取消功能的位置。目标不是迷惑用户,而是击败那个想在眼睛读完之前就触发的肌肉记忆。
衡量点击率,而非确认率
多数团队使用的衡量确认 UX 的指标是错误的:即用户的确认率。高确认率看起来像是成功——用户想做某事,智能体询问,用户说好,对话框完成了任务。这是统一安全网的指标,而不是摩擦力预算的指标。
正确的指标是按风险等级拆分的点击率,并将点击耗时作为辅助信号。用户在 300 毫秒内点击低风险操作的确认是完全正确的——该操作低于摩擦力阈值,甚至根本不该触发确认。但在 300 毫秒内点击高风险操作的确认则是完全错误的——团队需要关注这个数字随时间增长的情况(按用户拆分),因为这预示着高风险确认已经因习惯化而混同于低风险确认,安全层因其在常规化方面的“成功”而失效。
当该信号上升时,应对措施不是增加更多确认,而是相反:移除正在训练“自动驾驶”模式的低风险确认,提高风险阈值以减少弹窗频率,并增加剩余弹窗的摩擦力。摩擦力预算应重新平衡:向用户真正需要思考的事情倾斜,远离那些团队为了合规原因而设置的确认。
这种仪表盘大多数团队都没有构建:按风险等级划分的点击耗时直方图,按周、按用户绘制,团队要寻找那些向左漂移进入“自动驾驶”区域的高风险直方图。这是安全层失效的领先指标,它比复盘报告(Postmortem)早几个星期触发。
确认是一种行为干预,而非复选框
架构上的认知是:确认是一种具有半衰期的行为干预。它不是系统的属性,而是用户的状态。系统可以永远弹出同一个对话框,但用户对它的反应会随暴露次数呈指数级衰减。如果一个团队在交付确认流程时没有对这种衰减建模,那么他们构建的就是一场“安全戏剧”,而观众早已背熟了剧本。
做对了这个问题的智能体会将用户的注意力视为有限资源并谨慎使用。它按操作对风险进行分类,只在真正关键时才触发确认。它展示结果物(Artifacts)而不是问抽象问题,让用户是在审查(Reviewing)而不是盲目批准(Ratifying)。它通过键入、计时和多态性来升级高风险长尾的摩擦力,使肌肉记忆无法战胜对话框。它按等级记录点击耗时,以便团队在习惯化造成伤害前察觉。它还接受这样一个事实:低风险确认的正确数量通常是零——一个伴随清晰审计日志和一键撤销的未提示操作,比用户看都不看就点击确认的操作是更好的安全方案。
将确认设计为复选框的团队交付的是一个满足了审计却保护不了任何东西的层面。将其设计为行为干预的团队交付的是一个让用户在数周或数月后看到弹窗时仍会停顿的层面,因为这个弹窗依然值得用户停顿。第一组团队的复盘会归咎于用户。第二组团队的复盘会更短,因为那篇本该写出的事故报告所涉及的操作从未被确认执行。
会员专享
余下内容仅对会员开放。
会员可读完整内容 —— 每一个公开发布的观点背后,那些框架、决策与推理的全貌。
- —完整文章,包含未公开存档的部分
- —可落地的工作框架,附带权衡与决策依据
- —新文章抢先看,先于公开发布
随时取消 · 一次订阅,畅读全部