AI编程不是一只猴子在盲敲键盘,它真的可以生成可用代码。
before
最近用ai写了几个应用,发现ai真的可以生成有用代码。
网上有一句名言,让一只猴子坐在键盘前敲击,它也有可能敲出一部莎士比亚。
GPT编程,由于LLM是预测下一个token,因此之前认为这是一个概率事件,但是实际体验过程中,发现编写的程序确实可用。
after
说一说一些感受。
数据处理
用ai生成数据处理的脚本或者直接处理数据非常好用。比如将一段json格式的文件转换成csv格式,或者直接让ai生成tsv格式的内容。直接可用。
以往处理数据,需要自己根据不同的json格式来写一个小脚本来处理,虽说也不复杂,但是复制粘贴修改,还是需要一点时间的,有时候还需要改bug,现在用ai生成,1分钟就可以完成。
不过也有一个缺点,就是用ai收集数据时,不确定数据到底是真实的,还是ai瞎编的。因为在实际过程中,碰到过ai生成了一堆数据,但是里面有错误数据,或者说是假数据。这就导致一个问题,数据需要校验,而数据来源比较多的时候,还是比较费时间的。
因此,我习惯性地会打开ai阅读的网页链接进行验证。但是,有时候,ai生成一段话,后面各个链接,当你实际打开时,发现这个网页链接里面根本没有这句话。
总结,生成数据处理脚本,优秀;直接处理数据格式转换,优秀;收集数据,准确性待提升。
前端
由于生成的数据需要展示,而excel里面,有时候就是没有那么方便,数据类型,或者图标,达不到想要的效果。
于是,我会经常用ai来生成一些html展示页面。
说一个观点,我不是专业的前端开发人员,但是我觉得前端的前景会比较艰难。
这些ai生成的html展示页面,对于我来说,相当的漂亮,并且一句话就可以让ai把样式再改一改,位置挪一挪,总之,对于我的展示需求来说,完成度非常好。
函数
前面生成了前端html展示页面,由于只是展示,没有计算。
让ai生成一些可以执行一些功能的页面,对于目前的小工具需求来说,完成度非常可以。
比如我最近在开发一个基金风险管理的小应用,里面需要计算VaR,之前我是用excel计算的,公式也是deepseek生成的,生成的公式很长,处理起来麻烦。
最近使用DeepSeek,让它生成一个VaR计算的页面,完成度相当好,并且需要用户提供的数据、参数设置都有,其中的计算逻辑,虽然不复杂,但是如果没有ai的话,估计需要花一点时间来调试修改,但是现在用ai,2分钟就生成好了。
并且ai还能告诉我每个参数是什么意思,并且表示参数法计算的VaR最不准,日常可以使用历史数据加权法来计算VaR。
所以,ai确实能够更快实现你的想法,关键的问题是,你想要什么,以及你需要能判断ai生成的东西到底对不对。
交互
前面生成了前端的html,让我感觉ai做展示页面非常厉害。
但是当我用ai开发完基金风险管理的小应用之后,我觉得页面交互这块,ai也是可以做的。即复杂的前端交互,ai也能完成的很好,这一点是超过我的预期的。
当然,不同的ai完成的初版也是不尽人意。反倒是这次ChatGLM完成的初始版本效果最好,后续是用yuanbao和deepseek在这个基础上进一步修改的。
这里要吐槽一下doubao,不知道这个doubao是不是在调用本地浏览器资源进行计算,让doubao生成应用时,如果你的浏览器没有focus,它就不进行后续的编程代码生成,然后运行一段时间之后,页面就莫名其妙地卡住了,然后就没有办法在这个基础上生成了。(不过,前面用它直接生成html展示页面时,效果很好。)
完成初始版本之后,需要添加一些功能,修改bug,这些ai都完成地非常好,简直说,非常丝滑。比如要加一个功能,直接就加了,和现有的模板效果一致。 给后端数据接口,返回数据格式,ai直接就可以加功能,访问接口,在页面处理返回的数据,虽说功能不复杂,但是如果自己手工去敲,还是很费时间的,而这一切,都是ai免费给你生成的。
并且,最开始生成的一个版本,里面有个页面,打开之后,cpu风扇呼呼转,我自己是没有找到问题,最后在deepseek的协助下,发现是一个前端动画的问题,并让deepseek给生成新的代码,目前看来,cpu是平静了。不过,这个也是经过了多次才修好,前面几次,修复之后,还是会呼呼响。
ai编程,给我的感觉是,回不到过去手工编程的时代了,因为ai几分钟生成的代码,你手工编写,可能需要好几个小时修改调试。不过,前提是,你要能够判断代码是否正确,比如ai给你生成了一个rm -rf /*,那就game over了。