如果您经常用Claude Code、OpenCode、OpenClaw这类Agent框架,大概率会遇到一种不稳定现象:同一个Skills,用Claude能跑,换成Qwen就不行了;在Claude Code里稳定的流程,换到OpenClaw可能输出格式崩掉;在作者环境里正常的脚本,到了自己机器上可能因为缺依赖进入反复报错。
这通常不只是“模型不够聪明”。很多时候,模型具备完成任务的基础能力,但Skill对模型能力、工具接口、路径规则、依赖环境和输出格式做了太多隐含假设。强模型可以靠临场推理绕过去,弱模型或本地模型则容易卡在这些非核心环节上;即便强模型能自救,也会消耗更多token、工具调用和等待时间。

SJTU研究者在 《SkVM: Revisiting Language VM for Skills across Heterogenous LLMs and Harnesses》 中把这个问题重新定义为系统问题:Skill是自然语言程序,LLM是异构处理器,Agent Harness是运行环境。 本文会围绕SkVM的核心设计展开,并结合我的本地实测,分析它如何通过AOT编译、环境绑定、并发提取、JIT重编译和代码固化,把原本依赖模型临场发挥的Skill,改造成更可移植、更稳定、更高效的执行组件。

项目地址:https://github.com/SJTU-IPADS/SkVM
在论文中,Skills是一种可分发、自包含的知识包,它的作用是增强智能体在特定类型任务上的能力。与修改模型权重的微调(Fine-tuning)不同,技能完全在提示词层面运行,非常轻量级且易于组合。
研究者对两大主流分发平台(clawhub.ai和skills.sh)上的超过118,000个技能进行了大规模生态分析,并对其中下载量超过100次的15,063个技能进行了详细分类:

两大技能平台的下载分布都高度长尾,说明技能生态规模已经很大,但真正被频繁使用的头部技能只占少数。
统计数据显示,高达76%的技能包含明确的过程结构(编号步骤、条件分支等),并且75%的技能嵌入了代码片段(如Shell命令或API调用模式)。
尽管技能生态庞大,但目前的智能体系统对技能的支持非常粗暴:直接将技能作为原始文本传递给模型。研究者通过实验指出,这种静态文本与动态底层环境之间的差异,导致了三种严重的“不匹配”现象:

热力图展示了“模型身份”和“Harness选择”都会显著影响任务得分,同一技能并不会天然具备跨模型、跨脚手架的一致性。
PptxGenJS(一个JavaScript库)。强大的Claude Opus 4.6能够完美执行并获得满分;但较弱的devstral-small模型却误将该库当成命令行工具,导致不断执行错误的命令。
当关键依赖被移除时,弱模型的成功率明显下降,同时输出Token显著增加;强模型虽然更容易自救,但也要付出额外诊断与安装成本。
面对上述痛点,研究者回顾了计算范式的演进历史,提出了一个核心观点:在Agent时代,Skills就是“代码”,而不同的LLM就是“异构的处理器”。

论文将Skills放在编程抽象演进链条的最新位置,强调自然语言技能已经像“代码”一样承载复杂任务逻辑,但仍缺少面向异构模型和Harness的编译器与运行时。
基于这一理念,研究者构建了SkVM(Skills Virtual Machine)。它没有使用传统系统的简单文本透传方式,而是结合了经典计算机科学中的三种编译技术:
SkVM的整体架构分为两大阶段:在技能安装时,AOT编译器会分析技能并生成优化的变体;在任务执行时,运行时系统会应用JIT优化以确保高效和稳定。

AOT编译器在安装阶段完成能力适配、环境绑定和并发提取;运行时则负责变体选择、JIT优化和资源感知调度。
当用户首次安装某个技能时,SkVM会针对特定的“目标(即指定的模型、脚手架和宿主环境)”对原始自然语言进行三轮编译处理。
由于目标环境的组合千变万化,编译器无法为每种情况硬编码优化逻辑。研究者引入了“原始能力(Primitive Capabilities)”这一抽象概念作为统一的度量标尺。

编译器先抽取技能需求,再对目标模型和Harness做画像,最后根据能力差距选择补偿或替换策略。
gen.code.shell(生成Shell代码)能力中,L1代表基础命令,L2代表管道和重定向,L3代表复杂的sed/awk脚本。
SkVM用原始能力和熟练度等级描述技能需求,例如Shell代码生成、算术推理、工具执行和流程遵循都可以被拆解成可测量的层级。
为了确保执行的稳定性,编译器必须在任务开始前处理好依赖关系。
尽管76%的技能包含过程式工作流,但这些通常是用顺序的自然语言编写的。实际上,许多步骤并不存在前后依赖关系。

