什么是 Skill?
一个有名字的能力包——包含一句「什么时候用它」的说明、一份更完整的操作指令,以及它解锁的工具——智能体只在它变得相关时才加载。
Skill 是你教会智能体一套规程的方式——而且不必让它随时随地对所有人都念一遍。
想想两种同事的差别:一种读遍了楼里所有的手册,另一种知道该去翻哪本手册。第二种更有用,也更便宜。
先给说明,指令后给
每个 Skill 分两层,而这个拆分就是它的全部意义所在:
- 名称和说明 —— 这是干什么用的,什么时候适用
- 指令 —— 真正的操作规程,可以很长
默认摆在智能体面前的只有第一层。它看到的是一份「我可能会知道些什么」的短清单。当对话真的需要其中某一项时,它才加载那个 Skill,完整指令这时才到位。
这叫渐进式披露。它之所以存在,是因为上下文既有限又贵。二十份详细规程长期贴在那里,会把对话本身挤出去,让每一次回复都更慢更贵——包括那些一条规程都用不上的回复。
一个 Skill 长什么样
「住房按揭报价」大概会这么写:报价之前先确认就业类型、首付和房产价值。对这位客户真正符合条件的产品跑报价工具。最多给三个,从便宜的排起,绝不给出客户不符合条件的产品。明说这些数字仅供参考。任何东西落定之前,转给经纪人。
那是规程,不是知识——而且你也不希望它在每一次咨询营业时间的对话里都被复述一遍。它在客户开始问贷款的时候加载,早一步都不加载。
智能体怎么获得一个 Skill
Skills 属于租户,不属于某一个智能体。「新咨询初筛」你只写一次,任何该会这件事的智能体按名字引用它——和知识库是同一套模式。两个智能体可以共用一个 Skill,而不必存在两份副本;规程改一次,两边都跟着改。
运行时,智能体只看得到自己清单上那些 Skills 的名称和说明。当某一个变得相关,它调用一个工具把该 Skill 加载进来,完整指令随即到位,并在这次对话剩下的时间里一直有效。
一个 Skill 还能携带什么
指令是主体,但 Skill 还可以声明它启用哪些工具。一个负责预约的技能可以解锁日历;一个负责资格初筛的技能可以什么都不解锁,只是把问题按正确顺序问一遍的方式而已。
所以 Skills 同时也是一道权限边界:没有被任何已加载 Skill 启用的工具,智能体够不着。