Skill Recorder:把一次真实操作沉淀成可审查的 Agent 工作流
从操作示范、任务抽象、权限边界到定时自动化,拆解如何把重复劳动转化为可编辑、可验证的 Skills。

重复操作往往不是因为任务困难,而是因为流程只存在于人的记忆里:打开页面、筛选信息、复制到表格、补充说明、发出结果。若把这些动作直接照抄为脚本,页面变化、数据量增加和异常条件很快就会让脚本失效。更有价值的路径,是先从人的示范中提取任务目标、判断条件和可调用工具,再将它们整理成可审查的 Skill。

microsoft/skill-recorder 聚焦的正是这一步:记录一次真实操作和必要的口头判断,分析后形成可以修改、复用并交给 Agent 调用的工作说明。它不是鼠标轨迹回放器,而是尝试把行为背后的目标转成可泛化的执行步骤。

一、重复操作的难点不在点击,而在判断

很多日常流程包含隐含判断:先看哪些任务尚未处理,只保留符合条件的数据,发送前再核对结果。若只保存坐标和点击顺序,流程一旦遇到不同页面、不同数据量或不同窗口布局,就容易失效。能够复用的自动化需要表达“为什么做这一步”,而不仅是“当时点了哪里”。

示范式记录让操作者在执行时补充判断依据,后续分析再将画面、窗口切换、页面访问与说明组合起来。得到的产物更接近任务说明书:目标是什么,输入在哪里,条件如何判断,结果写向何处,哪些环节需要确认。

二、记录阶段应保留必要信息,而非无差别采集

一次录制可以覆盖应用打开、窗口切换、页面访问和少量剪贴板预览,同时允许补充文字或语音说明。高质量示范的原则是只做目标流程,不夹杂无关浏览、私人对话和临时试错;必要判断应说清筛选条件、例外情况和完成标准。

录制并不等于安全。窗口标题、地址、剪贴板和屏幕内容都可能包含敏感信息。开始前应关闭密码管理器、密钥页面、客户资料和内部文档,并确认剪贴板没有遗留令牌或隐私数据。能在本地完成的捕获应保留在本地,后续分析前再明确哪些材料会被发送。

三、分析结果必须先被人审阅

分析阶段的目标是归纳任务和步骤,而非直接授权执行。操作者应先检查生成结果:任务目标是否被正确理解,条件是否遗漏,是否混入无关动作,外部写入是否被标出。错误的步骤可以修改,偶发的操作可以删除,无法解释的结论应退回重新示范。

这一步是从“记录行为”走向“形成能力”的分界线。人类示范常带有临时习惯和环境噪声,只有经过审阅的流程才值得沉淀。对于会影响文件、消息、表单或外部系统的步骤,审阅者还应明确前置条件、失败处理和回滚方式。

四、可复用 Skill 要抽象目标,而不是复刻轨迹

网页操作的价值在于可以被更稳定的工具调用替代。例如,查看代码托管平台的待处理问题、回复评论和添加标签,可以被整理为读取问题、创建评论和修改标签等语义动作。这样,后续任务不必重复打开页面和点击固定位置,也能适应新的问题编号和数据数量。

抽象后仍需验证工具契约:Agent 是否真的拥有对应的命令、API 和权限,参数含义是否一致,读操作与写操作是否被区分。不同 Agent 的工具名、认证方式和执行模型并不相同,Skill 不能未经检查就跨环境复制。

五、泛化能力来自数据结构,而不是一次示范

以价格记录为例,一次示范可能只处理一条数据,但成熟的步骤应描述“读取页面上的所有目标条目、提取价格字段、写入表格的指定列”,而不是绑定某个具体位置。这样页面出现多条数据时,任务仍能按相同规则扩展。

泛化也需要边界。页面结构变化、字段缺失、单位异常、重复数据和网络失败都应有明确处理策略。最稳妥的第一版只处理可识别的正常情况,把异常输出为待人工确认清单;在积累真实失败样本后,再逐步扩展规则。

六、Skill 与定时自动化是两种不同责任

Skill 通常由人主动调用,适合需要即时判断的工作;定时或条件触发的自动化则会在无人操作时运行,适合每日汇总、例行检查和提醒。后者的影响范围更大,因此必须额外设计运行时机、失败通知、幂等性和人工暂停开关。

若录制过程没有包含运行时间,系统给出的时间安排应被视为建议,而不是默认授权。任何对外发送、批量写入或可能产生费用的自动化,都应在启用前由负责人确认,并在初期保留人工复核。

七、读写边界要在发布前显式标注

