Skill 的生命周期:问题消失以后

模型能力正以数月为尺度快速移动,默认行为的不断演进,决定了任何一条 Skill 都不可能被一次性证明永久有效。 昨天仍能改善行为的规则,今天可能已经成为 No-op;昨天必须明确编排的过程,明天也可能妨碍模型发挥新获得的能力。

因此,Skill 的价值不取决于一条规则是否正确,而取决于它相对于当前模型的默认行为是否仍有行为增量

"修改代码后运行测试" 是一条正确的工程原则,但如果当前 Agent 已经会稳定地选择相关测试、运行测试,并根据失败结果继续修复,那么把这条原则再写进 Skill 的意义就会丧失。反过来,模型即使已经知道如何全面探索,高风险项目仍然可以通过 Skill 要求它覆盖全部调用方 ------ 这不是补偿模型能力,而是在编码当前环境愿意为确定性支付的成本。

判断行为增量,首先需要知道一条 Skill 究竟为什么存在。problems.md 为此提供 Anchor :它只记录目标 Skill 必须解决的真实可观察问题。problems.md 说明为什么需要 Skill,却不能证明 Skill 仍然有效。低风险 Skill 可以只保留少量复现案例;高频、高风险或包含不可逆操作的 Skill 则需要更正式的评测和确定性校验。无论采用哪种规模,最关键的是比较默认行为与加载 Skill 后的行为:问题是否仍然存在,Skill 是否使它明显减少,以及是否带来了新的副作用。

以本文配套的 write-skill 为例,它的 problems.md 不需要为每个问题填写复杂模板,只需明确记录它要纠正的长期行为:

md 复制代码
## 问题

1. 编辑 Skill 时缺少问题锚点,说不清 Skill 为什么存在,也没有该改、该删的判断标准。

2. LLM 容易把用户原话或单次 Case 直接写进 Skill,没有将其抽象成长期问题,导致规则过拟合并持续膨胀。

3. LLM 倾向于输出和保留过多内容,容易堆叠 No-op、冲突约束、旧迁移痕迹和低频 Reference。

默认情况下,一两句话说明坏行为就足够。只有当问题依赖特定 Branch、容易与其他失败混淆,或者需要转化为回归测试时,才补充复现条件和可观察证据。问题描述的目标不是形式完整,而是让维护者能够判断:它现在是否仍然存在。

有了 Anchor,修改才从 "感觉这句话有用" 变成一个可以验证的假设:

为了解决这个长期问题,最少需要改变什么?

答案可能是修改现有契约,也可能是删除遮蔽关键行为的内容。只有现有结构确实无法表达新的行为边界时,才增加规则。至于应该修改 Description、Pointer、正文还是底层工具,属于已经讨论过的结构决策,这里不再重复。

验证之后进入 write-skill 的最后一步:Prune。前面已经讨论了 No-op、重复、沉积和单一真相来源;从生命周期角度,只需再增加一条判断:

一条规则即使过去通过了 No-op 测试,也不代表它今天仍能通过。

当模型、工具或运行环境发生明显变化时,应重新思考 problems.md 中的问题,如果部分问题消失,就删除对应规则;如果整条 Skill 已经无法证明行为增量,就将它归档。归档不是失败,而是说明模型、工具或底层工程已经吸收了这副脚手架原本承担的功能。

综上,一条 Skill 的生命周期可以概括为:

  1. 观察并确认长期问题;
  2. problems.md 锚定 Skill 的存在理由;
  3. 建立解决问题的最小契约;
  4. 比较默认行为与加载 Skill 后的行为;
  5. 持续删除失去行为增量的规则;
  6. 问题消失后,删除规则或归档 Skill。

Skill 不该保存我们对理想 Agent 的全部想象,而应锚定当前 Agent 在缺少约束时会稳定出现的重要问题。

写不出 problems.md 中的第一个长期问题,就不要创建 SKILL.md;无法证明删除某条规则会让行为变差,就应认真考虑删掉它。

开源实现:write-skill

不会被模型内化的部分:私有约定

并非所有 Skill 都会随着模型变强而失去价值。模型能够内化公开知识和通用策略,却无法推断从未进入训练数据或当前上下文的私有约定。这不是能力问题,而是信息问题:没有提供给模型的事实,对这一轮 Agent 就不存在。

例如,一个私人研究笔记库可能规定:根目录保持扁平,文件名统一使用 Title Case,笔记通过 [[wikilinks]] 关联,并由 * Index.md 聚合同类内容。这些约定没有普遍最优解,模型也无法凭推理知道当前库恰好采用这一套组织方式。

缺少相应 Skill 时,Agent 通常只有两种选择:要么沿用自己的默认习惯,建立子目录、采用其他命名格式,结果直接违反约定;要么先遍历现有文件,花费额外的工具调用和 Token 推断局部规律。一条错,一条贵。 一份简洁的 Skill 可以同时避开两者。

这类 Skill 的作用不是教模型 "如何思考",而是提供它无法自行获得的环境证据:输入在哪里、采用什么格式、内容写到哪里,以及哪些约定必须保持。它的寿命不取决于模型能力,而取决于私有约定本身;只要约定仍然存在,行为差值就不会因为模型升级而自然消失。

因此,Skill 的退出条件不是简单的 "模型变强了",而是它所提供的行为增量已经消失。能力补偿型 Skill 可能被后训练吸收;记录私有格式、项目口径和组织契约的 Skill,则会与这些约定保持相同的生命周期。

案例实现:maintain-ai-research-vault

相关推荐
千谦阙听1 小时前
C++类和对象(中):默认成员函数、构造与析构、拷贝构造、运算符重载
开发语言·c++·学习
YaraMemo1 小时前
元启发式算法框架
人工智能·算法·5g·信息与通信·启发式算法·信号处理
草邦设计开发团队_媒体资源平台1 小时前
GEO 信源整合一键发布软文:从内容生产到流量获客的自动化实践
运维·人工智能·自动化
zzz_23681 小时前
个人 AI 记忆如何跨工具复用:用 Markdown、索引和 Skill 搭一个可治理的记忆库
前端·人工智能·react.js·前端框架·agent·agent测评
霸道流氓气质1 小时前
Spring AI 输出解析器进阶
人工智能·windows·spring
天天代码码天天1 小时前
纯 C OCR 又补齐 Java 生态了!lw.PPOCR.C v0.1.0-preview.7 发布
人工智能
实验室管理云平台1 小时前
LIMS 系统常见问题(技术向):从数据采集到系统集成,开发与运维视角的踩坑记录
人工智能
程序员-李俞2 小时前
RelayRouter大模型 API 接入实践:用统一路由降低多模型调用成本与维护复杂度
人工智能
Agudamu11612 小时前
AI 视频学习笔记工具拆解:4款工具谁能把视频变成复习资料
人工智能·学习·音视频