| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat: add cannbot knowledge plugin Co-authored-by: qq_41667743<wangchao725@huawei.com> # message auto-generated for no-merge-commit merge: !569 merge master into master feat: add cannbot knowledge plugin Created-by: qq_41667743 Commit-by: qq_41667743 Merged-by: cann-robot Description: ## 描述 ### 新特性 cannbot knowledge 给cannbot新增知识库插件,提供ops知识编译、知识治理和知识检索三类skill。并预留拓展接口给社区贡献知识编译等skill。 ### 知识编译流程 知识编译流程由ops-knowledge-ingest skill进行触发,它会根据不同知识来源路由到不同的ingest skill上进行知识的编译,目前已有官方文档 / golden 算子源码仓 / 开发轨迹等三类源知识ingest skill。 从官方文档中主要提炼如下知识: - AscendC API 文档; - 算子开发指南; - Profiling 指南; - 平台和架构说明; - dtype、精度和能力约束; - 实践样例和说明; - 术语和概念解释。 从golden 算子源码仓(ops-math、ops-nn、ops-transformer、ops-cv)中提炼出算子的设计知识,包括: - 算子的源码位置和固定 commit - 支持的平台、dtype 和 shape 范围 - 算子包含哪些计算模板 - TilingData 包含哪些关键字段 - Host 侧 tiling 如何计算 - Kernel 侧计算流程如何组织 - UB 内存如何划分 - 中间数据如何复用 - 不同模板之间有什么差异 - 哪些边界条件下方案会失效 - 该算子体现了哪些可复用优化模式 - 该实现中有哪些不应照搬的反模式 从历史轨迹中提炼以下知识: - 性能优化经验 - 编译精度报错debug ### 知识接入方法 执行下面这段脚本,把知识检索的skill安装到对应项目路径(也可以选择全局安装,建议安装到项目路径)下 bash bash init.sh project claude /path/to/project --profile consumer --knowledge-root /path/to/knowledge-base 这段脚本会做如下三件事 1. 把知识检索的skill安装到对应路径(/path/to/project)下 2. 把知识库绝对路径(/path/to/knowledge-base)写入到.config/cannbot/knowledge.env下,知识检索skill会读取这个路径 3. 把知识库检索skill触发条件写入到AGENTS.md里面,让agent知道在什么时候触发知识库检索流程 安装完成后,在算子开发的过程中,agent会在算子设计、代码开发、代码调试等各个阶段根据需要调用知识检索的skill去知识库中进行知识的查询 ## 关联的Issue https://gitcode.com/cann/cannbot-skills/issues/381 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [ ] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 知识库效果展示 ### 接入ops-direct-invoke-flash工作流 使用cann-bench的apply_rotary_pos_emb算子测试,不叠加知识库,使用ops-direct-invoke-flash工作流的cann-bench的评分是55分,将知识库接入工作流后提升至77分。 注:我们在将知识库接入ops-direct-invoke-flash(commit id: d60aab6a)工作流中,主要改动的点如下: 1. 在工作流里面显示增加了知识检索skill的调用逻辑和调用节点 2. 为了适配cann-bench的测试流程,对算子的工程项目文件进行修改 3. 在state.md里面增加设计优先的流程,强化了先完成设计文档再去开发实现这一流程,并在设计文档增加性能优化的设计 4. 新增性能优化state,并添加成硬门禁(我们对比的baseline也是对比修改后的工作流,变量只是是否增加知识库检索流程,其他的保持不变) ### 接入ops-registry-invoke工作流 在 softplus_v2_grad 算子的 950 开发过程中,未接入知识库时,Agent 会因无法动态获取属性值等问题出现开发中断。将知识库接入工作流后,Agent 能够主动检索到相关知识,快速解决上述问题及其对应的开发断点,从而稳定完成该算子的开发与验证。 注:我们在将知识库接入ops-registry-invoke工作流中,主要改动的点如下: 1. 在工作流里面显示增加了知识检索skill的调用逻辑和调用节点 See merge request: cann/cannbot-skills!569 | 14 天前 | |
fix(ops): rename reference/ to references/ to comply with STANDARDS.md Co-authored-by: yanhf<yanhaifeng5@huawei.com> # message auto-generated for no-merge-commit merge: !646 merge fix/skill-references-dir-naming into master fix(ops): rename reference/ to references/ to comply with STANDARDS.md Created-by: yanhf Commit-by: yanhf Merged-by: cann-robot Description: ## 描述 本 PR 落实 docs/STANDARDS.md 关于 Skill 参考目录须使用复数 references/ 的规范,将不符合规范的 4 个 skill 的 reference/ 目录统一重命名为 references/,并新增测试看护防止回退。 docs/STANDARDS.md 规定 Skill 内参考目录名为 references/(复数),但以下 4 个 skill 使用了单数形式 reference/,不符合规范。本次统一重命名并同步更新内部链接: | Skill | 原目录 | 新目录 | 重命名文件数 | SKILL.md 链接更新 | |------|--------|--------|------------|------------------| | ops/ascendc-performance-best-practices | reference/ | references/ | 66 | 20 处 | | ops/cann-env-setup | reference/ | references/ | 1 | 3 处 | | ops/ops-precision-standard | reference/ | references/ | 7 | 7 处 | | plugins-community/cannbot-knowledge/skills/ops-knowledge-ingest | reference/ | references/ | 3 | 7 处 | 共 85 个文件重命名(git mv,保留文件历史),4 个 SKILL.md 同步更新内部链接。其中 ops-knowledge-ingest 为主线新增 skill,同样使用了单数形式;重命名时保留知识库 reference/ 概念树名称不变(仅重命名本地参考目录,知识库树名是另一语义)。 ### 测试看护 **tests/lib/skill_validator.py** — 新增 3 条结构规则: - **S-STR-19**(error):禁止单数 reference/ 目录,须为 references/(同时检查 asset/→assets/、script/→scripts/) - **S-STR-20**(warn):evals/ 目录结构检查(兼容主线 evals.md→evals.json 迁移,降级为 warn) - **S-STR-21**(warn):scripts/*.sh 须可执行 **tests/behavior/install/test-init-behavior.sh** — 新增 git 分支保护守卫:测试前记录当前分支,测试后检测并恢复被 init.sh 误切换的分支,防止测试污染开发者工作区。同时为 fake repo 初始化真实 git 仓,避免 init.sh 的 git 操作穿透到父仓。 **tests/unit/skills/test-structure.sh** + **tests/README.md** — 同步 3 条新规则文档。 ## 关联的Issue 无特定 Issue。本 PR 落实 docs/STANDARDS.md 第 265 行关于 references/ 目录命名的规范要求。 ## 测试 - tests/unit/skills/test-structure.sh:**PASSED** - 结构检查:166/166 通过 - SKILL.md 链接:166/166 通过 - Skill 名称唯一性:通过 - git diff --check:通过(无空白错误) ## 文档更新 - 4 个 skill 的 SKILL.md 内部链接同步更新为 references/ 路径 - tests/README.md:补充 S-STR-19/20/21 规则说明 ## 类型标签 - [ ] 🌟 新特性 - [ ] ✨ 特性增强 - [x] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [x] 🧪 测试用例 - [ ] 📦 构建 / CI - [x] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 <!-- 如果下方的流水线检查未通过,可参考以下指引进行自助修复 --> > **UT_Test 未通过?** > 请在下方流水线表格的 **UT_Test** 行,点击右侧的 >>>>> 下载 **CANNBot-skills UT 测试报告**(HTML 格式)。 > 打开报告后,展开页面中的「UT Test 失败修复指南」,复制其中的提示词并粘贴给 Agent,Agent 将根据日志自动定位并修复问题。 > > 示例: >  See merge request: cann/cannbot-skills!646 | 8 天前 | |
feat: add cannbot knowledge plugin Co-authored-by: qq_41667743<wangchao725@huawei.com> # message auto-generated for no-merge-commit merge: !569 merge master into master feat: add cannbot knowledge plugin Created-by: qq_41667743 Commit-by: qq_41667743 Merged-by: cann-robot Description: ## 描述 ### 新特性 cannbot knowledge 给cannbot新增知识库插件,提供ops知识编译、知识治理和知识检索三类skill。并预留拓展接口给社区贡献知识编译等skill。 ### 知识编译流程 知识编译流程由ops-knowledge-ingest skill进行触发,它会根据不同知识来源路由到不同的ingest skill上进行知识的编译,目前已有官方文档 / golden 算子源码仓 / 开发轨迹等三类源知识ingest skill。 从官方文档中主要提炼如下知识: - AscendC API 文档; - 算子开发指南; - Profiling 指南; - 平台和架构说明; - dtype、精度和能力约束; - 实践样例和说明; - 术语和概念解释。 从golden 算子源码仓(ops-math、ops-nn、ops-transformer、ops-cv)中提炼出算子的设计知识,包括: - 算子的源码位置和固定 commit - 支持的平台、dtype 和 shape 范围 - 算子包含哪些计算模板 - TilingData 包含哪些关键字段 - Host 侧 tiling 如何计算 - Kernel 侧计算流程如何组织 - UB 内存如何划分 - 中间数据如何复用 - 不同模板之间有什么差异 - 哪些边界条件下方案会失效 - 该算子体现了哪些可复用优化模式 - 该实现中有哪些不应照搬的反模式 从历史轨迹中提炼以下知识: - 性能优化经验 - 编译精度报错debug ### 知识接入方法 执行下面这段脚本,把知识检索的skill安装到对应项目路径(也可以选择全局安装,建议安装到项目路径)下 bash bash init.sh project claude /path/to/project --profile consumer --knowledge-root /path/to/knowledge-base 这段脚本会做如下三件事 1. 把知识检索的skill安装到对应路径(/path/to/project)下 2. 把知识库绝对路径(/path/to/knowledge-base)写入到.config/cannbot/knowledge.env下,知识检索skill会读取这个路径 3. 把知识库检索skill触发条件写入到AGENTS.md里面,让agent知道在什么时候触发知识库检索流程 安装完成后,在算子开发的过程中,agent会在算子设计、代码开发、代码调试等各个阶段根据需要调用知识检索的skill去知识库中进行知识的查询 ## 关联的Issue https://gitcode.com/cann/cannbot-skills/issues/381 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [ ] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 知识库效果展示 ### 接入ops-direct-invoke-flash工作流 使用cann-bench的apply_rotary_pos_emb算子测试,不叠加知识库,使用ops-direct-invoke-flash工作流的cann-bench的评分是55分,将知识库接入工作流后提升至77分。 注:我们在将知识库接入ops-direct-invoke-flash(commit id: d60aab6a)工作流中,主要改动的点如下: 1. 在工作流里面显示增加了知识检索skill的调用逻辑和调用节点 2. 为了适配cann-bench的测试流程,对算子的工程项目文件进行修改 3. 在state.md里面增加设计优先的流程,强化了先完成设计文档再去开发实现这一流程,并在设计文档增加性能优化的设计 4. 新增性能优化state,并添加成硬门禁(我们对比的baseline也是对比修改后的工作流,变量只是是否增加知识库检索流程,其他的保持不变) ### 接入ops-registry-invoke工作流 在 softplus_v2_grad 算子的 950 开发过程中,未接入知识库时,Agent 会因无法动态获取属性值等问题出现开发中断。将知识库接入工作流后,Agent 能够主动检索到相关知识,快速解决上述问题及其对应的开发断点,从而稳定完成该算子的开发与验证。 注:我们在将知识库接入ops-registry-invoke工作流中,主要改动的点如下: 1. 在工作流里面显示增加了知识检索skill的调用逻辑和调用节点 See merge request: cann/cannbot-skills!569 | 14 天前 | |
feat: add cannbot knowledge plugin Co-authored-by: qq_41667743<wangchao725@huawei.com> # message auto-generated for no-merge-commit merge: !569 merge master into master feat: add cannbot knowledge plugin Created-by: qq_41667743 Commit-by: qq_41667743 Merged-by: cann-robot Description: ## 描述 ### 新特性 cannbot knowledge 给cannbot新增知识库插件,提供ops知识编译、知识治理和知识检索三类skill。并预留拓展接口给社区贡献知识编译等skill。 ### 知识编译流程 知识编译流程由ops-knowledge-ingest skill进行触发,它会根据不同知识来源路由到不同的ingest skill上进行知识的编译,目前已有官方文档 / golden 算子源码仓 / 开发轨迹等三类源知识ingest skill。 从官方文档中主要提炼如下知识: - AscendC API 文档; - 算子开发指南; - Profiling 指南; - 平台和架构说明; - dtype、精度和能力约束; - 实践样例和说明; - 术语和概念解释。 从golden 算子源码仓(ops-math、ops-nn、ops-transformer、ops-cv)中提炼出算子的设计知识,包括: - 算子的源码位置和固定 commit - 支持的平台、dtype 和 shape 范围 - 算子包含哪些计算模板 - TilingData 包含哪些关键字段 - Host 侧 tiling 如何计算 - Kernel 侧计算流程如何组织 - UB 内存如何划分 - 中间数据如何复用 - 不同模板之间有什么差异 - 哪些边界条件下方案会失效 - 该算子体现了哪些可复用优化模式 - 该实现中有哪些不应照搬的反模式 从历史轨迹中提炼以下知识: - 性能优化经验 - 编译精度报错debug ### 知识接入方法 执行下面这段脚本,把知识检索的skill安装到对应项目路径(也可以选择全局安装,建议安装到项目路径)下 bash bash init.sh project claude /path/to/project --profile consumer --knowledge-root /path/to/knowledge-base 这段脚本会做如下三件事 1. 把知识检索的skill安装到对应路径(/path/to/project)下 2. 把知识库绝对路径(/path/to/knowledge-base)写入到.config/cannbot/knowledge.env下,知识检索skill会读取这个路径 3. 把知识库检索skill触发条件写入到AGENTS.md里面,让agent知道在什么时候触发知识库检索流程 安装完成后,在算子开发的过程中,agent会在算子设计、代码开发、代码调试等各个阶段根据需要调用知识检索的skill去知识库中进行知识的查询 ## 关联的Issue https://gitcode.com/cann/cannbot-skills/issues/381 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [ ] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 知识库效果展示 ### 接入ops-direct-invoke-flash工作流 使用cann-bench的apply_rotary_pos_emb算子测试,不叠加知识库,使用ops-direct-invoke-flash工作流的cann-bench的评分是55分,将知识库接入工作流后提升至77分。 注:我们在将知识库接入ops-direct-invoke-flash(commit id: d60aab6a)工作流中,主要改动的点如下: 1. 在工作流里面显示增加了知识检索skill的调用逻辑和调用节点 2. 为了适配cann-bench的测试流程,对算子的工程项目文件进行修改 3. 在state.md里面增加设计优先的流程,强化了先完成设计文档再去开发实现这一流程,并在设计文档增加性能优化的设计 4. 新增性能优化state,并添加成硬门禁(我们对比的baseline也是对比修改后的工作流,变量只是是否增加知识库检索流程,其他的保持不变) ### 接入ops-registry-invoke工作流 在 softplus_v2_grad 算子的 950 开发过程中,未接入知识库时,Agent 会因无法动态获取属性值等问题出现开发中断。将知识库接入工作流后,Agent 能够主动检索到相关知识,快速解决上述问题及其对应的开发断点,从而稳定完成该算子的开发与验证。 注:我们在将知识库接入ops-registry-invoke工作流中,主要改动的点如下: 1. 在工作流里面显示增加了知识检索skill的调用逻辑和调用节点 See merge request: cann/cannbot-skills!569 | 14 天前 | |
feat: add cannbot knowledge plugin Co-authored-by: qq_41667743<wangchao725@huawei.com> # message auto-generated for no-merge-commit merge: !569 merge master into master feat: add cannbot knowledge plugin Created-by: qq_41667743 Commit-by: qq_41667743 Merged-by: cann-robot Description: ## 描述 ### 新特性 cannbot knowledge 给cannbot新增知识库插件,提供ops知识编译、知识治理和知识检索三类skill。并预留拓展接口给社区贡献知识编译等skill。 ### 知识编译流程 知识编译流程由ops-knowledge-ingest skill进行触发,它会根据不同知识来源路由到不同的ingest skill上进行知识的编译,目前已有官方文档 / golden 算子源码仓 / 开发轨迹等三类源知识ingest skill。 从官方文档中主要提炼如下知识: - AscendC API 文档; - 算子开发指南; - Profiling 指南; - 平台和架构说明; - dtype、精度和能力约束; - 实践样例和说明; - 术语和概念解释。 从golden 算子源码仓(ops-math、ops-nn、ops-transformer、ops-cv)中提炼出算子的设计知识,包括: - 算子的源码位置和固定 commit - 支持的平台、dtype 和 shape 范围 - 算子包含哪些计算模板 - TilingData 包含哪些关键字段 - Host 侧 tiling 如何计算 - Kernel 侧计算流程如何组织 - UB 内存如何划分 - 中间数据如何复用 - 不同模板之间有什么差异 - 哪些边界条件下方案会失效 - 该算子体现了哪些可复用优化模式 - 该实现中有哪些不应照搬的反模式 从历史轨迹中提炼以下知识: - 性能优化经验 - 编译精度报错debug ### 知识接入方法 执行下面这段脚本,把知识检索的skill安装到对应项目路径(也可以选择全局安装,建议安装到项目路径)下 bash bash init.sh project claude /path/to/project --profile consumer --knowledge-root /path/to/knowledge-base 这段脚本会做如下三件事 1. 把知识检索的skill安装到对应路径(/path/to/project)下 2. 把知识库绝对路径(/path/to/knowledge-base)写入到.config/cannbot/knowledge.env下,知识检索skill会读取这个路径 3. 把知识库检索skill触发条件写入到AGENTS.md里面,让agent知道在什么时候触发知识库检索流程 安装完成后,在算子开发的过程中,agent会在算子设计、代码开发、代码调试等各个阶段根据需要调用知识检索的skill去知识库中进行知识的查询 ## 关联的Issue https://gitcode.com/cann/cannbot-skills/issues/381 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [ ] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 知识库效果展示 ### 接入ops-direct-invoke-flash工作流 使用cann-bench的apply_rotary_pos_emb算子测试,不叠加知识库,使用ops-direct-invoke-flash工作流的cann-bench的评分是55分,将知识库接入工作流后提升至77分。 注:我们在将知识库接入ops-direct-invoke-flash(commit id: d60aab6a)工作流中,主要改动的点如下: 1. 在工作流里面显示增加了知识检索skill的调用逻辑和调用节点 2. 为了适配cann-bench的测试流程,对算子的工程项目文件进行修改 3. 在state.md里面增加设计优先的流程,强化了先完成设计文档再去开发实现这一流程,并在设计文档增加性能优化的设计 4. 新增性能优化state,并添加成硬门禁(我们对比的baseline也是对比修改后的工作流,变量只是是否增加知识库检索流程,其他的保持不变) ### 接入ops-registry-invoke工作流 在 softplus_v2_grad 算子的 950 开发过程中,未接入知识库时,Agent 会因无法动态获取属性值等问题出现开发中断。将知识库接入工作流后,Agent 能够主动检索到相关知识,快速解决上述问题及其对应的开发断点,从而稳定完成该算子的开发与验证。 注:我们在将知识库接入ops-registry-invoke工作流中,主要改动的点如下: 1. 在工作流里面显示增加了知识检索skill的调用逻辑和调用节点 See merge request: cann/cannbot-skills!569 | 14 天前 | |
feat: add cannbot knowledge plugin Co-authored-by: qq_41667743<wangchao725@huawei.com> # message auto-generated for no-merge-commit merge: !569 merge master into master feat: add cannbot knowledge plugin Created-by: qq_41667743 Commit-by: qq_41667743 Merged-by: cann-robot Description: ## 描述 ### 新特性 cannbot knowledge 给cannbot新增知识库插件,提供ops知识编译、知识治理和知识检索三类skill。并预留拓展接口给社区贡献知识编译等skill。 ### 知识编译流程 知识编译流程由ops-knowledge-ingest skill进行触发,它会根据不同知识来源路由到不同的ingest skill上进行知识的编译,目前已有官方文档 / golden 算子源码仓 / 开发轨迹等三类源知识ingest skill。 从官方文档中主要提炼如下知识: - AscendC API 文档; - 算子开发指南; - Profiling 指南; - 平台和架构说明; - dtype、精度和能力约束; - 实践样例和说明; - 术语和概念解释。 从golden 算子源码仓(ops-math、ops-nn、ops-transformer、ops-cv)中提炼出算子的设计知识,包括: - 算子的源码位置和固定 commit - 支持的平台、dtype 和 shape 范围 - 算子包含哪些计算模板 - TilingData 包含哪些关键字段 - Host 侧 tiling 如何计算 - Kernel 侧计算流程如何组织 - UB 内存如何划分 - 中间数据如何复用 - 不同模板之间有什么差异 - 哪些边界条件下方案会失效 - 该算子体现了哪些可复用优化模式 - 该实现中有哪些不应照搬的反模式 从历史轨迹中提炼以下知识: - 性能优化经验 - 编译精度报错debug ### 知识接入方法 执行下面这段脚本,把知识检索的skill安装到对应项目路径(也可以选择全局安装,建议安装到项目路径)下 bash bash init.sh project claude /path/to/project --profile consumer --knowledge-root /path/to/knowledge-base 这段脚本会做如下三件事 1. 把知识检索的skill安装到对应路径(/path/to/project)下 2. 把知识库绝对路径(/path/to/knowledge-base)写入到.config/cannbot/knowledge.env下,知识检索skill会读取这个路径 3. 把知识库检索skill触发条件写入到AGENTS.md里面,让agent知道在什么时候触发知识库检索流程 安装完成后,在算子开发的过程中,agent会在算子设计、代码开发、代码调试等各个阶段根据需要调用知识检索的skill去知识库中进行知识的查询 ## 关联的Issue https://gitcode.com/cann/cannbot-skills/issues/381 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [ ] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 知识库效果展示 ### 接入ops-direct-invoke-flash工作流 使用cann-bench的apply_rotary_pos_emb算子测试,不叠加知识库,使用ops-direct-invoke-flash工作流的cann-bench的评分是55分,将知识库接入工作流后提升至77分。 注:我们在将知识库接入ops-direct-invoke-flash(commit id: d60aab6a)工作流中,主要改动的点如下: 1. 在工作流里面显示增加了知识检索skill的调用逻辑和调用节点 2. 为了适配cann-bench的测试流程,对算子的工程项目文件进行修改 3. 在state.md里面增加设计优先的流程,强化了先完成设计文档再去开发实现这一流程,并在设计文档增加性能优化的设计 4. 新增性能优化state,并添加成硬门禁(我们对比的baseline也是对比修改后的工作流,变量只是是否增加知识库检索流程,其他的保持不变) ### 接入ops-registry-invoke工作流 在 softplus_v2_grad 算子的 950 开发过程中,未接入知识库时,Agent 会因无法动态获取属性值等问题出现开发中断。将知识库接入工作流后,Agent 能够主动检索到相关知识,快速解决上述问题及其对应的开发断点,从而稳定完成该算子的开发与验证。 注:我们在将知识库接入ops-registry-invoke工作流中,主要改动的点如下: 1. 在工作流里面显示增加了知识检索skill的调用逻辑和调用节点 See merge request: cann/cannbot-skills!569 | 14 天前 | |
feat: add cannbot knowledge plugin Co-authored-by: qq_41667743<wangchao725@huawei.com> # message auto-generated for no-merge-commit merge: !569 merge master into master feat: add cannbot knowledge plugin Created-by: qq_41667743 Commit-by: qq_41667743 Merged-by: cann-robot Description: ## 描述 ### 新特性 cannbot knowledge 给cannbot新增知识库插件,提供ops知识编译、知识治理和知识检索三类skill。并预留拓展接口给社区贡献知识编译等skill。 ### 知识编译流程 知识编译流程由ops-knowledge-ingest skill进行触发,它会根据不同知识来源路由到不同的ingest skill上进行知识的编译,目前已有官方文档 / golden 算子源码仓 / 开发轨迹等三类源知识ingest skill。 从官方文档中主要提炼如下知识: - AscendC API 文档; - 算子开发指南; - Profiling 指南; - 平台和架构说明; - dtype、精度和能力约束; - 实践样例和说明; - 术语和概念解释。 从golden 算子源码仓(ops-math、ops-nn、ops-transformer、ops-cv)中提炼出算子的设计知识,包括: - 算子的源码位置和固定 commit - 支持的平台、dtype 和 shape 范围 - 算子包含哪些计算模板 - TilingData 包含哪些关键字段 - Host 侧 tiling 如何计算 - Kernel 侧计算流程如何组织 - UB 内存如何划分 - 中间数据如何复用 - 不同模板之间有什么差异 - 哪些边界条件下方案会失效 - 该算子体现了哪些可复用优化模式 - 该实现中有哪些不应照搬的反模式 从历史轨迹中提炼以下知识: - 性能优化经验 - 编译精度报错debug ### 知识接入方法 执行下面这段脚本,把知识检索的skill安装到对应项目路径(也可以选择全局安装,建议安装到项目路径)下 bash bash init.sh project claude /path/to/project --profile consumer --knowledge-root /path/to/knowledge-base 这段脚本会做如下三件事 1. 把知识检索的skill安装到对应路径(/path/to/project)下 2. 把知识库绝对路径(/path/to/knowledge-base)写入到.config/cannbot/knowledge.env下,知识检索skill会读取这个路径 3. 把知识库检索skill触发条件写入到AGENTS.md里面,让agent知道在什么时候触发知识库检索流程 安装完成后,在算子开发的过程中,agent会在算子设计、代码开发、代码调试等各个阶段根据需要调用知识检索的skill去知识库中进行知识的查询 ## 关联的Issue https://gitcode.com/cann/cannbot-skills/issues/381 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [ ] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 知识库效果展示 ### 接入ops-direct-invoke-flash工作流 使用cann-bench的apply_rotary_pos_emb算子测试,不叠加知识库,使用ops-direct-invoke-flash工作流的cann-bench的评分是55分,将知识库接入工作流后提升至77分。 注:我们在将知识库接入ops-direct-invoke-flash(commit id: d60aab6a)工作流中,主要改动的点如下: 1. 在工作流里面显示增加了知识检索skill的调用逻辑和调用节点 2. 为了适配cann-bench的测试流程,对算子的工程项目文件进行修改 3. 在state.md里面增加设计优先的流程,强化了先完成设计文档再去开发实现这一流程,并在设计文档增加性能优化的设计 4. 新增性能优化state,并添加成硬门禁(我们对比的baseline也是对比修改后的工作流,变量只是是否增加知识库检索流程,其他的保持不变) ### 接入ops-registry-invoke工作流 在 softplus_v2_grad 算子的 950 开发过程中,未接入知识库时,Agent 会因无法动态获取属性值等问题出现开发中断。将知识库接入工作流后,Agent 能够主动检索到相关知识,快速解决上述问题及其对应的开发断点,从而稳定完成该算子的开发与验证。 注:我们在将知识库接入ops-registry-invoke工作流中,主要改动的点如下: 1. 在工作流里面显示增加了知识检索skill的调用逻辑和调用节点 See merge request: cann/cannbot-skills!569 | 14 天前 | |
feat: add cannbot knowledge plugin Co-authored-by: qq_41667743<wangchao725@huawei.com> # message auto-generated for no-merge-commit merge: !569 merge master into master feat: add cannbot knowledge plugin Created-by: qq_41667743 Commit-by: qq_41667743 Merged-by: cann-robot Description: ## 描述 ### 新特性 cannbot knowledge 给cannbot新增知识库插件,提供ops知识编译、知识治理和知识检索三类skill。并预留拓展接口给社区贡献知识编译等skill。 ### 知识编译流程 知识编译流程由ops-knowledge-ingest skill进行触发,它会根据不同知识来源路由到不同的ingest skill上进行知识的编译,目前已有官方文档 / golden 算子源码仓 / 开发轨迹等三类源知识ingest skill。 从官方文档中主要提炼如下知识: - AscendC API 文档; - 算子开发指南; - Profiling 指南; - 平台和架构说明; - dtype、精度和能力约束; - 实践样例和说明; - 术语和概念解释。 从golden 算子源码仓(ops-math、ops-nn、ops-transformer、ops-cv)中提炼出算子的设计知识,包括: - 算子的源码位置和固定 commit - 支持的平台、dtype 和 shape 范围 - 算子包含哪些计算模板 - TilingData 包含哪些关键字段 - Host 侧 tiling 如何计算 - Kernel 侧计算流程如何组织 - UB 内存如何划分 - 中间数据如何复用 - 不同模板之间有什么差异 - 哪些边界条件下方案会失效 - 该算子体现了哪些可复用优化模式 - 该实现中有哪些不应照搬的反模式 从历史轨迹中提炼以下知识: - 性能优化经验 - 编译精度报错debug ### 知识接入方法 执行下面这段脚本,把知识检索的skill安装到对应项目路径(也可以选择全局安装,建议安装到项目路径)下 bash bash init.sh project claude /path/to/project --profile consumer --knowledge-root /path/to/knowledge-base 这段脚本会做如下三件事 1. 把知识检索的skill安装到对应路径(/path/to/project)下 2. 把知识库绝对路径(/path/to/knowledge-base)写入到.config/cannbot/knowledge.env下,知识检索skill会读取这个路径 3. 把知识库检索skill触发条件写入到AGENTS.md里面,让agent知道在什么时候触发知识库检索流程 安装完成后,在算子开发的过程中,agent会在算子设计、代码开发、代码调试等各个阶段根据需要调用知识检索的skill去知识库中进行知识的查询 ## 关联的Issue https://gitcode.com/cann/cannbot-skills/issues/381 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [ ] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 知识库效果展示 ### 接入ops-direct-invoke-flash工作流 使用cann-bench的apply_rotary_pos_emb算子测试,不叠加知识库,使用ops-direct-invoke-flash工作流的cann-bench的评分是55分,将知识库接入工作流后提升至77分。 注:我们在将知识库接入ops-direct-invoke-flash(commit id: d60aab6a)工作流中,主要改动的点如下: 1. 在工作流里面显示增加了知识检索skill的调用逻辑和调用节点 2. 为了适配cann-bench的测试流程,对算子的工程项目文件进行修改 3. 在state.md里面增加设计优先的流程,强化了先完成设计文档再去开发实现这一流程,并在设计文档增加性能优化的设计 4. 新增性能优化state,并添加成硬门禁(我们对比的baseline也是对比修改后的工作流,变量只是是否增加知识库检索流程,其他的保持不变) ### 接入ops-registry-invoke工作流 在 softplus_v2_grad 算子的 950 开发过程中,未接入知识库时,Agent 会因无法动态获取属性值等问题出现开发中断。将知识库接入工作流后,Agent 能够主动检索到相关知识,快速解决上述问题及其对应的开发断点,从而稳定完成该算子的开发与验证。 注:我们在将知识库接入ops-registry-invoke工作流中,主要改动的点如下: 1. 在工作流里面显示增加了知识检索skill的调用逻辑和调用节点 See merge request: cann/cannbot-skills!569 | 14 天前 |
cannbot-knowledge
cannbot-knowledge 是面向 AscendC / 昇腾 NPU 算子开发知识库的社区插件。它提供知识编译、治理、检索、Issue 材料整理和勘误流程;真实知识内容维护在独立知识库仓库中。
内容边界
本插件包含:
skills/:知识编译、治理、检索相关 skills。skills/*/scripts/:随对应 Skill 安装的唯一脚本入口;生产脚本统一接受--knowledge-root <path>,knowledge-query还会读取安装时持久化的 root 配置。CONTRIBUTING.md:外部贡献和勘误合入规则。
本插件不包含:
- 真实
reference/、ops/、runbooks/知识正文。 - 真实
graph/判定缓存和log/审计日志。 - 私有轨迹、密钥、内网路径或不可公开日志。
快速使用
bash init.sh project claude /path/to/project --profile consumer --knowledge-root /path/to/knowledge-base
python3 skills/knowledge-query/scripts/knowledge_query.py discover
python3 skills/knowledge-query/scripts/knowledge_query.py search --query "DataCopyPad 对齐"
安装 profile:
consumer:只安装knowledge-query,用于只读检索和知识消费。issue:只安装knowledge-issue-report,用于提交 Issue、整理needs-info和复现附件。contributor/all:安装全部 7 个 skill,用于知识编译、治理、检索、Issue 和贡献门禁。--skills knowledge-query,knowledge-issue-report:高级用法,精确安装指定 skill 子集。
如果通过 Claude Code Plugin marketplace 安装,可以直接选择对应包:
/plugin install cannbot-knowledge-consumer-skills@cannbot:只读检索。/plugin install cannbot-knowledge-issue-skills@cannbot:Issue 提交材料整理。/plugin install cannbot-knowledge@cannbot:完整贡献者 Team,依赖全量 skills。
更多流程见 quickstart.md 和 CONTRIBUTING.md。
安装时传入 --knowledge-root /path/to/knowledge-base 后,插件会把 root 持久化为:
CANNBOT_KNOWLEDGE_ROOTCANNBOT_KNOWLEDGE_ROOTSOKF_KNOWLEDGE_ROOTOKF_KNOWLEDGE_ROOTS
skills/knowledge-query/scripts/knowledge_query.py 会按以下顺序解析上述变量(优先级从高到低):
--knowledge-root/--knowledge-roots参数CANNBOT_KNOWLEDGE_ROOT、CANNBOT_KNOWLEDGE_ROOTS、OKF_KNOWLEDGE_ROOT、OKF_KNOWLEDGE_ROOTS~/.config/cannbot/knowledge.env- 有限目录结构自动探测