ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

从 SKILL.md 到 scripts:如何给 CANNBot Skills 做一次设计与实现一致性体检

从 SKILL.md 到 scripts:如何给 CANNBot Skills 做一次设计与实现一致性体检 从 SKILL.md 到 scripts如何给 CANNBot Skills 做一次设计与实现一致性体检【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skillsCANNBot 是面向 CANN 开发的智能体系列仓库 cann/cannbot-skills 为其沉淀可复用的 Skills 模块。每个 Skill 都由一份设计SKILL.md和一套实现references/ 与 scripts/构成设计与实现一旦脱节智能体就会照着设计说、按着实现做产出与预期南辕北辙。本文借用项目体检的思路把一致性检视拆成三个阶段体检建档 → 分科体检 → 出具报告给出一套可复制的流程系统化定位设计与实现之间的偏差。第一阶段体检建档先锁定对象与依据体检前先回答三个问题否则后续检查都没有坐标。检视对象是谁一个 Skill 模块就是一份设计 实现的复合体。本文以 ops/ascendc-direct-invoke-template 为样例它的 SKILL.md 声明了 Vector、Blaze Matmul、Kirin Vector 三条场景路由实现则散落在references/add_custom/、references/matmul_blaze_template/、references/kirin_add_template/等目录中。以哪份文档为准检视依据是 SKILL.md 的 frontmattername、description与正文场景路由、使用方法、文件结构、关键模式它们共同构成设计契约若 Skill 自带独立设计文档则与 SKILL.md 双份对照。范围边界在哪只检视该 Skill 的 references/、scripts/、assets/ 随附资源不扩散到相邻 Skill也不顺手重构无关代码。判定标准对象不明、依据不全先补档再体检不带着模糊坐标开工。第二阶段分科体检五个科室覆盖七类检查每个科室统一按查什么 → 怎么查 → 什么算异常三段推进节奏整齐、结果可复现。科室一骨架扫描先比整体方案层级大方向对不上细节再像也没有意义。查什么Skill 的功能定位、入口路由、模板类型是否与 SKILL.md 声明一致。怎么查通读 description 与场景路由表逐项对照 references/ 目录实际提供的模板。什么算异常SKILL.md 声称支持 Blaze Matmulreferences/ 下却找不到对应模板目录description 写PyPTO 算子开发实际全是 Ascend C 模板。判定标准出现方向性偏差直接判不合格无需进入逐细节比对。科室二分支矩阵揪出有声明无落实把设计中的每个条件分支做成核对清单逐格确认实现是否覆盖。查什么SKILL.md 中出现的全部分支条件场景路由、算子类型、调用方式等。怎么查列出分支清单在代码与目录中逐个搜索对应处理再反向检查代码有、设计无的多余分支。什么算异常设计有代码无缺失分支、代码有设计无多余分支各计一项偏差。分支条件文档声明代码落实核对结论Vector Add 模板✅✅一致Blaze Matmul 模板✅✅一致Kirin Vector 模板✅❌缺失科室三API 血检核对接口调用与禁用项查什么scripts/ 实际调用的命令、工具链、接口与设计指定是否一致有没有踩到禁用项。怎么查对 run.sh、gen_data.py、verify_result.py 逐个检索关键命令核对参数精度、RoundMode、数据类型是否符合设计规范。什么算异常设计指定 A 接口代码用 B 接口实现或使用了设计明确列入黑名单的方案。科室四血管造影追踪关键数据流查什么输入数据从生成、搬运、计算到输出验证的完整链路每步落点是否与设计一致。怎么查沿 gen_data.py → kernel 搬运 → 计算 → verify_result.py 与 test_torch.py 双通路逐段追踪。什么算异常设计声明中间量放 UB代码却直接读写 GM验证通路缺失导致跑了但没验。科室五病理切片比对参数语义与约束合规查什么同名参数的值是怎么算出来的设计中的关键模式描述与代码逐段对照文档列出的约束是否被遵守。怎么查对 Tiling 结构体逐字段核对计算方式将 SKILL.md 的关键模式段落与 kernel 代码逐行映射。什么算异常参数名对得上、语义对不上典型如把分块大小直接设为全长有参数却无分块逻辑约束写明禁止多核竞争代码却在临界区不加保护。容易被忽略的一点检视不能只读代码还要看实测证据。下图是某算子 Skill 在昇腾芯片上的基准测试结果覆盖多 shape 参数化测试并给出精度指标这类输出应作为验证证据纳入检视材料。第三阶段出具报告汇总差异、评级并开处方差异总表把各科室发现汇总成一张表每行一个检查项#检查项预期表现实际表现结论1骨架扫描路由与模板目录一一对应路由缺失 Blaze 入口❌2分支矩阵三分支全部落地3/3 一致✅3API 血检使用设计指定接口混用黑名单接口❌4血管造影双通路验证完整缺 PyTorch 通路⚠️5病理切片分块语义与设计一致分块参数未生效❌健康评级评级定义判定条件合格设计与实现完全匹配无任何异常项复查核心一致存在非关键偏差骨架通过且其余偏差不超过 3 项不合格方向性偏差骨架不通过或偏差超过 3 项处置处方评级处方合格无需干预可直接进入合入流程复查修复偏差或更新 SKILL.md 对齐实现改后复审不合格按设计重构实现若设计本身不可行重新评估方案执行流程速记体检建档 → 骨架扫描 → 分支矩阵 → API 血检 → 血管造影 → 病理切片 → 差异总表 → 评级开方收尾把体检做成习惯一致性检视的价值不在一次结果而在可重复的流程。建议在 CI 中接入自动门禁如 tests/lib/skill_validator.py再以本文的分科流程做人工复核把设计与实现核对从拍脑袋变成可追溯的例行检查。提交新 Skill 或修改既有 Skill 前先跑一遍三阶段体检让智能体真正做到照着设计说、按着设计做。【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表