关于 scenario-model-comparison
用于在 Scenario 中比较生成模型的技能,要求固定简报、统一输入并预先制定评判标准,同时记录成本与耗时。它涵盖候选筛选、并排审阅和结果表格整理。
主要功能
- 01筛选候选模型
- 02统一参数与输入
- 03运行前估算费用
- 04记录实扣成本与耗时
- 05按固定标准评分
- 06生成对比网格和表格
适用场景
- 01用同一提示词比较图像模型
- 02评估多个候选的视频输出
- 03衡量成本与运行时间差异
- 04交付基于标准的模型评估报告
MCP 相关
该技能描述了使用 Scenario 工具进行比较的流程,包括模型推荐、运行报价、任务跟踪和网格生成,但未说明 MCP 接口。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ scenario-labs/ skills --skill scenario-model-comparison安装后在 Claude Code 中输入/scenario-model-comparison确认已加载。
详细介绍
场景模型比较
概述
比较是指将同一份简短任务不作改动地交给多个模型运行,然后根据首次付费调用前预先写下的标准进行评判。每个候选模型都有自己的约定,因此比较的关键在于标准化:固定哪些内容、各个架构强制要求哪些内容有所不同,以及每个数字的来源。recommend 用于筛选候选模型,dry_run 用于估算价格,jobs_wait 的各行记录实际费用,网格工具将结果并列展示,最后整理成表格。有关连接和核心循环,请参阅 scenario 技能;有关根据任务简述评判输出的评分标准,请参阅 scenario-refine-loop。如果你可用的技能中缺少此处提到的某个同系列技能,请让用户安装它(npx skills add scenario-labs/skills --skill <name>);若无人值守,则根据工具架构继续操作并标明缺失项。
快速参考
| 步骤 | 操作 |
|---|---|
| 1. 界定 | 一份任务简述及其输入(提示词文本、参考素材 ID),以及 3 到 5 条通过/失败标准;所有内容都要在运行前写好 |
| 2. 筛选 | 使用任务简述作为 prompt 调用 recommend(limit 最高为 10);对用户指定的候选模型使用 search;保留 3 到 5 个 |
| 3. 标准化 | 对每个候选模型调用 model_schema_get:了解共有字段、不同的上限,以及会重写提示词的标志 |
| 4. 估价 | 对每个候选模型和效用模型调用 model_run,设置顶层参数 dry_run: true(与 model_id 并列,绝不能放在 parameters 内);应用预算门槛 |
| 5. 运行 | 对每个候选模型调用 model_run,设置顶层参数 wait: false,依次启动;然后对所有作业 ID 调用一次 jobs_wait |
| 6. 衡量 | 从 jobs_wait 的各行获取 cuCost;从 job_get 的 createdAt 到 updatedAt 计算秒数 |
| 7. 评判 | 查看 model_scenario-grid-maker 生成的表格,然后以完整尺寸查看每个素材,并根据标准评分 |
| 8. 交付 | 每个候选模型对应一行;将素材归入同一个集合,并按模型 ID 添加标签 |
归一化
- 固定简述:提示词文本逐字节保持一致、参考素材 ID 保持一致、输出数量保持一致(一个,除非每个候选项都公开相同的批处理字段;默认样本数大于一的模型会增加成本,必须固定为一个)。
- 仅在必要处让架构有所不同。每个模型的尺寸可能是枚举值或像素对:选择各模型允许的、最接近简述目标的尺寸,并在结果旁记录
asset_get返回的width和height,因为较大的输出成本更高,清晰度也更好。提示词长度上限各不相同(max_length):超出上限会返回 400,而不会自动截断。保留用户的原始简述:如果候选项的上限太低,就替换该候选项;或者先询问用户是否同意为所有候选项修改简述。 - 关闭会改写提示词的功能:如果某个候选项启用了提示词扩展或优化标记,那么比较的就是它改写后的内容,而不是原始简述。如果某个标记无法关闭,请在表格中说明。
- 种子不能跨模型比较:种子只能复现某个模型自身的采样结果,无法迁移。将
seed留空,或仅在对同一候选项进行重复运行时设置。 - 同一系列中的 Turbo 和 Quality 是两个候选项,而非一个。LoRA 通过其基座运行(
runs_as和run_with,见scenario),其成本和耗时按基座运行计算。 - 如果某个系列的技能要求调整参数(例如参考标签语法、强度调节),公平的做法是为该候选项列出两行:默认设置和调整后设置,而不是拿调整后的设置与未调整的竞品比较。
预算
计算生成以及必需的网格、提取或分析步骤的价格。对于总额上限固定的预算,每个已启动的任务都要计算一次,包括尚在运行中的承诺费用。每次付费调用前(包括第一次和之后的每一次),都必须满足:已承诺支出 + 下一次调用的报价 + 剩余必需工作的已验证预留费用 <= 上限。除非有定价文档证明替代输入的报价能够覆盖真实载荷,否则不能用它来验证预留费用。如果表格需要尚未生成的输出,且没有已验证的费用上限,就不要启动生成:提出分阶段支出方案或修订后的计划,并等待用户同意。不要为了符合预算而悄悄删掉用户要求的候选项或产物。usage 报告的是已消耗的 CU,而非剩余额度;不能用它来确认是否满足此预算门槛。
测量
recommend 报告的是建模后的成本和延迟,适合筛选候选项,但不能作为实际结果:dry_run 按确切载荷计算价格,jobs_wait 行中的 cuCost 才是实际扣费。耗时来自 job_get 返回的 createdAt 和 updatedAt;已完成任务的两者之差就是包含排队时间的实际延迟。对于在同一分钟内启动的候选项,这个数值可供比较。必须在等待任何候选项之前启动所有候选项,并遵守团队的并发上限(见 scenario 中的 429 行)。遇到并发 429 时,使用返回的 actionLimit;不要根据本次比较的批次大小推断上限。反复调用 jobs_wait 并传入 pending_job_ids,直到每一行都进入终态。对每个候选项记录:模型 ID、发送的确切 parameters、cuCost、秒数、实际输出尺寸、素材 ID,以及它强制要求的任何归一化处理(尺寸、上限或标记)。
视频候选项应通过联系表比较,绝不能只看首帧:使用 model_scenario-video-to-image-seq 扫描每段视频(这是固定的第一方 ID,也是 Scenario 唯一的确定性帧提取器,因此发现操作只会重新推导出它),等待提取任务完成,然后为每个候选项制作帧联系表。提取器的帧顺序和步长约定,以及联系表的 100 张图片上限,见 scenario-video-editing。音频和 3D 候选项应通过 asset_display 直接比较素材本身。
评判
预先注册的标准是针对输出的通过/不通过陈述(“标签文字清晰可辨”“疤痕位于左脸颊”“没有多余的手指”“背景是纯色”),因此评估的是结果,而不是欣赏结果;事后也不能因为出现了意外的赢家就改写测试。按字面标准评分:相关特征或部分匹配不算通过;证据模糊则记为未验证。使用 model_scenario-grid-maker 制作对照表(固定的一方 id,Scenario 唯一的确定性网格工具,因此无需通过发现来重新找它):按候选项顺序填写 images,即使只有一个候选项也要包装成数组,因为数组顺序就是图例(工具没有标签);columns 设为候选项数量,让每一行对应一份简报;cellRatio 与输出匹配;用 padding 设置间距。然后用 asset_display 以全尺寸查看每个输出:对照表会掩盖细小文字、边缘光晕和细微的解剖结构。对每个候选项的每项标准逐一评分,并在同一张表中列出成本和秒数,方便直接比较取舍。对于大量输出,可使用 asset_analyze(目录中的工具,会产生费用,且属于写入类:参见 scenario 中的 scenario_tools_search,然后是 scenario_tool_execute_write)批量评分:将标准列表原样填入 instruction,将输出填入 images,为每张图的每项标准给出一个判定;如果图像在输出分辨率下无法验证某项标准(例如小字、细微边缘),应记录为未验证,绝不能记为通过;并与标准一同预先注册该指令。
示例:针对一份道具简报比较三个图像模型
- 确定简报:“一把生锈的铁钥匙,钥匙头呈骷髅形,手绘风格,纯色背景”,尺寸为 1024 方形;标准:有骷髅形钥匙头、恰好一把钥匙、没有文字、纯色背景。
- 将该简报作为
prompt并设置limit: 5,调用recommend;然后使用target="models"、public=true调用search,查找用户指定的两个模型;保留三个模型。切勿硬编码 id:不同团队的目录可能不同。 - 对每个模型调用
model_schema_get:查看提示词长度上限、尺寸字段、样本数量字段以及任何提示词扩展开关。 - 对每个模型调用
model_run,并在顶层设置dry_run: true;使用相同的提示词,将数量字段设为 1,选择各模型支持的最接近 1024 方形的尺寸,关闭扩展开关;记下三项价格,并应用预算门槛,其中要计入所需的对照表。 - 使用
wait: false调用三次model_run,然后用三个任务 id 调用一次jobs_wait;若超时,则使用pending_job_ids再次调用。读取每行的cuCost,并针对每个任务从job_get读取createdAt和updatedAt。 - 调用
model_scenario-grid-maker,将按候选项顺序排列的三个资产 id 填入images,并设置columns: 3;用asset_display查看对照表,然后查看每个资产;对四项标准评分。 - 提交表格(模型、不同的参数、成本、秒数、尺寸、通过的标准、备注),并将三个输出和对照表存入一个集合(先调用
collection_create,再调用collection_add_assets);通过asset_add_tags为每个输出添加其模型 id 标签。
常见错误
- 把
recommend给出的数字当作结果引用:这些只是估算值。费用以jobs_wait为准,耗时以job_get为准。 - 候选项使用不同尺寸或样本数量,或某个候选项仍开启了提示词扩展:这样比较衡量的就是输入差异。
- 对输出变化很大的简报,每个候选项只生成一个样本:预算允许时应生成两到三个,并在表格中注明数量。
- 把赢家视为固定不变:排名取决于具体简报和团队目录。两者任一变化时都要重新运行,绝不要把赢家 id 写入技能或流水线,作为固定值使用。
- 通过第一帧或单张静帧比较视频:将视频片段逐帧整理成联系表。
- 把对照表当作交付成果:结果是包含成本和标准的表格;对照表只是证据。
- 将带签名的下载 URL 粘贴到报告中:应归档资产并分享资产 id。