news 2026/5/12 6:28:23

Perplexity 如何设计 Agent Skills,以及我们能学什么

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Perplexity 如何设计 Agent Skills,以及我们能学什么

Perplexity 在 5 月 1 号发了一篇内部指南,讲他们怎么设计、迭代和维护 Agent Skills。我读完之后的第一反应是,这帮人是真的在把 Skill 当「产品」在做,不是写个 README 交差。

坦率的讲,这篇文章里很多东西我自己踩过坑,只是没他们总结得这么系统。

先聊个反直觉的点

Python 之禅说 “Simple is better than complex”。 Perplexity 说,写 Skill 的时候这条完全反过来了

一个 Skill 是一个目录,不是一个文件。复杂度是特性,不是 bug。

你想想看,你让一个 Agent 去处理美国税务问题,1945 个 IRC 条款全塞一个文件里,效果比不加载 Skill 还差。但你分成三层嵌套,每层十几个选项,模型就能精准定位了。

这其实揭示了一个本质问题,写 Skill 和写代码是两种完全不同的思维模式。代码追求简洁优雅,Skill 追求的是信息密度和渐进式展开

Skill 的三层成本模型

这是我觉得整篇文章最有价值的部分。

Perplexity 把 Skill 的上下文成本分成了三层:

Index 层,每个 Skill 的 name + description,大概 100 个 token。这层每个会话、每个用户、每次都在付费。所以 description 必须极度精简,50 个词以内。

Load 层,完整的 SKILL.md body,大约 5000 个 token。加载 Skill 时付费,后续每个对话轮次都在累积这个成本。

Runtime 层,scripts、references、assets 这些辅助文件。只有 Agent 实际读取时才付费,没有上限。

这个模型直接影响了 Skill 的设计决策。Index 层是寸土寸金的,你多写一句废话,全世界每个用户每次对话都在替你买单。Load 层稍微宽松一点,但也不能太长,因为一次对话可能加载 3-5 个 Skill,成本会叠加。Runtime 层最自由,你可以把各种分支逻辑、特殊情况都放这里。

原文中还提到了一个重要细节,Perplexity 团队会用 Python 的 Zen 来类比,但在 Skill 设计中很多原则是反过来的。比如「Flat is better than nested」在 Skill 世界里就不适用,因为深度嵌套的目录结构反而能帮助模型更精准地定位信息。

Description 是最难写的部分

Perplexity 说了一句很扎心的话,“If the implementation is easy to explain, it may be a good idea” 这句 Python 之禅,在 Skill 世界里要反过来读,如果模型已经知道怎么做了,就别写进去,删掉。

Description 不是告诉模型这个 Skill 做什么,而是告诉模型什么时候该加载它

举个例子,你有一个处理 PR 的 Skill。不要写 “This Skill helps manage pull requests”,要写 “Load when the user says ‘babysit’, ‘watch CI’, or ‘make sure this lands’”。

为什么?因为 description 是路由触发器。模型根据 description 来决定要不要加载你的 Skill。写得不好,要么该加载时没加载,要么不该加载时误加载了。而误加载更可怕,因为每个新 Skill 的加入都可能让其他 Skill 的路由变差。

原文中强调,description 的写作是一个持续迭代的过程。Perplexity 团队会通过大量的 A/B 测试和用户日志分析来优化 description,确保它能准确捕捉到用户的真实意图。他们发现,用户的实际表达方式往往和开发者预想的完全不同,所以必须基于真实数据来调整。

Gotchas 是最高价值内容

这点我特别认同。

传统文档思维是写清楚正确做法。Skill 思维是,负面示例比正面示例更重要

Agent 每次犯错,你就加一条 gotcha。不要改 description,不要加更长的指令,就在 gotchas 部分追加一条 “别这么干”。这些条目随时间积累,Skill 就越来越稳。

Perplexity 管这叫 “Gotchas 飞轮”:

  • Agent 失败了 → 加 gotcha

  • Agent 误加载了 → 收紧 description + 加负面 eval

  • Agent 该加载没加载 → 加关键词 + 加正面 eval

Skills 是 append-mostly 的,gotchas 部分随时间积累最多价值。

原文中提到了一个有趣的观察,Perplexity 团队发现,最有价值的 gotchas 往往来自真实用户的失败案例,而不是开发者的预判。他们会系统地收集 Agent 的失败日志,分析失败模式,然后将这些经验转化为 gotchas。这种数据驱动的方法让 Skill 的可靠性随着使用量的增加而提升。

什么时候不需要 Skill

这点同样重要。

如果你写的东西是模型已经会的,比如一堆 git 命令序列,那就别做成 Skill。写得再好也只是好看,模型本来就会。

