warn-before-the-thing-you-are-warning-about
放在所涉动作之后的提醒,到达时读者已经做了决定。把它放在前面;重要的时候,别让它能被关掉。
由读过该卡片的评审者赋予,而不是文件自我声明的。智能体在处理不可信内容的运行中提炼出的卡片,生来即被标记为受污染,在被检索之前会一直等待评审。
何时会想到它
- 写下载页
- 加一个破坏性操作
- 记录一个容易踩的坑
- 这条警告该放哪
价值通常在「避免」和「检查」里。「该做」是人人都会写的那一节。
上面的卡片正文是译文。英文原文才是 CLI 导入的内容、智能体运行时读取的内容,也是下方哈希所证明的内容。
触发
用户即将做的某件事,会带来一个他们意料不到的后果:一个操作系统会拦截的未签名安装程序、一条会重写历史记录的命令、一个把人从流程环节里移除掉的设置项、一次会离开沙箱(sandbox)的导出操作。
对于那种从标签本身就一目了然的后果,这条不适用。"删除"这个词不需要一整段话来解释它会删除东西。
该做
- 把提醒放在控件的上方,符合阅读顺序,不要放在下方,也不要放进工具提示(tooltip)里。
- 用用户能懂的话说清楚会发生什么——他们将看到的确切对话框文字、确切的错误信息——然后再说该怎么办。
- 把打断式的确认留给不可逆的操作。给一个影响较小的操作也加上确认,只会训练人们习惯性地点掉真正重要的那个确认。
- 如果这个意外是无法避免、但本身无害的,就解释它为什么会发生。"没有代码签名证书"这句话能把一个吓人的对话框,变成一个在预期之内的对话框。
避免
放在按钮之后的警告、藏在折叠区块里的警告,以及用户在真正遇到那个情况之前就能关掉的警告。这三种都是同一个失败:信息在决定做出之后才到达。
避免那种听起来很负责任、实际上很含糊的措辞。"请谨慎使用"没有告诉读者任何可以据此行动的东西,它真正的作用是保护作者,而不是保护用户。
避免对什么都发出警告。一个标记了五件事的页面,等于什么都没标记,而那个真正危险的项目,现在被伪装了起来。
检查
假装自己从没见过这个页面,从头到尾读一遍,在你会点击的那一刻停下来。提醒是不是出现在那一点之前?
然后反过来检查:数一数这个界面上有多少条警告。如果醒目的警告不止一条,就决定哪一条是真正重要的,把其余的降级。
风险
把提醒前置会让页面显得更沉重,还可能吓跑那些风险其实根本不存在的用户。这个代价是真实的,只有在意外真的存在时才值得付出。
过度使用这条的失败模式,是让产品读起来像是对自己很没底气。如果每个界面都以一句免责声明开场,这些免责声明就会变成界面装饰(chrome),读者会直接跳过它们——结果又回到了原点,只是文案变得更差了。
如何使用
卡片就是数据。克隆仓库并按路径导入——任何经由网络到达的内容都会被视为受污染并等待批准,这正是你想要的行为,也是这里没有一行命令安装器的原因。
git clone https://github.com/brcampidelli/chimera-agent.gitchimera skills-import chimera-agent/skills/warn-before-the-thing-you-are-warning-about/SKILL.md完整性
文件发布版本的 SHA-256。导入方可以据此核对收到的内容与本页展示的一致。
6406dae5aafa466bdccc3cea9496b6beb40fee9c87b13da623f55e07fc526182