不要把 Skill 写成 Prompt
不要把 Skill 写成 PromptAgent Skill 调优的系统方法与实战心得Skill 是 Agent 可按需加载的一组领域规则、工作流、工具说明、约束和验证方法。真正有效的 Skill不是写得越长越好而是让模型在正确的任务上被正确触发、以最小上下文完成最可靠的动作。本文总结 Skill 调优中的核心规律、失败模式和可复用方法。1. 我对 Skill 的重新理解1.1 Skill 不只是 PromptPrompt 主要描述一次请求应该怎样回答Skill 描述一类任务应该怎样完成。一个生产级 Skill 至少包含Skill 触发条件 工作目标 专业知识 操作流程 工具契约 输出格式 验证方法 边界/失败处理Skill 的关键价值是“按需加载”。如果所有规则都放进系统 Prompt上下文会膨胀任务之间会互相污染如果没有 Skill模型只能依赖泛化能力容易漏步骤、误用工具或无法判断什么时候应该停止。1.2 Skill 解决的问题把重复性的专家经验编码成可复用资产让 Agent 具备领域流程而不是只会自由发挥将复杂任务拆成可验证步骤控制工具调用的前置条件、权限和结果处理让不同 Skill 之间可以组合、隔离和版本化通过失败样本和评测集持续迭代。1.3 Skill、Rule、Prompt、Tool、Workflow 的区别概念解决的问题是否执行动作Rule始终有效的系统约束否Prompt当前一轮如何表达目标否Skill一类任务如何专业完成间接Tool对外部系统执行具体动作是Workflow明确规定的步骤与分支是通常确定性更强Agent根据目标自主决策是决策不完全固定Skill 可以包含 Prompt 片段、Tool schema 和 Workflow但它本身更接近“可加载的能力包”。2. Skill 的逻辑架构匹配不匹配通过失败用户请求Skill Router触发判断加载 Skill 元数据基础 Agent选择版本/依赖/优先级按需装载上下文任务计划工具与权限检查执行步骤观察结果验证/质量门禁最终输出修复/重试/澄清事件/Trace/日志Skill Registry经验/失败样本/评测集2.1 Skill 文件的推荐结构skill-name/ SKILL.md # 入口、触发范围、核心流程 references/ # 只有需要时才加载的详细资料 scripts/ # 可复用的确定性脚本 templates/ # 输出模板、检查清单 examples/ # 正例、反例、边界案例 tests/ # 触发和行为评测入口文件应该短、清晰、可执行。详细知识放入 references避免每次加载全部内容。脚本用于确定性动作不能把可计算的工作全部交给模型。3. Skill 的生命周期DraftTriggerTestBehaviorTestReviewPublishedObservedTunedDeprecatedArchived一个 Skill 不应“写完即结束”而应经历问题发现、草稿、触发测试、行为测试、人工评审、发布、线上观察、版本调优和废弃。4. 调优的核心指标4.1 触发质量True Positive该触发的任务被触发False Positive不该触发却触发False Negative应该触发却没有触发Ambiguous多个 Skill 都合理匹配。触发器的目标不是“尽可能触发”而是提高正确触发率并降低能力污染。4.2 行为质量流程完整率是否完成关键步骤工具正确率是否选择正确工具、参数和调用顺序约束遵守率是否遵守权限、格式和禁止事项验证通过率是否在结束前完成检查一次成功率是否需要用户反复纠正Token/Latency/Cost单位任务成本可恢复性失败、暂停和 Resume 后是否能继续。4.3 一个简单的综合目标Skill Quality 任务成功率 × 触发准确率 × 约束遵守率 - 成本惩罚 - 延迟惩罚 - 越权风险惩罚不要只用“模型回答看起来不错”作为指标。Skill 的价值是稳定地完成任务而非偶然生成漂亮文本。5. 调优原则一先定义边界再写内容最常见的问题是 Skill 目标过大例如“负责所有文档处理”。这会导致触发范围模糊、上下文过长、工具冲突和难以测试。好的边界应回答这个 Skill 服务哪类任务明确不服务什么输入和输出是什么哪些步骤必须执行哪些动作需要用户确认什么情况下应该停止并报告失败例如“PDF 读取和版面验证”比“文档专家”更容易触发和评估“生成 RAG 评测集”比“AI 工程 Skill”更可控。6. 调优原则二触发描述要像分类器不要像广告6.1 触发条件应包含正例和反例triggers:positive:-用户要求创建、编辑或验证 PDF-用户明确要求检查 PDF 的页面布局negative:-只需要回答一个与 PDF 无关的知识问题-用户要求生成 Markdown不涉及 PDF 文件仅写“当用户需要 PDF 时使用”不够因为模型需要知道“PDF 内容问答”和“PDF 排版验证”是否都属于范围。6.2 触发词不能代替意图识别关键词如“图”“文件”“设计”很宽泛。应描述任务意图、输入类型、预期输出和风险等级。触发描述越宽False Positive 越高越窄False Negative 越高。6.3 处理 Skill 冲突当多个 Skill 都匹配时应提供优先级原则具体任务 Skill 领域 Skill 通用 Skill 用户明确点名 语义推断 安全/合规 Skill 普通执行 Skill 验证 Skill 在修改 Skill 之后运行7. 调优原则三正文应写“决策点”而不是堆知识低质量 Skill 往往像百科全书解释很多但没有告诉 Agent 下一步做什么。高质量 Skill 的正文应优先包含什么时候做这一步什么时候不做输入准备好了吗调用哪个工具工具失败后怎么办结果如何验证何时向用户询问何时可以结束。推荐使用决策表情况动作输入文件存在且格式明确直接解析输入文件缺失请求用户补充需要外部最新资料使用搜索/连接器工具返回空结果检查参数并重试一次结果涉及破坏性操作暂停并请求确认验证失败不宣布完成进入修复8. 调优原则四上下文按需加载8.1 三层上下文L0Skill 元数据——名称、用途、触发范围、禁用条件 L1核心流程——当前任务完成所需的最小规则和工具契约 L2参考资料——只有遇到具体分支时才读取L0 参与路由L1 参与执行L2 通过条件触发加载。不要在 L0 放数千字的背景知识。8.2 上下文压缩策略删除重复的礼貌语和泛化建议将长段落改成条件-动作表将重复的工具参数放入 schema 或 reference以模板替代多组近似示例只保留能改变决策的知识。8.3 上下文不是越多越好上下文越长模型不一定越准确。冗余规则会产生优先级冲突过期示例会诱导错误行为多个类似工具会增加选择困难。调优时要观察“增加一段说明是否真的改变了成功率”。9. 调优原则五工具契约必须精确Skill 不应该只说“调用工具处理文件”而应说明{name:render_document,description:将文档渲染为页面图片用于版面检查只读输入不修改源文件,input_schema:{type:object,required:[path],properties:{path:{type:string},output_dir:{type:string}}}}应明确工具的前置条件、权限、输出结构、错误类型、幂等性、超时和副作用。Tool 名称相似时Skill 要写选择规则而不是把选择责任全部交给模型。10. 调优原则六把验证写成 Skill 的一等步骤“生成完成”不等于“任务完成”。验证应该具体到可执行检查defverify(result):assertresult.existsassertresult.mime_typeapplication/pdfassertresult.page_count0assertnotresult.has_overflowassertcitations_cover_claims(result)验证可以包括文件存在、格式正确、内容完整、引用有效、权限正确、没有越界修改和输出可渲染。遇到失败要回到修复步骤不应直接输出“已完成”。11. 一个完整的 Skill 执行示例假设 Skill 是“技术文档生成与校验”。用户说“根据这份设计说明生成 CSDN Markdown并制作封面。”Router 判断用户要创建 Markdown、生成图片、写入工作区匹配文档生成 Skill 和图片生成 Skill。Skill Resolver 选择文档 Skill 作为主流程图片 Skill 作为子能力。Context Loader 加载标题规范、Markdown 模板、图片比例要求和文件写入规则。Planner 生成读取材料 - 归纳结构 - 撰写 - 生成封面 - 写入图片 - 插入引用 - 校验链接和文件。Tool Manager 检查读取、写入和图像生成工具。Executor 依次执行确定性动作模型只负责归纳、表达和图像提示词。Validator 检查 Markdown 是否存在、图片是否存在、相对路径是否正确、标题是否清晰。如果图片生成失败保留正文报告图片失败不谎称已完成如果路径错误自动修复并再次验证。这个例子体现了 Skill 的边界模型负责判断和内容工具负责实际写入验证负责确认事实。12. 常见失败模式与修复失败模式现象根因修复Skill 太长模型忽略后半段上下文过载分成 L0/L1/L2触发太宽所有请求都加载描述缺少反例增加边界和优先级触发太窄用户点名仍不触发只写关键词加入意图和同义表达工具说明模糊参数和顺序错误缺少契约写 schema、前置和失败处理没有停止条件无限循环或重复调用只写“继续优化”加成功条件、预算和最大重试没有验证结果看似完成但不可用过程和结果混淆增加质量门禁示例太少边界任务表现差只有 happy path添加反例、错误、暂停样例多 Skill 冲突工具互相覆盖没有组合规则规定主 Skill、子 Skill 和优先级把安全写成建议高风险动作仍自动执行没有硬门禁工具层强制策略和审批版本不可追踪调优后不知道是否变好没有评测基线版本、数据集、指标绑定13. Skill 调优方法论从感觉驱动到数据驱动13.1 建立最小评测集每个 Skill 至少准备10 个明确正例10 个明确负例5 个与相邻 Skill 冲突的样例5 个工具失败样例5 个需要澄清或人工审批的样例5 个长上下文和多轮 Resume 样例。13.2 只改一个变量一次同时修改触发词、流程、工具描述和示例无法知道哪个改动起作用。推荐每轮只改一个变量并记录版本、样本、成功率、成本、延迟、失败类型。13.3 看失败分类不只看总分总成功率没有解释力。应把失败分为未触发、误触发、工具选错、参数错、流程漏步、权限错误、验证漏检、输出不合格和成本超标。13.4 保留回归测试Skill 调优可能修复一个场景却破坏另一个场景。每次发布都跑固定回归集并对关键安全场景设置“不可下降”的质量门槛。14. Skill 与 Harness、RAG、MCP 的关系Harness RuntimeSkill RouterSkillPrompt RulesTool ContractMCP CapabilityRAG ReferencesValidationExternal WorldHarness 负责 Skill 的加载、执行、状态、权限、事件和恢复Skill 负责任务领域的规则和流程MCP 提供可发现、可调用的外部能力RAG 提供动态知识证据Tool 执行真实动作Validator 判定结果是否达到完成标准。Skill 不是把所有能力都装进去而是编排这些能力完成某类任务。15. 推荐的 Skill 编写模板--- name: example-skill description: 说明服务对象、触发意图、明确不适用场景 --- # 目标 一句话说明最终结果。 # 触发范围 - 正例... - 反例... - 与相邻 Skill 冲突时... # 必须遵循的流程 1. 检查输入和权限 2. 建立计划 3. 调用工具 4. 处理失败/暂停 5. 验证结果 6. 输出交付物 # 工具规则 - 工具 A 何时使用 - 工具 B 何时禁止使用 - 参数、超时、幂等和副作用 # 输出规范 明确文件、格式、引用和错误报告方式。 # 完成条件 列出可验证的成功标准。 # 失败处理 列出重试、降级、澄清、审批和停止条件。 # 延迟加载资料 - references/xxx.md仅在遇到 xxx 时读取16. 最终心得Skill 调优的第一原则不是增加内容而是减少歧义。Skill 的竞争力来自流程、边界、工具契约和验证而不是华丽的措辞。能确定性执行的事情交给脚本和工具模型负责理解、选择和归纳。触发器决定“什么时候介入”正文决定“介入后怎么做”验证器决定“什么时候算完成”。任何无法被评测的规则都很难持续优化。任何没有失败处理的 Skill都只能算 Demo。Skill 应该小而专、可组合、可版本化避免成为新的“超级 Prompt”。最好的 Skill 不会让用户感觉 Agent 变得更复杂而是让复杂任务稳定地一次完成。参考资料Anthropic Claude Code Skills 概念OpenAI Agents SDKModel Context ProtocolLangGraph ConceptsAgent Skills Specification

