news 2026/7/15 9:42:50

CANN/cannbot-skills 工作流检视条款

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/cannbot-skills 工作流检视条款

工作流检视条款

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

由 design-constraints.md 派生。每次修改工作流后逐条自查;条款不通过则回退修改。 原件是设计意图,本清单是可执行的检查动作。

一、结构约束(SOLID)

编号检查项派生自
S1每个 skill 是否只负责单一功能域?是否把不相关的知识(如把架构最佳实践塞进编码规范 skill)混了进来?单一职责 S
S2扩展某步骤时,是否通过 override virtual skill(repo-*/workflow-cp*)实现,而没有改动基类编排流程?开闭 O
S3子仓 override 后,逻辑名、输入输出格式、调用方式是否与基类完全一致?上层是否无需感知替换?里氏替换 L
S4是否只 override 了需要的组件,没有强迫子仓为改一个组件而实现全部 virtual 组件?接口隔离 I
S5编排是否只依赖抽象逻辑名(如repo-coding-rules),而不依赖具体实现路径 / 章节结构?依赖倒置 D
S6改基类时:暴露的契约(逻辑名 / 输入输出格式 / 调用约定)是否只新增、未破坏?破坏性变更是否提供了迁移路径并通知已接入仓?基类演进兼容

二、层级感知

编号检查项派生自
H1下级模块是否不感知上级?(子 Agent 不知自己在工作流哪一步;skill 不提及被哪个 agent 调用)层级间单向感知
H2同级模块是否互不了解对方内部逻辑?层级内黑盒感知

三、调度约束

编号检查项派生自
D1任务的执行方与验收方是否为不同 Agent 实例?职责分离
D2调度子 Agent 时是否只注入当前任务所需的最小信息,无无关全局上下文?最小信息
D3子 Agent 是否只被授予完成任务所需的最小写权限?(如开发角色不给 test 目录写权限)最小权限
D4所有可能循环/重试的环节是否都声明了最大次数,超限暂停并报告,而非无限重试?过程有界
D5每个子环节是否有明确交付件与可判定的通过指标(评分/容差/用例全通过等)?确定性交付
D6每个阶段完成后是否把状态持久化到外部(如.cannbot/state.json),不依赖会话记忆?状态可观测
D7暂停/失败是否落盘到可恢复状态点(已完成阶段+阻塞点+交付件),恢复时不重跑已通过阶段?可恢复性
D8执行角色是否严格遵循上游设计、发现问题回退给上游,而非自行改动上游决策(架构/Tiling/接口)?修改不越权

四、风格约束

编号检查项派生自
F1SKILL.md 是否只做意图识别与路由分发,不内联知识细节?SKILL.md 只做路由
F2能用 hook / 脚本 / 权限声明实现的约束,是否没有退化成 prompt 里的自然语言?机制优于自然语言
F3涉及仓库领域知识时,是否通过路径引导 agent 读原文,而非全文硬编码进 skill?引用而非硬编码
F4对开发者同样可见的知识(测试框架用法、编码规范)是否优先放仓内 doc,skill 只做引导?开发者知识外置
F5举例是否只用仓内已有知识或通用概念,没有引入需额外背景才懂的外部概念?举例不引入外部概念

五、链接一致性(本工作流特有)

编号检查项
L1新增/删除 skill 后,是否重新运行了 init 使软链接生效?
L2子仓 override 的逻辑名(skill 目录名 / SKILL.md 的name:)是否与基类一致,能被正确匹配?
L3是否只改了源文件,没有直接改运行时目录(.opencode/)里的软链接目标?
L4新增 skill 若需被某 agent 使用,是否已加入对应 agent(或 AGENTS.md)的skills:frontmatter,否则 init 收集不到?
L5改动了流程(阶段 / CP / 回退关系)后,插件根README.md的「开发流程概览」表是否仍与ops-direct-invoke-workflow/SKILL.md的统一流程表一致(阶段、CP 编号、回退指向)?

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/15 9:40:10

八大排序算法(C语言实现)—— 从原理到实战,一文搞懂排序

1. 排序算法基础概念排序算法是计算机科学中最基础的算法之一,它的作用是将一组数据按照特定顺序重新排列。在实际开发中,我们经常需要对数据进行排序,比如按照价格从低到高显示商品,或者按照学生成绩进行排名。排序算法可以分为两…

作者头像 李华
网站建设 2026/7/15 9:38:59

TuringCourses终极指南:浙江大学图灵班课程资源一站式解决方案

TuringCourses终极指南:浙江大学图灵班课程资源一站式解决方案 【免费下载链接】TuringCourses 浙江大学图灵班课程学习指南 项目地址: https://gitcode.com/gh_mirrors/tu/TuringCourses 浙江大学图灵班课程学习指南(TuringCourses)是…

作者头像 李华
网站建设 2026/7/15 9:37:51

ngx-ui高级功能指南:热键、拖放、代码编辑器集成

ngx-ui高级功能指南:热键、拖放、代码编辑器集成 【免费下载链接】ngx-ui 🚀 Style and Component Library for Angular 项目地址: https://gitcode.com/gh_mirrors/ng/ngx-ui ngx-ui是一个功能强大的Angular样式和组件库,它提供了丰富…

作者头像 李华
网站建设 2026/7/15 9:37:43

CANN/asc-devkit:asc_squeeze_v2废弃函数

asc_squeeze_v2 (废弃) 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://…

作者头像 李华
网站建设 2026/7/15 9:35:20

TPS7A54高性能LDO设计指南:4A大电流、低噪声与高精度电源方案解析

1. 项目概述:为什么我们需要一颗4A、低噪声、高精度的LDO? 在电源设计的江湖里,LDO(低压差线性稳压器)一直扮演着“净水器”的角色。它的任务不是像开关电源那样高效地转换能量,而是把已经相对“干净”的直…

作者头像 李华
网站建设 2026/7/15 9:34:15

C 语言工业级通用组件 02:通用内存池

前言:承接上一篇环形缓冲区的内容,我们继续手写工业级通用 C 语言组件。在长时间运行的嵌入式系统、后端服务、高性能中间件中,频繁调用 malloc/free 申请释放内存,是引发性能波动、内存碎片、甚至程序崩溃的核心诱因之一。内存池…

作者头像 李华