【自然语言处理与大模型】如何编写优质的Skill?

并不是所有指令都需要封装成Skill。优质的Skill应当具备**"高频复用"、"流程复杂"或"上下文依赖强"**的特征。所以第一步是弄清楚什么任务该打包成skill,可以从下面这几个维度去衡量评判:

任务类型 特征描述 典型示例 封装建议
标准化SOP 步骤固定、逻辑严密的任务 代码审查、生成单元测试、发布Release Note 推荐封装
跨工具协作 需要组合调用多个工具才能完成的任务 搜索+阅读+总结 推荐封装
特定领域知识注入 需遵循特定团队规范、代码风格或业务逻辑 团队代码规范、业务逻辑检查 推荐封装
避免过度封装 简单的单步操作 帮我格式化这段代码 无需封装(直接对话即可)

一、诸多提升质量的技巧

(1)把 description 写成触发器

description 是 Agent 路由判断是否调用该 Skill 的唯一依据,必须包含用户可能使用的高频动词和名词,同时简要说明该 Skill 不做什么,防止误触发。

差: "代码检查"

优: "执行代码审查、Lint 检查、发现代码异味及提供优化建议(不执行代码重构)"

(2)正文用编号步骤写SOP

LLM 对结构化指令的遵循度远高于大段文本,应将任务拆解为不可再分的原子动作,并在步骤中嵌入思维链与条件分支。

  • 原子化步骤: 将任务拆解为不可再分的原子动作。
  • 思维链引导: 在步骤中嵌入思考过程。例如:"1. 首先分析用户意图;2. 检索相关文档;3. 根据文档生成回答。"
  • 条件分支: 使用"如果...则..."的逻辑,指导模型在不同情况下的行为。

执行步骤

  1. 读取用户提供的开发模块、完成度、阻塞点。

  2. 如果有表格数据,先提取关键字段。

  3. 按"今日进展 / 明日计划 / 风险阻塞"三段式生成日报。

  4. 如果信息不足,先追问缺失字段。

(3)明确输出格式

不要让模型猜测你想要的结果样子。

指定结构: 明确要求输出为 Markdown 表格、JSON、代码块或特定的列表格式。

模板化: 在Skill中直接提供一个输出模板,让模型填空。

(4)提供正反示例

Few-shot prompting 是提升效果最显著的手段之一。

正例: 展示一个完美的输入和对应的理想输出。

反例: 展示一个常见的错误输出,并标注"不要这样做",帮助模型规避陷阱。

(5)把易变信息外置

Skill的定义文件应保持静态,避免硬编码易变数据。

使用占位符: 将API Key、版本号、文件路径等作为参数传入。

动态读取: 对于经常变化的业务规则,让Skill去读取外部配置文件或文档,而不是写在Prompt里。

(6)确定性动作脚本化

对于必须精确执行的动作,不要依赖LLM的自然语言生成。

工具优先: 如果需要重命名文件,直接调用 mv 命令或文件系统工具,而不是让LLM生成一段"请重命名文件"的文字。

代码执行: 复杂的计算或数据处理,应生成Python/Shell脚本并执行,确保结果100%准确。

(7)添加禁令和异常处理

负面约束: 明确列出禁止事项,如"严禁修改用户原有的注释"、"严禁删除任何依赖包"。

失败回退: 定义当工具调用失败或搜索无结果时,模型应该如何回应(例如:"如果找不到文档,请告知用户并建议人工介入")

二、真实场景测试

(1)触发测试

尝试用不同的说法(口语、专业术语、缩写)来触发Skill,确保路由机制能准确识别。输入包含相似关键词但意图完全不同的指令,确保Skill不会被误触发。

(2)功能测试

输入极长、极短或空的内容,观察Skill的稳定性。在长上下文环境中调用Skill,检查是否会被之前的对话历史干扰。对照SOP步骤,逐一检查模型的执行路径是否符合预期,输出格式是否严格达标。

测试类型 测试方法 测试目的
触发测试 语义泛化测试:尝试用不同的说法(口语、专业术语、缩写)来触发 Skill 确保路由机制能准确识别用户意图
触发测试 抗干扰测试:输入包含相似关键词但意图完全不同的指令 确保 Skill 不会被误触发
功能测试 边界值测试:输入极长、极短或空的内容 观察 Skill 的稳定性
功能测试 多轮对话测试:在长上下文环境中调用 Skill 检查是否会被之前的对话历史干扰
功能测试 人工验收:对照 SOP 步骤逐一检查 确保模型的执行路径符合预期,输出格式严格达标

三、参考

Claude官方Agent Skills编写规范https://agentskills.io/specification

相关推荐
非优秀程序员8 小时前
第12章 烧钱无底洞!!!不烧就死,烧了也不知道啥时候死|《互联网产品恩仇录》
人工智能
Zelman9459 小时前
第06章-交互与观察动作空间
人工智能
冬奇Lab9 小时前
开源项目第258期:Harness² —— Google Research 的「递归式 Agent Harness 优化」,模型权重不动,只改 Agent 的外壳
人工智能·开源
字节跳动视频云技术团队10 小时前
每两家头部手机厂商就有一家选它:火山引擎如何成为 AI 手机助手的“隐形底座”?
人工智能
泯泷11 小时前
像项目经理一样指挥 AI 团队:管理者模式
人工智能·llm·agent
京东云开发者11 小时前
双11囤Token火了:京东搜索量暴涨7倍,AI生产力成新刚需
人工智能
ahccqw11 小时前
OpenCV 车辆数量统计
人工智能·opencv·计算机视觉
人工智能AI技术11 小时前
LangGraph 本地 build 频频翻车,最终在服务器跑通流式对话
人工智能