Agent-Skills:从提示词到可复用技能包,让大模型真正能干活 1. 项目概述与核心思路拆解1.1 什么是 agent-skillsagent-skills说白了就是把大模型从一个“只会聊天的助手”变成“真能干活的下属”。它是一套以技能为单位来组织提示词、脚本、交互协议和知识资产的标准化体系。核心思想是不把能力写死在系统提示词里而是按功能拆分成一个个独立的 skill每个 skill 有自己专属的说明文件、示例和可执行脚本Agent 在执行任务时按需加载、动态组合。我最早接触 agent-skills 这个概念是因为接了公司内部一个自动化运维的需求。以前的做法是把所有操作指令全部塞进 system prompt 里结果 prompt 越堆越长模型经常东拉西扯该调接口的时候去编答案该写脚本的时候去抄注释。后来我用基于技能目录的思路把“查询告警”“分析日志”“生成工单”拆成三个独立技能每个技能都有服务商目录式的元数据Agent 先看目录再选技能效果一下子就不一样了。这也是 agent-skills 和我之前做的普通提示词工程之间最本质的差别——它给大模型搭建了一个可枚举、可校验、可复用的“工具抽屉”而不是把所有东西堆在桌面上。再说项目适用的群体如果你在做 Agent 应用开发、在跑私有化知识库问答、在维护客服或运维机器人、或者在做 RPA 类的流程自动化这套体系基本都能直接套。它不挑剔底层模型也跟具体的 agent 框架没有强绑定。对初学者来说它其实就是一套“怎么把你的 Prompt 写得像代码一样规范”的方法论配合常用的工程工具就能落地门槛没有想象中那么高。1.2 为什么需要给 Agent 注入“技能”而不是“指令”这里必须搞清楚一个关键概念指令和技能是两回事。指令是一条干巴巴的命令比如“总结上面这段文字”技能则是一个结构化的能力单元它包含了触发条件、执行步骤、输入输出规范、异常处理策略甚至还有几发示例。Agent 拿到一个“技能”不只是知道要做什么还知道遇到边界情况该怎么办、生成的结果用什么格式返回、哪些数据能碰哪些数据不能碰。拿我日常用的一个会议纪要做对比。用旧方案时我只写“帮我总结会议内容”大模型给出的结果是各种风格随机切换有时候是列表有时候是段落我还要再人工整理一遍。我把“会议纪要生成”做成真正的 skill 之后里面写明了先抽取决议项、再提取待办事项、最后归档到指定目录还有统一的输出模板和一份含三个人物对话的示例。模型走这套流程后产出的东西直接就是规范的 Markdown 文件几乎不用返工。所以说agent-skills 解决的其实是“能力标准化”的问题。没有标准化的技能Agent 的能力天花板完全取决于使用者的提问水平有了标准化的技能Agent 才真正成为一个可维护、可扩展的业务系统组件。这也解释了为什么现在各家 Agent 框架都在推技能市场或者技能包格式——因为它们都意识到提示词只是起点可复用的技能才是 Agent 应用走向生产环境的真正门槛。2. 技能的本质与核心组成解析2.1 一个完整技能的四个核心部分站在工程实现的角度一个能被生产环境使用的 agent-skill 至少要包含四个部分技能描述文件、执行指令集、示例库和校验规则。缺少任何一块技能用起来都会磕磕绊绊。技能描述文件相当于技能的“门牌号和说明书”写清楚这个技能是干什么的、适用什么场景、不适用什么场景、依赖哪些外部资源。执行指令集是技能的主干它定义了大模型在调用技能时的行为顺序比如“先用系统工具读取文件再逐段分析最后汇总输出”。示例库不是摆设它是大模型理解技能的锚点。你给三个不同难度的示例模型的表现就是对这仨示例的局部模仿加泛化比描述一百句抽象要求都管用。校验规则则负责守住底线比如输出必须含特定字段、数字必须四舍五入到两位、生成文件必须落盘到某个路径。这四个部分各有各的作用缺一个就会出问题。没描述文件Agent 在技能市场上找不到、调不对没指令集模型执行起来动线混乱没示例模型表现飘忽不定没校验规则结果质量参差不齐。我见过不少团队做 agent-skills 只写了“功能描述一段操作 prompt”看起来也能跑但一上生产、一遇异常就原形毕露了。真正合格的技能一定要把四块都补齐。2.2 技能与工具Tool之间的边界划分很多人容易把 agent-skill 和 tool工具混为一谈其实两者的分工恰好不同。工具是 Agent 可以调用的外部功能模块比如“发送 HTTP 请求”“执行 Python 代码”“查询数据库”技能则是基于这些工具组合出来的一整套解决方案。换句话说工具是积木块技能是搭好的房子。一个技能可能同时用到多个工具一个工具也可能被多个技能引用。举个例子我做了一个“行业竞品动态监控”的技能内部用到三个工具搜索引擎接口用于抓取新闻、向量检索工具用于相似度比对、写文件工具用于生成日报。如果不做技能这一层抽象Agent 只能自己临时规划调用顺序每次跑的结果都有随机差异。把这一整套流程沉淀为技能之后无论谁来调用执行路径都是稳定的这个方法同时也就变成了团队可共享的资产。实际操作中还会有一种边界模糊情况某个 tool 本身很复杂比如一个能执行 SQL 并返回结果的数据库工具它到底算工具还是技能我的判断标准是看它有没有“决策行为”。工具只做执行不做判断技能必须包含判断与规划逻辑。数据库工具拿到 SQL 就执行、返回结果它是工具而“根据问题判断该查询哪些表、生成 SQL、执行并解释结果”整个流程它才是技能。按这个标准去划分项目结构就清晰了。2.3 为什么技能文件比传统 Prompt 更适合生产环境传统的提示词工程很容易陷入一个尴尬局面Propmpt 越长模型对上下文的依赖越强但上下文本就越长超出模型窗口后效果就急剧下降。Agent 技能恰恰解决了这个问题——它把指令从系统上下文里“搬出去”变成按需加载的动态模块模型只在需要某个能力时读取对应的技能包。我自己的实际体验是把 60 多个系统提示词全部改造成技能包后总 token 消耗直接下降了大约 40%。原因是技能体系下公共指令只保留了基础人格和通用规则那些“遇到什么情况应该怎么处理”的长篇说明全部转移到了技能描述文件中不带任务时根本不会加载。这一点对商业项目极其重要因为 token 成本降了延迟也就跟着降了用户体验整体上了一个台阶。再一个优势是可维护性。传统 Prompt 是全局里牵一发动全身改一句措辞可能要全量回归。技能体系下每个技能都是一个独立组件改“竞品监控”不用碰“会议纪要”可以单独发版、独立测试。这种工程化复用能力才是 agent-skills 在生产环境里真正的价值所在。3. 构建 agent-skills 的实操要点与细节方法3.1 技能拆解原则从业务场景反向设计做技能的第一步不是写 prompt而是拆场景。我常用的方法叫“一场景一技能”把业务里每一类可重复、有明确输入输出、有固定流程的任务单独拆成一个技能。什么算可重复就是你这个月至少要做三次以上的操作。什么算明确输入输出就是输入什么数据和输出什么结果都用一句话能说清。如果满足这两条就值得做成技能。拆分优先级也有讲究。先做那些“高频、简单、产出标准化”的技能这类技能投资回报率最高做出来马上能用用起来效果明显也容易让团队建立信心。我最早拆出来的就是“日报自动生成”“会议纪要整理”“告警分类总结”当场就把同事们从重复劳动里解放了出来。等这套玩法跑顺了再去做那些低频但复杂的“数据分析报告”“竞品调研简报”“周报汇总”等高阶技能。拆分过程中最忌讳的是贪大求全。一个刚入门的团队想做一个“全能数据分析技能”写了两千行 Prompt最后模型跑起来又慢又乱他们回头来问我怎么优化我说先把“数据清洗”“订单趋势分析”“异常归因”三个子技能拆开每个技能专注一件事模型反而跑得更稳。技能的设计应该像软件工程里的单一职责原则小、专、清。3.2 一个可直接复制的技能包结构参考以下是我在实践中不断迭代后觉得最顺手的一套技能包目录结构可以直接套用在大多数项目里skill_name/ ├── SKILL.md # 技能根文件描述技能用途、适用条件 ├── INSTRUCTIONS.md # 执行指令集定义行为流程 ├── examples/ │ ├── example_basic.md # 简单示例 │ ├── example_medium.md # 中等难度示例 │ └── example_hard.md # 复杂边界示例 └── scripts/ ├── preprocess.py # 可选输入预处理脚本 ├── main.py # 可选核心逻辑脚本 └── validate.py # 可选输出校验脚本SKILL.md 是这个技能包的门面。它的开头第一行会写明技能名称和一句话用途声明接下来是详细的适用场景和禁止场景。我写 SKILL.md 时有一个经验除了说明技能能做什么更要说明技能“不该做什么”这一点可以帮助 Agent 规避能力边界外的事务。比如我做“报销单审核”技能就明确写明“本技能不负责计算税额税额计算请调用财务计算技能”模型一看到就乖乖按流程走了。INSTRUCTIONS.md 则是整个技能的骨架它把任务执行流程拆成 4 到 7 步每一步都用可观测、可校验的动词开头比如“读取”“解析”“判断”“输出”避免“根据情况适当处理”这种模糊表达。脚本目录不是必备项但有了它技能的自动化程度和准确性会有显著提升。我习惯把那些模型做不好的部分交给脚本处理比如日期格式校验、正则提取、文件落库这些模型只需要负责决策和自然语言表达。3.3 输入输出规范与上下文设计的三个关键第一个关键是“把上下文限制在技能内部”。在大模型执行技能时不要让它接触无关的对话历史只能看到技能描述文件里定义的输入参数和参考数据。这样一方面降低模型被无关信息干扰的概率另一方面能显著缩短上下文长度、减少 API 费用和延迟。实现方式通常是在调用 Agent 时指定上下文 window 或参数列表来实现。第二个关键是用“输入参数”替代“自由发挥”。每个技能都应该明确定义输入参数比如“输入: 原始文本, 目标语言, 语气风格”这样才能实现高确定性。模型在参数不足时会主动询问而不是擅自猜测。我见过不少技能翻车根本原因是输入定义模糊模型自作主张补了不存在的假设条件。第三个关键是给模型示例时要用“同类型数据反复演示”。也就是说示例的难度要呈梯度分布第一例是简单直接的情况第二例是带点干扰信息的情况第三例是边界情况。模型对这三种示例如果都能稳定输出正确结果这个技能在真实场景里大概率是能扛住的。如果边界示例输出仍然崩那就回去改 INSTRUCTIONS.md而不是一味加示例数量。3.4 完整案例实操从零构建一个“日报生成”技能为了让上面的理论落地我给你完整走一遍“日报生成”技能从零到可用的过程。先说目标场景团队每天都有人需要在晚六点前提交日报到内部系统格式是固定的 Markdown 模板包含今日完成、明日计划、风险项、需要协助的事项四个模块。第一步确定输入。输入参数就是当天的工作记录来源可能是聊天记录、任务管理系统导出文件或者个人口述。我选择让模型支持三种输入方式直接粘贴文本、上传 txt 文件、传项目管理系统链接。有了这三种输入后模型需要先调用抓取工具获取原始数据再做格式转换。第二步写 SKILL.md。我写的内容大致是技能名“日报生成”用途是从原始工作记录中提炼并生成符合团队模板的 Markdown 日报适用场景是每日例行汇报不适用场景是周报、月报、季度总结这些要交给其他技能处理。同时在文件里注明需要用户提供时间范围和项目名称以便模型分组归纳。第三步写 INSTRUCTIONS.md。核心流程分五步分析原始记录按任务类型分组按项目维度合并相同事项对照模板填充今日完成根据待办事项和风险记录生成明日计划与风险项最后检查输出是否符合 Markdown 模板要求输出。其中第四步我加了一个细化要求如果风险项为空就写“无”不要生成虚假风险信息。第四步配示例。我放了两个示例一个是从任务管理系统导出的原始列表里面有大量日期格式混乱、纯杂事记录模型要自己筛选出有价值的内容另一个是用户只给了几句口头描述几乎没有结构化信息模型要主动通过追问或者按常识归类来生成完整日报。第五步加校验脚本。我写了一个十余行的 Python 脚本用正则检查输出是否包含四个必需标题字段并校验日期格式。跑完测试后我把这个校验规则嵌入了 Agent 框架的重试机制里如果校验失败Agent 会自动把校验结果反馈给模型并重新生成最多重试三次。这样一个“日报生成”技能从设计到上线大概两个下午就全部搞定了。3.5 技能升级与迭代用反馈数据反哺技能包技能不是做完一次就完事的东西。上线后要持续收集调用日志观察模型的成功率、失败模式、用户反馈。我给自己定了一个规矩每当技能在实际使用中出现三次相同类型的错误就触发一次技能包升级。比如“日报生成”技能上线第一周我发现模型偶尔会把会议讨论的内容误当作已完成事项写进去后来在 INSTRUCTIONS.md 里明确加了一条“只有明确标注为已完成的任务才能填入今日完成讨论中的内容统一放到明日计划”这个问题就彻底消失了。升级节奏建议用小步快跑的模式每次只改动一小块。改完必须跑一遍回归测试至少覆盖历史示例和三个新增的真实案例确认没有引入新的行为偏移后再发布新版本。这个“反馈-定位-修改-回归”的闭环就是 agent-skills 体系能持续进化的核心机制。4. 技能的发现、组合与评测方法实战4.1 技能发现机制与目录设计当团队里的技能数量超过二十个之后一个新问题就浮出水面了Agent 怎么知道该用哪个技能答案是技能目录也就是一个集中式的技能索引里面登记了每个技能的 ID、名称、功能摘要、适用场景、依赖关系。Agent 在执行任务时会先“扫”一遍目录根据任务描述和技能摘要做匹配匹配不到就询问用户选哪一个。目录设计有两个要点。第一是摘要必须高度概括且充满“搜索词”。比如“日报生成”技能的摘要里我会特意写“每日工作汇报”“每日总结”“日报模板”“今日完成明日计划”这些高频表达这样用户哪怕用不同的说法提问也能召回同一个技能。第二是要有依赖关系字段比如“竞品周报”技能依赖“新闻搜索”技能和“摘要生成”技能目录里必须标明方便 Agent 做技能编排。技能数量再往上走就可以考虑按领域分组目录比如“办公效率”“数据分析”“内容创作”“开发辅助”。到了几十个技能以上时分组能力几乎就成了刚需否则全量扫描的性能和召回准确率都会坏掉。我的经验是技能数量不超过十五个时不分层超过二十五个就一定要分层这个临界点各团队可以根据模型能力和帧注意来定但千万不要拍脑袋忽略目录设计这件事。4.2 技能组合编排从单技能到多技能协作流水线单个技能只能做单一任务真实业务往往需要多个技能串联协作。技能组合编排就是在技能之上再定义一套流程把多个技能按顺序或条件拼装成管道。常用实现方式有顺序执行A 完成后执行 B、条件分支根据 A 的输出决定执行 B 还是 C、并行执行多个独立技能同一批跑。我做“周报自动生成”就是这么编排的先并行调用“数据提取”和“日历事件分析”两个技能再把两个结果汇总给“周报撰写”技能最后调用“格式排版”技能渲染成 HTML 发布。这种组合方式让每个技能都可以独立维护和替换比如后来“数据提取”技能升级了读取新系统的能力其他技能完全不用动整个流水线自动获得新能力。组合编排中最容易踩的坑是“技能之间的数据契约不一致”。技能 A 输出的是一个含 JSON 字段的对象技能 B 期望的是纯文本列表衔接处就会出问题。解决方案是在设计技能时把输出格式写死统一用 JSON Schema 定义关键参数类型这个会让组合过程明显更顺。我吃过一次大亏两个技能各自用不同的时间格式一个用“2025-06-01”一个用“2025年6月1日”拼接出来的周报一度全是乱码。4.3 技能质量评测的量化方案做 agent-skills 跟做传统软件开发一样必须有评测否则改着改着就改糊了。我从实践中沉淀了一套低成本可落地的评测方案核心思路是“三维度打分回归法”。第一个维度是准确性就是看技能输出结果里信息是否真实、错误率多高。第二个维度是格式合规性就是比对输出内容和模板的一致程度用脚本自动校验字段缺失率。第三个维度是用户满意度就是让真实用户对每次调用结果打分脚本记录 1 到 5 分的均值。回归法指的是每次修改技能后都要拿同一批“评测集”重新跑一遍对比前后分数。评测集里的案例不能太少我一般固定 15 条左右难度按三分之一简单、三分之一适中、三分之一边界情况来配。分数对比就能看出这次修改是带来了进步还是退步。这套方案不花什么大钱但能把一个技能的质量变化轨迹完整记录在案。评测数据的积累还有另一层价值——它可以反哺技能的示例库。当评测集里发现典型失败案例就把它转成新的示例改进技能。久而久之评测集和技能包相互促进技能会越用越聪明。这一点跟传统机器学习里“往训练集里补样本”的逻辑是完全相通的。5. 常见问题与排查技巧实录5.1 技能调用不到或匹配错误的排查思路这是入坑 agent-skills 后最常遇到的第一类问题Agent 明明有某个技能却答非所问调用了别的技能或者干脆不调用。我的排查顺序是固定的从三个方向依次检查。第一查目录摘要的质量。如果摘要里没有覆盖用户可能用来描述任务的同义词召回就一定会失败。比如“智能写作”技能摘要如果没写“文案生成”“内容创作”“写文章”这些别名用户随口问“帮我写一篇小红书文案”就被忽略了。第二查技能描述文件的开篇声明。Agent 在决策时优先读 SKILL.md 的前几行如果这段声明写得模棱两可模型无法明确区分“该技能和另一个技能该用哪个”就很容易匹配错。我就把“数据分析”技能的适用范围具体到“订单、流量、转化相关的结构化数据”三个词模糊问题一下子解决了。第三查上下文加载机制。如果 Agent 框架里技能描述是异步加载的可能存在加载顺序问题——模型已经从通用上下文里生成了答案根本来不及看技能包。这种情况要把技能加载时机提前或者给关键技能更高的调用优先级。5.2 技能输出不稳定同样的输入却得到不同结果模型本身有随机性所以同样的输入得到不同输出其实是常态但我们要把波动控制在业务可接受的范围。首先要调低生成参数里的 temperature一般控制在 0.2 以下查看效果和安全性的平衡。其次要在 INSTRUCTIONS.md 里把输出模板写得更细模型只要照着模板填空自由发挥空间变小了输出自然就稳了。如果调整参数后依然不稳定大概率是示例和指令之间存在冲突。模型在两者之间会产生行为选择困难有时候跟示例走有时候跟指令走。解决方案是让示例的输出结构严格与指令模板保持一致做到“指令说什么示例就演示什么”。我花过一次很痛的学费指令里要求输出先总结后建议示例里却是先建议后总结模型的表现就完全靠抽奖了。最后还要注意上下文污染。如果 Agent 多个技能共享同一段系统上下文上下文越长模型执行后面的技能时就越容易风格漂移。解决办法是把每个技能的执行上下文做隔离不让上一个任务的对话历史干扰当前技能。5.3 技能执行链路过长导致延迟过高如何处理技能包做得越多越复杂执行链路上一次任务就可能调用好几十次模型请求每一次请求动辄几百到上千毫秒整个流程可能要等很久这是大规模使用后必然要面对的工程挑战。我的处理思路有三个层次。第一层是精简环节——检查执行链路里哪些步骤是可以交给确定性脚本完成的比如格式转换、字段提取、数据校验这三类工作完全可以用 Python 脚本替代模型推理能砍掉近一半的大模型调用。第二层是并行化——流水线中相互独立的技能可以并发调用比如周报生成里“数据提取”和“日历事件分析”并行执行耗时从两段相加变成了两段取最大。第三层是结果缓存——同一技能配合相同输入参数在一定时间窗口内直接返回上一次的缓存结果比如“今日天气摘要”这类技能几分钟内结果根本不会变没必要重复生成。实际操作中我在 agent 应用层封装了一个简单缓存函数以技能 ID 加参数哈希为 key设置 600 秒有效期缓存命中率在天气、资讯类技能上有相当高的表现直接让整体响应速度上了一个量级。5.4 技能维护中出现“改一个坏一片”的连锁问题该怎么规避前面提到技能组合后容易出现“改一个技能下游技能全崩”的现象这本质上是数据契约被破坏了。规避方式在于严格管理技能接口我的做法是给每个技能的输入输出参数定义 JSON Schema 结构改动时先检查 Schema 变更是否是破坏性的。如果破坏了下游契约就要同步通知依赖方不能只改完自身就提交。版本管理也是重中之重。技能包也需要像代码一样用 Git 管理每次修改要有独立 commit并附上变更说明。我在项目里给每个技能包建立了“变更日志”文档记录每一次改动的原因、内容和回归结果。这样一来即使某个版本出问题也能快速回滚到上一稳定版本不影响到其他依赖技能。团队协作层面还有一个细节技能包必须由专人维护或者建立 Reviewer 制度禁止任何人直接往主干上乱改。我见过很多项目技能包乱成一锅粥根源就是谁都能改、谁都在改、改完也没人验证。引入简单的 code review 机制后技能质量突飞猛进这就是工程规范带来的确定性收益。5.5 技能示例不足或缺失时如何临时补救新技能上线初期往往没有足够的历史案例来构建完整示例库。这时候我常用的临时方案是把旧系统的任务记录拿来改造把真实案例脱敏后转成示例。比如做一个“合同风险审核”技能可以从法务部的历史审核记录中挑出十份典型合同抽取风险点改成技能示例这样模型一开始就站在过往经验肩膀上起步。如果连历史数据都没有那就用“手工构造三条边界案例”的办法。我从需求方那里问清三个问题最复杂的输入长什么样、最容易被误判的输入长什么样、空输入或残缺输入长什么样。基于这三个答案构造三个示例就基本能为模型划出一条“安全边界”了。不要过度依赖一次性注入大量示例。我在一次实验中给技能配了 40 多个示例结果模型被示例细节带偏输出变得冗长而固化反而不如 12 个精选示例效果来得好。模型不靠示例数量取胜靠的是示例质量和覆盖度。6. 深入模型生态Agent 技能与提示词市场的趋势观察6.1 技能化是提示词工程进化的必然方向从最早的 prompt 模板、到 few-shot 示例、再到今天结构化的 agent-skills我看下来深有体会提示词工程正在经历一次从“文本”到“代码”的进化。传统提示词的传播方式是复制粘贴缺少版本管理缺少运行时校验难以在团队间协作这些问题在个人玩法里不是事但在商业化项目里条条都是坎。技能化把提示词变成了可执行、可校验、可组合的“应用单元”。SKILL.md 类似应用入口INSTRUCTIONS.md 类似业务逻辑代码examples 类似单元测试用例scripts 类似通用函数库。这种结构让大模型能力的生产方式逐步向软件开发流程靠拢也让不同工具链之间的能力互通成为可能社区因此能沉淀出丰富的技能市场。可以大胆说一句谁先把团队业务里的关键任务技能化谁就先享受到工程化红利。因为技能不仅是执行单元也是知识沉淀的载体。员工离职、算法调整都不会把这个能力带走技能包留在了项目里成为团队的核心资产。这个理念我觉得会是未来大家讨论提示词工程、Agent 应用落地时的共同基础。6.2 技能市场的出现改变了能力复用的方式现在各大平台都在做技能市场模式跟应用商店很像作者把做好的技能包上传用户直接订阅或安装便能立刻获得对应能力。这里面最有意思的是生态共创——一个技能被几百个团队下载使用大家提交反馈作者迭代版本技能质量在社区循环中滚雪球一样提上来。对个人开发者来说技能市场是一个低门槛的分发渠道。你不用写完整应用只需要把一个场景做到极致就可能获得不小的传播量。我做了一个“报销单票据信息抽取”技能上传到内部市场后其他部门都用了起来后续需求方自己帮我提了一堆改进建议技能变得越来越完善这是传统交付方式下完全不敢想象的协作模式。对使用者来说技能市场帮我省去了从零构建的成本。很多通用能力像翻译、摘要、信息抽取市场上已经有很多成熟的技能包直接安装就好。剩下那些有业务特色的需求才需要自己去定制技能。这种“通用调现成特有自己造”的思路也是我向所有刚接触 agent-skills 的人推荐的最佳起步方式。6.3 未来演进方向从单技能到自适应复合技能我现在做的技能大多数还是“静态技能”即执行流程是预先写死的就像有序的菜谱主厨照着做就行。而下一代的复合技能会有更强的自适应能力Agent 会根据任务目标在运行时自主选择、编排、实时调整执行路径。比如“做一次竞品分析”这个复合技能Agent 会先判断竞品数量再决定是调用单个翻页采集技能还是并发抓取再根据抓取结果的多寡决定报告该写多长。这种从“流程固定”到“流程自选”的演进对技能的设计提出了新要求。技能描述里不能再只告诉 Agent“怎么做”而是要说明“在什么条件下优先走哪条路径”也就是把决策准则写进技能体内。这其实对 SKILL.md 的编写水平提出了很高要求描述得不够Agent 无法判断描述得过细又会限制模型的灵活度。这个平衡点也是我接下来要重点折腾的方向。同时我能感觉到模型本身的推理能力提升会让技能文件逐渐减负。以前要写大量纠错指令来规避模型的低级错误现在新模型在同样的指令下已经不会犯错了那些指令就成了冗余。所以技能包不是越写越长越复杂才对而是应该跟着模型能力的发展不断做减法保持精简高效才符合长期原则。7. 写在实操之外一些零散的心得与技巧如果让我用一个类比来收束这篇文章我会说 agent-skills 就像是在给大模型“搭积木”。积木块虽然只是一个个单独的技能但通过合理的目录、清晰的接口、稳定的评测它们就能搭出庞大而可靠的自动化应用大厦。但是积木要想搭得又快又稳首先要有一双能识别“哪些任务值得做成技能”的眼睛这是把 agent-skills 运用好的第一等功夫。我在一次搞砸的经历中总结出一条特别实用的技巧写技能之前先问你同事三句话——“这件事你每周做几次”“做的时候最烦哪一步”“你希望别人帮你做到什么程度就够了”这三句话基本就等于需求分析的三板斧答完你脑子里就有一个雏形了。很多技术人做技能喜欢先从代码开始写写着写着跟真实需求偏离了十万八千里最后做出来的技能根本没人用。另外一个我现在特别重视的点是要留出“人机协作”的缺口。不是所有环节都要自动化有些关键决策步骤我会有意保留一个人工确认点。比如自动生成的对外邮件在发送前要求用户人工确认一遍。这一方面是安全兜底另一方面能让用户感知自己始终握有主导权长期使用下来心里舒服得多。最后一个私房建议是善用技能包的“别名”机制。我在 SKILL.md 里专门增加了一个“aliases”字段把用户习惯的通俗说法都登记到里面。这个字段看着不起眼却在实践中极大提升了技能召回率也让 Agent 显得更“懂人话”确实属于高性价比的投入。agent-skills 这条路我越走越觉得它像一把密钥打开的是大模型走向生产环境的门。跨过了这道门槛模型就不再是玩具或者写作助手而真正变成团队里一个能交付结果的“数字同事”。希望这篇文章能给你一些可落地的参考下次当你面对一堆重复性任务的时候不妨想一想这里面有没有值得做成一个技能的东西