Perplexity是如何设计、打磨和维护Agent Skills的

2026年5月10日

89

444

Perplexity是如何设计、打磨和维护Agent Skills的

在人工智能产品日益成熟的今天,如何让AI Agent具备专业领域的能力成为业界关注的焦点。Perplexity作为前沿的AI搜索与问答产品,其核心依赖于一套精心设计的模块化能力单元——Agent Skills。这些Skills将专业知识和实操经验封装成可调用的能力模块,支撑起整个Agent系统的智能表现。Perplexity内部维护着一个经过严格筛选的Skill库,涵盖通用工具、垂直领域专业能力以及针对各类用户细分需求的功能模块。

Skill的四层架构设计

理解Skill的本质,需要从思维范式上进行一次根本性的转变。传统软件开发的经典原则——Python之禅(PEP20)中强调的「简洁胜于复杂」「显式胜于隐式」等理念,在Skill编写中往往不再适用,甚至可能成为反模式。具体而言:Skill是一个文件夹而非单个文件,复杂是其固有特性;激活机制依赖隐式模式匹配而非显式声明;上下文资源昂贵,需要尽可能高密度的信息承载;而那些所谓的「坑」恰恰是最有价值的内容——它们代表了模型需要避免的错误路径。这一「Skill之禅」代表了与传统编程思维的根本性差异。

何时需要创建Skill

从Perplexity的实践经验来看,Skill至少包含四层核心含义。首先,Skill是一个目录结构,通常包含SKILL.md(指令本体)、scripts/(可复用代码)、references/(按需加载的参考资料)、assets/(模板和数据)以及config.json(用户配置)。这种「中心-辐条」结构使Skill保持高度聚焦,对于复杂场景如美国税法,多层嵌套的目录结构能帮助模型更精准地定位信息——将300个主题归类到20个领域下,让模型先选领域再选主题,难度显著降低。其次,Skill是一种格式约定,name和description字段构成路由触发器,其中description必须从模型视角编写,使用「Load when...」而非「This Skill does...」的表述。第三,Skill是可调用的,Agent在运行时按需加载,而非一次性全部注入上下文。最后,Skill是渐进式的,具有三层不同的上下文成本:索引层(约100 token)、加载层(约5000 token)和运行时层(按需读取)。

我之所以把这封信写得这么长,是因为我没空把它写短。

“帕斯卡”

Skill编写方法论

判断是否需要创建Skill需要遵循严格的标准。大多数任务其实在基础模型的能力分布之内,只有当需要以特定方式改变模型行为、而这种改变无法通过简单修改prompt实现时,才需要编写Skill。具体场景包括:Agent缺少特定上下文时会出错或表现不稳定;知识本身很稳定但不在训练数据内(如企业私有工作流);或者需要注入专业判断和品味——例如设计领域的Skill需要融入人类设计师的审美判断,这些难以从训练数据中自动习得。需要注意的是,如果某个功能模型本身就能完成(如执行git命令),或者信息已在全局系统提示词中覆盖,就没必要创建Skill。

Skill的维护与演进

编写高质量Skill需要遵循系统化的方法论。第一步是先写评估用例(Eval),从生产环境采样真实查询、收集已知失败案例,并准备「邻近域混淆」案例——那些与本Skill相似但应该路由到其他Skill的查询。第二步是编写description,这是整个Skill中最难写的一行——它是路由触发器而非文档说明,需要控制在50词以内,以「Load when...」开头,描述用户意图而非工作流程。第三步是写正文,要略掉显而易见的内容,不罗列命令,而是用自然语言描述目标和约束条件;重点放在gotchas(坑)和反面例子上,这些信息密度极高。第四步是利用好目录层级结构,将条件性内容拆分到子文件夹。第五步是迭代优化,确保description的措辞调整不会影响其他Skill的路由。

如有侵权,请联系删除。

Related Articles

联系我们 获取方案
小墨 AI