用 AI 辅助开发 3 个月了,5 人团队,每个人都在用。有些场景效果炸裂,有些场景投入产出完全不成正比。
这篇是一个诚实的复盘------不吹不黑,按 ROI 排序,帮你判断该在哪里投入精力。
ROI 排行榜
markdown
场景 投入 产出 ROI
──────────────────── ──────── ──────── ────
1. Steering/规范配置 2h 持续收益 ★★★★★
2. 重复性表单页开发 0 节省 60% ★★★★★
3. Code Review 1h 配置 持续收益 ★★★★☆
4. 提测文档生成 30min 节省 80% ★★★★☆
5. 组件重构 对话时间 质量提升 ★★★☆☆
6. 接口联调 对话时间 节省 30% ★★★☆☆
7. 写单元测试 对话时间 覆盖率提升 ★★☆☆☆
8. 复杂业务逻辑 大量对话 效果不稳定 ★☆☆☆☆
9. 调试线上 bug 大量对话 几乎无效 ☆☆☆☆☆
第一梯队:配一次、受益永远
Steering 配置(ROI 最高)
花 2 小时写好项目的 steering 文件,之后每次 AI 生成代码都自动遵守规范。
arduino
投入:
├── 技术栈描述:30min
├── 项目结构约定:30min
├── 代码风格禁忌:30min
└── 常用命令/接口文档引用:30min
产出(每天都在生效):
├── 新增页面不再需要"改成 dayjs"
├── 不再需要提醒"用 CSS Modules"
├── 路由注册位置自动正确
└── import 路径自动使用 @ 别名
重复性表单页(节省 60% 时间)
B 端后台 70% 的页面是"表格 + 表单 + 搜索"。这类页面 AI 生成准确率极高:
arduino
输入:
├── 指定一个现有页面做范例
├── 给出新页面的字段列表
└── 给出接口地址
AI 输出:
├── 完整的 CRUD 页面
├── 搜索条件
├── 表格列定义
├── 新增/编辑弹窗
└── 基本可用,微调 20min 上线
第二梯队:值得投入但需要技巧
Code Review(持续收益)
配置 AI CR 脚本后,每个 MR 自动审查。核心价值不是"找 bug",而是:
erlang
AI CR 实际发现的问题分布:
├── 规范问题 (60%):命名不规范、缺少类型、不一致的写法
├── 潜在风险 (25%):未处理的边界、遗漏的 null check
├── 逻辑错误 (10%):条件判断反了、循环退出条件错误
└── 架构建议 (5%):可提取公共逻辑、建议拆分组件
最大价值:把 CR 中 60% 的"格式/规范"问题自动化
→ 人工 CR 聚焦在"设计合理性"上
提测文档(节省 80% 时间)
以前写提测文档要 30-60 分钟,现在:
lua
给 AI:
├── 需求文档链接
├── 改动的文件列表 (git diff --name-only)
└── 提测模板
AI 生成:
├── 功能清单
├── 影响范围
├── 测试建议
├── 风险点
└── 准确率约 80%,花 5min 补充细节即可
第三梯队:有效果但 ROI 一般
组件重构
AI 能给出好的架构建议(如之前的 ImageUpload),但实现过程需要大量对话来对齐细节。
arduino
AI 擅长:
├── 架构设计(分层、分模块)
├── 接口设计(Props 定义)
└── 模式推荐(策略模式、管道模式)
AI 不擅长:
├── 理解现有业务背景(为什么这里要特殊处理)
├── 兼容历史代码(不知道哪些调用方不能改)
└── 处理"政治正确"的需求(产品说"先这样"的临时逻辑)
接口联调
帮你生成 TypeScript 类型定义和 mock 数据很快,但真正联调的问题往往是:
erlang
AI 能解决的:30%
├── 根据后端文档生成请求函数
├── 根据 JSON 示例生成 TS 类型
└── 生成 mock 数据
AI 解决不了的:70%
├── "后端说这个字段有时候不返回"
├── "测试环境接口挂了"
├── "文档和实际不一致"
└── "这个枚举值后端新加了但没告诉前端"
第四梯队:伪需求(投入大于产出)
复杂业务逻辑
AI 对"需要理解完整业务上下文"的逻辑表现不稳定:
arduino
示例:营销活动的优惠叠加计算
需要理解:
├── 6 种优惠类型的优先级
├── 不同渠道的互斥规则
├── 历史遗留的特殊 case
├── 产品口头约定但没写在文档里的逻辑
└── 这些信息分散在 10+ 个文件和 3 个会议纪要里
AI 的输出:
├── 技术上正确但业务上错误
├── 需要逐个 case 修正
└── 修正时间 ≈ 自己从头写的时间
线上 bug 调试
AI 无法 access 线上环境,不知道实际数据长什么样:
arduino
AI 能做的:
├── 根据报错信息猜测原因
├── 提供排查方向
└── 写修复代码(如果原因确定了)
AI 做不到的:
├── 看不到线上日志
├── 不知道触发 bug 的具体数据
├── 不理解"为什么只有这个商户出问题"
└── 调试效率 ≈ 0
团队最佳实践总结
markdown
第一周:配好 steering(30min/人)
→ 所有人立刻受益
第二周:沉淀 3-5 个页面范例
→ 新页面开发提速 60%
第三周:配置 AI CR + 提测文档模板
→ CR 效率提升、文档自动化
之后: 按需优化,不要过度投入
→ 接受 AI 有边界,用在 ROI 高的地方
数据对比(5 人团队,3 个月)
matlab
指标 使用前 使用后 变化
───────────────── ────── ────── ────
周均需求完成数 3.2 4.8 +50%
CR 规范问题数/周 12 3 -75%
新页面开发时间 8h 3h -62%
提测文档编写时间 40min 8min -80%
Bug 率 持平 持平 ±0
Bug 率没变是因为:AI 减少了低级错误,但不减少业务理解错误。后者才是 bug 的主要来源。
给想推广 AI 的团队的建议
vbnet
Do:
├── 从 steering 和范例开始(成本低、见效快)
├── 先让 1-2 人试跑,再推广
├── 量化数据说话(需求完成时间、CR 问题数)
└── 承认边界(别吹"10x 效率")
Don't:
├── 一上来就要求全员用
├── 期望 AI 解决所有问题
├── 忽略"配置维护"的隐性成本
└── 用 AI 生成时间来考核开发(会导致质量下降)
💬 你们团队用 AI 辅助开发多久了?最大的收益和最大的坑分别是什么?
🔗 完整 Skills 源码已开源 :github.com/sleepyccat/...,欢迎 Star ⭐ 和 PR。