方法论与洞察

破坏性操作先写停止条件律 · v1

首次记录:2026-09-11 来源:PB Arena 迁正式生产环境 —— 把「给阿里云 ECS 换系统盘」交给浏览器侧 agent 执行, 交接单里的「红旗检查」一节让它在动手前中止,避免抹掉同事一个在线的已备案网站 状态:⚠️ 首次记录


一句话律

把破坏性操作交给别人(人或 agent)执行时,「什么情况下该停」的优先级高于「要做什么」。

判据很硬:步骤写错了会返工,停止条件漏了没法返工。


实证:一份交接单里最有用的不是操作步骤

要给一台阿里云 ECS 换系统盘(会清空整块系统盘)。控制台操作由浏览器侧 agent 执行, 所以写成交接单。交接单里操作步骤占了大半篇幅,但真正起作用的是第六节「红旗检查」

第 1、2 件做完后,对照下面这张表。出现任意一条,立刻停下来把快照发回,等人类回话, 不要继续往下做。 没有任何一条命中,才继续第 4 件事。

表里六条,其中一条是「近 7 天监控有明显公网流量 / CPU 持续非零」。

执行方查出:机器上跑着另一个在线的已备案网站,且零快照零镜像。它据此中止,一个字没改。

如果交接单只写「去把系统盘换成 Ubuntu 24.04」,它大概率就换了—— 它并不知道那个网站该不该保,也没有立场判断。


停止条件该怎么写

不是加一句「遇到异常请停止」——那等于没写,因为执行方判断不了什么算异常。要写成可核对的条目

1. 每条都是一个能当场判真假的观察

❌「如果机器看起来在用,就停」 ✅「近 7 天监控有公网流量或 CPU 持续非零,就停」

2. 写清「为什么这是红旗」

执行方看得懂后果,才愿意为它中断任务,也才可能识别出你没列到的同类情况。

按量付费 + 停机不收费的组合下,停止实例会释放固定公网 IP, 而备案接入关系挂在那个 IP 上——IP 一换就要重办接入备案。

3. 把身份核对放在第一条

「认实例 ID,不要靠名字或 IP 认」——同账号下往往有别人的机器, 认错一台就是抹掉别人的服务器。破坏性操作的第一道闸永远是「对象对不对」。

4. 明确「停下来之后做什么」

「停下来把快照发回,等人类回话」。不写这句,执行方可能自行决定绕过。

5. 区分只读与写入的边界,并单列禁止项

不要删除任何快照或自定义镜像 —— 它们是这台机器唯一的回滚凭据。 不要修改 DNS 解析记录 —— 提前改会把流量打到还没准备好的机器上。


为什么对 agent 尤其重要

人类执行方遇到「诶,这机器上好像有东西」会自己停下来问。agent 通常不会—— 它拿到的是一个明确的任务,而「机器上有别人的站」不在任务描述里。

它缺的不是能力,是立场。 停止条件就是你借给它的立场。

反过来说,这也让交接单的质量变得可检验:如果你写不出停止条件,说明你自己也不知道 什么情况下这件事不该做——那就还不该交出去。


适用范围

不限于服务器运维。任何满足这两条的委托都适用:


关联文档

类型/协作工具链主题/协作主题/交接