给 Agent Skill 写 description 不再靠猜:触发率量化 + 自动修复闭环

一个扎心的问题

你花了半天写了一个完美的 Agent Skill:步骤清晰、防护栏齐全、还附赠脚本。

然后用户说"发个xhs",agent 理都没理它。

问题大概率不在你的流程写得多烂,而在 description ------agent 决定加载哪个 skill 时,看到的只有每个 skill 的 name + description 这一行。这一行没写中用户的说法,后面几千字的精心指令根本没机会被读到。

更糟的是,这件事完全没有反馈:你不会收到任何"未触发"的报错。

我做了一个实验

我写了两个版本的同一个 skill(小红书文案改写):一个 description 只有一句话(朴素版),一个把用户真实说法都嵌了进去(优化版)。然后用 10 条用例(6 条该触发、4 条相邻但不该触发)、再放 6 个竞品 skill 同场抢路由,拿 8 个模型分别当"路由器"测了一遍:

路由模型 朴素 description 优化后
gpt-4o-mini 67% 83%
gpt-4o 100% 100%
claude-haiku-4-5 100% 100%
claude-sonnet-4-6 100% 100%
gemini-2.5-flash 100% 100%
qwen3.7-plus 100% 100%
deepseek-v4-flash(推理模型) 83% 100%
kimi-k2.5(推理模型) 100% 100%

两个结论:

1. 强模型会原谅烂文案,弱模型不会。 如果你的 agent 跑在小模型上(成本考虑很多人就是这么干的),description 质量直接决定 skill 的生死。

2. 剩下的失败是真信号。 所有模型没触发的那条用例("帮我把这个产品介绍改成种草文案"),都被一个 description 有重叠的竞品 skill(product-copy-generator)抢走了。这是 skill 边界问题,不量化一下根本发现不了。

(原始数据在仓库 results/ 目录,可复现)

所以有了 skilldoctor

一个 Python CLI,五个命令:

复制代码
pip install skill-inspect
  • skilldoctor new:脚手架,交互式问你"用户会怎么说这件事",生成时就把说法嵌进 description
  • skilldoctor validate:对照 SKILL.md 规范逐条校验(命名、截断上限、引用文件存在性......),--json 可接 CI
  • skilldoctor lint:最佳实践(有没有写"何时使用"、正文是否该拆 references/......)
  • skilldoctor test核心。用任意 OpenAI 兼容模型模拟路由决策,量化触发率和误触率
  • skilldoctor improve自修复闭环(下面细说)

test 的用例就是一个 YAML,像单元测试一样声明式:

yaml 复制代码
cases:
  - input: "帮我把这篇笔记改成小红书风格"
    expect: trigger
  - input: "帮我写公众号推文"
    expect: no_trigger   # 相邻需求,必须不触发

跑一次成本不到一分钱(gpt-4o-mini),支持 DeepSeek / Kimi / 本地模型任何兼容接口。

亮点:improve 闭环

光测量还不够------我让它自己修:

bash 复制代码
skilldoctor improve ./my-skill --with ./competitor-skill

每一轮:跑测试 → 把没触发的说法交给 LLM → 改写 description → 用全部用例重新评分 (包括 no_trigger 护栏,防止靠堆关键词骗分)→ 直到全过或达到轮数上限。确认没问题再加 --write 写回 SKILL.md

实测朴素版小红书 skill:baseline 67% → 一轮改写后 100%,误触率 0%

开发过程中踩的两个坑(也变成功能了)

  1. 推理模型全报 0% 触发率,吓得我以为发现了什么大问题------结果是 deepseek-v4-flash / kimi-k2.5 这类推理模型把 20 个 token 的输出预算全花在隐式思考上了,回答一个字没吐出来。现在默认预算 1024,截断自动 4096 重试。
  2. macOS 终端把输出重定向到文件就崩(C locale 下 stdout 变 ascii,rich 打印中文直接 UnicodeEncodeError)。现在 CLI 启动强制 UTF-8。

诚实声明

模拟路由 ≠ 真实 agent 行为。这个工具是用来迭代 description 的,不是保证线上表现的。和 skillcheck(静态校验)、skillbench(端到端评估)是互补关系。

链接

如果你也在写 Agent Skill,欢迎试用、提 issue。觉得有用的话,一个 star 就是最大的支持 🙏

相关推荐
月読h5 分钟前
让 Agent 的执行结果更容易追溯:NagaAgent 中四个 Skills 的调整
agent·测试
修远客9 分钟前
配置驱动:让Agent灵活适配不同场景 — 硬编码是Agent的敌人,配置驱动让同一个Agent服务100个赛道
llm·agent
靠谱者也43 分钟前
从“会聊天”到“能交付”:AI Agent 工程化落地的五个关键设计
agent
用户6993909502543 分钟前
一个开发者的私人 skills 文件夹,怎么干过了 Anthropic 官方库
agent
武子康43 分钟前
从声学信号到工具阻断:实时语音安全决策门的系统设计
人工智能·llm·agent
Csvn1 小时前
第 18 章 学习与适应 Learning
人工智能·aigc·agent
tachibana22 小时前
Embedding 有哪几种算法?
人工智能·算法·ai·大模型·llm·embedding·agent
大鹏的NLP博客2 小时前
拆解 Agent Memory:从认知心理学映射到工业级工程落地
人工智能·agent·memory
FanetheDivine10 小时前
学习Agent开发9 OM 与前缀缓存
agent·ai编程
吴佳浩11 小时前
从 OpenClaw、Codex 到 Hermes,看懂 AI Agent 架构为什么正在收敛
人工智能·llm·agent