☰
cannbot-knowledge回答可追溯技术问题:7步答案框架与零命中处理终极方法
2026/9/26 14:15:33 网站建设 项目流程

cannbot-knowledge回答可追溯技术问题:7步答案框架与零命中处理终极方法

【免费下载链接】cannbot-knowledgecannbot算子开发知识库插件依赖的知识库本体仓,给cannbot提供统一的知识底座。项目地址: https://gitcode.com/cann/cannbot-knowledge

cannbot-knowledge 是 CANN 算子开发 Agent(CANNBot)的知识底座仓库,提供统一的知识检索货架。本文介绍如何用它的7 步可追溯答案框架回答 CANN 算子、API、调试与性能优化类技术问题,并给出检索零命中(零结果)时的标准处理方法,让每一个回答都能追溯到具体知识卡和原始来源,新手也能照着做。

为什么 CANN 技术回答要"可追溯"?

CANN 工程知识有很强的边界性:同一个 API 在 Ascend 910B 和 950 上行为可能不同,同一个优化经验可能只适用于特定 CANN 版本。如果回答只有结论、没有依据,你就无法判断它是否适用于你的平台和版本。

cannbot-knowledge 把知识整理成带 Frontmatter 元数据的Markdown 知识卡,每张卡都记录适用平台、生命周期状态和来源,例如 Ascend 910/95 平台概念卡、数据拷送概念卡。

"可追溯回答"的要点:先给结论,再说明适用范围、依据(读过的卡片与来源)、限制和仍需验证的内容——这正是 recipes/answer_with_evidence.md 定义的流程。

7步答案框架:从提问到可追溯回答

以下步骤整理自 recipes/answer_with_evidence.md:

  1. 明确问题:一次只回答一个问题。复杂问题拆开查,不要把实现、调试和性能问题塞进同一条 query。
  2. 查看覆盖情况:确认目标范围内真的有知识卡——只有目录不代表有内容(安装后可先用knowledge-query的discover查看覆盖统计)。
  3. 按真实范围查询:保留平台与 DSL 条件,不为了增加结果而扩大范围;记录 CANN 版本,打开命中卡后核对正文边界。
  4. 选择候选卡:根据标题、摘要、路径和状态选卡。精确 API 名在目标平台稳定卡零命中时,按查询 Skill 单独补搜平台未定位的 draft,仅作待核验线索。
  5. 打开卡片正文:读结论、适用条件、限制和完整来源,不要直接拿搜索摘要作答。
  6. 核对来源:确认来源确实支持结论;多张卡片冲突时,先比较它们的平台、版本和来源。
  7. 整理回答:按固定结构输出——
结论:<直接回答问题> 适用范围:<技术、平台、版本和其他条件> 依据:<使用的知识卡和来源> 限制或冲突:<不适用情况或不同结论> 仍需验证:<源码、实验或性能分析>

💡 第 5、6 步是"可追溯"的核心:标题、摘要或来源链接本身都不构成已核验证据,必须读完正文并核对来源。

零命中处理终极方法:先判"故障",再判"缺口"

查询返回空结果时,最常见的误区是直接把"没查到"当成"这个技术不存在"。docs/installation_and_usage.md 的"没有结果时怎么办"章节 + knowledge-query Skill 给出了标准处理链:

步骤判断与动作
① 区分错误与零命中脚本退出码2是参数/索引错误,不是零命中,先修复索引(重跑安装器即可重建索引);退出码0且无结果才是有效零命中
② 索引不可用 → 停止索引缺失、损坏或过期时停止查询并报告,不能把本次结果当作"没有知识"
③ 核对查询条件核对目标范围的实际覆盖、API 名/错误码拼写,以及平台、技术、版本条件
④ 定向补搜精确 API 名 stable 零命中时,立即补搜"平台未定位 draft":保留 API 名与 domain/technology,使用--type apis --match literal --include-unlocated --status draft,不带 platform。结果只是平台待核验线索,不能混入原平台结论
⑤ 普通补搜只换一个角度保持已确定的平台和技术边界,只改变一个有依据的角度(准确标识 → 参数/错误信号、接口 → 使用指南),不要一上来就放宽到"所有技术、所有状态"
⑥ 仍无结果 → 报告知识缺口回答中说明:已检查的范围、具体的知识缺口、是否需要你提供材料或允许核对其他来源。不要用其他平台或其他 DSL 的卡片替代目标证据

三条底线(来自 Skill 的权限边界):

  • 零命中不证明API 或能力不存在;
  • 命中也不等于当前问题已覆盖,仍要读正文核对边界;
  • 不能为了召回而修改知识卡的平台或状态字段。

快速上手:安装后如何发起一次查询

安装入口是 install.sh,以 Claude Code 的 consumer(查询)模式为例:

bash install.sh claude /path/to/project consumer

安装成功后进入目标项目,向 Agent 提问即可。三种常见入口(详见 安装与使用指南):

问题形态推荐入口
已知准确卡片路径,答案只依赖一张卡直接把路径交给 Agent 阅读全文,例如 Ascend 910/95 平台卡
不知道卡片路径,或需要多张卡综合knowledge-query通用检索
Ascend C API 的契约、选型、本地头文件核对ascendc-api-knowledge-query

提问时给足"问题 + 目标技术 + 目标平台"三要素,例如:

使用knowledge-query查询 950 平台上实现 Softmax 时可复用的算子设计、API 约束和已知性能问题。请选择相关知识卡,核对来源后综合回答。

延伸阅读:把可追溯能力接入你的项目

  • 形成可追溯回答:7 步框架完整说明(本文主要依据)
  • 安装与使用指南:安装、验证、零命中处理与常见问题
  • 查询 API 最佳实践:API 检索的推荐问法
  • 知识路径规范:理解知识卡目录结构,方便按路径直接读卡
  • knowledge-query Skill 定义:检索边界、补搜与停止条件的权威说明
  • 设计原则:为什么知识库要做成"可追溯到来源"的样子

一句话总结:可追溯回答 = 明确问题 → 按范围查询 → 读卡正文 → 核对来源 → 结构化输出;零命中 = 先排除索引故障,再做定向补搜,最后如实报告知识缺口。照着做,你的每次回答都"有据可查"。

【免费下载链接】cannbot-knowledgecannbot算子开发知识库插件依赖的知识库本体仓,给cannbot提供统一的知识底座。项目地址: https://gitcode.com/cann/cannbot-knowledge

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询