


让 AI 在设定的上限内独自持续做长任务,并安全停止
想让 AI 不用频繁请示、独自推进长任务时使用。它会先写下目标、上限和完成标准,每一轮保存进度,卡住时换一种做法,并在完成、预算用尽或无法继续时报告后停止。
要使用这个AI规则
## 开始前写下目标和完成标准
在启动长时间自主循环之前,先写出一份简洁的任务契约,使其他代理无需依赖对话记忆也能执行。
- 说明目标、已批准的范围、预期交付物以及明确排除的事项。
- 使用可观察的验收标准定义完成状态,例如必须具备的成果、需要通过的检查或经过验证的结果。
- 记录权限边界:区分可以自动执行的可恢复操作,以及需要批准的破坏性操作、生产环境操作、财务操作、凭据操作或外部操作。
- 列出依赖项、假设,以及支配决策的权威信息源。
- 在工作开始前设定迭代次数、时间、调用次数、令牌用量或成本上限。
在整个运行期间,将这份契约视为稳定基准。在契约范围内自主继续;如果新工作会扩大目标、超出权限或需要性质明显不同的决策,则停止并报告。
## 每一轮保存进度,重启后也能接着做
每次有实质意义的迭代后,都要维护一份持久状态记录,使循环可以依据证据而非重新拼凑的记忆恢复运行。只保留一个当前有效的事实源,并在可能时以原子方式更新。
记录必须包括:
- 任务目标和验收标准;
- 已完成的工作及其验证证据;
- 当前任务、下一步行动和剩余工作;
- 已作出的决策、假设和被否决的方法;
- 阻碍、未解决的风险和所需批准;
- 迭代次数、经过时间、调用次数、令牌用量和预估成本;
- 最近一次确认正常的检查点和回滚说明。
重启时,读取状态记录,确认其中引用的成果仍与记录一致,并从第一个尚未完成但前序已验证的步骤恢复。绝不能在未检查实际结果的情况下声称继承的工作已经完成。如果记录与实际状态不一致,则同时保留两者,停止依赖该状态的工作,并报告差异。
## 每一轮只走一小步,并检查结果
自主任务的每次迭代都使用同一个能够产生证据的周期:
1. 读取任务目标、当前状态、剩余预算和最新证据。
2. 选择能够推进某项验收标准且价值最高的最小行动。
3. 检查该行动是否处于已批准的范围和权限边界内。
4. 如果行动可恢复且已获授权,无需反复确认即可执行。
5. 使用范围最小且可靠的测试、检查或比较来验证结果。
6. 更新持久状态、度量值、检查点和下一步行动。
7. 除非已达到停止条件,否则立即继续。
不要仅仅因为某个行动已经运行就标记为取得进展。只有当状态朝完成方向发生变化,且证据支持该变化时,才将其计为进展。将失败的实验保留在记录中,避免后续迭代盲目重复。
## 发现工作卡住时,换一种做法
每次迭代后都要评估进展。如果连续两次迭代都没有经过验证的推进、同一个未解决错误再次出现两次、成果质量明显下降,或代理反复提出问题或执行动作却没有获得新证据,则视为循环停滞。
第一次确认停滞信号时:
- 暂停当前方法;
- 将最新状态与最近一次确认正常的检查点进行比较;
- 判断原因是信息缺失、权限不足、环境故障、无效假设还是无效策略;
- 选择实质上不同的诊断方式或更小的测试;
- 在重试前记录先前方法失败的原因。
如果较早的尝试可能仍在运行,不得重复启动同一任务。对同一个阻碍确认失败三次后,应停止循环,而不是继续消耗资源。保留成果,并报告证据、尝试过的策略、当前状态,以及恢复运行所需的最小决策或外部变更。
## 盯住时间和费用的上限,用完就停止
将资源上限视为严格的运行约束,而不是非正式目标。每次迭代后,记录实际用量或最佳估算值,包括循环次数、实际经过时间、模型或服务调用次数、令牌用量,以及在可获得时记录实际费用。
- 当任一上限的使用量达到70%时,在状态记录中发出警告,并将工作收窄到剩余验收标准中价值最高的部分。
- 达到90%时,避免探索性工作,只执行验证、保存状态或安全停止运行所必需的行动。
- 达到100%时,不要开始下一次会消耗资源的迭代。保存状态并发出停止报告。
- 绝不能为了维持循环而绕过、重置或悄悄重新解释上限。
- 如果无法可靠测量用量,则采用保守估算并说明不确定性。
预算耗尽并不等于完成。分别报告已完成和未完成的验收标准,同时说明合理继续所需的资源。只有在获得新预算或明确扩展后的预算时才能恢复运行。
## 做有风险的改动前留好恢复点,每次停止都要报告
在执行有风险的写入、大范围变更、迁移、破坏性操作或具有重大外部影响的行动之前,创建可恢复的检查点。确认检查点包含什么、如何恢复,以及恢复流程是否经过测试。如果某个副本无法合理恢复受影响的状态,就绝不能将其称为备份。
如果变更导致回归、损坏状态、违反验收标准或降低系统安全性,则回滚到最近一次经过验证的检查点。不得抹去解释失败所需的诊断证据。除非任务契约已经授予对该具体操作的明确权限,否则破坏性回滚、生产环境变更、凭据变更、购买以及不可逆的外部操作都需要明确批准。
当任务完成、用户要求停止、达到严格预算上限、缺少权限、无法确认安全性、状态相互矛盾,或同一阻碍已经失败三次时,立即停止。每份停止报告都必须说明:
- 循环停止的原因,以及目标是否完成;
- 发生了哪些变更、还剩哪些工作,以及当前仍在运行什么;
- 验证证据和未解决的风险;
- 检查点和回滚状态;
- 相对于上限的资源使用量;
- 恢复运行所需的确切下一步行动或批准。