相关新闻

灵长类辐射演化中物种识别信号的结构:长尾猴图像数据集

灵长类辐射演化中物种识别信号的结构:长尾猴图像数据集

摘要:长尾猴(Guenon)正面图像数据库创建于2017年4月,数据集路径为“Guenon_images_frontal”,总容量约600 MB,共包含599张RGB正面图像。图像采用无损TIFF格式保存,支持未压缩和PackBits压缩&…

2026/10/20 13:41:48 阅读更多 →
如何完全免费解锁Wand专业版功能:从2小时限制到无限畅玩的终极指南

如何完全免费解锁Wand专业版功能:从2小时限制到无限畅玩的终极指南

如何完全免费解锁Wand专业版功能:从2小时限制到无限畅玩的终极指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer 您是否厌倦了每天只…

2026/10/17 2:35:43 阅读更多 →
如何用Python一键备份你的QQ空间完整记忆档案

如何用Python一键备份你的QQ空间完整记忆档案

如何用Python一键备份你的QQ空间完整记忆档案 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 在数字时代,QQ空间承载着无数人的青春记忆和情感历程。然而,你是否…

2026/10/19 2:46:21 阅读更多 →

最新新闻

2028年AI智能体靠技能库与反复练习学会复杂工作

2028年AI智能体靠技能库与反复练习学会复杂工作

