mcpField
S
scenario-model-comparison

scenario-model-comparison

github.com/scenario-labs测试与质量1.2k383 次安装1 天前更新
代码仓库

关于 scenario-model-comparison

用于在 Scenario 中比较生成模型的技能,要求固定简报、统一输入并预先制定评判标准,同时记录成本与耗时。它涵盖候选筛选、并排审阅和结果表格整理。

主要功能

  1. 01筛选候选模型
  2. 02统一参数与输入
  3. 03运行前估算费用
  4. 04记录实扣成本与耗时
  5. 05按固定标准评分
  6. 06生成对比网格和表格

适用场景

  1. 01用同一提示词比较图像模型
  2. 02评估多个候选的视频输出
  3. 03衡量成本与运行时间差异
  4. 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,为每张图的每项标准给出一个判定;如果图像在输出分辨率下无法验证某项标准(例如小字、细微边缘),应记录为未验证,绝不能记为通过;并与标准一同预先注册该指令。

示例:针对一份道具简报比较三个图像模型

  1. 确定简报:“一把生锈的铁钥匙,钥匙头呈骷髅形,手绘风格,纯色背景”,尺寸为 1024 方形;标准:有骷髅形钥匙头、恰好一把钥匙、没有文字、纯色背景。
  2. 将该简报作为 prompt 并设置 limit: 5,调用 recommend;然后使用 target="models"、public=true 调用 search,查找用户指定的两个模型;保留三个模型。切勿硬编码 id:不同团队的目录可能不同。
  3. 对每个模型调用 model_schema_get:查看提示词长度上限、尺寸字段、样本数量字段以及任何提示词扩展开关。
  4. 对每个模型调用 model_run,并在顶层设置 dry_run: true;使用相同的提示词,将数量字段设为 1,选择各模型支持的最接近 1024 方形的尺寸,关闭扩展开关;记下三项价格,并应用预算门槛,其中要计入所需的对照表。
  5. 使用 wait: false 调用三次 model_run,然后用三个任务 id 调用一次 jobs_wait;若超时,则使用 pending_job_ids 再次调用。读取每行的 cuCost,并针对每个任务从 job_get 读取 createdAt 和 updatedAt。
  6. 调用 model_scenario-grid-maker,将按候选项顺序排列的三个资产 id 填入 images,并设置 columns: 3;用 asset_display 查看对照表,然后查看每个资产;对四项标准评分。
  7. 提交表格(模型、不同的参数、成本、秒数、尺寸、通过的标准、备注),并将三个输出和对照表存入一个集合(先调用 collection_create,再调用 collection_add_assets);通过 asset_add_tags 为每个输出添加其模型 id 标签。

常见错误

  • 把 recommend 给出的数字当作结果引用:这些只是估算值。费用以 jobs_wait 为准,耗时以 job_get 为准。
  • 候选项使用不同尺寸或样本数量,或某个候选项仍开启了提示词扩展:这样比较衡量的就是输入差异。
  • 对输出变化很大的简报,每个候选项只生成一个样本:预算允许时应生成两到三个,并在表格中注明数量。
  • 把赢家视为固定不变:排名取决于具体简报和团队目录。两者任一变化时都要重新运行,绝不要把赢家 id 写入技能或流水线,作为固定值使用。
  • 通过第一帧或单张静帧比较视频:将视频片段逐帧整理成联系表。
  • 把对照表当作交付成果:结果是包含成本和标准的表格;对照表只是证据。
  • 将带签名的下载 URL 粘贴到报告中:应归档资产并分享资产 id。

评论

支持 Markdown