Quick Auto Ops(学习后快速自动化操作)
Overview
智能体在执行「先看演示/视频学会一个流程,再被要求自动复现」的任务时,最容易犯的错误是:
每一轮对话都把已完成的步骤又做一遍(重新打开网页、重复点击、重复调用生图/生视频/付费 API),
既拖慢速度,又白白消耗积分。本技能用「一次性固化 runbook + 持久化状态机」把这个问题从根上消除:
学一次,跑多次,且永不重复已完成的步骤、永不二次计费。
When to Use
- 用户提供了视频 / 录屏 / 截图 / SOP,要求「照着做」「自动跑一遍」「把我演示的流程自动化」。
- 任务由多个有序步骤组成,其中部分步骤会消耗积分(生图、生视频、付费接口、长耗时工具)。
- 需要可中断、可续跑、可复用的自动化(不是一次性脚本)。
不适用:纯单步命令、无需状态跟踪的瞬时操作。那种情况直接做即可,不必加载本技能。
Core Principle(永久解法,务必遵守)
> 「已学会的流程只学一次,已完成的步骤只做零次(跳过)。」
> 任何动作执行前,先问自己:这一步在状态机里是不是已经 done?是 → 跳过;否 → 执行并立刻落盘。
Workflow
阶段一:学习并固化(只做一次)
- 从视频 / 截图 / SOP 中提炼出有序步骤清单。每个步骤记录:做什么、对什么对象、怎么验证成功、是否消耗积分、预估消耗多少。
- 把清单写成
runbook.json(格式见references/runbook_template.md)。这一步是「学习」的产出,之后不再重学、不再重看视频。 - 用状态机初始化执行状态:
python scripts/runbook_state.py init --runbook runbook.json --state state.json
阶段二:执行自动化(接到指令后快速跑)
收到自动化指令后,不要重看视频、不要从头解释流程,直接驱动状态机:
next取下一个待办步骤;若返回finished:true,说明全部完成,停止并汇报。- 对该步骤先
begin(状态机会累加尝试次数并做循环检测):
- 若返回already_done:true→ 跳过,绝不重复执行。
- 若返回loop_detected:true→ 立即停手并上报用户,不要继续重试。 - 用合适的工具执行该步骤(浏览器自动化 / shell / API / 生图生视频等)。
- 成功后
done(消耗积分的步骤带--credits记账);失败fail;无需做skip。 - 回到第 1 步。每一步执行后状态已落盘,因此中断后
next会自动从断点续跑。
阶段三:复用 / 续跑
- 同一 runbook 后续再被要求执行时,直接
status+next续跑,不要重新学习。 - 需要重做某步(如用户明确要求换图重生成)时,才用
force-reset --step <id>,且它会自动冲回原记的积分,避免重复计费。
Anti-Loop Rules(铁律)
- 只学一次:runbook 固化后,禁止再次观看/转写/读取原始视频来"回忆"步骤。
- 幂等跳过:
begin返回already_done时,跳过,绝不二次执行。 - 积分保护:标记
credits:true的步骤,除非force-reset,否则只执行一次;总消耗在status中可见。 - 循环熔断:同一动作尝试超过
loop_limit(默认 3)次即判定循环,必须停手上报。 - 明确终止:
next返回finished即结束,不因"再确认一下"而重跑已完成的步骤。 - 落盘优先:任何一步的状态变化(done/fail/skip)必须立即写入 state 文件,不能只存在上下文里。
Resources
scripts/runbook_state.py— 反循环执行状态管理器。所有进度、尝试次数、积分消耗、循环检测都由它持久化。references/runbook_template.md— runbook.json 的字段说明与示例。references/anti_loop_playbook.md— 「重复动作浪费积分」的根因复盘与永久解决方法论(含 BUG vs 不熟悉的判断)。