Step 1输入收集【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills全局约束强制顺序1.0 → 1.1 → 1.2 → 1.3 → 1.4严格逐步执行禁止合并、跳过或重排。禁止抢跑每步仅允许其自身描述的操作如 1.0 仅允许平台检测1.1 才能用 question1.2 才能搜索路径前一步未完成不得启动下一步。question 工具规范Step 1.1 专用单次调用所有未收集参数作为questions数组的独立元素逐项呈现独立 header、独立 question、独立 options禁止创建全部使用默认值或自定义参数等聚合选项已从用户消息或前置步骤获取的值以文字回显不再放入 questions 数组1.0 平台检测执行npu-smi info获取当前 NPU 设备信息从输出中识别芯片名称Name 列。禁止猜测和推导——必须以硬件检测结果为准。检测方式按优先级降级执行npu-smi info从输出中识别芯片名称若 npu-smi 不可用 → 读取环境变量$ASCEND_SOC_VERSION两者均不可用 → 报告「无法检测 NPU 平台请手动指定」等待用户输入注意禁止使用npu-smi info -t board -i 0硬编码卡号 0。将检测到的芯片名称结合npu-archskill 的references/npu-hardware-params.md §0 产品映射表确定npu_arch如 DAV_3510/DAV_2201和soc_version如 ASCEND950/ASCEND910B。§0 表中芯片型号列为模糊匹配如910B3匹配Ascend910B1~B4。产出npu_arch、soc_version、chip_model。1.1 收集用户输入在 Step 1.0 完成后使用 question 工具收集以下 4 项输入已从用户消息或前置步骤获取的值以文字回显仅将未收集项作为 questions 数组中的独立条目。#项提示语必填默认值/可选值1算子名称请输入算子名称是自由文本2Step 4 闸门是否跳过 Step 4 闸门是默认不跳过可选跳过一次跑完全流程3算子路径请选择算子路径获取方式自动查找 / 手动输入路径是默认「自动查找」4TTK CSV 模块是否启用 TTK CSV 模块是默认不启用1.2 定位算子路径⚠️本步骤由主 Agent 直接执行。禁止派发子 agent。禁止使用 Task 工具。只能使用 Bash 工具执行 find 命令。在 Step 1.1 完成后执行。由用户对「算子路径」的选择驱动选择「自动查找」→ 执行以下搜索逻辑定位算子路径。选择「手动输入」→ 仅验证用户提供的路径确认 op_kernel/ 和 op_host/ 目录存在验证通过则跳过搜索直接进入 Step 1.3。「自动查找」分支两阶段前提用户输入的op_name始终视为正确的规范名camel_to_snake(OP_ADD(op_type)) 的结果。查找失败时不质疑用户输入而是切换查找策略。Phase 1目录名匹配查找方式强制限定当前工作目录$PWD禁止跨目录搜索。使用 bashfind $PWD -maxdepth 4 -type d -regex .*/ops-[^/]/[^/]/{op_name}按目录名精确匹配禁止子串匹配。禁止派发子 agent。主 Agent 验证每个候选目录同时存在 op_kernel/ 和 op_host/过滤不合格项。唯一结果→使用多项→让用户选择。未找到→进入 Phase 2。Phase 2OP_ADD 反查当 Phase 1 按目录名未找到时说明算子目录名与规范 op_name 不一致如目录lamb_next_m_v规范名lamb_next_mv。通过_def.cpp中的OP_ADD(op_type)反查。python3 {skill_base}/scripts/normalize_op_name.py find --op-name {op_name} --search-root $PWD输出op_path非空 → 使用该路径唯一结果直接使用多候选→让用户选择输出op_path为空 → 报告未找到不得扩大搜索范围「手动输入」分支验证用户提供的路径下存在op_kernel/和op_host/目录。验证失败→报错并要求用户修正路径。1.3 查询技术参数在 Step 1.2 完成后执行。加载npu-archskillReadreferences/npu-hardware-params.md按以下规则获取平台参数VectorCore 核数从 §子型号变化参数 读取匹配 chip_model 的 VectorCore 数§中 CubeCore:VectorCore 1:2取 VectorCore 列。若存在多个子型号如 Ascend950PR 有 PCIE/Server通过 Step 1.0npu-smi info输出中的 HBM-Usage 容量区分112 GBPCIE128 GBServer。UB 大小从 §2 各架构参数 读取对应 NpuArch 的ub_size值。以platform对象传递给子 agent字段为npu_arch/soc_version/chip_model/core_countVectorCore 数 /ub_size单位 KB。1.4 确认摘要在 Step 1.0-1.3 全部完成后执行。必须使用 question 工具展示确认摘要并等待用户确认禁止仅以文字输出方式等待用户回复。question 工具规范Step 1.4 专用必须使用 question 工具的单次调用将确认摘要作为question字段内容options必须包含「确认开始分析」和「需要修改」两个选项禁止仅以文字输出非 question 工具展示摘要后等待用户回复确认摘要内容填入实际值后作为 question 字段── 硬件参数自动检测── 目标平台 {chip_model}{npu_arch}将使用 {core_count} 核、{ub_size}KB UB。 ── 用户输入 ── - 算子名称{op_name} - 算子路径{op_path} - Step 4 闸门{gate_status} - TTK CSV 模块{ttk_status} 结果输出到 {算子源码路径}/tests/whitebox/。 如需修改核数、UB 大小或有额外特殊条件需添加请告知。 确认后开始分析。占位符填入规则{chip_model}/{npu_arch}/{core_count}/{ub_size}— 由 Step 1.0 检测 1.3 映射{op_name}/{op_path}/{gate_status}/{ttk_status}— 由 Step 1.1 用户输入{算子源码路径}— 即 Step 1.2 确定的算子路径question 工具选项定义选项 label选项 description确认开始分析所有参数正确进入 Step 2需要修改核数/UB — 主 Agent 更新platform对象后回到 1.4 重新展示其它参数 — 回到 1.1 重新收集【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
CANN/cannbot-skills白盒设计输入收集
发布时间:2026/7/4 7:19:57
Step 1输入收集【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills全局约束强制顺序1.0 → 1.1 → 1.2 → 1.3 → 1.4严格逐步执行禁止合并、跳过或重排。禁止抢跑每步仅允许其自身描述的操作如 1.0 仅允许平台检测1.1 才能用 question1.2 才能搜索路径前一步未完成不得启动下一步。question 工具规范Step 1.1 专用单次调用所有未收集参数作为questions数组的独立元素逐项呈现独立 header、独立 question、独立 options禁止创建全部使用默认值或自定义参数等聚合选项已从用户消息或前置步骤获取的值以文字回显不再放入 questions 数组1.0 平台检测执行npu-smi info获取当前 NPU 设备信息从输出中识别芯片名称Name 列。禁止猜测和推导——必须以硬件检测结果为准。检测方式按优先级降级执行npu-smi info从输出中识别芯片名称若 npu-smi 不可用 → 读取环境变量$ASCEND_SOC_VERSION两者均不可用 → 报告「无法检测 NPU 平台请手动指定」等待用户输入注意禁止使用npu-smi info -t board -i 0硬编码卡号 0。将检测到的芯片名称结合npu-archskill 的references/npu-hardware-params.md §0 产品映射表确定npu_arch如 DAV_3510/DAV_2201和soc_version如 ASCEND950/ASCEND910B。§0 表中芯片型号列为模糊匹配如910B3匹配Ascend910B1~B4。产出npu_arch、soc_version、chip_model。1.1 收集用户输入在 Step 1.0 完成后使用 question 工具收集以下 4 项输入已从用户消息或前置步骤获取的值以文字回显仅将未收集项作为 questions 数组中的独立条目。#项提示语必填默认值/可选值1算子名称请输入算子名称是自由文本2Step 4 闸门是否跳过 Step 4 闸门是默认不跳过可选跳过一次跑完全流程3算子路径请选择算子路径获取方式自动查找 / 手动输入路径是默认「自动查找」4TTK CSV 模块是否启用 TTK CSV 模块是默认不启用1.2 定位算子路径⚠️本步骤由主 Agent 直接执行。禁止派发子 agent。禁止使用 Task 工具。只能使用 Bash 工具执行 find 命令。在 Step 1.1 完成后执行。由用户对「算子路径」的选择驱动选择「自动查找」→ 执行以下搜索逻辑定位算子路径。选择「手动输入」→ 仅验证用户提供的路径确认 op_kernel/ 和 op_host/ 目录存在验证通过则跳过搜索直接进入 Step 1.3。「自动查找」分支两阶段前提用户输入的op_name始终视为正确的规范名camel_to_snake(OP_ADD(op_type)) 的结果。查找失败时不质疑用户输入而是切换查找策略。Phase 1目录名匹配查找方式强制限定当前工作目录$PWD禁止跨目录搜索。使用 bashfind $PWD -maxdepth 4 -type d -regex .*/ops-[^/]/[^/]/{op_name}按目录名精确匹配禁止子串匹配。禁止派发子 agent。主 Agent 验证每个候选目录同时存在 op_kernel/ 和 op_host/过滤不合格项。唯一结果→使用多项→让用户选择。未找到→进入 Phase 2。Phase 2OP_ADD 反查当 Phase 1 按目录名未找到时说明算子目录名与规范 op_name 不一致如目录lamb_next_m_v规范名lamb_next_mv。通过_def.cpp中的OP_ADD(op_type)反查。python3 {skill_base}/scripts/normalize_op_name.py find --op-name {op_name} --search-root $PWD输出op_path非空 → 使用该路径唯一结果直接使用多候选→让用户选择输出op_path为空 → 报告未找到不得扩大搜索范围「手动输入」分支验证用户提供的路径下存在op_kernel/和op_host/目录。验证失败→报错并要求用户修正路径。1.3 查询技术参数在 Step 1.2 完成后执行。加载npu-archskillReadreferences/npu-hardware-params.md按以下规则获取平台参数VectorCore 核数从 §子型号变化参数 读取匹配 chip_model 的 VectorCore 数§中 CubeCore:VectorCore 1:2取 VectorCore 列。若存在多个子型号如 Ascend950PR 有 PCIE/Server通过 Step 1.0npu-smi info输出中的 HBM-Usage 容量区分112 GBPCIE128 GBServer。UB 大小从 §2 各架构参数 读取对应 NpuArch 的ub_size值。以platform对象传递给子 agent字段为npu_arch/soc_version/chip_model/core_countVectorCore 数 /ub_size单位 KB。1.4 确认摘要在 Step 1.0-1.3 全部完成后执行。必须使用 question 工具展示确认摘要并等待用户确认禁止仅以文字输出方式等待用户回复。question 工具规范Step 1.4 专用必须使用 question 工具的单次调用将确认摘要作为question字段内容options必须包含「确认开始分析」和「需要修改」两个选项禁止仅以文字输出非 question 工具展示摘要后等待用户回复确认摘要内容填入实际值后作为 question 字段── 硬件参数自动检测── 目标平台 {chip_model}{npu_arch}将使用 {core_count} 核、{ub_size}KB UB。 ── 用户输入 ── - 算子名称{op_name} - 算子路径{op_path} - Step 4 闸门{gate_status} - TTK CSV 模块{ttk_status} 结果输出到 {算子源码路径}/tests/whitebox/。 如需修改核数、UB 大小或有额外特殊条件需添加请告知。 确认后开始分析。占位符填入规则{chip_model}/{npu_arch}/{core_count}/{ub_size}— 由 Step 1.0 检测 1.3 映射{op_name}/{op_path}/{gate_status}/{ttk_status}— 由 Step 1.1 用户输入{算子源码路径}— 即 Step 1.2 确定的算子路径question 工具选项定义选项 label选项 description确认开始分析所有参数正确进入 Step 2需要修改核数/UB — 主 Agent 更新platform对象后回到 1.4 重新展示其它参数 — 回到 1.1 重新收集【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考