SkVM会把自然语言中的顺序步骤分解成工作流DAG,并识别步骤之间或步骤内部可并行执行的部分,再映射到DLP、ILP或TLP。
有些问题在静态的AOT编译阶段是无法预见的,比如运行时的接口限流,或者随着执行次数增加才显现出来的重复代码模式。因此,SkVM的运行时阶段引入了类似现代虚拟机的动态优化机制。
运行时系统会记录使用该技能执行的每一项任务的结果。

论文将无技能、原始技能、AOT编译技能以及三轮JIT优化放在一起比较,展示了AOT和后续JIT轮次如何逐步提升任务表现。
研究发现,高达75%的技能包含结构固定的代码模板,每次调用只是输入参数不同。如果每次都让模型重新推理生成这些代码,会造成极大的资源浪费。代码固化通过三个阶段解决此问题:

AOT阶段先生成候选模板和代码签名,运行时再通过多次调用验证其稳定性,满足条件后把重复生成的代码提升为可直接执行的函数。
AOT阶段提取了大量的并发机会,但系统能否承受这些并发取决于实时的硬件状态。
为了验证SkVM的实际效能,研究者在包含代码生成、数据分析、文档创建和系统管理的多个综合基准测试上进行了全面评估。
研究者通过对比“原始技能”、“Anthropic官方优化器(Skill-Creator)”以及“SkVM优化技能”的表现,得出了以下关键结论:

单元格数值表示SkVM优化后的任务完成率,颜色表示相对原始技能的提升或下降,可以看到弱模型和复杂Harness场景中的收益尤其明显。

论文将No Skill、Original、Skill-Creator和SkVM-Optimized四种方案进行平均得分对比,SkVM优化技能在所有模型和Harness组合上都取得最高分。

图多数模型-Harness组合落在右上象限,说明SkVM通常能够同时带来更高任务质量和更低Token消耗。

DLP、ILP和TLP分别适配不同粒度的并发机会,其中TLP在可拆分为多子任务的场景中带来最明显的端到端加速。

蓝色表示LLM推理延迟,绿色表示固化后直接执行的延迟;天气案例没有被提升,说明SkVM的提升门槛会阻止不稳定模板被错误固化。

Env-bound配置让缺失依赖场景恢复到接近完整环境的水平,尤其能避免弱模型在环境诊断上反复失败。

能力画像的时间和费用按能力类别拆解后可以看到,完整Profiling虽有成本,但属于一次性预处理开销,后续可被多技能和多次执行复用。
在了解到这项研究后,我很快在本地开发环境中进行了一次实践。整个过程存在一定的工程繁琐度,但最终得到的结果具备参考价值。
研究者提供了两种便捷的安装方式:
curl -fsSL https://skillvm.ai/install.sh | sh 即可完成核心组件部署。npm i -g @ipads-skvm/skvm(安装后会自动拉取对应平台的二进制文件)。
安装完成后,可以通过执行 skvm --help 进行自检,确认环境就绪。

我选择了一个小参数模型Qwen3.5-9B作为具体的执行模型,搭配OpenClaw作为AgentHarness。同时,将DeepSeek最新的V4-flash非思考版作为后端的编译器/优化器模型。例外说一下,执行模型这里,本地或者模型厂商API二者都可以。

Skills方面我挑选了官方库中的invoice-organizer(票据整理)Skill。它的核心目标是将混乱的各类发票和收据进行自动读取、提取关键信息(如供应商、日期、金额),并按照统一的标准重命名、分类存入对应文件夹,最终生成一份完整的CSV汇总表。
为了贴近真实业务场景,我让GPT在公开数据集找了一组混合的真实样本,包含手拍的实体小票、扫描版发票、电子收据截图以及部分重复票据。这种数据极度考验系统底层的光学字符识别(OCR)能力、多步骤文件操作能力以及逻辑统筹能力。

这一步的作用是对你的Agent组合,也就是选择的模型(Qwen3.5-9B)和HerNess(Openclaw)组合在一起的能力,进行画像建模
SkVM优化的前提,是确切知道当前模型和脚手架的真实水平。在执行任务前,我启动了针对 Qwen3.5-9B + OpenClaw 的能力画像分析(Profile)。

gen.code.python 的L1到L3级别),并记录具体的通过状态与耗时。tool.web)的测试项非常耗时,我最终花了1个多小时才跑完,且容易中断。SkVM提供了极具实操价值的部分缓存(Partial Cache)机制。遇到中断无需重头开始,系统会自动从断点处续跑。在没有任何优化的Baseline阶段,原始技能对模型能力提出了过高的假设(默认其具备极强的OCR视觉提取和文件统筹能力)。

