mcpField
B
benchmark-and-baseline-selector

benchmark-and-baseline-selector

github.com/jurgendn测试与质量1158 次安装6 周前更新
代码仓库

关于 benchmark-and-baseline-selector

benchmark-and-baseline-selector 是用于研究对比规划的技能,帮助检验新方法或结果。它会先询问缺失的主张背景,再区分决策必需的基线与基准,以及补充性选项。

主要功能

  1. 01根据必要背景决定是否给建议
  2. 02分类研究主张类型
  3. 03筛选最小与建议基线
  4. 04使基准和指标匹配主张
  5. 05标记对比设计中的常见问题

适用场景

  1. 01为研究方法规划对比实验
  2. 02检查基准是否能检验主张
  3. 03区分必需测试与扩展测试

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jurgendn/agent-skills --skill benchmark-and-baseline-selector

安装后在 Claude Code 中输入/benchmark-and-baseline-selector确认已加载。

附带文件evals/evals.json

详细介绍

基准与基线选择器

当用户提出一种方法、主张或结果时,返回一组能让主张可信的最小基线与基准,以及一组能让主张更有说服力的补充项。

交付内容始终是双层比较计划,而非单一列表:

  • 最小集——必需项。如果方法在这里打平或落败,主张就不成立。省略其中任何一项,都可能招致直接拒稿或“缺少基线”的审稿意见。
  • 建议集——补充项。提升外部有效性(规模、迁移、鲁棒性),但对核心主张的判断并非决定性因素。

只有当某个基线/基准可能改变结论时,它才值得纳入。方法显然会胜出的装饰性比较只是噪声。


流程

0. 上下文收集——推荐前先把关

如果提示信息不充分,不要给出计划。先检查对话是否提供了以下上下文。提取已有信息;对于缺失的必需信息,询问用户——不要猜测,也不要犹豫是否要问。选错现有最佳方法,或遗漏自消融,都会让整份计划产生误导,因此先问清楚总是更划算。

必需信息——缺失时必须询问:

  • 精确主张——要验证的性质、相对于什么参考对象、在什么条件下。如果用户只给出模糊想法,请其将主张表述为可证伪的形式。
  • 领域/任务/应用场景——缺少这些信息,就无法确定“强有力的现有方法”和“最接近的既有方法”。
  • 创新点——哪一部分是贡献。这决定了自消融基线。
  • 核心指标——该细分领域用什么指标报告此类主张。如果用户没有说明,请根据主张类型推断,并明确说明假设。

有帮助的信息——如有则提取,否则说明假设:

  • 目标会议/受众(据此确定最小集需要多严格)。
  • 算力/数据/时间预算(确保最小集可运行;将成本高昂的比较列入建议集)。
  • 已经运行过的基线/基准。
  • 数据可用性与污染风险。
  • 当前 SOTA 数值/既有研究——此技能不内置基准列表,因此,当前现有最佳方法必须来自对话、用户提供的信息或文献检索。定稿前应核实依据,不要点名过时的基线。

将必需问题简洁地一次性问完。用户回答后(或记录好假设后),再继续。所有不得不作出的假设都必须在最终输出中明确说明,不得一笔带过。

1. 重述主张并分类

将用户的提议改写为一个可证伪的主张,格式如下: “[方法] 在[条件]下,相较于[参考对象],实现了[性质],以[指标]衡量。”

然后对主张类型进行分类——这决定后续所有步骤:

主张类型必须控制/证明的内容
准确率/SOTA在相同预算与协议下,优于当前强有力的现有方法
效率(算力/参数/延迟/成本)以更低成本达到相同质量,或以相同成本获得更高质量——需要设置成本维度
样本效率在数据有限时表现更好——需要学习曲线/数据预算协议
泛化/迁移在与调优所用数据分布、领域或任务不同的情况下仍然成立
鲁棒性在分布偏移、噪声、对抗或长尾条件下仍然成立
机制(“为何有效”)增益来自所声称的组件,而非混杂因素——需要自消融

