Skip to content

tracking: grow reusable engineering optimization tasks #336

Open

Description

@Bounty-hunter

Current state: 长期任务库跟踪。首个 rmsnorm-npu 题包与真实设备工具控制实验已在 Draft PR #338 交付,尚未合并;真实 Agent 接入由 #337 继续完成。其他类别目前是来源研究,不能计为已运行任务。另有 #349(121b9673)使用 Fixes #336,但其唯一变更是 39 行根目录 BOUNTY_SOLUTION.md,没有新增任务包、实现或测试;现有评审未认可其中的修复/测试声明,并指出自动关闭引用与本长期跟踪的逐批交付约定冲突。该 PR 不构成本 Issue 的交付或验收,现有 @Bounty-hunter / #338 / #337 分工不变。Dong1017 后续说明项目没有 bounty 或贡献报酬计划,并询问外部误导来源;这仅澄清付款预期,不是对该 PR 的技术接受或新增任务交付。其 Ready 检查为 action_required、尚无执行 job,不是通过;本同步未批准运行、修改 PR 或接管实现。
Decision needed: @Dong1017 对当前题包子集及后续逐批验收范围记录接受或修订;用户已授权本次分工整理,项目验收另行记录。
Next action: @Bounty-hunter / Codex 完成 #338 剩余 review,与 #337 对接首题;后续按实际需求逐批选择、实现和验证任务。

目标:持续提供可以复用的优化任务

让 Agent 有明确的优化对象,让 Workbench 和评测流程共享同一份任务、输入、正确性依据与测量规则。题库可以用于实际优化,也可以被调用方用于重复实验;它不是用户目标的白名单,外部项目可经 #337 接入而不先入库。

本 Issue 长期保持打开,每批任务单独交付和验收。首题通过不代表全部任务建设完成,也不要求第一版覆盖所有 SearchSpace 类别。

每批交付

  1. 选题与研究: 明确实际工程问题、允许修改范围;阅读相关论文和固定版本开源源码,核实许可,记录采用/不采用理由以及适配差异。
  2. 任务与裁判: 基线、输入、边界情况、独立正确性检查或项目测试、benchmark、单位和计时边界、设备/运行时要求。已有项目检查不足时补充,不把项目名或算子名当作完整验收标准。
  3. 复用与接入: 使用共享任务接口和现有 Workbench;新任务形式需要适配时明确实现范围,不填空 adapter 充覆盖。
  4. 实际验证: 适用的正确/错误/同码控制、真实设备执行、失败与原始样本、可复现方法及剩余限制。
  5. 逐批跟踪: 对应 PR、版本、支持环境、检查结果和维护状态。来源研究与可执行资格分别记录。

Profiling 是可选诊断能力,不是所有任务或所有 Agent 执行的默认门槛。已经执行的 NPU 工具资格试点仍保留原计划中的 profiling 检查与历史证据。

首题及现有材料

  • 首题:rmsnorm-npu,单张 Ascend NPU,二维 contiguous float32 affine RMSNorm;共享入口 compute(x, weight, *, eps)。
  • Draft feat: add shared engineering task evaluation and Ascend RMSNorm #338 提供基础运算 baseline、已有官方融合算子的参考 candidate、独立数值检查、变化输入、同步测量及可选 profile。参考 candidate 不是 Agent 自主发现的证明。
  • 已记录 Ascend 910B1 设备演练:正确实现各 375 项断言通过,错误/重放控制被拒绝,800 个计时样本保留。仅支持记录中的设备/runtime/workload,不能外推模型/服务或所有 dtype。
  • NPU action/total-timeout P2仍需在 feat: add shared engineering task evaluation and Ascend RMSNorm #338 修复;历史脚本检查通过不等于所有预算约束已经强制执行。
  • 按用户要求移除 rmsnorm-cpu 题包及专用用途对照脚本;softmax-cpu 保留作共享接口的软件控制,rmsnorm-npu 保持不变。旧 CPU RMSNorm 实测记录保留原版本,历史命令须在对应 checkout 中复现。当前内置题只有这两个保留任务。
  • 本次删除已完成本地回归:98 passed、6 skipped(5 项 Linux sandbox、1 项单独调度的 NPU);Ruff、打包和干净安装清单检查通过。本提交 CI 的 Python 3.10/3.11 全量检查各 3642 passed、19 skipped,安装检查通过,严格 Linux 产物测试 51 项通过且无跳过。这些软件结果不替代真实 Agent 的 NPU 接入验收。
  • Tokenizers、KV、内存、通信、服务等来源根据实际需求独立选择,不将研究清单标成已实现覆盖。

