Skill 不只是能力包,也是 taste profile
读 SkillOpt 论文后的一个想法:通用任务可以训练公共 best_skill,但写作和人文类 skill 更像个人 taste profile,选 skill 本质上是在选一种审美和工作方式。
读完 SkillOpt: Executive Strategy for Self-Evolving Agent Skills 之后,我觉得它真正提示的问题不是「prompt 也可以优化」。
这个说法太浅了。
更有意思的是:agent stack 里应该显式多出一个选择维度。
以前我们主要在选:
model × harness比如选 GPT 还是 Claude,选 Codex、Claude Code、OpenCode,还是自己的 agent runtime。
但 SkillOpt 这篇论文把第三个维度推到了台面上:
model × harness × skillskill 不是临时 prompt,也不只是系统提示词里多写几条规则。它可以被当成一个外部可训练状态。模型不动,harness 不动,任务数据集和 scorer 固定,然后让 optimizer model 根据 rollout 结果对 skill 做 add/delete/replace。candidate skill 只有在 validation split 上变好,才被接受。
这让 skill 从「手写经验」变成了一个可以训练、验证、导出、复用的 artifact。
通用任务里确实可能有公共 best_skill
对于一些足够通用、足够可评分的任务,我相信确实可以训练出比较通用的 best_skill。
例如 DocQA、SearchQA、Spreadsheet 这类任务里,skill 学到的很多东西不是个人偏好,而是可复用的程序性纪律:
- 回答前先绑定证据位置
- 对表格题先锁定 row/header/unit/date
- 不要相信 preview,要检查原始文件
- 输出格式必须严格匹配 grader
- 失败后要改变搜索策略
- 对 spreadsheet,要写入 evaluated static values,而不是假设 Excel 会重新计算
这些规则不是很主观。它们更像「这个任务的工作规程」。如果 scorer 稳定,dataset 覆盖常见失败模式,那么训练一个公共 skill 是合理的。
这类 skill 的价值也很清楚:它把一部分经验从人脑、对话历史、零散 prompt 中提取出来,变成一个可以审计的文本 artifact。
这和 AI eval 里的思路是连在一起的。只要有稳定 task、dataset、scorer,就可以不靠感觉去比较系统有没有变好。SkillOpt 只是把被优化对象从 model weights 换成了 skill document。
但大部分真实 skill 都是 opinionated 的
问题是,不是所有 skill 都像 DocQA 这样。
很多真实场景里的 skill,本质上不是「能力提升」,而是「偏好编码」。
coding skill 已经有这个问题,只是不那么明显。因为好代码虽然有流派,但仍然有很多外部约束:测试过不过、bug 有没有、复杂度是否降低、接口是否稳定、是否符合项目惯例。
即使不同人对 abstraction、测试粒度、重构时机、解释详细程度有不同偏好,这些偏好仍然常常能被工程后果约束住。
写作和人文相关的 skill 就不一样。
这里的 taste 差异会直接变成输出差异:
- 有人喜欢清晰、克制、短句;有人喜欢铺陈、暧昧、留白。
- 有人要论证严密;有人要情绪流动。
- 有人讨厌 AI 式总结;有人需要结构化摘要。
- 有人喜欢强观点;有人喜欢多声部和不封口。
- 有人认为润色是保持原声;有人认为润色是把文本改得更锋利。
- 有人要信息密度;有人要文气和节奏。
这些不是谁对谁错。它们是不同的审美函数。
所以在写作、人文、咨询、编辑、研究品味相关的场景里,skill 很难有一个 universal best。最多只能说有某种风格下的 best:
academic humanities critique skill
中文随笔克制修辞 skill
品牌文案高转化 skill
法律备忘录冷静准确 skill
个人博客编辑 skill这些 skill 都可能很强,但它们优化的是不同的 loss function。
用别人的 skill,是在请别人的编辑介入
这让我觉得,未来如果出现 skill marketplace,它不能只像 model leaderboard。
模型可以比谁更强。harness 可以比谁工具更完整、执行更稳、权限边界更清楚。
但 skill 不能只问「强不强」。更重要的问题是:
这个 skill 的 taste 和我的 taste 是否一致?用别人的写作 skill,接近于请一个编辑介入自己的文本。
你首先关心的不是这个编辑有没有名气,而是:
- 他会不会把我的声音磨平?
- 他会不会过度结构化?
- 他会不会把含混的地方改成廉价的确定性?
- 他会不会删掉我想保留的节奏?
- 他会不会把我的文章改成一篇正确但无聊的文章?
如果 taste 不一致,一个 skill 可以在公共 benchmark 上更好,但在你的工作流里更差。
这也解释了为什么 vibe writing 这类场景不能完全交给外部标准。写作不只是产出文本,也是形成判断、保留个人声音、和材料发生关系的过程。skill 如果太强势,可能提升了表面质量,却偷走了作者真正想练的部分。
Skill 的元数据应该描述 taste,而不只是分数
如果 skill 是一种 artifact,那么它需要 provenance。
但对 opinionated skill 来说,provenance 不只是训练数据和 benchmark 分数,还应该包括 taste metadata:
- 它偏好的语气是什么
- 它会删掉什么
- 它会保留什么
- 它如何处理歧义
- 它是否倾向强结论
- 它是否尊重作者原声
- 它讨厌哪些俗套
- 它的失败样本是什么
- 它不适合什么文本
也就是说,skill 不是一个单纯的能力包,而是一个 taste profile。
这和 个人 AI infrastructure 的方向也有关。真正个人化的 AI 系统,不只是接入更强模型,也不是把所有资料塞进 context。它需要积累自己的偏好、边界、反例和工作习惯。
个人 validation set 可能比公共 benchmark 更重要
SkillOpt 的方法仍然有启发。
即使写作 taste 很难客观量化,也不代表无法优化。只是 dataset 和 scorer 要换一种形态。
对个人写作 skill 来说,更合理的数据不是「题目和标准答案」,而是 preference set:
- 原文
- 多个改写版本
- 我选择哪一个
- 我拒绝哪一个
- 为什么拒绝
- 哪些句子不能动
- 哪些 AI 味必须删除
- 哪些表达虽然不完美,但代表我的声音
然后 validation gate 也不一定是 EM/F1,而可能是个人 preference judge、pairwise comparison、人类 review,或者一组半确定性的风格测试。
公共 skill 可以提供底座,个人 validation set 负责本地适配。
public skill = 通用程序性纪律
personal skill = taste、边界、偏好、反例这可能比「下载别人最强 skill」更现实。
读后感
这篇论文让我更确信:agent 的长期演化不只会发生在模型权重里,也会发生在外部文本 artifact 里。
但这些 artifact 不是同一种东西。
有些 skill 像 SOP,可以公共训练、公共评估、公共复用。
有些 skill 像编辑风格,是个人审美和工作方式的压缩。它们也可以优化,但优化目标不是「全局更好」,而是「更像我想要的样子」。
所以以后选 agent,也许不应该只问:
你用的是什么 model?
你用的是什么 harness?还应该问:
你带的是什么 skill?
这个 skill 是谁的 taste?
它会把我带向哪里?这才是 SkillOpt 对我最有启发的地方。它把 skill 变成了可训练对象,但也顺便暴露了一个更人文的问题:不是所有优化都在追同一个方向。