先泼冷水

如果你期望 AI 替你写代码、你只负责喝茶——你会在第一周就翻车。

用了大半年 AI 辅助开发,我的真实感受是:效率提升 2-3 倍是真实的,但前提是你知道什么时候用它、什么时候不用。

AI 擅长的(效率飞升)

1. 样板代码和 CRUD

生成一个带分页、搜索、排序的列表页面:

1
2
3
4
5
6
7
8
9
10
// 你只需要描述:
// "Vue 3 + Pinia 的数据列表页,支持分页、搜索、排序,
// 使用 shadcn-vue 的 Table 组件"

// AI 30 秒出完整代码,包括:
// - 搜索框 + 防抖
// - 排序切换
// - 分页组件
// - Loading / Empty / Error 状态
// - API 调用 + 错误处理

这种代码你写过 50 遍了,AI 不会比你写得差。省下的时间去做真正需要思考的事。

2. 正则、SQL、Shell

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
-- 你描述需求:
-- "查询最近 30 天内,每个分类下销售额前 3 的产品"

-- AI 输出:
SELECT *
FROM (
SELECT
p.category_id,
p.name,
SUM(o.amount) as total_sales,
ROW_NUMBER() OVER (PARTITION BY p.category_id ORDER BY SUM(o.amount) DESC) as rn
FROM products p
JOIN orders o ON p.id = o.product_id
WHERE o.created_at >= DATE_SUB(NOW(), INTERVAL 30 DAY)
GROUP BY p.category_id, p.name
) ranked
WHERE rn <= 3

这类”语法正确但不想背”的东西,AI 是神。

3. 写测试

1
2
3
4
5
6
7
8
9
10
11
12
13
// 你写业务代码,AI 写测试
describe('useCart', () => {
it('添加商品', () => {
const cart = useCart()
cart.addItem({ id: '1', name: 'Test', price: 100 })
expect(cart.items.length).toBe(1)
})

it('重复添加同商品应该增加数量', () => { /* ... */ })
it('删除商品', () => { /* ... */ })
it('总价计算正确', () => { /* ... */ })
it('清空购物车', () => { /* ... */ })
})

测试是 AI 的舒适区——模式固定、边界清晰。

4. 代码转译和重构

1
2
3
4
"把这段 Vue 2 Options API 代码改成 Vue 3 Composition API"
"把这个 JavaScript 文件改成 TypeScript,加上完整类型"
"给这个函数加上 JSDoc 注释"
"把这个类组件改成函数组件"

模式化重构,AI 比人快 10 倍且不出低级错误。

5. Bug 排查

把错误信息贴给 AI,它至少能指出 80% 的问题方向。尤其是类型错误、引用错误、异步时序问题——这些是 AI 的强项。

AI 不擅长的(容易翻车)

1. 架构设计

❌ “帮我设计一个文件传输 App 的架构”

AI 会给一个”看起来都对”的方案,但你看不出它忽略了哪些边界条件。架构决定来自你对业务的理解,不是 AI 的模式匹配。

2. 性能瓶颈定位

❌ “我的 Flutter 列表为什么卡?”

AI 只能给通用建议(减少 Widget 重建、使用 const 构造、检查 build 方法)。真正的性能瓶颈需要 profiling 工具(Flutter DevTools / Chrome Performance)分析,AI 看不到运行时的火焰图。

3. 安全相关代码

❌ “帮我写一个 JWT 认证中间件”

AI 会生成能跑的代码,但不一定考虑到 token 刷新策略、CSRF 防护、暴力破解防御。安全代码的每一行都必须自己理解。

4. 复杂业务逻辑

❌ “实现订单状态机:待支付 → 已支付 → 发货中 → 已签收,支持部分退款和全部退款”

这种有 15 种状态组合的业务逻辑,AI 经常漏掉某些分支。它生成的代码”看起来对”但测试你会发现有 3 种状态没处理。

5. 最新 API 和库

2026 年 3 月发布的库版本,AI 的知识截止到 2025 年底。它很自信地给你一个不存在的 API——看文档永远比问 AI 靠谱。

正确姿势

1. 你是建筑师,AI 是施工队

1
2
你决定:项目分层、组件拆分、状态管理方案、路由设计
AI 执行:生成组件代码、写测试、补全类型定义

2. “小块交付”优于”一锅端”

1
2
❌ "帮我做一个完整的后台管理系统"
✅ "先做侧边栏导航组件" → "再做用户列表页" → "再做权限管理页面"

每次只让 AI 做一个明确的小任务,质量远高于大需求。

3. 代码审查习惯不能丢

AI 生成的代码,我至少会检查:

  • 空安全问题(Dart 的 ! 滥用、TS 的 as 滥用)
  • 异常处理(网络请求有没有 try-catch)
  • 业务逻辑是否正确
  • 有没有引入不存在的依赖

大概 20% 的生成代码需要手动调整。

4. 对话当草稿,不是终稿

1
2
3
4
5
第一轮:"生成用户登录页面"
第二轮:"加上记住密码功能"
第三轮:"密码输入框加显示/隐藏切换"
第四轮:"Token 持久化到 localStorage"
→ 满意了,提交代码

增量对话 + 迭代优化,而不是一次性丢一个长 prompt 期望完美。

真实效率数据

任务类型 纯手写 AI 辅助 提升
CRUD 页面 2h 30min 4x
写单元测试 1h 15min 4x
SQL 查询 20min 3min 7x
API 文档生成 30min 5min 6x
复杂业务逻辑 3h 2h 1.5x
架构设计 2h 2h 0x(不交给 AI)
性能调优 4h 3.5h 0.1x

规律很简单:模式化的工作 AI 快很多,需要深度思考的工作 AI 帮不上忙。

总结

AI 编程助手像一个非常勤奋的实习生

  • 安排明确的、套路化的任务 → 又快又好
  • 让它做设计决策 → 你得回头擦屁股

你的价值永远不在于敲代码快不快,而在于知道该敲什么