SSL:把 SKILL.md 拆成三层结构化图谱——技能检索 MRR 涨 8 个点、风险评估 F1 涨 10 个点

核心摘要

Agent skill 这两年成了核心积木。但你打开任何一个开源 agent 生态——无论是 Claude Skills、ARIS、OpenAgents——所有"技能"其实都是一坨纯文本 SKILL.md:自然语言写的描述 + 部分 JSON/YAML 元数据。这种格式给人看挺爽,但让机器去做"自动发现哪个 skill 该用"、"自动评估这个 skill 装上去有没有风险",就抓瞎了——所有有用信号都埋在长文本里。

北大这篇论文给出的方案叫 SSL(Scheduling-Structural-Logical)表征:把一个 skill 文档结构化成三层 JSON 图谱—— - Scheduling 层:技能调用接口(goal、intent signature、tags、control-flow 特征) - Structural 层:执行场景的有序图(scene graph) - Logical 层:原子操作和资源使用证据(atomic actions、effects)

理论根基来自 Schank & Abelson 的认知语言学经典工作——Memory Organization Packets、Script Theory、Conceptual Dependency。用 DeepSeek-V3.2 做 normalizer 自动转换,不需要重写 SKILL.md。

实验在两个任务上验证:技能发现的 MRR@50 从 0.649 → 0.729;风险评估 macro F1 从 0.409 → 0.509。提升幅度都是 sig over baseline,bootstrap CI 漂亮。

一句话评价:这是 agent skill 走向规模化、可治理的关键基础设施。如果你认同 skill-based agent 是大趋势,这种结构化表征迟早要做。


论文信息

  • 标题:From Skill Text to Skill Structure: The Scheduling-Structural-Logical Representation for Agent Skills
  • 作者:Qiliang Liang, Hansi Wang, Zhong Liang, Yang Liu
  • 机构:Peking University(计算语言学教育部重点实验室)
  • 日期:2026/04/27
  • arXiv:https://arxiv.org/abs/2604.24026
  • 代码:https://github.com/COOLPKU/SSL

图1:SSL 表征概览——把 text-heavy 的 skill artifact 转换成三层结构化图谱

图1:左边是原始的纯文本 SKILL.md,中间是 LLM-based normalizer,输出三层结构——上层 scheduling record(调用接口)、中层 structural graph(执行场景)、下层 logical graph(原子操作 + 资源证据)。这个结构化视图与原文档配对存储,supporting downstream tasks like Skill Discovery 和 Risk Assessment。


问题动机:SKILL.md 是给人看的,不是给机器看的

说实话我自己写过不少 SKILL.md,也用过一堆别人写的。这玩意儿存在一个根深蒂固的紧张关系——

自然语言友好,但对自动化系统极不友好。

举两个最常见的痛点:

痛点 1:技能发现。你有 6000+ skill 在注册表里,用户来个 query "帮我把 PDF 拆成单页 PNG 上传到云存储",你怎么从 6000 个 skill 里把对的 retrieve 出来?现在主流做法是把整个 SKILL.md 丢进 embedding 模型,但你想啊——SKILL.md 里大半内容是 prose(背景介绍、注意事项、示例),真正能区分"这个 skill 干啥"的信号是稀疏的。embedding 模型在长文本上的信号被稀释。

痛点 2:风险评估。第三方 skill 装上 agent 系统之前要审查吗?要的。但 reviewer 怎么判断这个 skill 有没有"数据外泄"、"权限提升"、"凭据访问"的风险?你得通读整个 SKILL.md,找散落在不同段落的"调用 X 命令"、"读取 Y 文件"、"上传 Z 接口"——这些证据被自然语言稀释、被相邻无关段落淹没。

论文一句话总结这个困境:

Both managing skill collections and using skills during agent execution require reasoning over invocation interfaces, execution structure, and concrete side effects, but these signals are often entangled in a single textual surface.

核心命题:在 raw skill artifact 和 downstream 系统之间,缺一个 source-grounded、可重用的结构化中间表征。


方法核心:三层表征 + 认知语言学的"老树新花"

设计灵感来自 Schank & Abelson(1970s)

论文最有意思的点是它的设计哲学。SSL 不是凭空发明的 schema,而是把 Schank & Abelson 在 1972-1980 年的三个经典理论搬到了 LLM agent 时代:

理论 提出年份 SSL 对应层 解决什么
Memory Organization Packets 1980 Scheduling 目标导向地组织和检索经验
Script Theory 1977 Structural 把活动表示为有序场景 + 期望 + 转换
Conceptual Dependency 1972 Logical 把语言含义分解成原始动作结构

