关于 ln-34-benchmark-comparator
用于在受控、可复现的基准测试中比较不同方案的技能,适合需要依据证据做技术决策的人员。它优先验证正确性,并区分实测结果、估算和解读。
主要功能
- 01定义测试场景与决策规则
- 02构建隔离且对称的测试环境
- 03验证候选方案是否启用及正确
- 04记录多轮指标与失败情况
- 05区分实测、推导与估算证据
- 06报告结论、限制与清理情况
适用场景
- 01在代表性工作负载下比较工具或实现
- 02判断性能差异是否超过测量噪声
- 03分别评估设置成本与稳定运行成本
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-34-benchmark-comparator安装后在 Claude Code 中输入/ln-34-benchmark-comparator确认已加载。
详细介绍
基准比较器
目标: 在受控且可复现的条件下比较不同方案。正确性优先于速度,测得的数据必须与估算、设置成本和解读分开。
执行约定: 按顺序排列的复选框构成完成定义。对每一项进行内部跟踪,状态标为 PENDING、附有具体证据的 PROVEN、附有证明其条件不存在的证据的 CLEARED,或存在缺口的 UNPROVEN;阅读资料、委派任务或工具故障都不能作为证明。每完成一个章节后都要核对各项。返回结果前,解决所有 PENDING 项,并且只统计 PROVEN 和 CLEARED;对每个缺口,应用此技能的判定和审批规则。
遵循用户意图、范围和现有授权。继续已获授权的工作;仅在存在重大未决选择或需要外部审批时才提问。根据实际风险调整深度,不得默默跳过检查。遵循依赖关系和安全顺序;其他情况下,应为每项义务选择合适的验证方法。
工具路由
| 需求 | 首选工具 | 适用场景 | 后备方案 |
|---|---|---|---|
| 标准工作负载和判定基准 | 仓库中的固定样例、测试、预期差异、架构或独立指定的结果 | 在运行任一候选方案之前定义成功标准 | 创建能体现决策的最小确定性固定样例 |
| 隔离 | 干净的 Git 工作树、临时目录、受控环境、固定种子和可重置缓存 | 防止某个候选方案或某次运行对其他方案造成污染 | 依次进行干净环境设置,并验证清理结果 |
| 执行 | 对所有候选方案使用相同的 Shell 运行器和包装脚本 | 以一致方式记录命令、退出状态、标准输出、标准错误、耗时和产物 | 手动执行,并明确说明可复现性方面的限制 |
| 激活证明 | 日志、追踪记录、命令记录、进程元数据或候选方案专属产物 | 验证实际运行的是预期方案,且未回退到其他方案 | 无法证明激活时,将该次运行视为无效 |
| 正确性评分 | 测试、输出解析器、差异、架构校验或独立判定基准 | 在比较成本前,对每个场景进行评分 | 根据书面预期进行盲测式人工评分 |
| 性能和成本 | 单调计时器、资源指标、令牌或用量遥测、工具调用日志和失败次数 | 所有候选方案都能通过相同方法观测到指标 | 对推导值或估算值进行标记,并将其排除在测量汇总之外 |
| 外部语义 | 官方文档和规范 | 需要核实候选方案配置或其声称行为的最新信息 | 查阅一手来源;否则将该声明标记为 UNVERIFIED |
观察到偏好的候选方案后,不得调整场景;不得混合不同工作负载的测量结果;不得将内部估算表述为外部测得的事实。基准测试可以创建临时工作树和产物,但不得更改源基线或未经批准的外部状态。
证据规则
- 固定所有未测试变量;若无法固定,则记录并分析混杂因素。
- 除非决策明确允许正确性降级,否则正确性失败不能由更快的速度、更少的令牌用量或更低的成本抵消。
- 进行多次运行,并报告原始值、中心值、离散程度、失败和离群值;绝不只突出最佳运行结果。
- 将设置或索引成本、稳定运行成本、维护负担和运行时成本分开。
- 在不同字段中分别报告测量、推导、估算和定性证据。
检查清单
1. 定义决策和实验
- 说明基准测试需要支持的决策、候选方案、目标用户、代表性工作负载和明确的非目标。
- 纳入简单方案或内置方案有合理胜算的常见场景,以及能体现各候选方案所宣称优势的场景;不要为任何一方设计功能演示。
- 定义场景输入、预期结果、正确性标准、失败条件,以及独立于候选方案自我报告的判定依据。
- 定义主要和次要指标、单位、测量点、验收阈值、允许的权衡,以及平局或无法得出结论时的规则。
- 定义处理变量,然后固定其他相关变量:修订版本、模型、提示词、权限、运行时、硬件、数据、缓存和网络。用于比较的变量不能同时声明为固定变量。
- 根据现有变异性证据或有界试运行,预先确定重复次数;或者制定容差和最大运行次数固定的有界序贯规则。如果预算不足以确定有意义的效应,则返回
INCONCLUSIVE。 - 在查看首个候选方案的结果前,冻结并计算场景文本、测试夹具、预期结果、运行器、解析器和决策规则的哈希值。
- 在创建工作树、临时数据或运行器前,阅读仓库说明并检查 Git 状态。
- 建立由本次运行管理的资源清单,记录所有创建的绝对路径、工作树、进程 ID、缓存、账户、数据集、报告和临时产物;绝不将预先存在的资源或凭据登记为清理目标。
- 要求场景无副作用或具备幂等性,并使用可弃用的账户或数据集;执行前定义外部写入授权、成本和速率预算、清理方式及回滚证据。
- 如果候选方案解决的不是同一任务、无法独立评估正确性、无法隔离外部影响,或决策规则是在查看结果后才选定,则返回
BLOCKED。
2. 构建对称的测试框架
- 对每个候选方案使用相同的运行器、超时设置、日志记录、环境构建方式和产物收集方式。
- 从同一提交创建干净的工作树或同等的隔离副本,并验证起始状态一致。
- 清点可能导致候选方案行为在名义上隔离的实验组之间泄漏的全局和用户级说明、钩子、插件、设置、凭据、缓存及环境变量;逐项禁用、统一或记录。
- 在可能影响结果的情况下,控制随机种子、时钟、区域设置、并发、网络访问、依赖版本、缓存状态、预热和场景顺序。
- 记录准确的候选方案配置、功能标志、提示词、命令行、权限和版本。
- 制定对称的调优策略和预算——使用默认配置、同等调优的配置,或两者兼用——以免在看到另一方的结果后再优化某个候选方案。
- 添加激活检查,以证明每个候选方案确实已启用,并识别静默回退、部分启用或混合执行。
- 基准测试前,使用已知的通过和失败测试夹具验证输出解析器、差异规则、测试判定依据和指标收集器。
- 将一次性设置、索引、编译或下载成本与稳定运行成本及摊销成本分开。
- 根据资源清单定义清理和故障恢复,确保崩溃或超时的运行不会污染后续运行。
3. 执行并采集证据
- 以均衡或随机的顺序运行候选方案,避免系统性地让某个方案获得缓存预热或时间上的优势。
- 对每次运行,采集起始和结束状态、命令、退出状态、耗时、资源指标、日志、输出、差异、测试结果,以及候选方案专属产物。
- 评分前先验证激活情况;对于未经证实或使用回退方案的运行,应标记为无效,而不是将其归入预期的候选方案。
- 在查看性能和成本指标之前,先依据预先定义的判定标准对正确性评分。
- 将任务完整性与正确性、效率分别评分:核验每项必需结果和禁止的副作用,而不是把差异较小、令牌数较少或部分成功视为已完成任务。
- 对候选方案身份盲化,并随机排列呈现顺序,让人工或定性评审员评分;记录分歧,不要倾向某个偏好的候选方案来解决分歧。
- 将超时、崩溃、输出格式错误、部分完成、工具错误和环境故障记录为不同的失败类别。
- 遵循预先声明的重复运行或顺序停止规则;统计并保留所有尝试,包括失败和无效的运行。不要反复重试,直到获得预期数量的成功结果。
- 如果环境漂移、速率限制、外部服务中断、后台负载或运行器缺陷导致后续运行无法比较,则暂停运行。
- 修复测试框架后,将受影响的比较判为无效,并在修正后的测试框架下重新运行这些场景中的两个候选方案;保留未受影响的证据,并标记此前的无效结果。
- 将设置、激活、解析器和环境故障与任务错误分别处理,然后说明设置可靠性是否属于实际产品决策的考量因素。
4. 分析有效性和结果
- 仅排除符合预先定义的无效判定规则的运行,并记录原因、证据,以及排除是否会改变结论。
- 汇总前,按场景报告正确性、失败、延迟、资源使用、令牌数或用量、工具调用及其他成本。
- 根据样本和分布选择适当的统计量,例如中位数、百分位数、置信区间或其他统计量;同时展示离散程度和样本量。
- 分开处理单位或工作负载不同的指标;除非在执行前已定义权重,否则避免使用单一综合评分。
- 检查差异是否超出测量噪声,以及是否有某个场景主导了汇总结果。
- 将设置成本、稳定运行成本、维护复杂度、可移植性、故障行为和运维负担与运行时指标分开分析。
- 标明合成测试数据、估算令牌数、基于字符数的替代指标、建模成本和人工判断,避免将其误认为观测到的遥测数据。
- 如果定性输出质量会实质性影响决策,且自动化正确性评估不足,则应请求独立的盲审。
5. 作出决策、保留证据并清理
- 仅当候选项满足正确性要求,且根据预先定义的决策规则和充分有效的证据得出结论时,才使用
WIN。 - 仅当证据支持预先定义的可忽略差异范围或权衡均衡时,才使用
TIE;证据不足以检测出差异时,应使用INCONCLUSIVE。 - 当样本量、激活情况、判定依据、环境控制或相互冲突的场景妨碍可靠选择时,使用
INCONCLUSIVE。 - 保留可供独立验证所需的可复现命令、配置、场景定义、预期结果、原始结果、规范化结果和分析。
- 仅移除由本次运行创建的账本条目:确认绝对路径仍位于获准的临时根目录内,停止精确记录的进程 ID,保留有未提交更改或预先存在的工作树,绝不删除凭据,并验证源代码和外部基线状态。
- 报告无效运行、排除项、混杂因素、对假设的敏感性,以及可能证伪结论的方式。
- 报告比较后仍存在的决策风险,包括不受支持的工作负载、未测量的成本、不稳定的环境,以及可能导致结论反转的假设。
- 验证决策建议遵循场景级证据和冻结的规则,并已考虑清理工作和局限性。
自检
- 返回前进行核对。 检查各项证据、要求覆盖情况、矛盾、范围、结论和适用的清理事项。更正报告或已授权的产物。复用有效证据;不要自动重新扫描代码仓库或重新运行已成功的命令。仅针对相关更改、失败或尚未解决的证据重复检查。披露剩余缺口。
输出约定
使用用户的语言,按以下顺序报告;保留全部五个字段,且每项事实只陈述一次。结果较少时,每个字段可占一行;省略空表格,不要复制链接的产物:
- 结果: 特定于技能的结论和有证据支持的结果。
- 范围: 已审查/更改的范围、排除项、基线和重要假设。
- 证据: 以下特定于技能的字段;区分事实、推断和未经验证的说法。链接产物;适用时使用表格。
- 验证: 检查及其结果、无法获取的证据,以及适用的清理/外部状态。
- 完成情况:
Checklist: X/Y complete;Incomplete: None,或列出每项UNPROVEN内容的原因、对结果的影响和明确的后续操作;以及剩余风险和需要作出的决定。
特定于技能的证据: 冻结的决策、候选项、场景、独立判定依据、固定变量、配置、指标、重复次数、排除项和决策规则。证明激活情况和测试框架有效性;报告无效运行、混杂因素、排除项和清理情况。汇总之前,比较各场景的完整性、正确性、失败情况、主要指标、离散程度/样本量及其他成本。保留设置/维护方面的权衡、敏感性、证伪条件、原始结果、配置、场景产物,以及可用时的哈希值。