CANNBot 注册调用模式快速入门指南

【免费下载链接】cannbot-skills CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。 【免费下载链接】cannbot-skills 项目地址: https://gitcode.com/cann/cannbot-skills

概述

CANNBot 注册调用模式适用于生产级自定义算子开发场景,通过完整的开发流程生成符合算子仓规范的算子代码,包含 aclnn 接口层、Kernel 实现、UT/ST 测试用例等,适合向算子仓贡献代码、企业级算子开发等场景。

与直调模式的区别

对比维度 注册调用(本模式) 直调模式
适用场景 生产级算子、算子仓贡献 快速验证、原型开发、学习研究
开发内容 完整 aclnn 接口 + Kernel + UT/ST 测试用例 Kernel + Tiling + Host 验证代码
调用方式 通过 aclnn API 注册调用 Host 端 <<<>>> 直调 Kernel
目录结构 算子仓标准目录结构 独立工程目录
开发周期 长(天级) 短(小时级)

一、环境搭建

前置条件

  • 已安装 Ascend Toolkit(建议 ≥ 8.0.RC3)
  • 已配置 NPU 设备(支持 910B/910_93 等 Ascend 芯片)
  • 已安装 opencode 或 claude CLI 工具

Claude Code

git clone https://gitcode.com/cann/cannbot-skills.git
cd skills/plugins-official/ops-registry-invoke
bash init.sh project claude     # 项目级
bash init.sh global claude      # 全局级

OpenCode

git clone https://gitcode.com/cann/cannbot-skills.git
cd skills/plugins-official/ops-registry-invoke
bash init.sh project opencode   # 项目级(默认)
bash init.sh global opencode    # 全局级

验证安装

# Claude Code
claude plugin list
# 应看到已安装的 skills 和 agents

# OpenCode
opencode agent list
# 应看到 ascendc-ops-architect / ascendc-ops-developer / ascendc-ops-reviewer / ascendc-ops-tester

二、快速上手

启动

# Claude Code
claude

# OpenCode
opencode

开发算子示例

在交互界面中输入算子开发需求,CANNBot 会自动加载工作流技能并指导开发:

帮我生成一个AddCustom算子,适配 Ascend 910B 芯片架构,支持 float16/bfloat16/float32 数据类型

核心工作流

CANNBot 采用四阶段开发工作流,确保算子开发质量:

阶段一:需求与设计
    ↓ ⛔CP1确认
阶段二:开发(双轨道并行:算子代码 + ST用例)
    ↓ ⛔CP2确认
阶段三:验收(性能,可选)
    ↓ ⚪CP3确认
阶段四:上库(代码检视 + 开发总结)

每个阶段完成后才能进入下一阶段,详见 AGENTS.md。

产出物示例

注册调用模式下,CANNBot 会在指定目录下生成符合规范的完整算子:

operators/add_custom/
├── CMakeLists.txt              # 编译配置文件
├── op_host/                    # Host 代码层
│   ├── add_custom_def.cpp      # 算子定义
│   ├── add_custom_infershape.cpp # Shape推导
│   └── arch22/                 # 芯片架构适配 (Ascend910B)
├── op_kernel/                  # Kernel 实现层
│   ├── add_custom.h
│   ├── add_custom_arch22.cpp   # Ascend910B Kernel实现
│   └── arch22/                 # 芯片架构适配
└── tests/                      # 测试目录
    ├── ut/                     # 单元测试
    └── st/                     # 系统测试

三、可用技能

Subagent 用途 触发时机
ascendc-ops-architect 需求分析、方案设计 阶段一
ascendc-ops-developer 算子代码开发、UT 开发 阶段二
ascendc-ops-tester ST 用例开发、测试验收 阶段二、阶段三
ascendc-ops-reviewer 代码检视 阶段四
ascendc-docs-search 文档资源索引 查找 API 文档和示例
ascendc-env-check 环境检查 NPU 设备查询

四、开发资源

资源类型 路径 说明
Task 调用参数 workflow/resources/task-prompts.md 各阶段 Subagent 详细调用参数
数据流说明 workflow/resources/data-flow.md 各阶段输入输出文件说明
错误处理指南 workflow/resources/error-handling.md 各阶段错误类型、回退策略

五、常见问题

Q: 如何更新技能模块?

重新执行 init.sh 即可,脚本会自动覆盖旧版本:

cd skills/plugins-official/ops-registry-invoke && bash init.sh

Q: 注册调用模式和直调模式如何选择?

场景 推荐模式
快速验证算法思路 / 学习 Ascend C 直调模式
生产级算子开发 / 向算子仓贡献代码 注册调用模式

【免费下载链接】cannbot-skills CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。 【免费下载链接】cannbot-skills 项目地址: https://gitcode.com/cann/cannbot-skills

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