Repository navigation
Report benchmark effort, score curves, and run configurations - #7750
Conversation
Signed-off-by: huangruiteng <huangrt01@163.com>
Signed-off-by: huangruiteng <huangrt01@163.com>
|
Hi @huangruiteng, the DCO If the log confirms a missing |
Signed-off-by: huangruiteng <huangrt01@163.com>
3d164cb to
e3d3eb1
Compare
Signed-off-by: huangruiteng <huangrt01@163.com>
songoow
left a comment
There was a problem hiding this comment.
Reviewer: model_agent | GPT-6 Astra Pro | OpenAI | self_reported
审阅固定在 e3d3eb17ffb15610f1db778a37cca9de37d0240e;基线 04c5799b88f6c4cf12a224b7fa679f272e1e794e。核对了最新讨论与当前 main 21367015cce45294dcf99f54a3211d66f5d842c5,触及的关键生产 owner 在 main 仍与基线一致。
本轮未发现新的具体阻断性代码缺陷;当前为验证证据 hold。 当前失败 test-shard (4)/(2)/(3) 未取得独立可归因诊断;其余pending远程任务不作为单独否决理由。
动机 / Motivation
受影响的是比较多轮 benchmark campaign 的研究人员,他们需要同时看分数、消耗和实际运行条件。 旧报告只能比较终局成绩与状态;两个 arm 即使使用不同模型、预算或反馈节奏,读者也难以从同一报告看出差异和缺失测量。 本次让被选中的 run 携带有证据引用的消耗、随时间评分和配置画像,并在报告里保留缺失覆盖率。 范围是已有离线报告器,不启动实验、不修改评分权威,也不宣称描述性分数差异证明因果收益。
未发现为本次具体增量单独批准的书面验收规范;按原问题、基线现有owner契约与已有讨论判断,不把本PR新增文档当作独立验收依据。
改动思路 / Approach
新观测仍由既有输入校验与报告生成器消费,没有把报告层变成实验执行、资格判定或评分 owner。 当前 PR 的边界是把可选测量完整送达 JSON、Markdown 与 CSV,同时保持已有共同题集比较语义。 我检查了不带新字段的旧输入,再检查只加部分 effort 的同一输入;旧终局比较没有被未知用量、配置分组或时间采样改写。这里不能用表格里的零汇总单独代表测到零:JSON 同时给 known_runs,Markdown 在无覆盖时显示未知。配置画像按实际 typed 字段分组,并显式保留 configuration_supplied=false。
具体改动 / Changes
关键代码讲解
validateInput(scripts/benchmark-campaign-report.ts:79)校验可选 effort 至少一个测量已知、计数为非负安全整数,score_samples 时间严格递增且分数处于有效区间,并要求对应 evidence_ref。它没有把采样得分升级为正式终局 score。buildReport(:158)仍使用选定 attempt 和共同题集构造 comparisons;新增 coverage-aware effort、逐 run 的 score_time_series 与配置 profile。未知配置与明确提供的部分配置有独立 supplied 标志,证据引用不会改变配置分组。renderMarkdown(:270)呈现覆盖数、小时和配置维度;renderCsv(:294)新增列并沿用现有 CSV 公式转义。CSV 原 evidence_ref 列改为 score_evidence_ref,我检查了仓内消费者,没有找到依赖原列名的第二个解析 owner;这是需要告知外部手写消费者的可观察格式变化。
验证
实际在 exact head 执行 Node 测试 20/20 passed,包含真正 CLI 写入三种报告和无效输入不产物。另执行基线与 head 的同输入对照:去掉恰好新增的 effort/configuration_profiles/score_time_series 字段后,旧 JSON 全对象相等;加入部分 effort 后 comparisons 仍严格相等、未知 request count 的 known_runs=0。该对照用不可变 base 04c5799,不是根据新实现构造预期。 本PR对其不可变base执行git diff --check,检查通过。
对主干的风险 / Risks
未发现具体阻断性代码缺陷。数据仅来自输入中的 selected run,配置真实性与原始 usage 的采集正确性仍由引用的生产者负责;这份报告不会自行证明同条件实验或完整效率。当前失败 test-shard (4)/(2)/(3) 的日志尚不可取得,无法独立判断失败是否与变更路径有关,所以保留验证 hold;其余 pending job 本身不是拒绝理由,未知失败也不能称作已证实回归。 当前报告只覆盖明确列出的执行与源码证据,未完成的provider、scope矩阵或视觉状态不会标成通过;review结论与合并时的分支保护、完整CI资格分开记录。
我的整体评价 / Verdict
功能边界清楚,局部验证与旧输入对照支持新增观测能力且没有改写原有终局比较。当前结论为证据不足的 hold;最小补充是查明当前三个失败 shard 的具体签名并用相同命令验证当前相关不变量或归因到不可变基线。无需重跑真实付费实验来证明这个离线序列化切片,也不需要为报告器增加新的 kernel owner。
本变更输出离线报告文本,没有更改网页渲染组件;已检查 Markdown 表格转义、CSV 公式防护及 CLI 实际产物。 实际消费端的 Markdown/电子表格渲染未检查;本 PR 没有浏览器布局承诺。
English verdict: REQUEST_CHANGES — exact head e3d3eb1; no new concrete code defect found; current validation gaps remain explicitly unverified.
Campaign reports could compare terminal scores and run states, but they could not carry the evidence-linked effort, score-over-time, or exact selected-run configuration needed to assess long-run efficiency and comparison quality. This adds optional duration, token, request-count, normalized score-sample, and typed source/scorer/model/budget/feedback-cadence/resource projections while preserving missing values as unknown.
The JSON output includes flattened score/time samples and grouped configuration profiles. CSV includes effort and configuration provenance. Markdown reports coverage-aware totals and one row per observed configuration, so heterogeneous arms stay visible and are never presented as strict causal pairs merely because they share scored cases.
Validation:
node --experimental-strip-types --test tests/control_plane_ts/benchmark_campaign_report.test.ts(20/20)git diff --check