我最近在练拼音打字,想多打点字,所以发帖有点频繁
我个人认为,AI辅助编程并不是降低了编程门槛,反而我认为是又拉高了编程门槛,为什么会有这个看法呢。
一、编程并不光只是写代码
我们程序员在日常工作中,其实工作环节有很多,最开始的用户需求,再到内部的需求评审会,架构评审会,具体实现设计,然后才是到编码环节。
这些都是客观现实,如果不存在前面的这几个环节,根本就无法到编码这一步,但是一个不懂技术的人,他真的能靠AI去完成这些内容么,这个问题对于站内的佬肯定已经不言自明了。或者也不说得那么绝对吧,但是其实最终产物也不会怎么样。
二、你不懂的技术,AI也不能帮助你更多
相信佬肯定都体会过,你给AI发送指令:帮我写一个XXX,然后最终出来的可能是个html或者更烂的东西。本来我们预想的是一个完全可直接食用的,但是由于不懂内在技术,并不清楚这个demo真正要运行起来,还得需要一个后端,为你保存数据,做逻辑运算,以及其他工作。导致AI根据你的指令反馈了一个结果,然后你也不知道该怎么进行下一步了。
三、程序员修的其实是内在
程序员比起外加功夫,修的更多是内在。最原始基本功比如:计算机组成原理,CPU核心态/用户态,DMA等,然后就是编程基本常识:二进制、机器码、汇编、高级编程语言、进程、线程、协程/虚拟线程、GC等,最后才是:需求理解、架构设计、技术实现,编码。而AI本质上,真正能够帮我们做的,其实只有编码,帮助我们缩短编码时间。其实佬都已经有这个意识了,只不过无法说清楚而已。为什么这么说,大家都其实能体会到什么模型写代码好,什么是GC模型。因为我们懂这个东西怎么去写才是好的,而不懂技术的无法分辨。
如何发挥AI的最大功效
编程智能体的plan模式真的有用么,其实真的感觉不出来多少,反而是自己做好了一切设计,比如架构设计,技术实现,用哪些技术栈,在什么环节用哪些设计模式,数据库设计该怎么做,把这些做好之后,丢给AI去执行,相信大家对于AI编程会有不一样的效果。
再提一句,我这样说是不是等于推翻了我之前发的所有关于harness言论的帖子。其实并不然,harness只是想尝试把人做的工作的思维转给AI做,以人做某一件事方法形成固定流水线去做,可以把harness理解为一小部分的自己。因为harness是固定,是不可变的思维,harness无法自我升级,而当人的思维升级后,就知道harness有不足,就会想到给harness升级不足。agent = model + harness,harness就是环节1、2、3、4的认为设计流水线,这里面的model其实简单点看甚至都可以认为是个动态的事件驱动(这里吐槽一下:专门讲这一块的帖子被举报没了)
结语
AI的出现,只是帮助我们更快地做认知内的执行,需要学习的技术,还是得修炼自身