AI编程火起来好久了,但之前没想着实现些什么。直到最近基于自身需求萌生出一个想法,而市面上似乎没有合适的工具,才用起AI编程,花了点时间用vscode+copilot折腾了一个简单的桌面应用(注,本文的AI编程全都指向vscode+copilot)。
总的来说,从0到1的过程确实很惊艳,简单几句话描述就能生成一个可以跑起来的桌面应用,关键页面UI样式也不丑,但从1开始不断加功能,不断打磨的过程也很折磨,折腾了几次AI都改不出让我满意的效果,还引入了新的bug,让它自己解决问题,试了好几次依然没改对,只好放弃折腾(我自己也改不动),推倒重来。
不过,在重新开始之前,还是有必要总结一下使用经验的。一开始听信各种自媒体吹捧,以至于让我对现阶段的AI编程有了过高的期待,然而目前看来问题蛮多,不过这也不是AI的问题,在实际生活中,需求的澄清和理解,也是一个反复的过程,人和人都不一定能沟通清楚,何况是人与AI?所以,与其调教AI成为好员工,时不时被气的不行,不如调教我自己成为使用AI的熟练工
AI编程对我的价值
目前AI编程对我最大的价值,在于快速验证一些小想法,做出来的东西不完美,但不讲究的话也确实能用
毕业6年多一直从事后端开发,前端懂点皮毛,但如果要从头开始做一个前端项目,直接就能把我劝退。不找队友的情况下,不仅要学前端,还要有点设计和审美,以至于之前即便有想法,一想到做交互页面需要找人或者自己学,想法直接就搁浅了,可能学不到一半就放弃了,而现在AI编程的出现,确实降低了想法落地的门槛,验证阶段不用再去找人,或者花时间学习,用AI就能快速看到效果,节省不少时间。到时觉得效果还不错,想加大投入的时候,再去认真学也不迟
举个例子,在做桌面应用之前,是先用AI做的微信小程序。花了一两晚用AI生成代码,然后用小程序开发工具直接打开,调试效果,就发现
- 需要对外发请求获取公开数据,但代码里的http header在小程序对外请求时会自动替换,而这个关键header参数又决定了能不能拿到数据
- 说是可以用云函数,然而小程序测试号不支持,又注册了一个正式号,等注册完,果然还得花钱才能用云函数
- 还没花钱,就发现:小程序对外请求需要添加白名单,但测试号可以加的域名,在正式号里一直添加不了,小程序后台提交的时候审核不通过,没有具体的原因,结合可能的原因列表推测,大概率是域名没有备案?
- 还不确定花钱用云函数能不能绕过限制,也不确定后续还会有哪些坑,微信生态庞大,但限制也很多,不如直接弃坑
这要是没有AI,从0开始接触小程序开发,到发现这些坑,估计就不是一两晚的事情了。后续就转向用Electron开发桌面应用,数据都存本地,没有服务器成本,还支持跨平台。给AI说了下,AI也是二话不说直接生成代码,出来一个桌面应用。当有一个半成品放在眼前,总会冒出更多的想法,这里改一下,那里优化一下 ,于是就发现了一些问题
AI编程的问题
TBD