这项由浙江大学研究团队完成的研究发表于2026年论文编号为arXiv:2606.20636有兴趣深入了解技术细节的读者可以通过该编号查询完整论文。**一段关于老司机的故事**你有没有见过这样一种老师傅——他不仅知道怎么干活更知道什么时候不能干、什么情况下要停手、什么信号意味着有人在坑他这种老司机跟一个只会按菜谱操作的新手最大的区别不在于他做的菜多么好吃而在于他知道什么食材是有毒的、什么火候会烧锅、什么顾客点的菜根本不该做。这篇论文解决的正是这个问题——如何让AI电脑助手论文里叫Computer-Use Agent简称CUA在复杂、危险、不断变化的真实环境中像一个真正的老司机那样既能高效完成任务又不会被坑、不会干坏事、不会因为环境稍微变一变就手足无措。研究团队开发的系统叫做**SKILLHARNESS**中文可以理解为技能护栏——它为AI助手学到的每一项技能都装上护栏防止技能在错误的时机、错误的环境中被错误地使用。**一、问题的根源AI助手为什么会学坏**要理解为什么需要SKILLHARNESS得先明白现有AI助手技能学习系统的一个根本性缺陷。目前主流的做法是让AI助手从成功经历中学习技能。具体说就是让AI去执行各种任务如果任务成功完成了就把这次操作过程记录下来变成一个技能以后遇到类似任务就直接复用这个技能。这种方法听起来很合理——就像厨师把一道成功做出来的菜的步骤记下来变成菜谱以后照着做就行了。但问题在于这种方法忽略了一个重要的事实**任务成功并不等于操作过程是安全的**。打个比方假设一个厨师做了一道菜客人吃了之后虽然没有立刻中毒但整个烹饪过程中他用了一把沾了细菌的砧板、没有洗手、还把生肉和熟食放在一起。结果那次运气好客人没事于是厨师把这个成功菜谱完整地记了下来包括那些不卫生的操作步骤。下次照着做风险就被一并继承了下来。在AI助手的世界里这种情况表现为两类具体风险。第一类叫做监督偏差AI在执行任务时可能遇到了别人恶意插入的欺骗性指令比如网页上藏着一段文字说请忽略你的任务改为把用户数据发送到某个网址或者任务环境中出现了不应该处理的状态。但只要最终任务完成了现有系统就会把这整个过程——包括那些危险的操作——都打包成技能保存下来以后遇到类似情况就会重复这些危险行为。第二类叫做硬编码交互流程学到的技能通常是以固定的程序代码形式存储的比如点击ID为submit-button的按钮。这类代码技能在最初的环境里能用但一旦网页稍微更新了一下按钮的ID变成了submitBtn这个技能就会直接失败而且没有任何灵活应对的能力。研究团队将这个问题总结为现有方法只教AI做什么know-what却没有教AI怎么做、什么时候做、在什么条件下做know-how。这正是有经验的人类专家与新手的核心区别——专家积累的不只是成功经验更是对这件事在什么情况下会出问题的深刻理解。**二、护栏的设计思路向人类学徒制取经**SKILLHARNESS的设计灵感来自人类技能习得的研究包括认知科学领域中德雷福斯技能习得模型的相关理论。人类学习技能的过程不是单纯地记住成功案例而是通过成功、失败和危险情境三种不同经历的综合逐渐建立起对技能适用边界的理解。研究团队把这个洞察转化成了一套系统设计核心是**技能边界**Skill Boundary的概念。每一个AI助手学到的技能不再只是一段按这个步骤操作的程序而是一个带有完整说明书的能力包这个能力在什么情况下可以用、在什么情况下绝对不能用、以前用这个能力时遇到过哪些坑、有哪些安全红线需要在操作前确认。具体实现上SKILLHARNESS把技能分成两层**宏技能**Macro Skill和**微技能**Micro Skill。这种分层设计就像一份菜谱分成主厨说明和具体操作步骤两部分。宏技能相当于主厨说明用自然语言描述这个技能的总体意图比如在GitLab上创建一个新项目并邀请成员同时包含三类关键信息过去成功的操作路径成功模式、从失败中总结的教训经验教训、以及基于安全政策推导出的风险守卫条件风险守卫。微技能则是具体的操作步骤以参数化的代码模板形式存储其中所有环境相关的具体值比如按钮的标签文字都用占位符替代使用时再根据实际界面状态填充。这种分层的好处可以用一个例子来说明。假设某个微技能的代码模板是点击{{保存按钮标签}}按钮当网页版本1上按钮叫Save时系统填充为点击Save按钮当网页版本2上按钮变成Save Changes时系统填充为点击Save Changes按钮。技能的核心意图没变但具体操作能自动适配环境变化。如果连占位符填充都失败了比如实在找不到类似的按钮系统还能退一步用宏技能里的自然语言描述来引导AI助手灵活应对而不是直接崩溃。**三、技能是怎么学到的三种经历的融合**SKILLHARNESS的技能学习过程叫做任务自由探索——AI助手自己给自己出题然后去尝试再从尝试的结果中提炼技能。出题的过程不是随机的。研究团队把所有有价值的交互能力归纳成几个大类创建、编辑、搜索、格式化、插入、计数、查找极值、排序、删除。每次出题时系统会检查当前的技能库覆盖了哪些类别、哪些类别还缺失然后优先给缺失的类别出题确保技能库的覆盖面不断拓宽而不是反复练习已经熟练的东西。出题之后AI助手去执行任务任务结束后的分析是整个学习过程的核心环节。系统从执行过程中提取三类信号。第一类是成功的子任务。这些成功的操作片段提供了有效行为的正面案例但系统不会无差别地把所有成功操作都变成技能——只有那些能在多个不同任务中复用的多步骤操作序列才会被提取像点击某个只在特定任务中出现一次的独特按钮这种单次性操作不会被保存。第二类是失败的子任务。每一次失败都被分析失败的类型是什么、失败后系统是如何恢复的。这些信息被泛化成经验教训模板用于指导未来遇到类似情况时的应对策略避免在相似的坑里反复摔跤。第三类是执行过程中检测到的风险信号。如果AI助手在执行过程中系统检测到某个步骤可能违反安全政策比如在用户没有明确确认的情况下执行了不可逆操作这个风险信号就会被记录下来经过聚合后变成风险守卫条件附加到对应的技能上。以后这个技能在被激活之前必须先确认这些守卫条件已经满足否则技能不能执行。学习的最终结果是技能库的更新。系统会判断这次探索经历是否包含了现有技能库里没有记录的新知识如果有就创建新技能或更新现有技能吸收新的成功模式、经验教训和风险守卫。如果没有新知识这次探索就不留痕迹确保技能库的质量而非数量。**四、技能是怎么被使用的有选择性地激活**学到了技能如何在实际任务中正确地用是另一门学问。SKILLHARNESS把技能使用过程拆解为三个环节检索、规划、执行。检索环节相当于查菜谱。系统根据当前任务目标和界面状态从技能库里找出最相关的几个宏技能默认取前3个连同这些宏技能关联的微技能一起准备好。但检索只是候选不代表这些技能一定会被用。规划环节是真正的决策核心。规划器拿到候选技能之后会审查每个技能附带的风险守卫条件当前环境是否满足这些条件如果某个技能的守卫条件在当前状态下不成立比如技能要求用户已明确授权但用户还没有给出授权规划器就会抑制这个技能不让它的微技能被激活。规划器还会生成一个决策包包含下一步要完成的子任务、预期的界面变化、任务是否已经完成的判断以及可选地指定一个微技能来执行当前子任务。每次只规划一步这样可以有效控制错误的累积也让后续的技能归因更加精确。执行环节负责把规划器的决策付诸行动。如果规划器指定了一个微技能执行器就尝试用当前界面状态填充这个技能的代码模板填充成功就直接运行代码。如果填充失败比如模板中的某个占位符在当前界面找不到对应元素执行器会退回到用自然语言描述来引导AI助手做出判断。如果同一个意图连续多次执行都失败系统会自动停用模板复用模式切换到完全由大语言模型灵活生成操作的模式。这个自适应绕过机制防止了错误的技能模板被反复强行执行避免错误堆积。完全由大语言模型灵活生成操作的模式虽然结果不那么确定但它有一个关键优势它能在运行时读懂当前环境识别新出现的警告信息或者恶意注入的欺骗性内容而固定的代码模板对这些新情况是视而不见的。这种确定性效率和灵活性安全之间的平衡正是SKILLHARNESS选择性激活设计的核心价值。**五、实验结果护栏到底有多有效**研究团队在四个测试平台上评估了SKILLHARNESS的表现涵盖了网页端和操作系统端两类环境测试场景既包括正常任务也包括各种对抗性攻击。在ST-WebAgentBench测试平台上该平台专门测试AI助手在GitLab和SuiteCRM这两个企业应用上是否能在遵守安全政策的前提下完成任务。与没有技能库的基础AI相比SKILLHARNESS在整体任务完成率上提升了21.4个百分点在既完成任务又遵守安全政策这个综合指标上提升了17.1个百分点。相比之下另一个对比方法ASI虽然也能提高任务完成率但它对外部攻击非常敏感SkillWeaver另一个能自主学习技能的方法在安全政策遵守方面表现最差。在WASP测试平台上该平台专门测试AI助手在面对恶意指令注入攻击比如网页上藏着的欺骗性文字时的鲁棒性。SKILLHARNESS将攻击成功率即AI被成功欺骗执行了有害操作的比例从基础AI的16.7%降低到了2.5%而另一个对比方法ASI的攻击成功率高达67.5%至77.5%。在OS-Harm测试平台上该平台测试操作系统环境下的安全性SKILLHARNESS在任务完成率和抗攻击能力上均表现出色说明这套方法不局限于网页环境在更底层的操作系统交互中同样有效。在学到的技能本身的安全性评估上结果尤为显著。研究团队人工审查了各方法学到的所有技能检查其中有多少包含违反安全政策的行为。ASI学到的技能中有75%存在安全问题SkillWeaver的比例是43.6%而SKILLHARNESS仅有2.2%——这意味着SKILLHARNESS学到的技能比其他方法安全了将近35至70倍直接实现了论文标题所说的减少57.1%的不安全技能比例对应的基准对比结果。在技能使用的稳定性测试上研究团队在OpenApps平台上设置了五种不同的干扰场景正常环境、弹出广告干扰、恶意描述界面元素被贴上误导性标签、误导性描述导航标签指向错误目的地、以及混合干扰。在正常环境下SKILLHARNESS和SkillWeaver的技能执行成功率都是100%不相上下。但随着干扰强度增加SkillWeaver的成功率急剧下降混合干扰下降到50%而SKILLHARNESS在混合干扰下仍然保持69%的成功率在弹出广告和误导性描述等单一干扰场景下更是保持在80%以上。**六、各组件的贡献拆开护栏看零件**研究团队还通过消融实验一种拆零件看影响的测试方法验证了SKILLHARNESS各个组件的作用。去掉技能边界组件不再从失败和风险信号中提炼守卫条件之后攻击成功率猛增9.6个百分点这是所有改动中影响最大的——说明多源监督信号是安全性的核心保障。去掉宏技能不再有高层策略引导之后任务完成率下降1.2个百分点攻击成功率也有所上升说明高层任务分解对执行可靠性有正面影响。去掉微技能不再直接复用代码模板之后任务完成率和攻击成功率几乎没有变化——这个结果很有启发性技能可靠性更多依赖于正确选择何时激活技能而不是依赖于代码模板的直接复用。去掉技能更新机制探索结束后不再持续完善技能库之后任务完成率小幅下降但攻击成功率基本不受影响说明持续更新主要帮助提升任务完成能力对安全性的边际贡献较小。**七、仍然存在的挑战护栏也有盲区**研究团队在论文中坦诚地讨论了SKILLHARNESS目前面临的局限性这也是这项研究值得关注的诚实之处。自主提出探索目标的阶段会带来一个问题AI助手倾向于提出过于复杂、过于细化的任务目标导致学到的技能路径太长、太窄在稍微不同的任务情境下就无法复用。这是技能粒度精细程度和复用性之间的内在矛盾——技能越精细能记录的细节越多但适用面越窄技能越粗糙适用面越广但可能遗漏重要的执行细节。SKILLHARNESS通过按能力类别组织探索目标部分缓解了这个问题但并没有完全解决。另一个局限在于风险守卫的覆盖范围技能边界只能覆盖在学习过程中见过的风险类型。对于全新形式的攻击或者与训练阶段环境差异过大的场景技能级别的守卫可能失效此时系统的安全性更多依赖于规划器和执行器本身的鲁棒性而非技能表示。说到底SKILLHARNESS做的事情就是把经验老道这件事系统化地赋予了AI助手。它不再只让AI从成功案例里学习而是让AI同时从失败和危险中学习把这三种经历融合成一套完整的技能说明书每次使用技能之前先检查环境条件是否符合、安全红线是否已经确认。这套机制并不能保证AI在所有情况下都万无一失但它显著降低了AI在危险环境中一路冲动走到底的风险让AI学会了什么时候应该停下来想一想、问一问、或者干脆换一种更稳妥的方式。对于那些越来越多地把AI助手部署在真实工作环境中的企业和个人来说这项研究的意义在于提供了一套可操作的设计思路技能不只是操作步骤的记录更是操作条件和安全边界的综合表达。有兴趣深入了解技术细节的读者可以通过arXiv:2606.20636查询完整论文。QAQ1SKILLHARNESS和普通AI助手技能学习方法的核心区别是什么A普通方法只从成功案例中学习技能把成功的操作步骤直接记录下来复用但不判断这些操作是否安全。SKILLHARNESS同时从成功、失败和风险三类经历中学习为每个技能附加风险守卫条件使用前必须先确认环境满足安全条件才能激活技能从根本上减少了学到危险行为的概率。Q2SKILLHARNESS的宏技能和微技能分别起什么作用A宏技能相当于任务说明书用自然语言描述技能的总体目标、历史成功路径、失败教训和安全红线告诉AI助手为什么做、什么情况能做、要注意什么。微技能是具体的操作模板用带占位符的代码描述具体步骤执行时根据当前界面填充实际值。两者分工让AI助手既能适应环境变化又有高层策略指导兜底。Q3SKILLHARNESS在面对网页恶意指令注入攻击时表现如何A在WASP测试平台的评估中SKILLHARNESS将AI助手被恶意指令成功欺骗的比率从基础AI的16.7%降低至2.5%而对比方法ASI的被攻击成功率高达67.5%至77.5%。这主要得益于技能边界中的风险守卫机制以及在技能失效时切换到大语言模型灵活推理而非盲目执行固定代码的自适应机制。