Skip to content

AI Coding 的局限与边界 ​

清醒认识 AI 不能做什么,和知道它能做什么一样重要。

总览:AI Coding 的能力边界 ​

        完全胜任  │  需要辅助  │  不建议使用
        ────────────────────────────────────
        ┌─────────┬──────────┬──────────┐
代码生成 │       │          │          │
        ├─────────┼──────────┼──────────┤
架构决策 │         │        │          │
        ├─────────┼──────────┼──────────┤
业务理解 │         │          │        │
        ├─────────┼──────────┼──────────┤
        └─────────┴──────────┴──────────┘

不适合使用 AI Coding 的场景 ​

1. 关键安全代码 ​

markdown
 场景
- 支付处理
- 权限认证
- 数据加密
- 金融计算

## 原因
- 错误代价极高
- AI 可能引入漏洞
- 需要专业安全审计

## 替代方案
- 人工编写
- AI 辅助生成候选方案
- 严格安全审查

2. 全新架构决策 ​

markdown
 场景
- "我们用什么前端框架?"
- "微服务还是单体?"
- "数据库选型"

## 原因
- 涉及业务、团队、组织
- AI 缺乏深度上下文
- 决策影响长远

## 替代方案
- 团队讨论
- 参考行业实践
- AI 辅助收集信息

3. 复杂业务规则 ​

markdown
 场景
- 复杂的领域逻辑
- 多状态机的状态转移
- 涉及法律法规的逻辑

## 原因
- 业务规则细节 AI 不知道
- 法规要求不能由 AI 决定
- 错误后果严重

## 替代方案
- 业务专家设计
- AI 辅助实现(已有规则)
- 严格测试 + 业务验证

4. 高性能优化 ​

markdown
 场景
- 关键路径性能优化
- 算法优化
- 内存优化

## 原因
- 需要运行时验证
- AI 缺乏性能直觉
- 优化空间需人工探索

## 替代方案
- 性能分析(Profiler)
- 人工优化关键路径
- AI 辅助生成候选

5. 像素级 UI 还原 ​

markdown
 场景
- "严格按照 Figma 设计稿实现"

## 原因
- AI 视觉理解有限
- 像素级精度难达成
- 设计细节 AI 容易遗漏

## 替代方案
- 人工实现关键 UI
- AI 辅助布局
- 设计 Token 化

6. 复杂的动画与交互 ​

markdown
 场景
- 复杂的 CSS 动画
- 复杂的物理交互
- 游戏化效果

## 原因
- 需要反复调参
- 视觉效果需人工判断
- 性能与效果平衡

## 替代方案
- 参考开源实现
- 人工调优
- AI 辅助微调

7. 法律敏感的代码 ​

markdown
 场景
- 用户协议相关
- 数据合规相关
- License 相关

## 原因
- 法律问题需专业人士
- AI 不能提供法律建议
- 错误可能导致法律风险

## 替代方案
- 法务审核
- 标准库/模板
- 谨慎处理

8. 极端复杂算法 ​

markdown
 场景
- 复杂的数学算法
- 底层系统算法
- 大规模并发控制

## 原因
- AI 容易产生"看起来对"的算法
- 难以验证
- 出错代价高

## 替代方案
- 参考学术论文
- 人工设计
- 充分测试

AI 的"软肋" ​

软肋 1:缺乏"业务直觉" ​

typescript
//  AI 写的代码
function calculateUserDiscount(user) {
  if (user.level === 'gold') return 0.2
  if (user.level === 'silver') return 0.1
  return 0
}

// 业务实际:
// - gold 用户在特殊节日额外 5%
// - silver 用户首单 8%
// - 注册 30 天内所有用户 +5%
// - VIP 推荐的用户额外折扣
// 这些 AI 不知道

软肋 2:缺乏"品味" ​

typescript
// AI 写的代码可能"正确但丑"
function fetchUserDataAndProcessAndDisplay(userId) {
  // 一长串函数
}

// 优秀开发者会拆分
function useUser(userId) {
  const user = useUserData(userId)
  const processed = useProcessedUser(user)
  return useUserDisplay(processed)
}

软肋 3:缺乏"判断" ​