这种"借古鉴今"的做法,我觉得是这篇论文最优雅的地方。Schank & Abelson 当年做的就是"如何让机器理解人类活动",今天 agent skill 表征本质上是同一个问题——只是载体从故事文本变成了 SKILL.md。

三层 schema 的具体内容

Scheduling 层(调用接口 / 元数据): - skill_id, name, goal, tags - intent signature(这个 skill 可以匹配什么用户意图) - control-flow features(顺序、分支、循环、递归) - aggregate scene profile

Structural 层(执行场景图): - 把 SKILL.md 分解成有序的 scenes - 每个 scene 有 type(输入处理、核心算法、输出整理等)、goal、dependencies、transitions

Logical 层(原子动作图): - 每个 scene 里的 atomic action - act_type 来自一个 closed primitive inventory(论文 Appendix A) - 记录 arguments、effects、resource boundaries

关键是每个字段都必须 source-grounded——normalizer 不能瞎编,每个填进 SSL 的内容必须能在原 SKILL.md 里找到 supporting evidence。

Normalization Pipeline

用 DeepSeek-V3.2 做 normalizer。具体步骤:

  1. 提取 skill-level record(Scheduling)
  2. 分解文档成 scenes
  3. 扩展每个 scene 成 source-grounded logic steps
  4. 验证结构完整性、ID 一致性、enum 合法、containment、transition

Hard validation:失败就 retry。人工审计 100 个标注样本,83% 被认为是 source-supported。这个数字不算完美,但对工程实践来说已经够用——比起完全无结构的 SKILL.md,结构化后的 retrieval/audit signal 提升是巨大的。


实验 1:Skill Discovery

数据集

  • Corpus:6,184 个公开 skill
  • Test queries:431 个 intent-level queries,每个有 1 个 ground-truth skill
  • Query 类型:functional、constraint-based、compositional、safety-oriented、scenario-style
  • 保留规则:剔除直接说出 skill 名的、剔除 source-document paraphrase 的——避免泄露

评估

embedding 模型:Qwen3-Embedding-0.6B;检索:FAISS inner-product + L2 norm

主结果(MRR@50):

方法 MRR@50 NDCG@5 NDCG@10 Recall@10
Baseline Desc_only 0.588 0.608 0.626 0.761
Baseline Full SKILL.md 0.645 0.655 0.682 0.821
Baseline Source Outline 0.592 0.615 0.634 0.787
Baseline Desc + Source Outline 0.649 0.670 0.689 0.833
SSL Desc + SSL-Shallow 0.716 0.730 0.752 0.879
SSL Desc + SSL-Sched 0.694 0.716 0.733 0.868
SSL Desc + SSL-Rich 0.729 0.748 0.770 0.905
SSL Full SKILL.md + SSL-Shallow 0.664 0.688 0.706 0.847
SSL Full SKILL.md + SSL-Sched 0.676 0.694 0.715 0.849
SSL Full SKILL.md + SSL-Rich 0.681 0.705 0.720 0.856

观察:

1. 最好的方案是 Desc + SSL-Rich——MRR@50 从 0.649 涨到 0.729,+8 个点。Bootstrap 95% CI [0.051, 0.111],确实显著。

2. Full SKILL.md + SSL 反而不如 Desc + SSL。这个反直觉发现很有价值——意味着 SSL 的核心价值不是"补充信息",而是"挤掉噪声"。完整 SKILL.md 引入太多无关 prose,把 embedding 信号稀释了。短描述 + 精炼结构化字段反而是 retrieval 的最优配。

3. SSL-Rich 比 SSL-Shallow 涨 1.3 个点:scene-level 和 interface-level 信号是真的有用,不只是"加点 metadata"那么简单。

我看到第 2 点的时候特别想给点赞——Less is More in embeddings。我之前做企业知识库 retrieval 也踩过这个坑:丢完整文档进 embedding 不如丢精挑细选的 chunk。SSL 提供了一种"自动化的精选"方案,比手工写 chunking 规则可推广得多。


实验 2:Risk Assessment

数据集

  • Skills:252 个分层抽样的 skill,每个有 six-dimensional risk labels
  • 六个风险维度:data exfiltration、destructive behavior、privilege escalation、covert execution、resource abuse、credential access
  • 金标签:Gemini-3.1-pro-preview + Claude-Sonnet-4.5 + GPT-5 三模型投票 + 人工抽样审计

Judge 模型:DeepSeek-V3.2

主结果(macro F1):

输入 Macro Acc Macro Prec Macro Rec Macro F1
Desc Only 0.714 0.823 0.148 0.235
Full MD 0.765 0.828 0.283 0.409
SSL-Shallow 0.709 0.783 0.129 0.210
Full SSL 0.778 0.841 0.315 0.422
MD + SSL 0.801 0.884 0.382 0.509

