理解AI写的代码
为什么要理解代码?
上一章学了怎么和 AI 对话,让 AI 帮你写代码。
很多新手以为:"AI 给代码,我复制粘贴,项目就做好了。"
我一开始也这么想。
真实经历:我第一次被AI带偏
第一次用 AI 做项目时,我让 AI "写一个用户登录功能"。
AI 给了我200行代码,包括:
- 用户注册
- 密码加密
- 邮箱验证
- 找回密码
- Session 管理
我全部复制粘贴,运行起来了。很爽。
2天后,我想加一个"记住我"的功能。
问 AI 怎么改,AI 让我修改某个文件的某几行。
改完,登录功能全坏了。
为什么?
因为我根本不知道那200行代码在干什么:
- 哪些是核心功能
- 哪些是相互关联的
- 改了这里会影响哪里
我成了AI的"复制粘贴工人",失去了主导权。
这章要解决什么问题?
这章要解决什么问题?
核心问题: 怎么在"不懂代码"和"掌控项目"之间找到平衡?
你不需要成为程序员,但你要当项目的"舵手",而不是AI的"复制粘贴工人"。
这章教你:
这章教你:
- 怎么看懂 AI 写的代码(不需要懂语法)
- 怎么判断 AI 是否偏离了你的预期
- 怎么保持项目主导权
- 怎么用 AI 帮你审查代码
不需要懂底层,但要看懂逻辑
什么是"看懂逻辑"?
不是:
- ❌ 看懂每一行代码在干什么
- ❌ 能自己手写出来
- ❌ 理解语法细节
而是:
- ✅ 知道这段代码在做什么事
- ✅ 能判断是否符合你的预期
- ✅ 发现偏离方向时能及时纠偏
真实案例: AI News RSS 项目偏离
背景: 在做 AI News RSS 项目时,我的 MVP 计划是:
- 爬取 AI 新闻
- AI 分析生成摘要
- 生成 RSS 订阅
AI 给的代码: AI 自作主张加了:
- Redis 缓存系统(用于存储已爬取的新闻)
- 复杂的去重逻辑
- 定时任务调度器
- 日志分析系统
问题:
- MVP 阶段根本不需要这些
- 增加了部署复杂度(要额外部署 Redis)
- 偏离了"快速上线验证需求"的目标
- 这些优化是后期 SaaS 版本才需要的
怎么发现的: 看代码文件结构,发现多了 cache_manager.py、dedup_service.py、scheduler.py,问 AI 这些是干什么的,才发现被加了很多功能。
怎么解决的:
- 删掉 Redis 和缓存相关代码
- 简化为最基础的爬取+分析+生成
- 先验证核心功能可行
- 后来做 SaaS 版本时才引入 Redis 和这些优化
教训:
- AI 会根据"最佳实践"加功能,但不知道你的阶段
- MVP 和成熟产品的架构完全不同
- 你要明确告诉 AI: "这是 MVP,只要最简单的实现"
- 不懂底层没关系,但要看文件结构和模块划分
你的角色: 掌舵者
AI 是工具,你是船长
错误模式:
你: "帮我做一个登录功能"
AI: [写了200行代码]
你: [直接用]
→ 不知道实现了什么,埋下隐患
正确模式:
你: "我想做登录功能,你建议用什么方案?"
AI: "可以用JWT或Session..."
你: "用JWT,但我只需要最简单的实现"
AI: [写代码]
你: [检查代码] "为什么有refresh token?我不需要"
AI: [修改]
→ 你始终掌握方向2
3
4
5
6
7
8
9
10
11
12
13
14
你要保持清晰的:
1. 架构方向
- 是前后端分离还是单体?
- 数据库怎么设计?
- API 怎么规划?
2. 功能边界
- MVP 包含什么,不包含什么?
- 哪些功能现在不做?
- 优先级是什么?
3. 技术约束
- 用什么技术栈?
- 部署方案是什么?
- 有什么限制(成本、时间)?
实战方法: 代码审查
方法1: 让 AI 帮你 Code Review
每完成一个功能模块,让 AI 审查一遍。
你: "审查一下 auth.py,看看:
1. 是否符合我的MVP目标(简单的用户登录)
2. 有没有过度设计
3. 有没有安全问题"
AI: [给出审查报告]
- 发现: 实现了密码找回功能(你不需要)
- 建议: 简化,只保留登录/注册
你: "删掉密码找回"2
3
4
5
6
7
8
9
10
关键点:
- 明确你的审查标准
- 重点看是否符合预期
- 发现偏离立即纠正
方法2: 定期审计架构
频率: 每周或每完成一个大功能
审计什么:
你: "列出当前项目的所有文件,解释每个文件的作用"
AI: [列出文件]
你: [检查是否有不需要的文件]2
3
4
5
你: "列出当前已实现的所有功能"
AI: [列出功能]
你: [对照MVP清单,删除多余功能]2
3
4
5
方法3: 功能验收
每个功能完成后,确认实现了什么。
你: "这个登录功能,具体实现了什么?"
AI: "实现了:
1. 用户注册
2. 邮箱验证
3. 密码强度检查
4. 登录
5. 密码找回"
你: "我只要1和4,其他删掉"2
3
4
5
6
7
8
9
10
要点: 不要直接接受 AI 的实现,逐个确认。
不懂代码怎么办?
新手策略
1. 看文件名
项目结构:
/backend
/auth
- login.py
- register.py
- oauth.py ← 这是什么?
- password_reset.py ← 这是什么?2
3
4
5
6
7
问 AI: "oauth.py 和 password_reset.py 是做什么的?我需要吗?"
2. 让 AI 画流程图
你: "用流程图解释用户登录的完整流程"
AI: [画出流程图]
你: [看流程图发现多余步骤] "为什么有'发送验证码'?我不需要"2
3
4
5
3. 关注输入输出
你: "这个函数的输入是什么,输出是什么?"
AI: "输入: 用户邮箱和密码
输出: JWT token + 用户信息 + 刷新token"
你: "为什么有刷新token?我不需要,删掉"2
3
4
5
6
如何培养架构能力?
1. 多问"为什么"
AI: "我用了Redis做缓存"
你: "为什么要用Redis?"
AI: "为了提高性能..."
你: "我现在有性能问题吗?"
AI: "暂时没有..."
你: "那就不用,等有问题再说"2
3
4
5
6
2. 学习看"大图"
关注:
- 整个项目有几个模块?
- 模块之间怎么交互?
- 数据流是怎样的?
让 AI 画架构图帮你理解。
3. 从简单项目开始
先做功能少的项目,能完整理解整个系统,建立全局观。
代码审查清单
每完成一个功能
问自己:
- [ ] 这个功能是MVP必需的吗?
- [ ] 实现的功能和我预期的一致吗?
- [ ] 有没有多余的功能?
- [ ] 文件结构清晰吗?
问 AI:
- [ ] "审查这个模块,是否过度设计?"
- [ ] "列出这个模块的所有功能"
每周全局审计
- [ ] 画出当前架构图
- [ ] 检查是否偏离预期
- [ ] 列出所有已实现功能,对照MVP清单
- [ ] 检查所有第三方库,删除不用的
记住
1. 你是掌舵者,AI 是工具
架构、方向、优先级,你说了算。
2. 不需要懂底层,但要看懂逻辑
知道代码在做什么,能判断对错。
3. 定期审查,及时纠偏
每周审计一次,防止项目失控。
4. 架构能力是练出来的
从简单项目开始,逐步建立全局观。
核心思想: 不懂代码没关系,但不能不懂项目。你要清楚项目在往哪走,AI 只是帮你实现。