SOTA Sync
全部文章
工具与行动2026-11-10

权限边界写在 SKILL.md 里

多 agent 系统通常只规定工具和沙箱,不规定每个子任务需要哪些文件。这篇论文发现 Agent Skills 的流程描述本身就是权限标注:从 Skills 合成任务、子 agent 真实执行、用验证过的轨迹训练,工具权限精度提升 13.4 个点。

多 agent 系统里有个长期没解决的问题:把任务委派给子 agent 时,该给它开多大权限?

开大了,它可能读到不该读的文件、调用不该调的工具;开小了,它又干不完活。现有系统提供的是工具控制和执行环境隔离,但没有回答一个更基本的问题:这个子任务到底需要哪些资源 。

#结果和轨迹都不够

一个自然的想法是看结果:任务成功了,权限大概给对了。

但论文指出,任务结果和执行轨迹提供的监督信号都很有限。一个子 agent 越权读了敏感文件,任务照样可以成功;轨迹顺畅也不代表授权边界合理,它可能刚好没碰到需要越权的那一步。

所以「权限给得对不对」这件事,需要一种额外的监督信号。

#Skill 文件其实是权限标注

论文的观察很朴素:Agent Skills 描述的是流程:每一步用哪个工具、读写哪些文件、做哪些操作。

这些内容平时被当作「怎么做」的说明书,但对授权来说,它恰好写清了「需要碰什么」。一个写着「读取客户邮件、打开财务模型、生成工作簿」的 Skill,已经隐含了它所需的文件集合和工具集合。

#方法:从 Skill 合成任务,用轨迹训练

从 Skill 合成任务、执行回放、验证筛选的三步流程从 Skill 合成任务、执行回放、验证筛选的三步流程

图:第一步从 SKILL.md 与脚本合成任务和 SOP,第二步让 agent 在环境里执行并记录 rollout,第三步由 judge 筛选出验证过的轨迹。来源:原论文。

做法分三步:

  1. 从 Skills 合成任务和分步流程,让每个子任务对应明确的步骤序列。
  2. 在交互环境里通过子 agent 委派真实执行,记录完整轨迹。
  3. 用验证过的轨迹构造训练数据,同时训练任务执行和授权判断。

关键在第三步:验证过的轨迹既能教模型怎么完成任务,也能教它判断某一步需要什么权限。

#结果

在 ClawArena-Team 上,用 Qwen3.5-35B-A3B 做基座:

  • 工具权限精度提升 13.4 个百分点
  • 工作区权限精度提升 24.1 个百分点
  • 整体任务成功率提升 11.6 个百分点

工作区权限的提升幅度明显大于工具权限,说明「该访问哪些文件」比「该调用哪个工具」更难猜,也更能从 Skill 的结构里受益。

在 Terminal-Bench 2.1 和 SkillsBench 上,方法与现有 agent 数据合成方案持平,没有牺牲通用能力。

#结语

写 SKILL.md 的时候,其实是在写一张权限申请单。以前没人拿它当申请单用,是因为权限通常由平台在运行时猜测或由人手工配置。这篇的做法是把这层信息显式化,再训练模型自己判断。