摘要

1) 一句话总结 AI Agent 的两种扩展方式中,Skills 类似于按需加载的应用程序(操作手册),而 SubAgent 类似于拥有独立上下文的虚拟机(专家助手),两者分别适用于简单任务与复杂并行任务。

2) 关键要点

  • 核心比喻:AI Agent 类似操作系统,Skills 是应用程序,SubAgent 则是预装了应用且独立运行的虚拟机。
  • Skills 的定位:相当于 Agent 的“操作手册”,记录了特定任务的流程、注意事项和工具用法。
  • 渐进式加载:Skills 启动时仅让 Agent 记住其存在(约占用 100 个 token),实际调用时才读取详细内容,有效节省上下文空间。
  • SubAgent 的定位:独立运行的“专家助手”,拥有自己的上下文窗口(工作记忆)。
  • 上下文隔离:SubAgent 处理任务的中间过程不会污染主 Agent 的思维空间,完成后仅向主 Agent 返回最终结果或摘要。
  • 组合使用优势:在复杂任务中(如生成多套配图),可以通过主 Agent 并行启动多个预装了特定 Skill 的 SubAgent,大幅提升效率并保持主 Agent 上下文整洁。
  • 场景选择标准:任务简单、知识需复用且想节省上下文时选用 Skills;子任务复杂、耗时长、中间过程繁琐且需并行处理时选用 SubAgent。

3) 风险/不足

  • 上下文爆炸风险:在处理复杂或多重任务时,如果仅使用 Skills,所有的中间结果、提示词和错误重试都会堆积在主 Agent 的内存中,容易撑爆上下文。
  • 执行效率瓶颈:仅依赖 Skills 处理多个独立任务时,只能串行执行(一个接一个处理),导致整体速度慢。

正文

Image 1

一句话解释 SubAgent 和 Skills 的区别:AI Agent 就像操作系统,Skills 就像应用程序,SubAgent 也是操作系统,不过预装了应用,并且像虚拟机一样运行,独立上下文。


Skills:教 Agent 新技能

Skills 是一份“操作手册”。

你招了个聪明的助理,但他对你的业务一无所知。每次布置任务,你都得从头解释流程、注意事项、工具用法。Skills 就是把这些知识写成文档,Agent 需要时自己去翻阅,不用你反复交代。

比如我写了一个“给文章配图”的 Skill,它告诉 Agent:

  • 怎么分析文章找出需要配图的位置
  • 有哪些风格可选(科技感、温暖、极简……)
  • 怎么写图像生成的提示词
  • 图片存哪里、怎么命名

Agent 启动时只记住“有这么个配图技能”,大概 100 个 token,真正要用时才去读详细内容。这叫**“渐进式加载”**,好处是装一堆 Skill 也不会撑爆上下文。

Image 2: Skills 按需加载示意图


SubAgent:开个虚拟机干活

SubAgent 是独立运行的“专家助手”。

它有自己的上下文窗口,相当于自己的“工作记忆”。干完活只把结果交回来,中间过程不会污染主 Agent 的思维空间。

你是项目经理,手下有三个专家。你不需要盯着他们每一步操作,只需要告诉他们任务目标,等他们交报告就行。

Image 3: SubAgent 独立上下文示意图


一个真实案例:给文章配图

假设我写完一篇文章,想配三套不同风格的插图方案,让用户自己选。

如果只用 Skills:

主 Agent 分析文章 → 设计三种方案 → 调用画图 Skill 画第一套 → 画完再画第二套 → 再画第三套

问题来了:

  1. 上下文爆炸:三套图的生成过程全堆在主 Agent 的“脑子”里,几十张图的提示词、中间结果、错误重试……全占着位置
  2. 速度慢:必须一个接一个画,串行执行

如果用 SubAgent + Skills:

主 Agent 分析文章 → 设计三种方案 → 同时启动三个 SubAgent

每个 SubAgent:

  • 预装了“画图 Skill”
  • 拿到文章路径和自己负责的方案
  • 独立去读文章、生成提示词、调用画图工具、插入图片
  • 完成后只返回:新文章的 URL + 简短摘要

主 Agent 这边呢?上下文干干净净,只有三个结果链接。用户想看哪套,再去读取对应的 URL。

Image 4: 纯 Skills vs SubAgent+Skills 流程对比


什么时候用哪个?

用 Skills:

  • 任务简单,主 Agent 全程掌控
  • 需要的知识可以复用
  • 想节省上下文,按需加载

用 SubAgent:

  • 子任务复杂、耗时长、中间过程繁琐
  • 需要并行处理多个独立任务
  • 想保持主 Agent 的“思维清晰”

一句话总结

Skills 是应用程序,装在主系统里按需调用;SubAgent 是虚拟机,独立运行完再把结果交回来。任务简单用应用,任务复杂开虚拟机。

关联主题