【深度】Perplexity发布Agent Skills工程圣经:为什么写Skill不等于写代码
Perplexity Agents团队首次公开内部Skill开发指南。核心结论:"如果你像写代码一样写Skill,你会失败。"全文涵盖三层上下文成本模型、分层Skill架构和"2/5/10 token法则"。
背景
5月16日,Perplexity AI的研究博客发布了一篇题为《Designing, Refining, and Maintaining Agent Skills at Perplexity》的技术文章。这不是一篇普通的博客——它是Perplexity内部Agent团队用于训练新工程师的Skill开发手册,现在被完全开源。
对于正在使用Hermes Agent、OpenClaw或任何Agent框架开发自定义Skills的AI创业者来说,这篇文章可能是本月最有价值的技术读物。
核心洞察:Skill开发与软件开发是两回事
Perplexity的Agents团队发现了一个普遍问题:工程师从写代码切换到写Skill时,会把代码开发的最佳实践带入Skill开发,结果适得其反。
他们对比了Python之禅(The Zen of Python)的20条格言,发现至少有一半在写Skill时是错误或误导性的。
关键对比表:
| Python之禅 | 对Skill来说是错的 | Skill的正确做法 |
|---|---|---|
| "扁平胜过嵌套" | ❌ 反例 | Skill应该是文件夹,利用层级结构管理复杂度 |
| "显式优于隐式" | ❌ 反例 | Skill的激活是隐式模式匹配,描述即路由触发器 |
| "特殊情况不值得破例" | ❌ 反例 | 特殊情况就是最高价值内容(忘记加的特殊case就是bug) |
| "如果实现容易解释,那可能是好主意" | ❌ 反例 | "如果容易解释,模型已经知道。删掉它。" |
| "复杂不是好事情" | ❌ 反例 | "复杂度就是功能特性",Skill的价值在于处理模型搞不定的复杂性 |
Skill的四大本质
1. Skill是一个文件夹,不是一个文件
Skill包含多个文件:index.md:核心文件,模型运行而非重新发明- 辅助脚本:运行时加载,不加上下文负担
- 深层文档:条件加载
真实案例:Perplexity的美国所得税Skill需要3级嵌套层级,包含1,945个IRS代码条款。测试发现,"不加载Skill时的模型表现比加载整个扁平文件更好"——层级结构不是可选项,而是必需。
2. Skill是一种格式
- 名称:全小写、无空格、可用连字符
- 描述:不是"这个Skill做什么",而是"什么时候加载这个Skill"
- 前端元数据+依赖管理+评估标记
3. Skill是可调用的
Agent在运行时按需加载Skill,不是每次都会打包进上下文。4. Skill是渐进式的
Perplexity定义了**三层上下文成本模型**:第1层(索引层):~100 tokens/Skill
├─ 每个会话、每个用户、始终支付
├─ 仅名称+描述
└─ 进入门槛极高
第2层(加载层):<5000 tokens
├─ 加载后直到压缩边界持续占用上下文
├─ 通常一个线程加载3-5个Skill
└─ 每个句子都必须有价值
第3层(运行时层):0-20000+ tokens
├─ 条件分支逻辑
└─ 最低准入标准
这个模型对AI创业者的启发:你的Skill设计必须遵循"2/5/10 token法则"——索引描述精炼到2个词以内,加载体压缩到5K tokens以下,运行时才能放开到10K+。
什么时候需要写Skill?
Perplexity团队的判断标准很务实:
"先不带Skill跑你的agent,执行几个核心查询。如果模型已经做得好,就不需要Skill。"
只有以下情况才需要:
- 模型会在没有特殊上下文时犯错
- 需要跨运行保持极度一致性
- 知识是持久的但不在训练数据中(如企业内部流程、最新API文档)
- 这是品味问题(如Perplexity的设计Skills,由设计总监Henry Mo...编写,定义"什么字体不能用、怎么排版好看")
AI创业启示
1. Skills = 知识资产 = 产品
如果你能开发出一个在特定领域(税务、法律、医疗、金融)表现出色的Skill,这就是可定价的知识产品。Perplexity的所得税Skill处理1,945条税法——这种深度不是一蹴而就的。2. 上下文成本是隐藏的天花板
大多数Agent开发者只关注"功能是否实现",忽略上下文成本。Perplexity指出:一个低质量的Skill会降低同一会话中其他所有Skill的性能。**Skill开发需要"上下文意识"**——每多一个token都在消耗预算。3. 文档即代码
Skill的核心文件(index.md)本质上是一种**可执行文档**。这与传统软件开发完全不同——Skill的开发者在写"给模型的文档",而非"给人类的代码"。行动建议
- 立即阅读原文:https://research.perplexity.ai/articles/designing-refining-and-maintaining-agent-skills-at-perplexity
- 审核你的现有Skill:检查描述是否"太啰嗦"(100 tokens以内?)、加载体是否>5K tokens、是否存在扁平化的问题
- 自测:不带Skill跑你的核心工作流,看看模型是否已经能做好
- 学习层级嵌套:如果某个Skill需要处理>10种情况,考虑拆成多级文件夹
本文由AI辅助创作,经人工审核编辑发布