如果提议混合了多个主张(例如“更快且更准确”),则应分别为每个子主张确定最小集。

2. 构建基线分类体系

对于这项主张,强制覆盖所有相关要素。遗漏下限基线或自身消融,是审稿人最常见的意见。

  • 简单下限基线——随机、多数类、无操作或最简单的启发式方法。证明任务和指标并非退化,并且方法超过了底线。
  • 强有力的现有方法——实践者已经在使用的显而易见的方法(经过良好调优,而非稻草人)。胜过弱基线毫无证明力。
  • 最接近的先前方法——竞争关系最直接的已发表方法。这是审稿人最关注的比较。
  • 自身消融基线——移除或替换所声称组件后的自有方法。这能将你的贡献与周边机制区分开来。

每个基线都要用一句话说明理由:它能排除哪种结论。

3. 选择与主张相匹配的基准/数据集

根据基准能让你推断出什么来选择,而不是看它有多热门。

  • 最小基准——能够证伪主张的最小设置,且协议与主张类型相匹配(例如,样本效率对应学习曲线,效率对应成本轴,泛化对应分布外划分)。一个协议合适、精心挑选的基准,胜过五个测量同一件事的基准。
  • 建议基准——增加一个不同维度:第二个领域(迁移)、更大规模(增益是否仍然存在?)、分布偏移/长尾划分(鲁棒性),或更难且无污染的变体。

优先选择强有力的现有方法的结果已公开的基准,这样比较成本低,也无可争议。

4. 让指标与主张相匹配

指出任何不匹配之处:效率主张却只报告准确率、鲁棒性主张却没有最坏情况/尾部指标、校准主张却用准确率衡量。说明主要指标,以及让主张清晰易懂所需的任何次要指标。如果主张涉及权衡(质量与成本),则要求同时报告这两个维度。

5. 区分最小集与建议集

对每一项都进行如下检验:

如果方法在这项上打平或落败,核心主张是否就被证伪?

  • 是 → 最小集。
  • 否,但能拓宽结论 → 建议集。

最小集要真正精简——通常包括简单下限基线、最接近的先前方法(或强有力的现有方法)、一项自身消融,以及一个协议合适的基准。

6. 标记反模式

明确指出适用的反模式:

  • 基线薄弱/过时/未调优(稻草人)。
  • 基准挑选——只报告方法获胜的划分。
  • 协议/指标不匹配——基准实际上无法检验该类型的主张。
  • 数据泄漏/污染——训练集与测试集重叠,或基准数据已包含在预训练数据中。
  • 预算不平等——拿经过调优的方法与调优不足的基线比较。
  • 缺少自身消融——增益未能归因于所声称的组件。

输出格式

Claim (falsifiable): <one sentence>
Claim type(s): <from the table>
Primary metric: <metric>  | Secondary: <metric, if the claim needs it>

MINIMAL (necessary — claim dies if it fails here)
  Baselines:
    - <baseline>  — rules out: <what>
    - <self-ablation> — isolates: <your component>
  Benchmark(s):
    - <benchmark> + <protocol>  — can falsify: <which part of the claim>

SUGGESTED (complementary — strengthens, not decision-critical)
  Baselines:  - <stronger SOTA / extra lower bound> — adds: <inference>
  Benchmark(s): - <2nd domain / scale / shift> — adds: <axis of external validity>

Anti-patterns to avoid: <only the ones that apply>
Assumptions made: <any required context that was inferred rather than given — omit if none>

保持内容便于快速浏览。先列出最小集——这就是“我实际需要做什么”的答案。将建议集作为升级路径。


何时不使用此技能

  • 设计实验流程、对照或成功阈值 → experiment-design。
  • 通过内部消融隔离单一方法中的某个机制 → hypothesis-and-ablation-planner。
  • 没有合适的基准,必须从头设计测量方案 → experiment-design。
  • 运行实验后的结果解读/错误分析 → model-eval-error-analysis。
  • 对结果进行显著性检验 → statistical-testing-guide。

评论

支持 Markdown