1. 从“堆参数”到“攒技能”:AI进化路线的拐点1.1 数据墙后面,模型遇上了“聪明但笨拙”的瓶颈过去几年,AI想变强靠的是一条非常简单的路线:做大模型、喂更多数据、堆更多算力。这条路成就斐然,但走到今天&#xff0c…

2026/10/20 13:41:59 阅读更多 →
AI智能健身镜开发实战:实时动作纠正与评分系统全解析

AI智能健身镜开发实战:实时动作纠正与评分系统全解析

去年有段时间我下定决心在家规律练深蹲和硬拉,结果不到两周腰就不太舒服。倒不是重量上出了问题,是动作模式从一开始就走偏了——录视频回看才发现自己下蹲时膝盖内扣、下背松散,而这些坏习惯在没有教练盯着的情况下,练得越勤&…

2026/10/20 13:41:59 阅读更多 →
AI制作治愈系动画短片全流程:从脚本到成片实操指南

AI制作治愈系动画短片全流程:从脚本到成片实操指南

你有没有想过,用AI做一条治愈系动画短片?不是那种需要动画师一张张手绘的严肃项目,而是从脚本、画面、动态、配音到成片,一个人在两三天内就能完成的那种。我最近完整跑了一遍这个流程,从零做了几条两分钟以内的治愈系…

