CREATION-LOG · experience-to-spec
CREATION-LOG · experience-to-spec
这份 skill 从哪来、收了什么、丢了什么、以及哪些结论的可信度不足。写在这里是为了让后来者能追问每条纪律的出处,而不是只能接受它。
来源
这是二阶提炼。 素材不是「那个项目的内容」,而是「提炼那个项目时的做法」。
具体说:上一个 skill(horror-game-dev)是从一次完整的独立恐怖 Demo 开发过程里提炼的。三份 Agent 会话导出(17k + 126k + 35k 行)、项目内文档 11 份(约 1800 行,含 801 行交接文档与完整坑清单)、26 轮决策史。在提炼那一次的过程中,真正起作用的动作有十二条——正是这十二条被抽出来做成本 skill 的骨架。
二阶的含义:本 skill 的正文中不应出现任何该项目的领域名词(恐怖、关卡、怪物、玩家、闭眼……)。写完之后要 grep 验证,见下面的分层例外一节。
二手素材(公开资料):agent skill 的官方写作硬约束——frontmatter 字段、description 长度与祈使式、主文件行数上限、参考文件一层深、给默认不给菜单、避免全大写 MUST/NEVER、避免泛泛最佳实践。这些作为正文约束的第二来源,因为它们决定成品能不能被正确加载与执行。
未进入素材的:上一个 skill 的正文内容(恐怖设计通则、机制判据、文本纪律等)不进入本 skill。它们是「提炼的产物」,不是「提炼的方法」。混进来会让本 skill 从元方法退化成姊妹 skill 的摘要。
提炼方法
四种手法在本项目上的实际用法与效果。注意素材的性质变了:读的不是「用户怎么开发一个游戏」,而是「提炼者怎么从材料里抽东西」。所以每条手法对应的是提炼过程中的一个具体动作。
1. 从否决里拿原则(主力手法,本 skill 的信息量来源)
用法:从上一个 skill 的 CREATION-LOG 里读出那四条未解决分歧与若干被反转的结论,反向追溯每一条是从哪一次否决来的。产出最直接的一条是「抽掉推导的原则是没人会照做的愿望」——它本身就来自那次提炼里的一条对照(「旁白只说画面给不出的话」vs「删掉这句,玩家损失的是一个信息还是一次判断」)。
效果:这一条被证明是本 skill 价值最高的一章(三、判据必须可执行;writing-rules 第 2 节)。原因很简单:它可以自我指涉——本 skill 自己的每条原则都按这条标准写了判据。
局限:素材里的否决是关于内容决策的(「默认值该怎么定」),不是关于方法决策的(「原则该怎么写」)。所以手法 1 在本项目上的效果低于它在姊妹项目上的效果——本 skill 的四条否决类通则里只有一条是完全同构的。这是本 skill 最薄的一处,已列入遗留问题。
2. 反复计数(次主力)
用法:数上一次提炼里各手法出现的独立次数,用于决定章节篇幅。结果:并行精读与统一格式出现 2 次以上(因此单独成篇 from-transcripts.md);分层剥离出现 3 次(因此在正文第四章 + abstracting.md 第 7 节两处落地);评测相关的动作出现 11 次但散布在两章(因此合并成正文第二章 + evals.md 一篇)。
效果:直接决定了本 skill 的分篇方案。计数 ≥3 的独立成篇,计数 =2 的并入相邻篇。
这次用上的一个额外判据:计数为 1 但后果重的条目(「并行精读必须先定格式后派」)也进了正文,判据是频次 + 单次代价双高,见 abstracting.md 第 5 节的例外条款。
3. 从真实产物综合
用法:不只读那 12 条「起作用的动作」,还读了上一个 skill 的全部成品(SKILL.md 232 行、CREATION-LOG 109 行、5 篇 reference、evals 三件套)作为结构参照。价值不在内容,在形式惯例——判据三段式怎么写、路由表每行带触发条件的具体粒度、反例表的四列组织、CREATION-LOG 的六个固定小节。
效果:让本 skill 与姊妹 skill 属于同一套方法论标准。这条在二阶提炼里尤其重要,因为形式本身就是素材。
一条从 git 回滚材料来的发现:本 skill 的「回滚记录是最高价值的一手材料」一条在姊妹项目的素材里没有对应事件,是从「被否决方案的实现细节该丢掉、否决理由该保留」这条推导出来的,并在 from-transcripts.md 第 5 节给了具体的检索命令。这条的依据强度弱于其他条,已在正文来源小节说明自建框架的性质。
4. 联网对标
用法:调研官方 skill 写作硬约束(第二来源),确认了九项约束并逐条落进 structure-and-routing.md 第 12 节的速查表。其中「description 需要用 and 解释时那是两个 skill」「Gotchas 是官方认为最高价值的段落」「优先程序而非声明」三条是新增的、姊妹项目里没有的。
效果:这三项直接改变了本 skill 的结构决策——structure-and-routing.md 是五篇里最长的一篇(因为它承载了三组不同来源的约束:处境切分、句法写法、官方硬约束)。
没有发生的:没有出现「被公开材料反转」的情况。姊妹项目里那条反转(线性 vs 非线性)在二阶层面没有对应物。这条手法在本项目上未被检验过。
结构决策
为什么是五篇 reference 而不是更多或更少。 按「agent 在什么处境下需要它」切,不按主题切。五个处境:抽素材(from-transcripts)/ 定抽象层次(abstracting)/ 设计结构与写法(structure-and-routing、writing-rules)/ 写评测(evals)。其中 structure-and-routing 与 writing-rules 的处境重叠度较高——都在「即将动手写规范」——但保留拆分,理由见下。
为什么 structure-and-routing 与 writing-rules 拆成两篇而不是合并。 两者的读的时刻不同:structure-and-routing 在决定「文件怎么切、路由怎么写」之前读;writing-rules 在句子已经铺开、正在逐句改的时候读。前者是布局决策,后者是编辑工具。合并会让一篇膨胀到 500 行以上,反而增加路由负担。这是本 skill 里唯一一处「处境不完全互斥」的拆分,属于刻意取舍,已在此记录以便后来者挑战。
为什么二阶结论这么少。 本 skill 的正文有大量「元层」内容(怎么判断一条原则合格),这些是从素材推导出来的而非直接摘出来的。推导的每一步都记录在 references 的推导段里,因为二阶材料的推导链比一手材料更容易丢失。
为什么 254 行而不是贴到 400 警戒线。 逐条过「没有这条,agent 会不会做错?」之后就是这个长度。剩余的空间不是用来加内容,是留给 1.1 版本的增量——评测集跑完之后很可能要删,不是要加。
抽象层次的取舍
保留(进了正文)
| 保留的东西 | 从素材里的什么形式抽出来的 |
|---|---|
| 四种提炼手法及其排序 | 12 条起作用的动作,按信息密度重排 |
| 每条手法的「为什么信息密度高」 | 每条动作之所以起作用的机制 |
| 「换个项目还成立吗」判定法 | 具体的「满充 11.9 秒」vs「变化必须在 1.5–2 秒内」对照 |
| 反复计数的阈值表 | 姊妹项目里「写明第 N 次反馈」的惯例 + 常识阈值 |
| 三类来源强度标注 | 姊妹项目末尾「来源与可信度」一节的结构 |
| 材料缺口显式列出 | 姊妹项目 CREATION-LOG 的「材料缺口(明确不编造)」一节 |
| 未解决分歧保留 | 姊妹项目的四条未解决分歧的处理方式 |
| 三条官方硬约束(and-split / Gotchas / 程序优于声明) | 联网调研新增 |
丢弃(下沉到 reference 或直接删)
| 丢弃的东西 | 为什么 |
|---|---|
| 姊妹项目正文里的全部领域内容 | 二阶素材不含这些 |
| 具体案例的细节(用户原话、阈值数值、行数) | 案例是单例,抽象掉 |
| 「读 178k 行素材」这类规模数字 | 规模不是方法 |
| 被否决方案的具体内容 | 只保留它暴露的分歧点 |
| 上一版 skill 的版本历史与内部争论 | 历史不是方法 |
| 官方调研的 URL | 只落约束,不落出处(除 reference 中必要的) |
一个具体的取舍例子
素材里有一条「断言要断言玩家可见结果,不是内部状态」。它来自恐怖游戏的具体漏洞(界面盖住了演出)。二阶抽象时,它被抽象成两层:
- 元层(进正文):判据必须可机械执行或可人工过一遍——因为「玩家可见结果」在非游戏领域对应的是「可观察的具体结果」,这个替换不显然,值得单列。
- 实例层(留在 from-transcripts / abstracting):具体那个漏洞留在姊妹 skill 的 reference 里,本 skill 不重复。
未解决的分歧(保留,不强行合并)
1. 过约束与欠约束的边界无法量化。 「加规则后通过率不再上升就是过度约束」是自建的诊断启发式,本质上是「用评测指标反推文档结构」的循环论证。公开材料里有「instruction tuning 会让模型忽略长文档中的部分指令」这一现象描述,但那是行为观察,不是可操作的边界。当前处理:写成可执行的诊断动作(删规则再看是否保持),不写成阈值。未收敛——需要多个 skill 的实测数据才能定出边界形状。
2. 隐性知识的编码边界。 有些判断依赖实时上下文(读代码的瞬时状态、对方的语气、当时的会议气氛),静态规则编码不了;但「专家说不清自己怎么判断」不等于「无法编码」——追问案例对照可能抽出触发信号。本 skill 面对这类请求的默认动作是拒绝编造 + 给出替代路径(o05 评测的就是这个)。但替代路径的边界在哪、追问几次算够,没有材料。这是本 skill 最大的空白,因为它是真实项目中最高频的提炼请求。
3. 部分来源的可信度评估方法缺失。 三类来源强度标注解决了「这条从哪来」,没解决「这条有多可信」。二手结论的可靠性随作者利益、发布时间、复述链条递减,但衰减到多快、什么条件下该降级,没有可引用的方法。当前只能靠「保留推导链,让读者自己判断」这种弱手段。未收敛。
4. 二阶提炼是否会丢太多。 本 skill 的一手素材是「上一版 skill 的成品 + 它的 CREATION-LOG」,本身已经抽象过一次。再抽象一层可能已经把「只有做过才知道」的东西滤掉了——姊妹项目里那 12 条动作,至少有 4 条(「先建评测」「过约束警告」「harness 方差警告」「标 UNMEASURED」)不可能从成品文本里读出来,只能从提炼过程的记录里读。这说明二阶提炼的素材选择必须包含过程记录,而不只是产物。这条结论本身有价值,但本 skill 无法验证自己有没有因此丢东西。
材料缺口(明确不编造)
检索后确认没有高质量可引用材料的方向,正文对应位置已标注:
- skill 评测方法学的一手材料。 断言强弱分级、审查断言本身、三个判读动作、过约束警告、harness 方差警告——全部自建框架。检索到的多是框架源码与工具 README,没有把评测当方法论来写的成文材料。这是最大的缺口:本 skill 第二章整章建立在自建框架上。
- 隐性知识(tacit knowledge)编码的方法。 检索到的多是学术侧对「专家决策」的研究,结论停在「知识难以完全显性化」,没有任何可操作的编码流程。本 skill 只能给出「拒绝 + 替代路径」,给不出方法。
- 指令文档长度的最优值 / 过约束的量化边界。 只有「长文档中部分指令会被忽略」的现象观察。
structure-and-routing.md第 12 节的行数上限来自官方硬约束,不是来自「最优长度」研究——两者不是一回事,本 skill 用的是前者。 - description 措辞与触发率关系的可重复实验。 有零散的 A/B 报告,多为单一 skill 的单次结果,没有跨 skill 的可复用规律。本 skill 的 description 是按语义推演的,不是按实验优化的。
- 「二阶提炼」作为一个方法是否成立。 几乎没有材料讨论对提炼结果再次提炼的行为(信息衰减、方法失真)。本 skill 的四条未解决分歧全部与此有关。
另有两条材料在正文出现但来源强度偏弱,已在对应位置标注:from-transcripts.md 第 5 节的回滚记录检索方法(从姊妹项目的推导链来,无独立验证);第二章的三类来源强度标注(结构借用姊妹项目,但分级方式未经检验)。
一处刻意保留的分层例外
二阶提炼的分层泄漏判定(abstracting.md 第 7 节)在本项目上有一个额外维度:上一级项目的领域名词是否泄漏进了本 skill 的正文。
grep 验证结果:SKILL.md 与五篇 reference 的正文不含上一级项目的技术栈名词、平台名、版本行为,也不含任何机制层结论。上一级项目的领域名词已全部改写为中性表述(「关卡要线性」→「结构越线性越好」、「满充条」→「进度条」、「玩家反馈」→「反馈」)。
四处刻意保留的领域名词,都在「判据对照表」的示例格子里,不是通则:
description里的邻接概念名(「踩坑」「CLAUDE.md」「风格指南」「对话记录」)——它是发现层,匹配对象是用户说的话,用户会说这些词。- 路由表里的 reference 文件名——它是分发层。
CREATION-LOG.md里对姊妹项目的指认(horror-game-dev、具体领域名词)——它是溯源层,不在 agent 的读取路径上。- 判据对照表的示例格子(
SKILL.md第五章、abstracting.md第 3 节、writing-rules.md第 2 节)里的「玩家损失的是一个信息还是一次判断」「旁白只说画面给不出的话」等——判据必须靠具体实例才可判定,抽象成「某类文本」之后读者无法执行。这是本 skill 唯一一处「领域词换取可执行性」的取舍:示例可以带领域词,但示例不能带该领域的结论。四条示例给的都是关于「如何写判据」的元层结论,不是关于旁白或玩家的结论。
正文的第零章优先级(可证 > 可复用 > 可读 > 完整)是为本 skill 自身设计的:可证排第一是因为二阶材料的可信度最需要标注;这一条在姊妹项目里对应的是「可信 > 可玩 > 可证 > 可交 > 可读」,排序不同,因为两者的主要失败模式不同(前者是「写了一份没人读的规范」,后者是「做得很精巧但玩家觉得被骗」)。
版本
- 1.0(2026-10-08):首版。五篇 reference + 评测集(20 条触发查询 / 10 个输出 case)。素材是一次完整项目经验提炼过程的二阶反推,含官方写作硬约束的第二来源。
- 下一版要做的:跑一轮真实对照(触发率全 20 条 × 3 次 + 输出质量 10 个 case × 2 遍),按 lift 与 variance 反向裁剪,按 diff 不按行数;补齐「skill 评测方法学」的公开来源(当前整章是自建框架);收敛四条未解决分歧,优先第 2 条(隐性知识编码边界)——它是真实项目里最高频的提炼请求,而本 skill 现在只能拒绝。