什么值得做、什么不值得做?
什么该简化、什么该保留?
哪些是临时方案、哪些是长期方案?

这些 AI 都不能替你判断。

软肋 4:缺乏"创新" ​

颠覆性创新通常来自对业务的深度理解 + 跨界思考。
AI 能组合已有方案,但很难创造全新方案。

AI 擅长的场景(再次明确) ​

为了平衡,也明确 AI 擅长的:

模板代码 ​

typescript
// AI 极擅长
- CRUD 组件
- 表单组件
- 列表组件
- API 客户端
- 类型定义
- 路由配置

模式化代码 ​

typescript
// AI 极擅长
- 按既有模式扩展
- 按规范补全
- 重复样板代码

文档与注释 ​

markdown
// AI 极擅长
- JSDoc
- README
- API 文档
- 注释

简单重构 ​

typescript
// AI 极擅长
- 变量改名
- 函数提取
- 文件拆分

测试编写 ​

typescript
// AI 较擅长
- 单元测试
- 组件测试
- 边界测试

AI 与人的协作边界 ​

┌─────────────────┬────────────────┐
│       AI 主导    │    人主导       │
├─────────────────┼────────────────┤
│ 模板代码生成     │ 架构决策        │
│ 简单重构        │ 业务规则设计      │
│ 文档生成        │ 复杂调试        │
│ 测试编写        │ 性能优化        │
│ 简单 Bug 修复   │ 安全审计        │
│ 代码补全        │ 选型决策        │
└─────────────────┴────────────────┘

何时不用 AI Coding ​

判断准则 ​

markdown

## 不用 AI 的 5 个问题
1. 错误代价是否极高?
   → 是:不用或极谨慎

2. 是否涉及业务核心逻辑?
   → 是:人主导

3. 是否需要深度业务理解?
   → 是:人主导

4. 是否需要创新性方案?
   → 是:人主导

5. 是否需要专业判断?
   → 是:人主导

如果 3 个以上回答"是",完全不用 AI Coding。

实战判断 ​

markdown

## 案例

### 案例 1:支付回调处理
- 错误代价:极高
- 业务深度:很深
- 判断:完全不用 AI,人工编写

### 案例 2:CRUD 列表组件
- 错误代价:低
- 业务深度:低
- 判断:AI 主导,人审查

### 案例 3:复杂表单校验
- 错误代价:中
- 业务深度:中
- 判断:AI 生成,人审查校验逻辑

### 案例 4:架构选型
- 错误代价:高
- 判断:人主导,AI 辅助收集信息

### 案例 5:性能优化
- 错误代价:中
- 判断:人主导,AI 辅助实验

团队如何处理"边界" ​

建立"红绿灯"机制 ​

markdown

## AI Coding 红绿灯

### 绿灯:AI 主导
- 模板代码
- 简单 CRUD
- 文档生成
- 测试编写
- 简单重构

### 黄灯:AI 辅助,人主导
- 业务逻辑
- 中等重构
- Bug 修复
- 性能优化

### 红灯:禁用 AI
- 支付/权限/安全
- 架构选型
- 合规相关
- 全新创新

团队规范 ​

markdown

## 团队 AI 使用边界

### 必须人工
- 所有支付相关代码
- 所有权限/认证代码
- 所有密钥管理代码
- 所有 .env / 配置变更
- 所有 CI / 部署配置
- 所有 package.json 依赖变更

### AI 辅助(需审查)
- 业务逻辑代码
- 复杂组件
- 重构

### AI 主导
- 模板代码
- 简单组件
- 文档
- 测试

心理层面的边界 ​

AI 不是万能的 ​

"AI Coding 不是银弹,不能解决所有问题。"
"AI Coding 是放大器:好的实践放大,坏的实践也放大。"

人的价值 ​

"在 AI 时代,人的价值不在于写代码的速度,
 而在于判断、决策、品味、业务理解。"

持续学习 ​

"AI Coding 在快速演进,今天的局限明天可能解决。
 但今天不能做的,今天就别勉强。"

总结 ​

知道 AI 做不到什么,比知道它能做到什么更重要。

  • 红绿灯机制
  • 关键代码人主导
  • AI 是辅助不是替代
  • 不要"AI 万能论"

下一节:未来趋势