来分享一下~也是记录一下。
作为不会写代码但有两年多vibe coding经验的技术小白,我目前的AI编程习惯。这里说的不是一句话生成一个产品的开发,而是在已有的相对复杂项目中如何开发新需求或者改bug。
○开发工具
目前使用的是传统的VS Code,配合普通chat bot。没有使用Cursor、trae等AI IDE,也不喜欢用IDE内置的AI能力,因为不喜欢AI乱改代码。之前使用过,但失败率很高而且我都不知道在发生什么。毕竟AI本身有不确定性,一旦它偷偷改了什么,风险就不受控了。(不过很久没使用AI开发工具了,不知道现在体验怎么样。)
○AI模型
几个主流的AI在编程方面的能力都还行,不太复杂的任务让它们来做效果都差不多,细微差异可能有,但以我的水平也看不出来……
不过Gemini Pro的前端能力好像比其他AI要好很多,设计感和完整性都更强,至于后端质量我就不太懂了……
○和AI对话
尽量告诉完整信息,包括
1非常具体的需求效果
2各种情况的处理逻辑
3相关代码。这个地方稍微有一点点技术含量但不是很高:如果是前端问题,就把相关模块的代码发一下;如果是后端,就把相关函数以及函数所在位置都发给它,因为ai经常忘记跨文件引入。
4本地环境,比如我用的是Windows系统、VS Code等等,如果是线上的也会说一下服务器信息和线上运维终端工具。
然后我会让它看看这个需求该怎么实现,它的逻辑思路是什么,以及它有没有什么问题要问我。
重点来了,敲黑板!
它大概率会问一些问题,我不会直接在对话框中回答,而是会把问题的答案写成一段注意事项,重新编辑到第一份prompt里。(大多数ai都可以修改最近一条prompt。)
因为我发现AI对话聊得越长,就越容易忘记前面的信息,也容易出现幻觉。所以尽量在第一份prompt里提供更全面的信息更有帮助。
第一轮对话可能会这样反复优化几次,确保第一份prompt是完整的。这里还有个小细节,我会要求AI在写代码时多写注释,并在关键执行环节打印日志,这样如果有问题,我可以通过打印信息更快定位。
第二个重点!我不会让它给我完整的代码文件。我会让它说得非常清楚:在已有代码中的哪个位置添加或修改什么代码,要精确到从哪里到哪里、改什么,只给我需要更新的代码片段,我会手动贴进去。
如果是比较复杂的任务,我还会让它把工作分阶段,并告诉我每完成一个阶段该如何测试,确保这个阶段任务已经正确完成。
然后我会手动更新代码,更新后按照AI的指导启动程序,测试代码效果。如果一切正常就万事大吉,如果出现问题,重点又来了:
首先要回退所有代码操作(不要保存),如果是小的修改就手动恢复,大的修改可能要用到git工具来恢复上一版代码。
然后不要直接把问题丢给正在对话的AI,可以另建一个窗口,描述当前问题并附上相关代码,让它判断可能出现什么了bug。新的AI窗口可能会告诉你一些可能原因及改进方法,可以多问几个ai把可能的原因丰富一下,把ai给出问题点整理成注意事项,回到主对话框修改最后一次对话内容,把这些注意事项写进去,让它重新生成代码修改方案,这样它大概率会避开之前犯过的错误。
如果再次运行成功,这次小任务就算完成。
记得去掉不需要的打印和注释,如果有什么遗留问题或注意事项,也记得让它帮你写几句备忘录放进readme~
最后git push,部署上线,完事儿~