MMSkills深度拆解:当AI学会看着说明书干活
MMSkills深度拆解:当AI学会"看"着说明书干活
> 论文: MMSkills: Towards Multimodal Skills for General Visual Agents > 作者: Kangning Zhang, Shuai Shao 等(上海交通大学 + 小红书技术) > arXiv: 2605.13527v2 [cs.AI] 14 May 2026 > 项目主页: https://deepexperience.github.io/MMSkills/ > GitHub: https://github.com/DeepExperience/MMSkills > HuggingFace数据集: https://huggingface.co/datasets/zhangkangning/mmskills
---
一、一个看似简单的问题
你让AI在电脑上完成一个任务——比如在Excel里画个柱状图。
传统做法是:写一段文字教程,告诉AI"第一步点这里、第二步选这个"。但问题来了:AI点下去之后,界面状态和教程截图不一样怎么办? 弹了个对话框挡住了菜单?数据区域的位置变了?颜色主题不同导致按钮找不到?
这就是视觉Agent的核心痛点:程序知识不只是"做什么",更是"在什么视觉状态下做"。
上海交大和小红书团队提出的MMSkills,就是解决这个问题的答案。他们不是给AI一本纯文字说明书,而是给AI一套带图的、状态敏感的、会自己判断什么时候该用什么时候不该用的操作手册。
---
二、MMSkill长什么样?
想象你在 Ikea 买家具。传统文本技能就像一张纯文字组装说明——"把A板插入B槽"。MMSkill则是一本带照片的操作手册:
┌─────────────────────────────────────────────────────┐
│ MMSkill 技能包 │
├─────────────────────────────────────────────────────┤
│ │
│ 📋 技能描述 (Descriptor) │
│ "在Excel中基于选中数据创建柱状图" │
│ │
│ 📝 文本程序 (Textual Procedure) │
│ 1. 选中数据区域 │
│ 2. 点击"插入" → "图表" → "柱状图" │
│ 3. 调整图表标题和样式 │
│ │
│ 🎯 运行时状态卡片 (State Cards) │
│ ┌──────────────────────────────────────┐ │
│ │ 状态1:数据已选中 │ │
│ │ • 何时用:看到蓝色高亮的连续单元格区域 │ │
│ │ • 何时不用:没有选中任何单元格 │ │
│ │ • 视觉线索:单元格边框变蓝、状态栏显示行数│ │
│ │ • 验证:选区不为空 │ │
│ └──────────────────────────────────────┘ │
│ ┌──────────────────────────────────────┐ │
│ │ 状态2:图表已插入 │ │
│ │ • 何时用:工作表上出现图表对象 │ │
│ │ • 验证:图表区域可点击、有调整手柄 │ │
│ └──────────────────────────────────────┘ │
│ │
│ 🖼️ 多视角关键帧 (Multi-view Keyframes) │
│ • 全景图:整个Excel窗口的全貌 │
│ • 焦点裁剪:选中数据区域的特写 │
│ • Before/After:插入图表前后的对比 │
│ │
└─────────────────────────────────────────────────────┘
关键设计:不是"截图贴在文字旁边",而是状态驱动的程序包。每个状态卡片都包含"何时用/何时不用/看什么/怎么验证",Agent拿到之后能自己判断当前界面匹配哪个状态、该走哪一步。
---
三、技能从哪来?五步流水线自动生成
写这种带图的操作手册听起来很费劲,但MMSkills的厉害之处在于:全自动从公开轨迹中生成。
输入:大量人类或AI操作电脑/玩游戏的视频轨迹(非测试数据) 输出:结构化的多模态技能库
五步流水线:
公开轨迹池
│
▼
Phase 0: 嵌入+聚类
│ → 把相似任务分组(所有Excel图表任务放一堆)
▼
Phase 1: 技能规划
│ → LLM提出每个簇里的原子技能清单
▼
Phase 2: 技能合并
│ → 去重、泛化,去掉太宽泛的"伞形技能"
▼
Phase 3: 文本起草
│ → 不看图,先写描述+程序+状态卡片框架
▼
Phase 4: 图像锚定+审计
→ 从轨迹中选关键帧、打焦点区域、构建多视角包
→ 用"元技能工厂"审计质量
关键洞察:第三步先写文字再看图——文字程序先定型,再去轨迹里找对应的视觉证据锚定。这比"先看完所有图再总结"高效得多,也避免了被特定截图过度锚定。
---
四、分支加载:防止AI"照着答案抄"
有了带图的手册,下一个问题:怎么让AI"参考"而不是"照搬"?
传统技能Agent直接把检索到的技能塞进主对话上下文。但MMSkill包含多张截图+多个状态卡片,直接塞进去会有两个问题:
1. 上下文爆炸:一堆图占满token预算 2. 视觉锚定:AI盯着参考截图做计划,忽略了当前的实时界面
分支加载(Branch Loading)的解决方案:
主Agent轨迹 临时技能分支
┌─────────────────┐ ┌─────────────────┐
│ 看到实时界面 │ │ 选择相关状态卡片 │
│ 想:是不是该用 │───── consult ─────→│ 选择需要的视角 │
│ "创建柱状图"技能?│ │ 和实时界面对齐 │
│ │←── 返回结构化指导 ───│ 生成: │
│ │ • 适用性判断 │ • 当前是否适用 │
│ 基于实时界面 │ • 子目标 │ • 下一步计划 │
│ 执行动作 │ • 计划 │ • 不要做的事 │
│ │ • 约束 │ • 验证检查 │
│ │ • 验证 │ │
└─────────────────┘ └─────────────────┘
核心:技能证据在临时分支里"消化",主Agent收到的只是一份结构化的决策建议,不是原始截图。AI看了"参考答案"之后,还是得根据当前的实时界面自己判断该怎么做。
---
五、实验结果:数字说话
5.1 整体性能
测试了4个benchmark(OSWorld桌面、macOSWorld、VAB-Minecraft、超级马里奥),6个模型(Gemini 3.1 Pro/Flash、Qwen3-VL-235B/8B、GLM-5V、Kimi-K2.6)。
OSWorld整体成功率(%):
| 模型 | 无技能 | 纯文本技能 | MMSkills | 提升 |
|---|---|---|---|---|
| Gemini 3.1 Pro | 44.08 | 40.76 | 50.11 | +6.03 |
| Gemini 3 Flash | 36.65 | 40.27 | 47.97 | +11.32 |
| Qwen3-VL-235B | 21.34 | 28.57 | 39.17 | +17.83 |
| GLM-5V | 28.71 | 36.61 | 38.51 | +9.80 |
| Kimi-K2.6 | 34.98 | 39.66 | 46.59 | +11.61 |
| Qwen3-VL-8B | 10.78 | 14.93 | 25.40 | +14.62 |
1. 纯文本技能在某些情况下反而有害 — Gemini 3.1 Pro用纯文本技能从44.08%掉到40.76%。为什么?缺乏视觉状态匹配的程序容易"瞎指挥",让Agent在错误的状态下执行操作。
2. 小模型获益最大 — Qwen3-VL-8B从10.78%暴涨到25.40%(+136%相对提升)。外部视觉程序知识补偿了小模型内部先验的不足。
3. 不是某一个域的提升,是全面的 — Chrome、GIMP、VLC、VS Code、Mail...几乎全线上涨。
5.2 消融实验
验证了每个组件的必要性:
| 变体 | 效果 |
|---|---|
| 完整MMSkills | ✅ 最佳 |
| 移除状态卡片 | ❌ 下降(无法区分相关状态) |
| 移除图像 | ❌ 下降(失去视觉锚定) |
| 直接加载(不分支) | ❌ 有害(污染主上下文) |
| 分支加载但无视图选择 | ⚠️ 有提升但不如完整版 |
5.3 调用率与效率
| 模型 | Benchmark | 文本技能调用率 | MMSkills调用率 | 步数变化 |
|---|---|---|---|---|
| Qwen3-VL-235B | OSWorld | 37.50% | 65.28% | 15.22→9.87 (-5.35) |
| Qwen3-VL-235B | VAB-Minecraft | 54.31% | 64.66% | 34.74→27.07 (-7.67) |
---
六、给你的直觉
6.1 文本技能 vs 多模态技能
| 文本技能 | MMSkills | |
|---|---|---|
| 像什么 | 纯文字说明书 | 带照片的Ikea组装手册 |
| 适合场景 | 纯逻辑、无歧义的操作 | 视觉状态决定下一步的操作 |
| 风险 | 可能"瞎指挥" | 需要更多的存储和计算 |
| 对小模型 | 帮助有限 | 救命稻草 |
6.2 分支加载的启发
这个设计对任何"给Agent参考材料"的场景都有启发:
- 不要让参考材料直接污染主上下文
- 让Agent在一个隔离空间里"消化"参考材料
- 返回的是结构化决策建议,不是原始参考内容
6.3 对vibecoding的启发
如果你在用Claude Code + 视觉模型做自动化操作:
- 不要只写文字Skill — 如果操作依赖界面状态,加截图
- 给每个状态加"何时用/何时不用" — 让AI自己判断适不适用
- 用分支逻辑隔离技能参考 — 不要让参考截图干扰当前界面判断
七、局限与展望
论文没有回避问题:
1. 生成依赖公开轨迹质量 — 如果轨迹本身有bug,技能也会继承 2. 跨域泛化未充分验证 — 在Ubuntu上生成的技能在macOS上表现如何? 3. 计算开销 — 分支加载需要额外的推理调用 4. 技能库的维护 — 界面更新后,关键帧可能过时
但方向是明确的:下一代视觉Agent不会只依赖模型内部知识,而是会携带一套"操作手册"——不是纯文字的,是带图的、状态敏感的、会自我判断的。
---
八、一句话总结
MMSkills告诉我们:教AI干活,别只告诉它"做什么",还要告诉它"看到什么的时候做"、"看到什么的时候别做"、以及"做完之后该看到什么"。
这听起来像常识?但大多数AI技能库都没做到。上海交大和小红书团队用260+组实验证明了:做到了,小模型的表现可以翻倍。
---
参考文献格式保留区
Zhang, K., Shao, S., Li, Q., Lin, J., Fu, L., Wang, S., Jiao, W., Lu, Y., Liu, W., Zhang, W., & Yu, Y. (2026). MMSkills: Towards Multimodal Skills for General Visual Agents. *arXiv preprint* arXiv:2605.13527v2.
项目主页: https://deepexperience.github.io/MMSkills/ GitHub: https://github.com/DeepExperience/MMSkills 数据集: https://huggingface.co/datasets/zhangkangning/mmskills
#MMSkills #多模态Agent #视觉Agent #Skill #上海交通大学 #小红书 #智柴外脑 #小凯
🌟 智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
🎁 领取 2000万 Tokens