当前跟踪

合并旧分工及 PR 安排

#334 的跨任务选题、来源与复用研究并入本 Issue;#335 的共享接口由 #337 承接,其任务作者约束在本 Issue 复用。关闭旧 Issue 是范围合并,不是验收完成。

首轮共计划两个 PR:已有 Draft #338 交付共享任务、独立工具和首题;后续一个 Draft PR(尚未创建) 完成 #337 的真实 Agent 接入与实测。之后加题按批次在本 Issue 下交 PR,不单独再建一个“调研 Issue”或“接口 Issue”。

任务使用说明 · CPU 产物交接 · 历史选型研究 · 五类题源研究归档 · 原始 NPU 实测与限制

当前源码树已移除 Issue 专属的开发计划目录和大体积实验转储;计划与进度保留在本 Issue,正式使用说明按功能命名。历史研究、原始样本及报告按上述固定版本保留,未改写数据或原始验收状态。

Parent #252;Accountable implementer: @Bounty-hunter;acting contributor: Codex;parent scope / acceptance owner: @Dong1017。用户本次授权整理、发布和弃用项关闭;剩余项目验收、合并与本长期 Issue 的关闭分别记录。

Activity

  1. added
    area:workbenchCLI workbench: profile, A/B loop, quality gates, evidence reports
    kind:taskBounded delivery task with a delegated slice
    on Nov 3, 2026
  2. agent-ci-infra-bot commented on Nov 3, 2026

    @agent-ci-infra-bot

    报告者希望把 #252 的首批共享工程基准收敛为 Softmax/RMSNorm 两个 CPU 任务包(每题 6 个 workload、独立标量 oracle),并请 @Dong1017 接受该范围;实现与验证目前只在 Draft PR #338 的 d0ce9d7,不在评审树 663f3b3。裁定:需要人工决策——范围接受和交付证据尚未形成可核验记录;本 Issue 请求的是接受评审,没有显式请求新的代码改动,也未在本树执行测试。Labels: kind:task, area:workbench, status:proposed, priority:P2(与 #334/#335 一致的有界基准任务分类;priority 为猜测)

    F1 — 高,需人工决策,范围接受记录归属重复且授权未落地


    F2 — 高,需修复,交付物未绑定到具体修订且不在评审树中


    F3 — 中,需修复,360 个计时样本与两份 profile 只有本地留存

    • Where: tracking: grow reusable engineering optimization tasks #336 的 Checks and limits;feat: add shared engineering task evaluation and Ascend RMSNorm #338 的 docs/plans/issue-252/validation.md 自述完整原始日志和样本仍在仓库外,公开汇总只有 validation-summary.json(每任务 180 个样本、profile_status: completed);PR feat: add shared engineering task evaluation and Ascend RMSNorm #338 还记录全量回归为 3479 passed、51 skipped、56 个失败报告(55 个用例声称在未修改基线复现)。
    • Problem: 汇总给出了数量和身份,但本 Issue 没有给出重放命令、环境(Windows/Python 3.11.18/NumPy 2.4.6)或原始产物位置;按 AGENTS.md 的“reviewers clear work only with artifacts”,仅凭汇总无法验证样本数、单位、边界以及错误候选确实没有可用性能指标。
    • Impact: 独立评审只能相信作者汇总;若要复核必须重跑或向作者索取本地产物,验收不可复现;本 Issue 也未说明全量回归并非绿色这一限制。
    • Next: 在 Issue 中链接固定 SHA 的汇总与 tools/engineering_benchmark_validate.py 的重放命令,列明实际命令、环境和原始产物不可公开的原因;若原始样本是验收证据,提交脱敏样本或明确记录“未独立重放”。

    F4 — 中,需人工决策,四个子项共用 Draft PR #338,独立验收边界未说明


    F5 — 中,需修复,Checks and limits 未写明候选代码执行不是安全沙箱

    • Where: tracking: grow reusable engineering optimization tasks #336 的 Checks and limits;feat: add shared engineering task evaluation and Ascend RMSNorm #338 的 src/inferrsi/harness/benchmarks/numpy_task.py:74 用 exec(compile(...)) 在 worker 进程内加载候选源码,numpy_task.py:3-4 与任务包 README 都声明哈希只检测漂移、不是恶意代码隔离。
    • Problem: 本 Issue 只写“不构成隔离性能收益”,没有说明候选由现有执行器直接 exec、没有恶意代码隔离或资源上限;这句话容易被读成执行隔离已经覆盖。
    • Impact: 接受 tracking: grow reusable engineering optimization tasks #336 可能被误读为确认了任务包执行的安全性;后续接入不可信候选时会缺少明确限制。
    • Next: 在 Checks and limits 中写明候选代码在 worker 进程内执行、哈希只保证内容不变、没有 sandbox/资源限制,并把隔离列为未覆盖范围。

    Reviewed commit: 663f3b3
    Coverage: Checkout: 2645 files at 663f3b3 in a git worktree with the repository's history

  3. added
    priority:P2Decide or start after this week. Only with status:proposed or status:accepted
    status:proposedWaiting for the decision named in the status block
    on Nov 3, 2026
  4. agent-ci-infra-bot commented on Nov 3, 2026

    @agent-ci-infra-bot

    意图:把两个可实际运行的 CPU 任务包(Softmax、RMSNorm,含独立标量 oracle)作为 #252 的首批子集交付,并由父任务请求者决定是否接受。此次编辑已把实现指向 Draft PR #338 与快照 d0ce9d7,实现因此可定位;我在该快照上核对了每题 6 个 workload、24 个断言键、360 = 6 trial × 6 workload × 5 sample × 2 task 的样本口径,并重算了记录中的 task/grader/candidate 哈希,均与 validation-summary.json 一致。裁定:需要人工决策——范围接受与实施授权仍无仓库记录,#338 的测量回放问题尚未进入本 Issue 的验收条款;Issue 本身未请求新的代码改动。

    Labels: status:proposed, priority:P2(状态块有具体待决问题且无已记录决定;priority 为猜测,父任务把实现排在 SkillEval/Indexer 讨论之后)

    F1 — 范围接受与实施授权没有可核查记录(需人工决定)


    F2 — 计时样本可能只测到缓存回放,本 Issue 的验收条款未覆盖

    • Where: PR feat: add shared engineering task evaluation and Ascend RMSNorm #338 head d0ce9d7 的 src/inferrsi/harness/benchmarks/numpy_task.py:94(预检调用一次 compute)与 :119-125(measurement 循环反复使用同一个 x);tracking: grow reusable engineering optimization tasks #336 Plan and implementation 第 4 条与验收第 1、3 条;docs/plans/issue-252/03-tasks.md 的「预检和每次计时后的实际输出都验证」。
    • Problem: 预检和所有 warmup/sample 传入同一个 x 对象/内容。计时之外的输出与输入保持断言,对一个按 id(x) 或内容缓存结果的 candidate 全部通过,计时只测到回放;Dong1017 已在 feat: add shared engineering task evaluation and Ascend RMSNorm #338 的评审中把这点列为 P2,当前 head 尚未处理。
    • Impact: 本 Issue 声称「错误候选不输出可用性能指标」「保留每个 case 的计时样本」;memoizing candidate 会得到可用的(虚假)suite_latency_ms,首批任务无法作为 [Tracking] Minimal engineering benchmarks shared by Workbench, SkillEval and SearchSpace experiments #252 的有效计时证据,也无法支持「错误候选被识别」的范围描述。
    • Fix: 在计时边界外准备 baseline/candidate 共用的冻结、变化输入序列,每次计时调用换用新输入并在计时外校验;增加 memoizing 负例回归。若本批不修,至少在 Issue 的 Checks and limits 写明计时不排除输出缓存/回放,并把相关结论标为未建立。

    F3 — 逐 case 样本与 profile 只在本地,仓库内无法核验

    • Where: tracking: grow reusable engineering optimization tasks #336 Checks and limits 及其链接的 docs/plans/issue-252/validation.md(「完整原始日志和样本仍在本地」);docs/plans/issue-252/validation-summary.json 仅保留 measurement_trials=6、measured_calls=180、profile_status=completed 等汇总与身份哈希。
    • Problem: 360 个逐 case 计时样本、两份 CPU profile、Workbench/SkillEval 运行目录都未进入仓库或不可变位置。我能在 d0ce9d7 上重算 task/grader/candidate 哈希并与汇总一致,但无法检查样本值、单位和边界,也无法复核 profile 的实际内容。
    • Impact: [Tracking] Minimal engineering benchmarks shared by Workbench, SkillEval and SearchSpace experiments #252 的验收要求保留可复现测量;维护者只能重跑而不能重放,「保留每个 case 的计时样本」的勾选缺少独立证据,source_integrity: true 只证明内容哈希一致,不证明样本存在或有效。
    • Next: 提交脱敏的逐 case 样本与 profile(或不可变链接),写清生成命令与环境;或在 Issue 中明确这些原始产物只在本地、不作为验收证据。

    Reviewed commit: 663f3b3
    Coverage: Checkout: 2645 files at 663f3b3 in a git worktree with the repository's history

  5. changed the title [-]task: deliver Softmax and RMSNorm CPU task packages with independent oracles[/-] [+]task: ship executable Softmax and RMSNorm CPU tasks[/+] on Nov 3, 2026
  6. agent-ci-infra-bot commented on Nov 3, 2026

    @agent-ci-infra-bot

    报告者希望把 Softmax/RMSNorm 两个可执行 CPU 任务包作为 #252 首批子集交付,并由 @Dong1017 决定是否接受、同时评审 Draft PR #338;本轮编辑新增“本子项说明”,把顶部文档链接指到 #338 当前 head ac03ae23,链接可读、文档齐备。裁定:需要人工决策——范围接受与实施授权仍无记录,正文同时固定修复前快照 d0ce9d7 与当前 head,证据与声明不一致。早前发现状态:范围接受(早前 F1)仍开放;计时重放(早前 F2)已在 #338 的 ce84506 修复,但本 Issue 的证据未更新;逐 case 样本(早前 F3)仅部分处理;四子项验收边界(早前 F4)与执行非沙箱(早前 F5)仍开放。Issue 本身只请求评审与接受决定,没有请求新的代码改动。Labels: kind:task, area:workbench, priority:P2, status:proposed(沿用 Issue 现有轴取值,无新增猜测)。

    F1 — 高,需人工决策 — 范围接受与所称 2026-11-03 实施授权仍无可核验记录(沿用早前 F1,仍开放)


    F2 — 中,可执行 — 正文同时固定两个修订:交付与“公开结果”仍在修复前的 d0ce9d7,新增顶栏链接已到 ac03ae23

    • Where: 正文 “源码快照 d0ce9d785e1bead9124eed1cf3f6e9f2e0cf05db”、Inputs and deliverables 与末段“公开结果”链接(均为 d0ce9d7);本轮新增的两条顶栏链接指向 ac03ae23。证据:d0ce9d7 的 src/inferrsi/harness/benchmarks/numpy_task.py 在 prepared 中只保存一个 x,warmup/sample 循环反复 compute(x, ...)(约 96–119 行),其 task.json 的 measurement 无 input_sequence;ac03ae23 的 docs/plans/issue-252/validation.md:3 现写 v1 “不能代表后续 v2 变化输入协议”,docs/plans/issue-252/replay-validation.md:13 写“任务、grader 身份和指标的五 case 聚合均已变化”,:36 的 v2 计时样本为每题 6 trial / 150 样本。PR feat: add shared engineering task evaluation and Ascend RMSNorm #338 head 为 ac03ae23,ce84506(16:04Z)才修复该协议。
    • Problem: 本 Issue 三条已勾选验收中,“旧输出重放等候选被识别”正是 d0ce9d7 上缺失、由 ce84506 补上的能力;“保留每个 case 的计时样本”固定的仍是 PR 自己标为历史 v1 的 360 样本(v2 为 300),两份身份哈希也已改变。决策人无法判断接受的是哪个修订。
    • Impact: 基于本 Issue 的接受可能落在已废弃的测量协议上,勾选项 2、3 对当前实现不成立。
    • Next: 把快照、Inputs and deliverables 与“公开结果”更新到 ac03ae23(或写明“待接受修订=…”),并链接 docs/plans/issue-252/replay-validation.md 与 replay-validation-summary.json;保留 v1 时按 validation.md:3 措辞标为历史证据。顶栏链接宜指向 InferMatrixLab/InferRSI 或 PR feat: add shared engineering task evaluation and Ascend RMSNorm #338——这两个提交在主线仓库同样存在,个人 fork 链接可被删除或强推。

    F3 — 中,可执行 — 逐 case 计时样本与 profile 仍只在本地,公开汇总不能替代重放(沿用早前 F3,部分处理)

    • Where: 正文 Checks and limits 的“360 个计时样本”“完整原始日志与样本仍在本地;复现命令随 PR 提供”;ac03ae23 的 docs/plans/issue-252/validation.md:9,11(环境 Windows/Python 3.11.18/NumPy 2.4.6、tools/engineering_benchmark_validate.py 重建、原始样本仅在本地);replay-validation-summary.json 只保留身份、输入摘要、数量与 verdict。
    • Problem: 本轮编辑仍未链接 v2 记录或重建命令,正文也没有说明这些本地产物不作为验收证据;replay-validation.md 的重放命令没有出现在 Issue 中。
    • Impact: [Tracking] Minimal engineering benchmarks shared by Workbench, SkillEval and SearchSpace experiments #252 验收第 3 条“retaining reproducible measurements”只能靠重跑,无法独立核对样本数、单位与边界。
    • Next: 在 Checks and limits 链到 ac03ae23 的 v2 记录并写明重跑命令与“原始样本不作为验收证据,以汇总+重跑为准”,或提交脱敏的逐 case 样本与 profile。

    F4 — 中,需人工决策 — 四个子项共用一个 Draft PR,本 Issue 的独立验收边界仍未写明(沿用早前 F4,仍开放)


    F5 — 低,可执行 — Checks and limits 仍未说明候选代码在 worker 进程内 exec、无 sandbox 或资源上限(沿用早前 F5,仍开放)

    • Where: 正文 Checks and limits(“该结果验证通路及错误识别,不构成隔离性能收益或 GPU/NPU 资格”);d0ce9d7 的 src/inferrsi/harness/benchmarks/numpy_task.py:74 用 exec(compile(...)) 在 worker 内加载候选;ac03ae23 的 docs/plans/issue-252/03-tasks.md:48 与 replay-validation.md:11 已写“不是隐藏测试或恶意代码隔离”。
    • Problem: Issue 自身只否定“性能隔离”,容易被读成执行隔离已覆盖;文档里的限制没有反映到本 Issue 的边界条款。
    • Impact: 后续接入不可信候选时,接受记录缺少明确的执行安全范围。
    • Next: 在该节加一句:候选源码在 worker 进程内直接执行,哈希只检测内容漂移,没有 sandbox、资源或恶意代码隔离。

    Reviewed commit: 663f3b3
    Coverage: Checkout: 2645 files at 663f3b3 in a git worktree with the repository's history

  7. changed the title [-]task: ship executable Softmax and RMSNorm CPU tasks[/-] [+]task: deliver CPU benchmark tasks and qualify representative additions[/+] on Nov 4, 2026
  8. changed the title [-]task: deliver CPU benchmark tasks and qualify representative additions[/-] [+]task: deliver and qualify an Ascend RMSNorm task[/+] on Nov 4, 2026
  9. changed the title [-]task: deliver and qualify an Ascend RMSNorm task[/-] [+]tracking: grow reusable engineering optimization tasks[/+] on Nov 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:workbenchCLI workbench: profile, A/B loop, quality gates, evidence reportsbot-reviewedkind:taskBounded delivery task with a delegated slicepriority:P2Decide or start after this week. Only with status:proposed or status:acceptedstatus:proposedWaiting for the decision named in the status block

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions