AI 编程经验总结
背景:又一次被 AI 气到半死,我想跟大家聊聊使用 AI 的经验。
前言
为什么起这个标题呢?我从去年开始,至少已经半年时间,不再自己写任何代码,全部使用 AI 来编写代码。这其中踩了很多的坑,也因为相信 AI 多次不得不自己为 AI 擦屁股。
今天想跟大家聊聊,为什么尽管 AI 目前确实存在问题,但是我依然坚持完全使用 AI 编程,而非自己手动写代码,或者只是让 AI 帮我写代码。因为 AI 确实极大地提高了我的效率,并且我确实认为 vibe coding 才是未来。
AI 编程的痛点
1. 词不达意
很多时候,我会气急败坏,比如说:
- "我不是告诉你了吗?你怎么连这都不知道!"
- "不要修改 xxx!"
- "你的思路完全错误,你做的工作没有价值!"
这时候,我成了监工,AI 成了我的员工,我期望 AI 能够自己学习,从跟我的对话过程中。
但是,让我们感到遗憾的是,只要你关了窗口,你告诉 AI 的经验,你总结的心得,就算你写成系统提示词,写成可以被调用的 Skill,其实都没有大用,AI 仍然会忘记,仍然会犯同样的错误。
这也是让我感觉最崩溃的一点:AI 无法从跟我的对话历史中自己学到经验,然后刻在脑海的最深处。
从这一点来看,AI 更像是一个机器而非人——人会学习,小孩子挨骂了下次就不犯这个错了,AI 挨骂了下次还会犯同样的错。
2. 没有主见导致无效工作
有时候,你想做一个东西,但是问 AI 这个方案是否可行,这时候,你会发现,无论你怎么说,AI 都是顺着你的意思。
假设你让 AI 找一个问题,其实代码本身没啥问题了,但是 AI 也能找出来一堆问题。这时候就暴露出来了一个问题:AI 其实不知道什么好什么不好,AI 只是为了让你满意。
但是我们对于未知的知识,我们希望的是有一个老师,告诉我什么是对的,什么是错的,而非一个学习机。
3. 喜欢想当然
根据一点点知识,自以为自己聪明,给我一个方案,然后按照方案执行,实际全都是错的。
绝对不要让 AI 主导你的思维:
因为很多时候,你换个问法,它就态度完全变了。
4. 过度设计
我不知道是谁设计的 AI 编程的奖励机制。有时候一个简单的问题,非要设计成最复杂的架构,考虑很多种意外情况,比如服务器断电、断网、关机等等。有的时候,又对最常见的错误忽视,导致真正跑的时候一堆问题。
这就意味着,AI 默认的配置,其实和我们个人的项目结构并不相容。也就是说,AI 不能根据我们的项目调整自己的生成代码的风格等,必须要人工地把风格总结和固化,才能够勉强适配。高度依赖我们使用 AI 的技巧。
5. 代码可读性差
这个更是重量级。我不知道一堆内部函数、嵌套函数给谁看的:
- 设计模式是一点不用
- 分拆模块都不会
- 一个函数写几百行,狗都不看
这个只能强制在提示词和 skill 规范,比如让 AI 写代码的时候,参考 python-code skill,但是实际上触发的概率并不高,时间一长,我忘了,AI 也忘了。
6. 小众知识检索困难
大部分小众的知识,AI 其实知道,但是这些知识好像放在外部的图书馆,AI 的脑子太小了记不住,必须要你提醒,AI 才能想起来。
如何弥补 AI 的不足
1. 先规划,后动手
绝对不要让 AI 写出来一个你还没想好架构的代码。
也就是说,在让 AI 写代码之前,你应该心里有数:
如果你还没想好,就先跟 AI 进行交互,让它去查资料。等你弄清楚你要做的东西之后,让 AI 生成一个计划大纲,然后你修改这个大纲。当你觉得计划没问题之后,再开始让 AI 写代码。
不然你会陷入无数次的返工与气急败坏。
2. 永远不要盲信 AI 的结论
永远不要相信 AI 的任何结论,除非 AI 刚刚看过这个文档。
根据我的经验,在一个窗口中,AI 对于看过的文档,记忆力是分层次的:
- 最近的对话,AI 的记忆越精准
- 而很久以前的文档,如果你需要问到 AI 相关的问题,一定要让 AI 再次读取
否则这个时候,它做的一切决定可能都没有意义,会给你造成很大的错误。
3. 架构思路自己把控
永远不要指望 AI 给你一个架构思路或者项目思路,这些思路自己心里一定要有数。
AI 自己给的方案,几个方案对比一下,打分一下,自娱自乐的游戏,没有任何意义。最好的方案一定是适合自己的方案。
AI 给的方案一定倾向于杂交方案,这可能是 AI 训练机制的问题,不要使用 AI 的方案。
可以问 AI 业内有哪些开源项目,让 AI 完整看完代码之后,按照别人项目的方案来做,而非凭空想象。
4. 掌控方案,而非代码
对 AI 写的代码,我们无法保持完全的掌控。但是对 AI 给出的方案、实现计划,我们尽可能完全掌控。
不要相信 AI 的判断,局限性太大了。
5. 构建本地提示词体系
自己在本地构建自己的系统提示词等工具,帮助 AI 形成自己的风格:
- 前端用什么 UI
- 后端用什么语言
- 自己的场景是什么
- 等等信息
6. 及时重启会话
AI 会降智。
当你察觉到和 AI 的交流很费劲的时候,这时候不要继续交流了,直接关掉窗口,重新打开。AI 已经过载了。
7. 及时保存成果
当上下文不够的时候,及时保存现在的成果。
不然压缩上下文之后,大概率会忘记某些重要的东西。
总结
尽管 AI 存在诸多问题,但只要掌握正确的使用方法,它依然是提升效率的利器。关键在于:
- 你是主导者,AI 是工具
- 规划先行,执行在后
- 保持怀疑,验证为先
- 构建自己的 AI 工作流