Files
zhuangang/topics/ai/ai-coding/scenarios/ai-assisted-feature.md
T

80 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: ai.ai-coding.scenario.ai-assisted-feature
title: 团队引入 AI 编程:从“各用各的”到可验证、可复用的工作流
type: scenario
domain: ai
stack: [ai-coding, cicd, git]
tags: [AI 编程规范, 规则文件, Skills, 代码审查, CI, 数据安全]
level: intermediate
prerequisites: [ai.ai-coding.verify-evidence]
est_hours: 2
related: [ai.ai-coding.interview, devops.git.index]
week: [8, 15]
---
# 团队引入 AI 编程:从“各用各的”到可验证、可复用的工作流
## 业务背景与问题
一个 8 人的研发团队开始普遍使用 AI 编程工具,三个月后出现:
1. 代码风格和分层越来越乱,每个人的 AI 按不同的“常见写法”生成代码;
2. 有 PR 一次改了 40 个文件,审查者看不过来,直接通过,上线后出了问题;
3. 测试覆盖率看起来上升了,但很多测试只是重复了实现逻辑;
4. 有人把包含客户手机号的日志粘贴给了外部 AI 工具;
5. 同样的错误(例如时区处理)AI 反复犯。
## 约束
- 不禁止使用 AI 工具,要让它用得更稳。
- 公司有数据安全规定。
## 方案设计
1. **仓库级上下文**:`AGENTS.md` / `CLAUDE.md` 写明技术栈、命令、分层约定、完成标准;按目录的规则文件(前端、后端、迁移各一份)。
2. **团队 Skills**:把高频任务(新增接口、加数据库迁移、发版检查)写成 Skill,由资深成员维护,评审后合并。
3. **PR 规范**:单个 PR 限制规模;描述中必须写“验证方式”(跑了哪些测试、在哪个环境验证、截图),可附验证记录;AI 生成的大段代码要标注。
4. **CI 兜底**:测试、类型检查、lint、密钥扫描必须通过;关键模块要求人工审查者理解后再批准。
5. **数据安全**:明确哪些工具被允许、哪些数据不能发送(客户数据、密钥、未脱敏日志);提供脱敏脚本。
6. **错误沉淀**:每次 AI 犯的典型错误,在周会复盘后补充到规则文件或 Skill。
## 关键代码
PR 模板(`.github/pull_request_template.md`,平台不同路径不同):
```markdown
## 改了什么
-
## 怎么验证的(必填)
- [ ] 自动:测试 / 类型检查命令和结果
- [ ] 手动:在哪个环境做了什么操作,结果截图
- [ ] 边界情况:补充了哪些测试
## AI 使用说明
- 使用的工具:
- AI 生成的主要部分:
- 我重点审查 / 修改的地方:
```
验证记录脚本示例:[examples/ai-workflow/verify.py](../examples/ai-workflow/verify.py)。
## 取舍
| 选择 | 优点 | 缺点 |
| --- | --- | --- |
| **规则 + Skills + PR 规范 + CI(本方案)** | 稳定、可积累 | 需要有人维护规则 |
| 禁止使用 AI | 风险最低 | 效率损失,成员私下使用更难管理 |
| 完全放开 | 短期快 | 质量和安全问题累积 |
## 易错点
- 规则文件写一次就不维护,和实际代码不一致。
- 只要求“写测试”,不审查测试质量。
- 用 PR 规模限制来“拆”成很多互相依赖的小 PR,反而更难审查:按功能拆分。
- 数据安全规定只口头传达。
## 面试怎么讲
> “我在项目里用 AI 编程有一套固定做法:仓库里有 AGENTS.md 写清约定和完成标准,常见任务写成 Skill;让 AI 先出计划再执行,小步提交;每次改动跑测试和类型检查,边界测试我自己补,并在真实环境验证;PR 里写清验证方式。AI 反复犯的错误我会补进规则文件。比如有一次 AI 生成的价格计算在优惠券大于金额时返回负数,就是我补的边界测试发现的。”