2026/10/20 13:41:59 阅读更多 →
OpenJDK 11.0.10 aarch64 Linux 兼容性避坑指南

OpenJDK 11.0.10 aarch64 Linux 兼容性避坑指南

简介:本资源是面向ARM64架构Linux服务器与嵌入式开发者的OpenJDK 11.0.10官方构建版,专为aarch64平台深度适配,解决Java开发者在国产化服务器、树莓派4/5、鲲鹏等ARM生态中缺乏稳定、开箱即用JDK环境的痛点。压缩包共508个文件,涵…

2026/10/20 13:41:59 阅读更多 →
JSP+SSM网上购物商城系统实战:从架构设计到部署上线

JSP+SSM网上购物商城系统实战:从架构设计到部署上线

如果让我挑一个最适合初学 JavaWeb 的完整案例,网上购物商城系统绝对能排进前三。这个基于 JSP 和 SSM(Spring、SpringMVC、MyBatis)的商城项目,覆盖了用户从注册、浏览商品、加购、下单到后台管理的完整链路,既有前端…

2026/10/20 13:41:59 阅读更多 →
从日榜看技术趋势:Rust崛起与AI应用层霸榜的深度拆解

从日榜看技术趋势:Rust崛起与AI应用层霸榜的深度拆解

1. 日榜项目的整体观察与拆解思路每天早上刷一遍热榜,已经成了我这些年做技术选型和趋势判断的固定动作。2026年10月8日这一期的日榜,整体看下来有一个很明显的特征:工具类项目占比超过六成,AI 应用层项目继续霸榜,但底…

2026/10/20 13:40:50 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →