ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

不调模型、不花额度:shuohao-skills 如何让 1017 项自测断言 1 秒跑完

不调模型、不花额度:shuohao-skills 如何让 1017 项自测断言 1 秒跑完 不调模型、不花额度shuohao-skills 如何让 1017 项自测断言 1 秒跑完【免费下载链接】shuohao-skillsAI 短剧制作的 skill 集合拆角色、排大纲、出场景与道具设定、写剧本、切分镜 | Agent skills for AI short-drama production — character bibles, adaptation outlines, art bibles, screenplays, storyboards. Runs in Claude Code codex.项目地址: https://gitcode.com/gh_mirrors/sh/shuohao-skillsshuohao-skills是一个开源的 AI 短剧制作 skill 集合拆角色、排大纲、出美术设定、写剧本、切分镜。它有一条硬核约定——每个 skill 都自带scripts/selftest.mjs不调用模型、不消耗任何 API 额度全部 1017 项断言 1 秒跑完。这篇文章拆解这套零模型自测方法论你可以直接搬进自己的项目。为什么 AI 项目需要零模型自测AI skill 的产出分两半由模型负责由脚本负责内容剧本台词、分镜描述、人物弧光分卷切分、时长折算、质量门校验、HTML 报告渲染可测性输出开放没法断言输入 → 输出完全确定天生适合断言这套方法论的核心就一句话创意留给模型机械的部分全部交给断言锁死。模型写得再漂亮只要时长算错了、质量门漏拦了整条管线都是坏的——而这些机械部分恰好可以用传统断言 1 秒验证完。下图是 shuohao-skills 的完整管线5 个 skill 的确定性逻辑就是自测的全部覆盖对象一键运行自测步骤与前置条件前置条件极简Node ≥ 18零 npm 依赖不需要 installREADME.md 中明确脚本只用标准库。在仓库根目录执行一条命令5 个 skill 的自测全部跑完for f in skills/*/scripts/selftest.mjs; do node $f; done实际输出真实运行结果✓ 146 项自测全部通过 # novel-art ✓ 307 项自测全部通过 # novel-characters ✓ 220 项自测全部通过 # novel-outline ✓ 153 项自测全部通过 # novel-script ✓ 191 项自测全部通过 # novel-storyboardSkill断言数覆盖的确定性逻辑novel-art146画风预设、outline 预填清单、11 道质量门novel-characters307分块扫描、别名归并、角色关系图、风格预设novel-outline220分卷切分、13 道质量门、MD/HTML 渲染、中英界面novel-script153语速时长引擎、±15% 容差带、10 道质量门novel-storyboard191H3 提示词逐字对账、2–5 秒硬门、16 道质量门合计10171 秒内全部跑完每个selftest.mjs的开头注释都写着它的定位比如 skills/novel-outline/scripts/selftest.mjs 的前三行自测覆盖 novel-outline.mjs 里所有确定性逻辑。 不调用任何模型不花额度跑一次 1 秒。断言基础设施只有两个小函数assert/strict全部来自 Node 标准库function ok(cond, msg) { assert.ok(cond, msg); passed; } function eq(actual, expected, msg) { assert.strictEqual(actual, expected, ${msg} — 期望 ${expected}实际 ${actual}); passed; }失败信息自带期望值 / 实际值排错不用打开调试器。断言夹具自带样例同时当测试数据examples/目录是双用途设计——给人看的是样例产出给机器跑的是测试夹具。以 skills/novel-outline/examples/渡口-outline.json 为例它把短篇故事《渡口》改编成 6 集 × 2 分钟的微型大纲13 道质量门全部通过既是质量基准也是自测的唯一夹具。更妙的是夹具本身也被断言自带样例通过 full 校验样例全部质量门通过——防止样例在后续改动中悄悄退化。跨 skill 的样例还串成了测试链novel-storyboard 的自测 同时读取上游 4 个 skill 的examples/夹具剧本、大纲、角色表、美术设定对账门一旦断链立刻报错。改上游样例 自动波及下游自测联动回归不用额外配置。质量门逐门击穿每道门都要真的会拦这是整套方法论里最独特的部分。每个 skill 的确定性逻辑核心是若干质量门如主角组 ≤ 5 人、爽点间隔 ≤ 3 集、分镜 2–5 秒硬门。如果只断言好样例全部门通过那测的是假象——一道永远放行的门同样会让所有断言变绿。所以自测的约定是源码原注释每一道门都要证明它真的会拦——不然就是永远为真的假测试击穿用例只有三步克隆夹具 → 故意破坏一个字段 → 断言门被触发且报错点名到具体对象{ const o clone(); o.episodes[0].hook ; // 把第 1 集钩子抹成空白 ok(!gate(o, ep1-hook).ok, 第 1 集没钩子被拦); } { const o clone(); delete o.scenes[2].reusePlan; // 删掉一次性场景的规避方案 ok(!gate(o, once-scene).ok, 一次性场景缺规避方案被拦); ok(gate(o, once-scene).detail.includes(芦苇), 报错点名是哪个场景); }注意第二个断言它不只检查门拦住了还检查报错信息里带上了具体场景名。对使用者来说第 4 集缺悬念栏比校验失败有价值十倍。连检测器本身也不放过——反向验证正则要能抓到东西ok(!/script\ssrc/.test(html), 不引外部脚本); ok(/script\ssrc/.test(script srcx.js), 外部脚本检测正则有效);只测报告里没外部脚本是不保险的一个永远匹配不到的正则也能让断言变绿。渲染层断言连转义边界都测报告是人看的渲染错了人就会信。所以renderMarkdown/renderHtml的输出也是断言重灾区结构计数KPI 带 6 张卡、分集卡 6 张、爽点时间轴 4 个节点、区块顺序正确往返一致报告内嵌的 JSON 解析后与原夹具逐字节一致且能直接喂回validate安全边界往梗概里塞img onerroralert(1)断言被转义再塞/script断言内嵌数据块不被截断界面切换--lang en只翻译界面标签数据爽点类型、人名、门标签原样保留传fr要直接抛错不静默回退以 novel-storyboard 的报告 为例断言甚至精确到主分镜图钉 0.00 秒、子分镜图钉各自切点的 H3 对齐句式逐字对账——这正是分镜投产前的关键一致性。为什么可以不配 CIREADME.md 里的原话没有配 CI——自测足够快1 秒本地跑一次比等 CI 更省事。配套两条硬约定仓库级规则见 CLAUDE.md 与 README每个 skill必须有scripts/selftest.mjs不调用模型、不花额度覆盖全部确定性逻辑加新 skill 之前先把全部自测跑一遍改完脚本先跑自测自测快到比等 CI 还省事CI 反而成了累赘。这也是零模型自测的最大红利测试成本趋近于零时测试频率可以趋近于无穷。四步复用这套方法论想把零模型自测搬进自己的项目尤其是含 LLM 的项目照这四步走切开确定性逻辑与模型输出——只有前者是自测对象前者越纯断言越好写自带样例当夹具——examples/一份两用并断言样例本身通过全部校验防止基准退化每条质量规则配一个击穿用例——克隆夹具、破坏一个字段、证明门会拦且报错点名对象守住秒级——零依赖、单文件、只用标准库自测一旦慢到分钟级说明你开始测该交给模型的开放内容了1017 项断言、1 秒、0 额度——这套方法论证明AI 项目的质量下限可以完全用不花一分钱的测试锁住。【免费下载链接】shuohao-skillsAI 短剧制作的 skill 集合拆角色、排大纲、出场景与道具设定、写剧本、切分镜 | Agent skills for AI short-drama production — character bibles, adaptation outlines, art bibles, screenplays, storyboards. Runs in Claude Code codex.项目地址: https://gitcode.com/gh_mirrors/sh/shuohao-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表