按维度看:

风险维度 Desc Full MD SSL-Sh Full SSL MD + SSL
Data Exfiltration 0.280 0.511 0.272 0.651 0.699
Destructive Behaviors 0.162 0.371 0.147 0.403 0.439
Privilege Escalation 0.364 0.381 0.381 0.348 0.455
Covert Execution 0.083 0.222 0.042 0.083 0.264
Resource Abuse 0.132 0.271 0.133 0.323 0.419
Credential Access 0.391 0.695 0.286 0.722 0.780

观察:

1. MD + SSL 是最优组合:F1 从 0.409 → 0.509,+10 个点。Bootstrap CI [0.051, 0.152]。

2. Full SSL 单独用比 Full MD 略好(0.422 vs 0.409),但 SSL 单独并不能完全替代 MD——SSL 提供操作证据,MD 提供解释上下文,两者互补

3. 风险评估的 recall 是大头改善:macro recall 从 0.283 → 0.382。这意味着 SSL 让 judge 能发现以前漏掉的风险信号。Precision 也涨了,说明不是"为了 recall 牺牲 precision"。

4. Covert Execution 这一维度 baseline 极低(Full MD 才 0.222)——说明"隐蔽执行"这种风险信号在自然语言里特别难抓,结构化表征对这种"隐藏意图"的识别有真价值。


我的判断

亮点

  • 理论根基扎实:把 Schank & Abelson 的认知语言学搬到 LLM agent 时代,不是 hack 出来的 schema,是有思想血统的。
  • 工程实用性强:normalizer 是 LLM 自动跑的,不需要手工重写 SKILL.md。这是"渐进式升级"路径,不是"重做生态"。
  • MD + SSL 互补的洞察:实验结果给了一个很反直觉但工程上极有意义的发现——结构化不是为了替代文档,是为了辅助文档
  • 评估数据集开放:6,184 skills + 431 discovery queries + 252 risk-labeled skills,这是 agent skill 领域第一个像样的公开评测集。
  • 任务选得准:Skill Discovery 和 Risk Assessment 都是当下 skill ecosystem 真实存在的痛点,不是 toy task。

问题

  • normalizer 的 83% 准确率:人工审计里 17% 的 SSL 字段不能被 source 完全 support。在 Risk Assessment 这种高 stakes 场景,这个噪声率有点危险。
  • 依赖 DeepSeek-V3.2:normalizer 用闭源/特定模型,跨模型迁移性没充分测试。
  • schema 的灵活性 vs 标准化:closed primitive inventory(论文 Appendix A)的覆盖度对实际 skill 多样性是否够?长尾的 skill 类型(agentic workflow、tool composition)可能塞不进现有 schema。
  • scene/logic 层的标注质量:83% source-grounded 主要是 spot check,没有按层级分开评估。Logic 层的 atomic action 可能错得更多。
  • 没做 end-to-end task:论文只测了 Discovery 和 Risk 两个 offline 任务,没测真实 agent 在 SSL-augmented skill 下能跑得更好——这是更核心的价值证明。

工程启发

如果你在做:

  • agent skill 注册表/marketplace:SSL 的 Scheduling 层可以直接拿来做 retrieval 的"精炼描述层"。即使你不全套上 SSL,也至少应该从 SKILL.md 提一个 condensed scheduling card 出来做 embedding——这件事 ROI 极高。
  • 第三方 skill 审查流程:把 SKILL.md + 自动生成的 SSL logic 层一起喂给 reviewer LLM,能显著降低漏检率。这对企业内部上线 agent skill 的合规非常关键。
  • skill 管理系统:用 SSL 做底层 schema,可以让 skill 之间的依赖、组合、版本管理变得可机械操作。比起 "diff 两个 SKILL.md" 这种字符级 diff,SSL 级别的 diff 能产出有语义的变更日志。

最后一个略带哲学意味的反向论证——你可能觉得"既然 LLM 现在这么强,让它每次直接读 SKILL.md 不就行了?要 SSL 干啥?"

但你想想看,这跟"既然 GPT-4 能写代码,要 type system 干啥?"是同一类问题。Type system 的价值不在于代替编译器,而在于让大规模代码协作可控、可审计、可演化。SSL 在 agent skill 生态里大概率会扮演类似 type system 的角色——让 skill 这个原本是"民间文档"的东西,进化成可工程化、可治理的资产

如果 2026-2027 agent skill 的数量真的上千万,这种基础设施迟早是刚需。


觉得有启发的话,欢迎点赞、在看、转发。跟进最新 AI 前沿,关注我