读取资料、筛选数据和计算结果通常不改变外部状态;发送消息、修改文件、提交表单和更新标签则会产生可见影响。把这两类动作混在一起,是自动化事故最常见的来源之一。每项写操作都应单独显示目标、参数、预期结果和撤销路径。

实际执行时应采用最小权限:只给当前流程所需的仓库、文档或表格访问范围;为高影响动作增加二次确认;为批量写入设置上限和预览。日志要能回答谁在何时以何种权限做了什么,而不仅是“任务运行成功”。

八、适用场景取决于是否存在可调用接口

网页、表格、邮件、日历和开发工具通常拥有命令、API 或 Agent 工具,因此更适合从示范中转成可靠的 Skill。相比之下,纯图形界面、封闭软件或依赖实时视觉判断的环境,往往缺少稳定的执行接口;即使能够总结步骤,也未必能安全完成执行。

尤其要避免把这类能力误用于违反服务规则的自动控制。技术上可记录某些界面,不等于可以绕过平台限制或模拟人类行为。评估时应同时检查目标系统的条款、账号风险和可用接口,而不是只看能否识别屏幕内容。

九、隐私与数据流向必须先于效率

屏幕捕获、地址片段、剪贴板预览、语音说明和提取图像一旦进入云端分析,就可能构成敏感数据外发。组织应为录制定义禁止内容清单,配置脱敏规则,并在分析前让操作者清楚知道数据会被何种服务处理、保存多久、谁可以访问。

对于客户资料、内部财务、身份信息和密钥,默认策略应是排除而不是事后清理。若业务确实需要处理敏感内容,应优先寻找隔离环境、私有部署或经过审批的数据通道,并保留审计记录。

十、落地方法:从一项低风险流程验证

开始时选择一项可观察、可回滚、影响范围小的流程,例如把公开页面的固定字段整理到草稿表格,或生成待处理事项摘要。先由人完整示范并审阅生成的 Skill,再在少量真实样本上比较人工和自动结果,记录准确率、耗时、异常和人工接管次数。

当流程连续稳定后,再增加条件触发、更多数据量和受控写入。每次扩展都应重新检查权限、失败通知、成本和数据边界。示范可以缩短把经验转成能力的时间,但可靠运行仍依赖清晰的约束、验证和负责人。

十一、为生成的 Skill 写一组验收样本

一份 Skill 在进入日常使用前,应至少用正常、空值、重复值、字段缺失和权限不足等样本测试。验收结果不应停留在“运行成功”,而要核对目标数据是否读取完整、筛选规则是否正确、写入位置是否准确、异常是否被明确报告。对于包含写操作的流程,先使用草稿目标或测试账号,确认无误后再接入真实系统。

测试也能暴露示范中的隐含假设。例如某一步是否依赖固定页面顺序,是否默认数据只有一条,是否把临时命名当成恒定规则。把这些假设写成前置条件或显式分支,Skill 才能从个人习惯变成可交接的团队资产。

十二、工作流需要版本和变更管理

页面、API、表格字段和业务规则都会变化,因此生成后的 Skill 不应被视为一次性产物。每次修改应记录版本、修改原因、适用环境和验证证据;重要变更需要小范围灰度运行,出现异常时能够快速回到上一稳定版本。把工作流放入版本控制,也方便团队审查权限与逻辑差异。

维护责任同样需要明确。谁负责检查上游接口变化,谁接收失败通知,谁有权批准新的写操作,谁负责定期复核数据留存,必须在自动化启用前写清楚。缺少责任人的流程往往不是自动化,而是被延迟发现的风险。

十三、用业务结果衡量是否值得自动化

自动化的价值不是录制次数,而是可量化地减少了什么:人工处理时间、遗漏率、等待时间、重复录入或响应延迟。还要统计新增成本,例如模型调用、运行环境、维护、审阅和异常处理。只有把收益和代价放在同一张表里,才能决定应当扩大、保持还是停止一条流程。

最好的长期状态不是完全去掉人,而是让人从机械搬运转向规则设计、异常判断和结果负责。Skill 将经验转成可调用单元,负责人继续用真实反馈修正它,两者形成的闭环才会随时间变得更可靠。

十四、结论:把经验沉淀为可审查的工作单元

从真实操作中生成 Skill 的价值,不是把每一次点击机械复制,而是把目标、判断、工具和责任组织成可编辑的工作单元。好的自动化应能说明它准备做什么、为什么这样做、哪些动作会改变外部状态,以及出现异常时如何停止。以低风险流程开始、审阅每次抽象、保留人为批准,才能让重复劳动真正转化为长期可控的效率。