关于 benchmark-and-baseline-selector
benchmark-and-baseline-selector 是用于研究对比规划的技能,帮助检验新方法或结果。它会先询问缺失的主张背景,再区分决策必需的基线与基准,以及补充性选项。
主要功能
- 01根据必要背景决定是否给建议
- 02分类研究主张类型
- 03筛选最小与建议基线
- 04使基准和指标匹配主张
- 05标记对比设计中的常见问题
适用场景
- 01为研究方法规划对比实验
- 02检查基准是否能检验主张
- 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。