Misc(杂项)文件夹,文件名全是无效的 Unknown Vendor。
deepseek-v4-pro 在当前路由下存在工具调用格式(tool_choice)的兼容性报错。目前的解决方法是需要将其降级替换为 deepseek-chat对应deepseek-v4-flash非思考模式,成功生成了 Pass 1 阶段的优化后Skill文件。Software、Office 和 Services 目录下,并采用了标准的日期与供应商命名格式。

在AOT取得初步成效后,我进一步尝试了JIT(即时优化),试图通过真实任务的反馈让技能完成自我进化。不幸的是最终我失败了,但我的经历,值得对SkVM感兴趣的你参考一下。

task-source=real),必须为系统提供包含明确评估标准(eval)的训练和测试数据集。一开始系统成功解析并装载了这些验证任务。infra-blocked 并主动放弃优化(Abstain)。
小结:最终没有得到经SkVM完整优化的技能最终没有得到经SkVM完整优化的技能,与我选用的执行模型有着直接关系。Qwen3.5-9B毕竟是一个参数量较小的模型,自身能力相对较弱。在面对高度依赖视觉提取和复杂统筹的任务时,它经常陷入反复试错的循环,进而拖垮整体运行时间。由于我个人的本地算力有限,这次测试仅仅是一次轻量级的边界探索。如果您的硬件条件允许,将执行主模型更换为参数更大、能力更强悍的模型,或者干脆直接用模型厂商API(例如直接使用DeepSeek-V4作为主模型与Harness搭配),那么底层的视觉理解和推理速度将得到根本保障,执行效率会大幅提升,您所得到的JIT优化结果也必将截然不同。我的这段受挫经历仅供您作为工程排错的参考。
值得一提,在研究团队官网的Agent Harness能力图谱排行榜中,DeepSeekV3.2+Openclaw的组合排名竟然位居第2,而前不久才更新过的Qwen3.6-plus+Openclaw只排在第13位。

SkVM给出的答案更接近传统软件工程:既然Skill已经包含流程、依赖、工具调用、代码模板和执行约束,那它就不应该只靠模型临场理解。它需要被分析、编译、适配、测试、回滚和优化。
这套思路对强模型和弱模型的价值不同。强模型通常能靠自身能力绕过一些环境错误和执行偏差,但代价是更多token、更多工具调用和更长耗时。弱模型、本地模型和开源模型更依赖系统层补偿:路径要更明确,依赖要提前处理,输出格式要被约束,复杂流程要拆成它能稳定执行的步骤。
我的本地实测也印证了这一点。SkVM能明显改善Skill的结构化执行效果,但它不能凭空补齐小模型缺失的底层能力,也不能完全消除长链路工具调用带来的超时和工程摩擦。它更像是一层执行基础设施:把原本散落在提示词、模型推理和人工排错里的隐含经验,沉淀成可复用的编译产物和运行时策略。
所以,SkVM的意义并不在于“让提示词写得更好”,而在于把Agent Skill推进到一个更严肃的工程阶段:Skill不再只是Markdown文件,而是可以被编译、调度、优化和复用的系统组件。
文章来自于"AI修猫Prompt",作者 "AI修猫Prompt"。
【开源免费】Browser-use 是一个用户AI代理直接可以控制浏览器的工具。它能够让AI 自动执行浏览器中的各种任务,如比较价格、添加购物车、回复各种社交媒体等。
项目地址:https://github.com/browser-use/browser-use
【开源免费】字节工作流产品扣子两大核心业务:Coze Studio(扣子开发平台)和 Coze Loop(扣子罗盘)全面开源,而且采用的是 Apache 2.0 许可证,支持商用!
项目地址:https://github.com/coze-dev/coze-studio
【开源免费】n8n是一个可以自定义工作流的AI项目,它提供了200个工作节点来帮助用户实现工作流的编排。
项目地址:https://github.com/n8n-io/n8n
在线使用:https://n8n.io/(付费)
【开源免费】DB-GPT是一个AI原生数据应用开发框架,它提供开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单、更方便。
项目地址:https://github.com/eosphoros-ai/DB-GPT?tab=readme-ov-file
【开源免费】VectorVein是一个不需要任何编程基础,任何人都能用的AI工作流编辑工具。你可以将复杂的工作分解成多个步骤,并通过VectorVein固定并让AI依次完成。VectorVein是字节coze的平替产品。
项目地址:https://github.com/AndersonBY/vector-vein?tab=readme-ov-file
在线使用:https://vectorvein.ai/(付费)
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md
【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。
项目地址:https://github.com/InternLM/xtuner
【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。
项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md
在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0