如果你的知识变化太快,比如某个 MCP endpoint 的工具频繁更新,也别做成 Skill。信息会漂移,模型会犯错。

如果内容应该出现在大部分请求中,那应该放在 system prompt 里,不是做成条件加载的 Skill。

Perplexity 给了一个很好的测试标准: “Would the agent get this wrong without this instruction?” 如果答案是 no,那这条指令就不应该出现。因为每个用户每次对话都在为它付费。

原文还提到了一个权衡,有时候某个知识点确实有价值,但它的使用频率太低,不值得为它创建一个独立的 Skill。这时候可以考虑将它合并到一个更通用的 Skill 中,或者干脆让用户在需要时手动提供这个信息。成本意识是 Skill 设计中的核心考量。

我自己的感受

读完这篇文章,我最大的感触是,写 Skill 说到底是一种新型的「知识工程」

它不是写代码,不是写文档,不是写 prompt。它是一种介于三者之间的东西,有自己的规则和约束。

Perplexity 团队在做的事情,其实是把人类的领域专业知识重新编码成模型能高效消费的格式。这个过程中,人的品味、判断、经验变得极其重要。他们提到设计团队的负责人会专门写 Skill 来规定用什么字体、什么风格,因为这些审美判断是模型从训练数据中学不到的。

这让我想到一个更大的趋势,AI Agent 时代,最有价值的不是会写代码的人,而是有领域专业知识并且能把这些知识编码成 Skill 的人

代码可以被模型生成,但品味不行。踩过的坑不行。对边界情况的直觉不行。

Perplexity 这篇文章最核心的一句话是,“You need to inject your opinion into any Skill that you write.” 你必须注入你的观点。LLM 自己生成的 Skill 对自己没有帮助,因为模型无法可靠地创作出它自己能受益的程序性知识。

这话听着有点绕,但细想一下,其实就是说,Skill 的价值来自人的经验,不是来自模型的能力。

原文最后还提到了 Skill 的维护成本问题。Perplexity 团队发现,Skill 不是写完就完事了,它需要持续的维护和更新。随着模型能力的提升,有些 Skill 可能会变得多余;随着产品功能的变化,有些 Skill 需要重写。他们建立了一套 Skill 健康度监控系统,定期评估每个 Skill 的加载频率、成功率、用户满意度等指标,确保 Skill 库始终保持高质量。

这种把 Skill 当产品来运营的思路,我觉得是最值得学习的地方。不是写完就扔在那里,而是持续观察、持续优化、持续迭代。


原文链接: Designing, Refining, and Maintaining Agent Skills at Perplexity

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 6:27:40

二十七、RZN2L CherryUSB移植与性能对比

一、目的/概述1、cherryusb还没有人支持瑞萨芯片,我们尝试在RZN2L CR52上移植CherryUSB协议栈2、在rzn2l芯片上实现USB CDC ACM 功能(实现cherryusb hal)3、对比CherryUSB与瑞萨原厂USB例程的性能差异4、验证全速(12Mbps)和高速(4…

作者头像 李华
网站建设 2026/5/12 6:25:39

终极指南:快速掌握碧蓝航线Live2D资源提取技术

终极指南:快速掌握碧蓝航线Live2D资源提取技术 【免费下载链接】AzurLaneLive2DExtract OBSOLETE - see readme / 碧蓝航线Live2D提取 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneLive2DExtract 在数字内容创作和游戏开发领域,Live2D动…

作者头像 李华
网站建设 2026/5/12 6:24:24

3步解锁百度网盘满速下载:告别限速困扰的完整方案

3步解锁百度网盘满速下载:告别限速困扰的完整方案 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 还在为百度网盘的非会员下载速度而烦恼吗?面对100KB/…

作者头像 李华
网站建设 2026/5/12 6:19:10

告别手动计算!用CANoe CAPL脚本5分钟搞定UDS 27服务安全解锁

告别手动计算!用CANoe CAPL脚本5分钟搞定UDS 27服务安全解锁 在汽车电子测试领域,诊断安全访问(UDS 27服务)是ECU验证过程中不可或缺的环节。传统手动计算密钥的方式不仅耗时费力,还容易引入人为错误。本文将分享如何利…

作者头像 李华
网站建设 2026/5/12 6:17:36

AI赋能材料能量预测:从机器学习到深度学习与语言模型的应用

1. 项目概述:当AI遇见材料科学“AI赋能量子系统表征”,这个标题听起来有点学术,但它的内核其实非常“硬核”且充满潜力。简单来说,它探讨的是如何用人工智能(AI)这把新钥匙,去打开材料科学里那扇…

作者头像 李华