automate-it
用途
automate-it 用于把已经反复手动执行的任务,迁移成运行在云端的 GitHub Copilot Automation:由事件触发、无需人工守候。技能定位是把人从“执行者”和“更新循环”中解放出来,变成“审批者”。
适用时机
资料给出的适用条件包括:同一任务形态在会话历史中出现 3 次以上;本地会话自动化或自唤醒为同一任务触发 5 次以上(即轮询可由事件替代);用户明确要求自动化、定时或“每次 X 都执行这个”。
不适用情形:一次性任务或无明确可检查结果的任务;每次运行都需要人工判断的任务(可自动化证据收集,判断留给人类);从未手工做过的任务(应先手工执行至少一次,纠正过程成为契约)。
主要步骤
- 命名结果与指标:用一句话定义“完成”,并给出带分母的指标;没有分母就拒绝继续。时长不是完成条件。
- 挖掘历史运行:找出最近 5–20 次手动或本地模板执行,提取决策规则、实际动作和用户纠正,每条纠正变成编号的契约规则。
- 选择触发器:优先事件而非轮询,可加间隔扫描兜底;每个 PR 和 issue 触发器加查询过滤;排除自动化自身身份产生的事件及自身推送的 head SHA。
- 推导最小工具集:只读工具可直接保留,每个写工具需对应一个允许动作;不要把 update_automation 授予执行者或改进者。
- 编写提示词:PARAMETERS 块加稳定 CONTRACT;每次运行以唯一结果(ACTED、NOOP、BLOCKED)结束并写一条运行记录。
- 定义静默退出:说明何时不发布任何内容;沉默为默认,NOOP 是成功运行。
- 预检(只读):确认自动化工具可用(Copilot CLI 需以 copilot --enable-all-github-mcp-tools 重启);检查仓库自动化配置、同名同触发器自动化和触发器/工具 ID 是否存在。
- 以暂停状态创建:disabled: true;非必要不扩大写范围;公共仓库要求写权限;启用 copilot 触发器需确认任务可安全循环。
- 验证:用 get_automation 核对触发器、工具、模型、写范围和 disabled 状态,与规格逐项比对;工具和触发器编辑会替换整个列表,须重新提交完整列表。
- 用 3 条历史项干跑:一条应 ACT、一条应 NOOP、一条边界情况,向用户展示三条记录。
- 批准后启用:附上干跑记录一次性询问,然后 disabled: false 并切到 act 模式。
- 配一个改进型兄弟自动化:基于 automations/improver 创建,同样暂停。
- 信任前先资格验证:在约定窗口内产生真实输出并持续从事件接活,且停止本地同类任务以免竞争。
- 交接:报告自动化 id、修订号、模型档位及原因、暂停方式、记录位置和指标基线。
可调参数(Dials)
资料列出触发器广度、查询过滤、唤醒过滤、模型档位(标准档;高级档每次调用约贵 15 倍)、写范围、自主级别、每次运行写次数、证据预算、API 预算、allow_copilot_triggers、所有权、改进者权限(仅提议)和推出路径等可调项。工具列表是执行约束,PARAMETERS 表达意图;低于 L3 时合并工具根本不在列表中。
输出物
暂停状态的自动化(id、修订 1)且定义与规格一致;保存在仓库中的 PARAMETERS + CONTRACT 提示词文件;三条干跑记录与指标基线;一个暂停的改进型兄弟自动化。
自反馈循环
指标为每次有用输出的成本、活跃比(工具活跃分钟/墙钟分钟,低于 0.3 说明运行空转)和自回声率(目标为 0)。7 天时检查运行数/可用事件、BLOCKED 原因、被误判为失败的 no-op、从未使用的写工具。每次变更形成带日期的新修订并附一个原因。
可预防的失败模式
只读审查机器人却持有创建 PR 和改 issue 状态的工具;把 no-op 报告为失败;无草稿过滤的 per-push 触发器放大成本;已知提示词缺陷因人工是唯一更新循环而运行数天;静默运行但无任何可测数据;添加一个工具却误删其余工具。
背景数据
资料称代码审查在 6 个仓库以本地模板运行约 3.3k 轮后变为 2 个云自动化,并被评分约 230 次;只读审查自动化曾持有 46–49 个工具,而允许动作实际约需 8 个;审查自动化两个月内手工修订 7 次;某 issue 复现自动化在已知缺陷下多运行 5 天。
限制与未提供信息
该技能依赖 GitHub Copilot Automation 工具可用;Copilot CLI 默认隐藏这些工具,需以指定参数重启。资料未提供具体价格、收费方案或支持平台范围,这些内容暂未提供。