AI 协作护栏(可执行版)¶
蓝图
01§2 的"五条铁律"是价值观;本文把它落成可执行的护栏 + 写操作授权分级,供人和 AI 共同遵守。各角色 skill 顶层都以此为准。
五条护栏¶
- AI 产草稿,人担责任:AI 生成的代码 / 故事 / 用例 / 变更都是草稿;署名提交、上线、面向客户的,由人负责。
- 关键路径必人评:鉴权、资金 / 价格 / 币种、跨服务事务、DDL、prod 配置、删除 / drop——AI 不得自动放行或执行,必须人 review / 确认。
- AI 评审是补充不是替代:AI 评审覆盖约 40–60%(风格 / 边界 / 常见反模式),关键业务逻辑与架构由人评;绝不 100% 自动合并。
- 敏感数据不入上下文:prod 凭证、客户 PII、密钥绝不喂给 AI;不让 AI 读
.env/ 打印环境变量;只有 dev/test 配置可进上下文(见config/分层)。 - 度量看质量 + 稳定性,不看产量:别用 LOC / PR 数当 KPI;看交付前置时间、变更失败率、缺陷逃逸、评审时长(见
05)。给 3–6 个月再下结论。
写操作授权分级(PingCode / Gitee 等 MCP 写动作)¶
团队策略:常规写自动化,高风险人确认。
| 级别 | 动作 | 授权 |
|---|---|---|
| 🟢 常规写(AI 可直接做) | 建 / 更新 Gitee PR、提缺陷到 CZTST、写故事 / 验收标准 草稿入 CZKB·CZPRD、建 PingCode 子任务、加评论 | AI 执行,事后人可改 |
| 🟡 需先告知 | 改工单状态、改 sprint 归属、批量更新 | AI 先说明要做什么,再执行 |
| 🔴 高风险(必人确认) | 合并 PR、改 prod 配置、drop / delete、强推、删聚簇文件、动 Ingress / LoadBalancer、中间件变更 |
AI 只产方案,人手动执行 |
与
AGENTS.md§5「何时打住」 一致:🔴 一律暂停并明确请求确认。注:当前无独立 prod,uat 作准生产;上表中 prod 相关的 🔴 项(如"改 prod 配置")同等适用于 uat 准生产环境。
机器强制(hooks,仅 Claude Code)¶
🔴 不只是文字约定——czerp-workflow 插件随装随带 PreToolUse hooks,在本地机器层面拦截:
| Hook | 触发 | 行为 |
|---|---|---|
guard-bash |
drop/truncate、无 WHERE 的 delete、git push --force、reset --hard、rm -rf、kubectl delete / 操作 prod、flyway clean、helm uninstall |
要求人工确认(permission ask) |
guard-write |
向非白名单文件写入疑似明文凭证(密码/私钥/AWS Key/token);Flyway 迁移命名不规范或疑似 MySQL 方言 | 要求人工确认 + 提示改法 |
仅作用于 Claude Code(Codex 端 hooks 不生效,靠本文与 AGENTS.md 文字铁律兜底)。密钥扫描只查新写入,且对配置文件(
*.yml/*.yaml/*.properties)、config/environments.md、*.template、secrets.local等白名单不拦——团队内网 dev/test 凭证写配置/环境镜像是被允许的(VPN 隔离);hook 只在源码/文档等不该出现凭证处拦真正危险的密钥(私钥/AWS Key/对外 token)。实现见plugins/czerp-workflow/hooks/。
给 AI 的四问自检(各角色 skill 默认继承)¶
- 这一步属于 🔴 吗?→ 停下,请人确认。
- 我读取 / 携带的上下文里有 prod 凭证 / PII / 密钥吗?→ 移除。
- 我的产出标清楚"这是草稿、需复核的点在哪"了吗?
- 关键路径(鉴权 / 钱 / 事务 / DDL / 上线)我有没有自作主张放行?