收藏 | 程序员必看:用 Skills 解决大模型工作流中的 Prompt 痛点,提升效率与稳定性

张开发
2026/4/16 21:25:22 15 分钟阅读

分享文章

收藏 | 程序员必看:用 Skills 解决大模型工作流中的 Prompt 痛点,提升效率与稳定性
本文探讨了在将大模型接入工作流时将规则和流程塞进 System Prompt 的局限性并提出了使用 Skills 进行模块化管理的解决方案。文章分析了长 Prompt 的问题如重复成本累积、上下文丢失和复用维护困难并阐述了 Skill 的定义、特点和适用范围。此外还详细解释了 Skill、Prompt、MCP 的分工关系以及如何编写和实现一个最小可用的 Skill。最后文章强调了 Skill 对团队协作和知识管理的重要性并建议从简单重复任务开始创建第一个 Skill。很多团队在把大模型接进工作流时最开始都会走同一条路把规则、流程、注意事项、格式要求统一塞进 System Prompt。刚开始这种做法往往很有效。任务简单的时候模型像一个认真听话的实习生。你告诉它“按这个格式回答”、“别忘了检查安全问题”、“提交前先跑测试”它大概率也能照做。但只要任务复杂度上来问题就会出现Prompt 越写越长成本越来越高规则越堆越多模型越容易漏掉重点同样一套流程换个项目还得重新抄一遍团队里每个人都在重复“喂规则”很多人以为这是 Prompt 写得还不够好。其实未必如此。问题在于把本该“模块化管理”的东西硬塞进了每次都要重复携带的上下文里。问题已经不只是“提示词优化”而是“知识组织方式”出了问题。而 Skills正是在解决这个问题。从一个例子说起假设你想让 AI 帮你做代码审查。最朴素的做法是把规则全塞进 Prompt你是资深后端工程师。请按以下标准审查代码1. 检查 SQL 注入风险2. 检查空指针问题3. 检查并发安全4. 输出时按严重程度分类5. 对涉及支付逻辑的代码单独标注6. 所有建议都要包含修改方向...如果团队里还叠加了数据库规范、接口规范、上线流程、异常处理约束Prompt 很快就会膨胀成几千 Token 的混合体。问题就在这里代码审查只是当前任务但你却把一整套长期稳定的规范都绑进了这次对话。真正该单独管理的不是“这次要 review 什么代码”而是“团队平时怎么 review 代码”。Skills 处理的正是后一件事。它不是把 Prompt 再写长一点而是把那套长期有效的规则从对话里拆出来单独做成一份可调用的说明。放到这个例子里就是平时只保留一个叫code-reviewer的 Skill 入口用户真的说“帮我 review 这段代码”时再去加载code-reviewer的完整说明Prompt 管当前这次请求Skill 管那本专业手册。这两个东西可以配合但不该混成一团。本文后面都在回答哪些东西该写进 Prompt哪些东西更适合拆成 Skill。一、长 Prompt 的问题出在哪里把所有规则塞进 Prompt刚开始确实省事。但这套做法很难随着任务复杂度一起扩展。1. 重复成本持续累积假设一个团队有这些常驻规则代码规范1200 Token上线 SOP2000 Token安全检查清单800 Token数据库访问规范1500 Token接口设计约束1000 Token加起来就是 6500 的 Token 了而且这不是一次性成本而是每轮对话都会重复支付。用户只是问一句“这个 SQL 为什么报错”模型也要先吞下一整套上线流程和安全清单。这显然并不经济。2. 上下文变长后更容易丢失重点长上下文还有一个经典问题Lost in the Middle。简单说就是当上下文很长时模型对中间部分的关注会明显下降。你最精心写的第 7 条规范很可能恰好在“中间地带”于是被悄悄忽略。最后就会出现规则明明写了成本明明花了但模型还是没完全照做3. 复用与维护成本偏高还有一个容易被低估的问题Prompt 非常容易“跟着项目散落”。今天你在 A 项目里调出一套很好的代码审查 Prompt明天换到 B 项目又得重新复制、删减、改词。长此以往团队里会出现很多相似但不完全一致的 Prompt 版本。谁也说不清到底哪个才是“标准版”。Prompt 当然重要但它更适合承载当前这次请求的意图不适合长期背着一整套稳定流程往前跑。问题自然就冒出来了如果这些长期稳定的规则不该一直塞在 Prompt 里那它们该放在哪里二、什么是 Skill先说一个直观的定义一份按需调取的专业操作手册。平时它不占多少上下文相关任务出现时模型再把它拿出来看。更正式一点说Skill 是用自然语言写成的领域指令包通常存放在SKILL.md中模型会在相关任务出现时按需加载它。但这里有一个很重要的边界要先说清Skill 并不是脱离 Prompt 独立存在的“新能力”。从原理上看它仍然属于上下文工程的一部分只是被产品或框架做成了可发现、可复用、按需加载的模块化资产。也就是说Skill 不是在替代 Prompt而是在把原本容易散落在聊天框里的那部分长期规则重新组织成更适合工程化管理的形态。但只知道这个定义还不够。到了真正落地的时候大家最容易混淆的往往不是“Skill 是什么”而是“它和 Prompt、MCP、Function Calling 分别在管什么”。1. 本质一份面向模型的操作说明Skill 不是模型微调不是新工具也不是某个神秘的插件机制。它是一组面向模型的工作说明遇到什么情况该用它用它时按什么顺序做中间要调用哪些工具输出最好长什么样2. 特点按需加载模型启动时并不会把每个 Skill 的完整正文都塞进上下文里。通常只会先知道这个 Skill 叫什么它大概处理什么问题等任务真的命中后才去读取完整内容。这很像一本手册的目录页。你不需要先把整本书背下来只需要知道哪一章在讲什么用到时再翻过去。3. 适用范围承载稳定的领域知识Skill 特别适合承载这几类知识经常重复边界比较稳定需要明确流程希望团队共享比如代码审查规范SQL 排障流程发布前检查清单故障复盘模板数据抽取与清洗 SOP本质上Skill 就是在把团队里的隐性经验写成 AI 也能照着执行的说明书。三、Skill、Prompt、MCP 的分工关系这几个词经常一起出现也最容易被混为一谈。拆开来看就清楚了Prompt表达这次想做什么Function Calling让模型按格式调用工具MCP把外部系统统一接进来Skills把流程和领域知识组织起来换个更生活化的说法Prompt 像你在给同事下达当前任务Function Calling 像告诉他“工具长什么样、参数怎么填”MCP 像统一的接口标准负责把数据库、文件、API 接进来Skills 像团队内部沉淀下来的操作手册它们不是替代关系而是分工关系。Prompt承载当前请求用户说“帮我 review 这段代码”这句话本身就是 Prompt。但 Prompt 更适合承载当前任务当前上下文当前补充要求它不太适合承载一大坨长期稳定的规范需要跨项目复用的流程团队级共享的专业知识Function Calling定义工具调用Function Calling 解决的是工具调用问题。它关心的是工具叫什么参数怎么传返回什么格式比如读取文件、执行 Shell、查询数据库本质上都属于这一层。MCP连接外部系统MCP 解决的是连通性问题。它有点像 AI 世界里的 USB-C。有了它数据库、文档系统、监控平台、设计工具都可以用统一协议接给模型。但 MCP 并不负责告诉模型什么时候查数据库什么时候去看日志查完之后应该如何组织分析Skills组织流程与规则它补上的不是“连接能力”而是“执行逻辑”。 简单说MCP 负责把工具接进来Skills 负责把这些工具组织成可执行的流程。这也是为什么很多团队会同时需要 MCP 和 Skills而不是二选一。把位置摆清楚之后再回头看底层机制很多看上去反直觉的地方就容易理解了。比如为什么 Skill 不是“多一个工具”为什么它能节省上下文为什么它适合承载团队规则。四、一次 Skill 调用的典型链路很多人第一次接触 Skills会下意识觉得“我建了 10 个 Skill模型就多了 10 个工具。” 实际上主流实现通常不是这么工作的。不同产品实现细节不完全一样但主流思路很接近。下面这条链路更适合把它理解成一种常见实现模式而不是所有产品都完全一致的固定规范。第一步发现可用 SkillAgent 启动时通常会去扫描约定目录比如.claude/skills/.agents/skills/.github/skills/这些目录只是不同产品或社区实现里常见的例子并不是一套已经完全统一的标准。它通常会先读SKILL.md里的元数据比如name和description。第二步向模型暴露 Skill 元数据模型不一定会直接看到每个 Skill 的完整正文。更常见的是它先拿到一份轻量级目录code-reviewer用于代码审查slow-query-analyzer用于分析慢查询deploy-checklist用于上线前检查也就是说模型先知道“有什么”再决定“要不要用”。第三步模型判断是否触发比如用户说帮我 review 一下这段代码。模型会发现这句话和code-reviewer的描述高度相关于是主动请求这个 Skill。第四步框架读取 Skill 正文直到这一步框架才会真正去读code-reviewer/SKILL.md的正文。换句话说真正占上下文的大块内容是在触发之后才被带进来的。第五步模型按规则继续执行任务到了这一步模型才真正拿到那本“专业手册”然后按 Skill 里的要求去做先看安全问题再看逻辑问题最后按约定格式输出所以 Skills 最关键的收益不是“多一个入口”而是这件事把原本需要常驻的大段知识改成触发后再进入上下文。这也是它为什么比“无限堆 Prompt”更适合工程化。理解原理是一回事但落地时更实际的问题是知道它怎么工作之后SKILL.md到底该怎么写才不至于落成一份模型难以顺畅执行的 README。五、如何写出一个真正可用的 Skill很多人第一次写 Skill 时很容易把它写成 README先讲一大段背景再讲项目历史再写安装说明最后才提一点执行要求这对人类读者或许友好但对模型来说并不高效。SKILL.md最重要的任务不是“介绍你是谁”而是告诉模型什么时候该用我用我时应该怎么做。决定效果的主要就是下面这几件事。1.description决定触发效果模型能不能正确触发一个 Skill很大程度上看description写得好不好。坏的写法description:分析系统日志。这个描述过于宽泛。好的写法description:诊断SpringBoot生产环境的运行时异常包括解析Java堆栈、定位OOM、分析接口超时和FullGC问题。当用户粘贴错误日志或提到“系统报错”“接口超时”“频繁FullGC”时触发。好的描述至少回答了三件事它处理什么问题用户可能会怎么说它不打算处理哪些泛化场景最后这一点尤其重要。很多 Skill 的问题不在于“不够强”而在于“边界没有写清”结果是什么都想接触发率看起来提高了实际输出却变得不稳定。2. 正文应聚焦规则而非常识正文最该写的不是模型已经知道的“常识”而是这个场景下它必须遵守的约束。比如先检查什么再检查什么哪类问题优先级最高哪些场景必须单独标记输出按什么格式组织模型一般已经知道什么叫代码审查但它不知道你们团队先看安全还是先看性能你们对支付逻辑是不是要提高等级你们希望输出按 H2、表格还是分级清单这些东西才是 Skill 里最值钱的部分。如果想再往前走一步正文里最好补上一小段什么情况下不要使用这个 Skill。比如日志不完整时不直接下结论涉及生产删改操作时先要求用户确认纯概念解释类问题不触发排障 Skill这一段不必很长但往往比多写一页背景介绍更能提升稳定性。3. 确定性操作应交给脚本凡是既容易出错、又需要确定性的操作最好交给脚本。比如时间格式转换复杂数据提取固定格式校验某个 API 的严格调用方式在 Skill 里可以这样写如果需要校验配置格式执行scripts/validate_config.py并基于结果继续分析。模型负责理解场景和组织流程脚本负责做那些不该模糊处理的事。这些原则单独看都不复杂但如果只停留在原则层面仍然会显得不够具体。更好的办法还是直接看一个最小例子把它落到一份真实的SKILL.md上。六、一个最小可用的 Skill 示例如果前面的讨论仍然有些抽象直接看一个最小例子会更直观。假设你想给团队做一个“代码审查 Skill”最小版本可以长这样---name: code-reviewerdescription: 对后端代码进行结构化 Code Review重点检查安全风险、 逻辑错误和可维护性问题。当用户要求 review 代码、检查代码质量、 分析潜在 bug 时触发。---## 审查顺序1. 先检查安全问题2. 再检查逻辑正确性3. 最后检查可维护性和可读性## 必查项### P0安全问题- SQL 拼接- 密钥硬编码- 未鉴权接口### P1逻辑问题- 空指针风险- 并发安全问题- 边界条件缺失### P2质量问题- 函数过长- 重复逻辑- 命名含混## 输出格式每个问题按以下格式输出- 严重级别- 问题描述- 原因- 修改建议这个版本并不复杂但已经具备基本的实用性第一用户不需要每次都重复说“按什么标准 review”。第二团队里的 AI 输出会比“纯自由发挥”稳定得多。往下再做可以补这些东西references/放详细规范scripts/放确定性脚本示例输入输出帮助模型更稳定地产生你想要的格式讲到这里就可以进一步追问既然 Skill 可以这样写那什么样的事情值得专门做成 Skill什么样的事情其实没有必要七、什么样的任务值得做成 Skill但也不是所有事情都值得单独做成 Skill。适合沉淀为 Skill 的场景你已经重复解释过 3 次以上这套流程边界相对稳定你希望跨项目复用你希望团队成员的 AI 都遵守同一套标准比如Code Review上线检查故障排查PR 描述生成数据报表处理 SOP不适合专门做成 Skill 的场景一次性任务变化非常频繁的规则模型本来就能轻松完成的小事维护成本比复用收益还高的东西归根到底重复、稳定、可复用的流程最适合做成 Skill。八、团队协作场景下的几个关键问题一旦 Skill 从个人提效工具变成团队通用资产问题就不只是触发率了至少还要看这三件事。1. 多个 Skill 如何协作真实工作流通常不是一个 Skill 就能搞定的。比如一个需求开发流程可能会涉及读取需求单生成接口文档生成代码做 Code Review生成 PR 描述这时通常要在两种做法之间作出选择让模型自动决定串联哪些 Skill还是在某个“主 Skill”里显式规定顺序前者更灵活后者更可控。2. 上下文窗口仍然有限Skills 解决的是“不要一开始把所有东西都塞进去”但不代表上下文无限大。如果一次对话连续触发很多长 Skill它们的正文仍然会不断累积在消息历史里。所以依然要注意单个 Skill 不要过长重资料拆到references/超长流程适当分阶段对话3. 安全边界需要提前明确Skill 本质上是在影响 AI 的行为。下面这些事必须格外谨慎不要把密钥、密码、凭证写进 Skill破坏性操作要明确要求“执行前确认”对不适用的场景要写清楚减少误触发越是要在团队里共享越要把这些边界提前写清楚。九、Skills 正在走向开放标准到 2026 年初Agent Skills 已经不只是某个单一产品里的小技巧而是在朝着更开放、更可迁移的方向演进。公开支持或兼容的产品已经包括Anthropic Claude / Claude Code / Agent SDKOpenAI CodexCursorGitHub Copilot一些社区实现与开源项目这背后最值得注意的变化是Skill 正在从“某个工具里的配置技巧”变成“可迁移的工作流资产”。不过这里也需要说得更严谨一点现阶段更准确的表述是大家在理念上越来越趋同但目录约定、元数据字段、触发方式、工具集成方式仍然存在差异。因此它正在走向开放生态但还不能简单理解成“所有产品已经完全兼容同一套 Skill 标准”。这和普通 Prompt 最大的不同就在这里。Prompt 常常散落在聊天框里、配置里、个人笔记里。而 Skill 更像一个真正可以被管理、共享、版本化的模块。从团队视角看这件事比省多少 Token 更重要。因为它意味着团队规范可以沉淀AI 行为可以趋于一致知识可以随着项目持续迭代如果你认同这套思路接下来更实际的问题就是第一步该从哪里下手十、第一个 Skill 应该从哪里开始如果你现在准备动手不必一上来就做“全能 Skill”。更好的起点往往很朴素选一件你上个月已经重复说过 3 次以上的事。比如“帮我按团队标准做 Code Review”“上线前帮我过一遍检查清单”“遇到 SQL 慢查询时按固定步骤排查”然后先做一个最小版本新建一个文件夹放一个SKILL.md写清楚name写清楚description把执行顺序和输出格式写进去先别追求大而全。一个能稳定触发、稳定输出的窄 Skill通常比一个边界模糊的万能 Skill 更有价值。写完以后也不必急着宣布“这个 Skill 已经可用了”。更稳妥的做法是用 5 到 10 个真实任务做一次回放重点看三件事该触发的时候有没有触发不该触发的时候会不会误触发输出是否稳定遵守了你写下的顺序和格式如果一个 Skill 总是误触发通常说明description写得过泛如果总是触发不出来通常说明用户说法覆盖得还不够全如果已经触发但执行不稳往往是正文里的顺序、边界或脚本调用条件还不够明确。写在最后前面一路讲下来其实都在回答同一个问题为什么有些规则不该继续硬塞在 Prompt 里。如果一定要用一句话概括 Skills 的意义我会这样说它不是 Prompt 的补丁而是把团队知识从“临时喂给模型”变成“按需调用的模块”。过去很多人优化 AI 的方式往往都是继续往 Prompt 里加东西补规则、补格式、补边界、补例外。但当你真的把 AI 接进日常工作流迟早都会碰到同一个问题规则越来越多Prompt 越来越长维护越来越累输出却不一定越来越稳。到这一步真正该升级的已经不只是 Prompt 技巧而是规则本身的组织方式。看起来只是上下文管理方式变了背后带来的却是另一套工程结果更低的常驻上下文负担更强的流程复用能力更容易共享的团队规范更稳定的 AI 执行表现如果你已经开始觉得 Prompt 越写越长、越写越累那多半不是你不会写 Prompt而是你已经走到了该把一部分知识从 Prompt 里拆出来的阶段。Skill 的意义当然不只是省一点 Token。它更重要的价值在于让团队知识第一次有机会像代码一样被模块化、被版本化、被共享、被迭代。当第一个 Skill 真正稳定运行起来你会明显感觉到自己优化的已经不再只是某一句提示词而是在搭建一套能够持续沉淀、持续复用的 AI 工作方法。如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线科技企业深耕十二载见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包✅ 从零到一的 AI 学习路径图✅ 大模型调优实战手册附医疗/金融等大厂真实案例✅ 百度/阿里专家闭门录播课✅ 大模型当下最新行业报告✅ 真实大厂面试真题✅ 2026 最新岗位需求图谱所有资料 ⚡️ 朋友们如果有需要《AI大模型入门进阶学习资源包》下方扫码获取~① 全套AI大模型应用开发视频教程包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点② 大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。 正确的学习路线可以为你节省时间少走弯路方向不对努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通③ 大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。④ AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。⑤ 大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。⑥ 大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。以上资料如何领取为什么大家都在学大模型最近科技巨头英特尔宣布裁员2万人传统岗位不断缩减但AI相关技术岗疯狂扩招有3-5年经验大厂薪资就能给到50K*20薪不出1年“有AI项目经验”将成为投递简历的门槛。风口之下与其像“温水煮青蛙”一样坐等被行业淘汰不如先人一步掌握AI大模型原理应用技术项目实操经验“顺风”翻盘这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。以上全套大模型资料如何领取

更多文章