让模型写代码不难,难的是让它别把锅甩给我
我现在写代码经常会开着一个模型窗口。它像一个坐在旁边的搭档,随时能被我拍一下肩膀:“你来看看这个思路对不对。”
但我也踩过不少坑,最大的坑就是:它写得太快,错得也很快。
我不再让它“直接写功能”,而是让它做三种活
第一种活:搭架子
比如新写一个页面、新写一个模块,我让它先给一个最小骨架:文件结构、主要函数、关键接口。骨架粗一点没关系,关键是别把我带进死胡同。
第二种活:补边界
我写完主要逻辑后,让它帮我列“可能漏掉的边界条件”,比如:
- 空值怎么办
- 超时怎么办
- 并发怎么办
- 输入异常怎么办
它在这方面很像一个啰嗦但有用的 QA。
第三种活:写测试用例的思路
不是让它写完整测试,而是让它告诉我应该测哪些场景。它给的用例常常很直白,但能提醒我:你是不是只测了“正常路径”。
最关键的一步:让它解释它写的代码
只要它生成了超过 20 行的代码,我都会追问一句:
“逐段解释你为什么这么写。如果你在依赖某个假设,请把假设写出来。”
这句话能过滤掉大量“看起来能跑、其实在赌”的代码。因为一旦它解释不清,它自己就会开始露馅:要么承认不知道,要么逻辑前后打架。
而我最怕的就是那种“能跑但你不知道为什么能跑”的代码。那是未来的炸弹。
我把它的自信当成噪音
模型最爱用“你只需要”“很简单”“直接就能”。
我现在看到这种话,会自动在心里加一个括号:
(你确定?)
然后我让它给“最小验证”。比如它说“改这个配置就行”,那我就问:
- 我怎么验证改对了?
- 如果没改对,会出现什么现象?
- 有没有回滚方案?
问完这三句,我基本能判断它是在靠谱地建议,还是在凭感觉凑答案。
让我真正省时间的不是“写得快”,是“定位快”
AI 写代码的价值,不在于替你敲键盘,而在于:
- 帮你缩小搜索范围
- 帮你把问题拆开
- 帮你在你卡住的时候给一个可行的下一步
就像开车导航。你不是不会开车,你只是想少走冤枉路。
我跟 AI 的相处原则(目前版)
- 让它当搭档,不当代写
- 让它输出过程,不只输出结果
- 让每个建议都落地到一个小验证
如果你也在用 AI 写代码,我建议你也给自己设一套“方向盘规则”。因为方向盘不在模型手里,永远在你手里。