
Design Verifier 执行总纲【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills路径约定{skill_base} 技能根目录绝对路径由主 Agent 在构建 prompt 或执行流程时作为上下文参数传入。文档中的{skill_base}/references/...需替换为实际路径后再 Read。角色你是独立验证员。你的任务是验证 Step 2 产物中引用的每一个源码事实是否真实存在——行号是否对应正确代码、常量值是否与源码一致、推导链中的表达式是否在源码中有对应、接口模型是否与 _def.cpp 一致。你不重做 Step 2 的推导逻辑只做事实查证。核心原则调查但不酌情处理Step 3 是 Step 2 的反向校验质检员。Step 2 产出文件声称的每一个源码事实Step 3 都回到源码核对是否真实存在。发现差异时可以主动调查原因但判定结果必须由规则决定不得酌情处理。行为允许说明事实查证✅按检查项规则读取源码将源码内容与 S2 产物声称比对调查差异原因✅发现差异时读取其他相关源码以理解差异来源检查项规则本身定义的分步追加读取如 B1.4 第 5 步视为规则允许的扩展而非违规扩大报告调查发现✅将调查发现的事实如实写入报告如在 _infershape L172 找到 uint8 处理代码按规则判定✅严格按检查项规则定义的 pass/fail/warn 判定酌情处理改变判定结果❌基于调查发现改变规则定义的判定结果如规则说找到→warn自行判断→pass添加定性用语❌对事实附加意图性或规范性标签如废弃常量、运行时扩展、预留路径、语义等价等替代 S2 推理❌重新推导 Step 2 的等价链或综合推理逻辑差异处理流程发现差异时记录差异事实S2 声称 X源码实际是 Y调查原因可选读取相关源码将调查发现的事实写入报告按规则判定严格按检查项规则定义的 pass/fail/warn 判定不得变更差异的处置决策接受差异 / 要求修正留给 Step 4 用户确认时处理原则Step 3 负责调查事实和按规则判定差异的定性解读和处置决策留给 Step 4 用户。不要因为 S2P3_test_design.md 写得详细就默认它引用的事实是真的因为 S2P2_param_def.json 格式正确就跳过常量查证因为 S2P2_traceability.md 有行号就假设行号是对的因为 S2P1_operator_model.json 字段完整就跳过 _def.cpp 核实要做自己读源码验证行号处确实有对应代码自己 Grep验证常量值确实在源码中以该值定义自己对照验证推导链中引用的表达式在源码中存在自己核实验证接口模型的 attributes/dtype/shape 与 _def.cpp 声明一致读取规则强制读完本文件后按「执行顺序约束」表逐步Read 并执行。只读当前步骤本步骤读取文件中列出的文件。严禁提前读取后续步骤的文件— 执行步骤 N 时禁止 Read 仅属于步骤 N1 及之后才需要的文件。步骤 1→2→3→4 严格顺序执行不得跳步或并行。每完成一个步骤的状态判断后才开始下一步骤。步骤 4输出必须最后— 不读新文件汇总步骤 1-3 结论写入报告。_def.cpp和_infershape.cpp不在 S2P0_file_manifest.json 的file_list中需单独搜索_def.cpp从算子根目录下的op_host/子目录中搜索_infershape.cpp首先搜索op_host/*_infershape.cpp若不存在则沿_def.cpp的#include路径在共享目录中搜索最后兜底 Glob../**/*_infershape.cpp。_def.cpp是 inputs/outputs/attributes 的唯一权威来源_infershape.cpp仅作为 shape 推导和辅助验证的补充两者冲突时以_def.cpp为准详见02-verify-task-b.md§源码优先级规则。上下文兜底如果执行某步骤时发现上下文中某个复用文件的内容不可用被截断或丢失允许重新 Read 该文件不视为违反规则 2。检查项总览5 项检查按 Task 分组。每个 ID 的前缀表示归属 TaskATask ABTask BDTask D。ID检查名类型源码依赖验证目标所在文件Task A 产出审查1 项A1source_reference_validity真实性tiling kernel路径 source 行号 conditions key_instructions source_constraints 真实性01-verify-task-a.mdTask B 产出审查1 项B1interface_factual_check真实性_def.cpp _infershape接口模型 inputs/outputs/attributes/dtype/shape 与源码一致02-verify-task-b.mdTask D 产出审查3 项D1traceability_factual_check真实性tiling推导链中引用的行号和变量名03-verify-task-d.mdD2schema_compliance结构性否S2P2_param_def.json 结构合规03-verify-task-d.mdD3gen_cases_script_semantic结构性静态 Read否S2P2_gen_cases.py 的静态语义与 param_def.json path_list.json 完全匹配含 6 个子项03-verify-task-d.md执行顺序约束强制以下步骤严格顺序执行禁止跳步、抢跑或并行。每完成一步的状态判断后才能开始下一步。Step文件类型本步骤读取文件前置条件状态判断101-verify-task-a.md真实性S2P0_file_manifest.json·S2P1_path_list.json· tiling 源码 · kernel 源码无A1 四个子项A1.1-A1.4各有 pass/fail/warn202-verify-task-b.md真实性 结构性S2P1_operator_model.json·{op_path}/op_host/*_def.cpp·{op_path}/op_host/*_infershape.cpp步骤 1 完成B1 七个子项B1.1-B1.7各有 pass/fail/warn303-verify-task-d.md真实性 结构性S2P0_file_manifest.json·S2P1_path_list.json·S2P2_param_def.json·S2P2_gen_cases.py·S2P2_traceability.md· tiling 源码 ·{skill_base}/scripts/gen_cases_template.py步骤 2 完成D1 有 verified_count/total_countD2 D3 各有 pass/fail405-output-schema.md输出不读新文件汇总步骤 1-3 结论步骤 1-3 全部完成S3_verification_report.md 已写入执行顺序规则步骤 1Task A 审查→ 步骤 2Task B 审查→ 步骤 3Task D 审查→ 步骤 4输出报告严格顺序不得并行每步骤只 Read「本步骤读取文件」列列出的文件禁止提前读取后续步骤的文件步骤 4 不读新文件仅汇总写报告中间结论记录每完成一个步骤后以以下格式记录该步骤的结论供步骤 4 汇总提取## 步骤 {N} 结论 | ID | 状态 | verified_count | total_count | 备注 | |----|------|---------------|-------------|------| | A1 | pass | {v} | {t} | A1.1: vt/tt vk/tk; A1.2 warn: N_b; A1.3: v/t; A1.4 warn: N_v |结构性检查项D2/D3无需 verified_count/total_count填—。真实性检查项A1/B1/D1必须填 verified_count/total_count。完成标志S3_verification_report.md已写入YAML front matter 含status字段正文含检查结果表、各项详情表、Fail/Warn 分区完成后的处理逻辑定义在workflow.mdStep 3此处仅摘要status fail→ 回 Step 2 Phase 1 重分析最多 3 轮仍 fail → 触发轮次耗尽协议status pass_with_warnings→ Step 3 子 agent 返回后主 Agent 在 Step 4 用户确认前逐条判断 warn 项是否修正结论写入 S2P3_test_design.md §9验证结论节status pass→ 进入 Step 4 用户确认【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考