当前 ops-blas 工作流在阶段 4(上库)中,4.1 编写文档后直接进入 4.2 代码检视。README 中的算子调用示例缺少自动化验证环节,导致编译错误和规范问题只能在合并到 master 后被发现。
近期发生的典型案例:
aclblasScopy
aclrtStreamSynchronize
aclrtSynchronizeStream
uint8_t*
float*
aclblasRotEx
这些问题并非个例,而是当前流程的系统性缺陷:writer 生成 README 后无人验证调用示例是否能编译通过,reviewer 在 4.2 代码检视时主要关注算子代码而非文档示例的质量。
cann 开发者
readme-review
readme-compile-test
在阶段 4.1(writer 编写文档)之后插入两步质量门控:
[4.1 编写文档] → README.md ├─ [4.1.1 reviewer(readme-review)] ⚪ │ └─ 9 项审查:模板完整性、API 签名、参数类型、RAII 模式、 │ API 名称、头文件、交叉引用、内存标注、约束描述 ├─ [4.1.2 developer(readme-compile-test)] ⚪ │ └─ 提取示例代码 → CMake 编译 → NPU 可用时运行 └─ [4.2 代码检视]
readme_develop_guide.md
assets/README.md
compile_and_run_example.md
agent/agents/reviewer.md
agent/agents/developer.md
SKILL.md
task-prompts.md
data-flow.md
error-handling.md
LOG.md
agent/README.md
references/readme-review-checklist.md
Background(背景信息)
当前 ops-blas 工作流在阶段 4(上库)中,4.1 编写文档后直接进入 4.2 代码检视。README 中的算子调用示例缺少自动化验证环节,导致编译错误和规范问题只能在合并到 master 后被发现。
近期发生的典型案例:
aclblasScopyREADME 调用示例编译失败——API 名称错误(aclrtStreamSynchronize应为aclrtSynchronizeStream)、参数类型错误(uint8_t*应为float*)、参数顺序错误aclblasRotExREADME 调用示例编译失败——同一 API 名称错误,缺少 RAII 资源管理这些问题并非个例,而是当前流程的系统性缺陷:writer 生成 README 后无人验证调用示例是否能编译通过,reviewer 在 4.2 代码检视时主要关注算子代码而非文档示例的质量。
Origin(信息来源)
cann 开发者
Benefit / Necessity(价值/作用)
readme-review场景,编译融入 developer 的readme-compile-test任务类型,不增加 agent 定义文件数量Design(设计方案)
流程变更
在阶段 4.1(writer 编写文档)之后插入两步质量门控:
模板升级
readme_develop_guide.md和assets/README.md中的调用示例从裸指针骨架升级为完整 RAII 模板(AclContext 类 + std::unique_ptr + CHECK_RET 宏)compile_and_run_example.md重试策略
涉及文件
agent/agents/reviewer.md,agent/agents/developer.md,SKILL.md,task-prompts.md,data-flow.md,error-handling.md,LOG.md,agent/README.md,assets/README.md,readme_develop_guide.mdreferences/readme-review-checklist.md