AI编程革命:代码的未来,由AI重塑!
这周五在 X Space 上和 CSDN 的闫辉、以及 AutoCoder 的 William Zhu有过一次《AI编程革命:代码的未来,由AI重塑!》为主题的对话,我把文稿整理了一下。
重播地址:https://x.com/i/spaces/1ynJODZWVoZxR
闫辉:很高兴大家今天进到这个Twitter Space里面,做这一场AI编程的主题讨论。我们很高兴邀请到两位熟悉的朋友 - 宝玉和海琳。我们先请两位嘉宾做一下自我介绍,宝玉你先来。
宝玉:很高兴有机会在这里讨论AI编程。我本身是程序员,日常也用AI编程比较多。平时在Twitter上、微博上也有一些相关的分享,很高兴今天有机会跟大家一起来讨论这个话题。
闫辉:OK,海琳。
WilliamZhu:我叫William。现在关注两个方案:第一个是最近的大模型,第二个是我从三月份开始做的一个AI编程工具,已经卖给大家使用。
闫辉:欢迎大家关注我们的两位嘉宾。我们接下来有一系列的AI对话栏目和Twitter Space栏目。AI编程现在真的特别热,我自己也是一个重度使用者。我是属于非程序员专业出身,但因为有了AI之后,让我感觉大大拓展了自己的能力边界。不同的人可能看待这个事情感受不太一样,想请两位嘉宾站在个人角度和立场谈一下你看到的AI编程发展到什么样的阶段,你自己的感受是什么。宝玉先来。
宝玉:我是一个专业的程序员,应该说写程序写得还是不错的。从背景来说,我最开始是做Web编程,像用ASP、JavaScript。这很早了,还有ASP.NET,后来又做过iOS开发,做过很长一段时间的前端开发,也做过技术管理。我应该算是一个资深的专业程序员。
用AI的话,我是从GitHub Copilot就开始用,从最开始的测试版一直到后面。去年开始用Cursor,虽然最开始我也用了,但之前其实它一直不太好用,到去年它连上Claude之后,确实变得很强了。最近用得最多的是Cursor加 o1 Pro。我花了200块钱一个月在用Pro,是相当于非常重度地每天在使用AI编程。作为一个资深并且重度使用者来说,我觉得还是有一些发言权的。
我先说它比较好的地方。
第一,它能让你很快地开始一件事情。这件事情就是如果你有编程开发的经验,很多人就知道万事开头难,你有时想做一件事情就会老是拖着。很多人都有拖延症,我自己也有。拖着就是因为有时候它就差那一点,老是有一些bug过不去,或者是一些算法太复杂了。但是用AI编程的话,特别好的一点就是它能让你有一个还不错的起点,让你可以开始。
比如说我现在有一个UI,我直接截个图发给AI,就可以做个界面出来。虽然它做的不是跟设计稿很一样,但是我有一个可以开始的东西了。或者说我要写一个模块,像我前面写了一个字母的编辑器,是基于一个专业的编辑器来二次开发的。这个编辑器我以前没写过,按我以前的做法我要去查大量的资料文档,去找很多开源项目来参考。现在我只要在 o1 Pro 里面把要求提出来,让它给我做一个很基本的,它就给我把基本的做出来,然后我基于它上面再去开发。
它把我最难的那一步帮我很好地做了,就是怎么开始一个项目,怎么开始一个模块,这一点对我来说感触很深,是对我提升特别大的一块。对于新手来说可能也是一样的,很多新手来说他们最大的问题在于搭环境,这些各种问题。现在也是可以相对轻松地去跨过这一步。
另外一个就是在你去写的时候,你的心智负担相对来说会小一些。我以前写编程,虽然说有时候你写出来一个东西会很有成就感,但是更多的时候你其实是很累的,因为你要高度精力集中,你要花很长时间去一直coding,甚至可能你时间太长你颈椎、腰椎还可能会有一些问题。现在的话,它更多的变成了一种结对的方式。
很多时候像我用Cursor编程也好,用 o1 Pro 来编程也好,都是我自己在脑子里面把模块构思好。我大概需要一个什么样的模块,输入输出是什么。我想清楚了之后,去把它描述清楚,然后把相关的引用、相关的一些参考的代码这些事情都把它加上之后,然后交给它去做。这样的话,我就不需要陷入在很多细节里面。我的心智负担相对来说就小了很多。一天下来,活没少干,但是我其实有很多时间去摸鱼了,相对就比较轻松一点,心智负担就小了很多。
但这个也看情况,像我这样专业程序员的话,因为我是很清楚地知道这个模块它是怎么拆的,以及它的输入输出是什么,包括它生成代码我是可以二次去review的。我会知道它生成的答案是不是我想要的。所以有时候一次不够,它给的结果不满意,我可能会调整提示词,然后让它生成几次。只要这个模块是我很明确的我知道的话,那它基本上几次之后我就能得到我想要的结果。
但如果你不是一个专业的程序员的话,这个可能不一定是优势,因为你生成的结果,你不知道它是不是好的,或者它如果出问题,你debug可能还是会很痛苦。这个我是作为一个专业程序员来讲,对我来说我觉得这一点是很解放我自己的一个事情。我不需要太多地去关注很多细节上的东西,我可以更high level地去做一些事情。
当然还有一点就是说有时候在写一些东西的时候,我可能不太愿意写注释,可能不太愿意写单元测试。现在有了AI编程之后,写这些东西就很轻松了。我会在提示词里面,或者是在Cursor的输入框里面加上让它加上注释。然后有些我就让它先自己来帮我写测试,我只是关注输入输出。所以在这些以前比较零碎的、你有点想偷懒的事情,现在它也可以把这些脏活累活也做得不错。
那还有一些不足的地方,我觉得未来还有发展潜力的地方。一个主要的就是现在比较火的叫Agent。也就是说,我一个模块现在我其实是需要还要花费精力去拆分,去把上下文手动地去把它都串起来,然后要去写提示词。然后它结果我要review,然后我要自己去运行去做测试。但是我希望的,至少对它未来期望的是,我以后只是把需求跟它描述清楚,它能去帮我把这个事情完成。
这一块现在我觉得可能距离还有点遥远。从现在Devin也好,Cursor也好,他们已经开始在朝这个方向努力,但什么时候能达到,现在也很难说。也许可能几年,也许要很多年才能达到这种理想的状态。但不管怎么样,我觉得这是还有提高的地方。
所以虽然说我现在用了AI编程,我效率有提升,但是它本质上其实是这种结对的方式,有个人在帮你写一些体力活。你也其实还没有完全真正地让这个生产力有一个质的飞跃。它可能就是对我来说可能提升了50%的开发效率,但是它不是说你可以完全地一个人可以雇佣很多AI,然后它可以几倍地、成倍地提升效率,不是说你真的一个人可以开公司这种状态。这个可能还是目前来说还比较欠缺的。
另外对其他人来讲,比如说新手来讲的话就是,AI这个东西虽然说很强,但是你真的要用好的话,它还是要你要有编程基础的。否则的话你在它生成了很多代码后,你不知道它是好的还是坏的,或者说它生成的代码有问题,你很难定位到问题。但另外一方面,由于它能很快地帮你生成,你又产生了一种依赖的心理。包括我有时候也会这样,就是说我明明可以自己写的,我就会让它写,但是你写着写着发现,其实它反而降低了你的效率,因为有时候你要花很多时间去调整提示词,你要反复地等它生成结果,review它的结果。它的结果不是你想要的,你要调整。
这样下来,对于有些工作来讲的话你可能还不如自己来写。即使像我这样一个比较专业的程序员是这样,那可想而知像一些新手的话,它更是要依赖这个AI,但是AI又完全靠不住。以前没有AI的时候他会自己去写,现在有了AI他就会有依赖性,他就不想去学这些很苦很累的底层知识。我觉得可能也是一个潜在的问题。我先大概就讲这些,后面我们可以还回过来,再就一些细节进行讨论。
闫辉:好,感谢宝玉讲的感受。接下来那个William,你也来谈一下你现在的感受。
WilliamZhu:我觉得宝玉讲得很中肯,因为其实宝玉的内容我也有在看。宝玉是从一个使用者的角度去阐述现在大模型、AI辅助编程能做到什么程度,实际上是说你越专业的程序员,它的加速效果会越好。然后如果你搭配好一个合适的AI辅助编程工具的话,那对于普通的用户可能仅限于做一些demo级别的,因为很容易说你可能遇到了一个问题,然后这个AI它会给你绕进去,然后它走不出来,这个是很容易遇到的。
我这边就不讲宝玉说使用者的角度了,因为我是做AI辅助编程工具的,所以我就从AI辅助编程工具当前的发展状况来描述它当前到了一个什么样的级别。我们从最早的23年的GitHub Copilot开始,我给它做了一个区分。那个时候是叫自动代码补全,也就是我们大家可能经常用的tab。那个时候我其实不太认为它是一个AI辅助编程工具,因为它只是一个更smart的自动补全。
后面Cursor出来之后,实际上是把它带了两个新的东西进来。第一个是tab tab,实际上是一个tab plus,也就是说我编写代码,它会按tab它会自动补全,同时你还可以再按tab,然后它会跳到下一个可能它认为你要改的地方。这实际上是一个很大的进步。目前我经常写代码的时候,或者改一些变量名,我会使用这个功能。
然后后面就引入了chat,也就是相当于把Web版的模型嵌到IDE里面去了。但是那个时候和代码其实没有什么太大关系,因为在那里边聊天的内容它没有办法自动合并到代码里面去。所以Cursor后面又推出了叫apply的功能。这个是我们认为的第一个进化,就真正意义上的AI辅助编程的来临。就是我们在聊天框里面跟你聊天,聊天完之后它产生的代码,你是可以点击apply就合并进你原始的code base里面去的。
Windows 11出来以后,实际上是Cursor的Composer出来以后,我们就进入了一个叫write的模式的阶段。这个阶段是什么样的阶段呢?就是我们真正意义上实现了多文件输入、多文件的修改。我们经常会看到一次需求可能会修改三个文件的八个block。不同的block其实就是文件不同的区域。目前已经可以很好地做到这一点。就是大家经常使用的包括Cursor、Windows 11,目前都已经达到了write级别。
到了write级别,我们认为还是不够的,实际上可以再往前走一步,我们认为是一个叫commit的级别。commit级别目前全球应该就AutoCode.chat,就是我做的那个工具,目前是在往这个级别去探索的。这个级别是什么含义呢?我们认为就是像刚刚宝玉说的,我更多地应该是作为一个需求提供者以及一个最后的review和确认者。中间的写代码的过程应该是由大模型来完成的,只是目前大模型它的能力边界还不足以说让你提一个很泛的需求。你必须得是有一个专业知识,然后去进行一个拆解。当然我们也可以让大模型拆解,但实际上它会让你的效率反倒降得更低。
commit级别就是说,我提完一个需求,粒度足够合适的话,它会自动给你提交一个commit,接着你应该进入review的界面去看这个提交是不是合理。如果不合理的话,你就返回;如果合理的话,那你可以继续往下迭代,是通过commit来进行迭代的。到了commit阶段以后我们就第一次说,我们可以说一个需求给到一个人去修改,然后他会给你提交,你来review,非常像我们GitHub里面的这种开源的写作。它已经具有一定的人格化。
再往下走的话我们认为是属于一个探索的阶段了,就是Devin的。我们认为它达到了一个PR的阶段,就是你可以提一个类似于pull request,然后Devin会全程自己来主导完成,中间可能会让你去确认一些步骤。这个过程中所谓的需求拆解,实际上都是由Devin自己来完成的。这个意义上可能更接近于刚刚宝玉说的是说,有没有可能多个人去完成?或者说我说多个需求,多个人同时去完成?我认为Devin应该是朝着这个方向去努力的。
但是因为当前的模型能力其实还达不到说Devin那种的状态,所以Devin其实也是自己训练一套模型。目前整体的成本、效果和时间,其实都没有满足真实的场景需求。这个是总体来说,整个AI辅助编程的工具体系它目前所处的阶段和经历过的阶段。我们目前认为更贴近于程序员的,是达到了一个commit的阶段。离PR的阶段目前来说还是有一定的距离。
闫辉:好,谢谢William,他很专业,一直在做这方面的工具。那我自己作为一个稍微懂一点点技术,但事实上也不是一个专业的开发者的角度,我谈我的感受。它从最初GPT出来之后能够通过单文件,比如说Python、Streamlit这种,能够写一些小的demo应用,单页的应用,我觉得已经把原来一些想法,或者需要一个小的工具自己可以写了。
但是确实是当Windows 11出来之后,给我一个巨大的感受就是,我也能做一个工程了。因为它可以去读取一个别人的项目制的这种文件,然后它去找到相关的文件,它去改那个相关的文件,一下子让你感觉说,我也能做一个产品,奔着产品级的去做。而且哪怕你是在任何一个平台,比如小程序、苹果iOS,这你都没做过,但是你仍然可以通过描述做一个不是那么重度的,但是又能满足自己需求,或者自己大脑中有想象力的那样的一个场景。
所以我就觉得真的是对像我这样的人来讲,就有巨大的个人能力的提升。对宝玉来讲,他觉得是个50%的效率提升,但是对我来讲,是一个0到1,甚至到10,到100的这样的感受。
所以我也想听听你们看到的其他开发者或其他用户的反馈是怎么样的。
宝玉:我确实因为经常在分享很多AI编程的话题,也参与讨论了很多话题,最近确实讨论得比较热烈。包括我自己家孩子,我也在让他用AI编程去学习。现在就是对新手来讲,我观察到的身边这种不太会编程的,如果是一个Web类型的应用,并且是原型级别的,那真的是现在做得蛮不错的。不用要求太高的话,你只是做一些信息咨询、信息页面,然后做一些简单的功能页,都是可以做得不错的。
但如果是一个项目的规模到了比较复杂的,尤其是你现有一些比较复杂的、成熟的代码的话,你让它去做的话,它可能会有不一样的感受。对于新手来讲的话,那基本上它就已经超出了它的控制范围了。
对于这种AI编程,现在来讲其实还是比较新的,所以大家每个人都在说,都在讨论。程序员的话觉得他们都试过,但真正的会日常经常用的,我倒是发现还比较少,不像Twitter上我们大家都在热烈讨论,好像似乎都在用。但就我身边观察到的一些专业人士来讲,他们反而是用的比较少。
比如我上次跟我同学吃饭,他说他用了一下,他做金融的,他对金融的最新规则不了解,所以他就不用了。还有的就是他们自己都是祖传代码,也没有训练过,所以就感觉是没法用的。这里面就是说你会用的,就像我这样已经会用的就知道,这些办法其实都有办法去规避的。
比如说像训练时间的问题,你可以去把相关的一些公式、资料都发过去,当工作上下文提供,那它其实就可以生成的。比如说像这些祖传代码,其实你在每次生成的时候你把以前历史的一些代码你都给带一下,因为现在上下文也比较长,像Cursor这样的,那也是可以用的上的。
还有有的像他公司有一些安全策略,是不允许用这些的,他只能等开源的。像国产的DeepSeek V3现在也做得很好,而且是开源的,估计这些慢慢的可以就加速一点,来普及了。
所以就是看起来很热闹,但是实际用的还比较少。有一部分原因可能是程序员心理上还是有点抵触的。你用这个东西不见得你会涨工资,但是你当真的把这个东西效率提升了你又隐隐的觉得我是不是可能会有一些失业的风险。我觉得从心底上可能感觉有些人可能心里还是抵触的,所以就我的观察来讲,可能还是普及度没有那么高。
另外确实有像这些怎么用提示词,如果没有人去带一下的话,这个坎儿也不太容易迈过去。所以还有个过程,就慢慢的需要像推特上这些人已经在大量的用,然后慢慢的去教身边的人,那身边的人慢慢的再去教更多的人,可能这样一点一点就普及开来了,但可能还是有一个过程。
闫辉:好,那William你来讲一下这个你看到的,因为你作为一个工具的开发者,你肯定接触到更多的人。
WilliamZhu:实际上这个东西它有一个误区,就是不管是程序员,还是很多同学,他都会认为当我使用这么一个AI的工具的时候,它应该足够的智能。就类似于经常可能我们最早的时候,我们刚去推广AI辅助编程的时候,推荐我们工具的时候,用户的第一认知可能是说"给我做一个百度"。他可能会直接讲这么一句话,然后你做出来的页面很简陋,不是他想要的那种。他会觉得这个东西不行。
这个是我认为很普遍的一个误区。第一,当一个新技术出生以后,普通人他可能会对它的预期会非常非常的高。然后一旦达不到预期,就很容易放弃,因为它需要有自己的一个舒适区。
第二个是说,无论是AI还是说我们以前使用的普通的IDE工具,或者说是任何的生产力工具,它本质上都是有一个学习成本的。这个学习成本你会发现,你越深入,它的学习成本就会越高。比如说像我和宝玉,可能都花了很多的时间,积攒了很多的使用经验,才能有效地提升自己的使用效率。
也就不会存在着,哪怕是AGI实现了以后也不会存在着一种工具就是说,你可能完全不需要学习,然后就能使用这个工具去制造软件、设计或其他东西。只要是生产力的工具,那一定会有一个学习成本,而且这个学习会因人而异,不同的人学习到的把握这个工具的能力是不一样的。
所以,这个也是当前很多程序员为什么没有去接受AI辅助编程工具的一个很重要的原因,就是它需要有非常多的技能的变迁。就比如说我们要更好的能去阐述我们的需求,我们要能在大脑里面很快地对于一个通用的需求进行一定的拆解。然后这个拆解的粒度,正好能够达到当前AI模型的粒度。然后不同的AI辅助编程的工具,它自身提供的交互,以及内部的一些逻辑,会决定了你需要使用一些不同的策略和经验。这些其实都是需要有个大量学习成本的。
因为AutoCode.chat我当时在做的时候,我一般对外去宣传的时候,你要想使用我的工具产生较大的生产力的提升,比如说50%,一倍,甚至更多,那么你可能就需要有三个月的勤学苦练的时期。就类似于我们以前去做培训,你就是要学习一到两个月你才能慢慢熟练掌握并且让它去提高很大的生产力。
实际上我遇到的,包括以前有一个资深的程序员,他其实一开始并不信任AI辅助编程,但是我跟他软磨硬泡了大概一个月,然后他慢慢去接受并且去使用,并且熟练,到现在离不开。他其实也花了接近有小两个月的时间,就他已经是一个资深程序员了。
这种情况就证明了说,至少在当前,AI辅助编程工具实际上是有一定使用门槛的。它可能是你第一次去使用的门槛不高,我可能就讲一句话而已,但实际上你真正要把它进行认真的应用于你的实际工程开发,它其实是需要有较高门槛的。只是它的技能发生了变化,不再是说我对编程的很细节的具体语法的使用,或者某一个库。那这个的话我可能有成千上万个库,然后我可能我的经验充足一些,那我就能找到更合适的库。现在这些可能对我们来说没有那么重要。AI它反倒在这一方面更擅长一些。
所以我想说的是,可能说当前有很多人没有去接受这个AI辅助编程工具,很大的原因是因为对这个东西有一个认知的错误。第二个是说,要想把这个东西发挥好,它其实需要有一个学习成本的。然后这个学习成本因人而异,每个人的效果也会有差异。
我可以给大家举一个我的例子,我从去年三月份开始做AI辅助编程工具,然后开始开发。我到去年八月份,那当时我用我自己的AI编程工具去开发自己的项目,然后到八月份的时候的在GitHub里面的产出,是23年一年的两倍。我现在的整体产出应该是至少可以达到23年的四倍左右。这个其实是非常惊人的一个提升,这也可能是很多人难以相信的一点,就是你能够产生带来这种四倍甚至更多倍数的提升,这个可能会超出很多人的认知,但实际情况是完全可以做得到的。这也是它的一个潜力。
闫辉:谢谢海琳。我从你的话里头get到几个点。当讲一个新的产品出来,如果被别人接受,你要有十倍提升,你今天提到只有四倍,可能是不行的。第二个你讲的面向专业如果要学几个月,对大家来讲还是心理负担比较大。
我谈我自己的感受,就是说对我来讲,从0到1或者到10,完全不能做到做一个项目,这个吸引力是足够大的。第二个就是我们也发现现有一些工具,尤其Cursor和Windows 11出来之后,你看它的宣传都让你五分钟十分钟做个东西,可能对于专业的开发来讲感觉并不是很吸引人,但是对于很多我觉得可能这个世界上有一些人有想法,你想,国外有一个Replit,其实也是面向非专业的开发人群,但是它给他提供了很有价值的一些东西。
而且最近也看到很多新闻,大家在讲就是说可能前端可能三个月、三年之后可能就不存在了这个工种,因为可以生成的更好。这在我自己的体会当中也有深刻的体会。
所以我在想,就是大家探讨一下:第一个问题是问自己,第二问你看别人,第三个就是说,我们认为这个AI编程这个工具可能会造成什么样的工作机会,或什么样的工种,或什么样的开发者人群。不管是语言角度,还是从前端后端数据库,或者说从非专业或者是行业的角度。你认为对谁的影响最大,哪些影响是真的会发生的,想听听两位的想法。要宝玉你先来。
宝玉:这是个很好的问题。上个月还是上上个月我写过一篇文章讲这个,就AI编程带来的软件工程上这个需求开发的范式的变化。它其实受益的是两端,一个是需求端,一个是高端开发这一端。
需求端就是像闫辉你这样的,就是你以前没有学过编程,不懂编程,但你有很多想法,你有很多痛点,你以前可能需要找个程序员来满足,但是你可能要找个专业的程序员,这个要么你可能要花钱,要么你得说服他,都是比较难的事情。但现在你可以自己动手,可以满足这部分需求。这一端就是不懂开发但是离需求近的这一端,不一定是产品经理,可以是任何人,其实可以满足得很好了。
包括我的孩子就是我教他编程是让他写Chrome的插件。他自己想在学校的网站上快速地看到通知,那他就可以借助这个工具去写一个Chrome的插件,然后在他的浏览器上随时可以看这个学校的通知,他不需要去打开学校的网站。这类似于这种小工具、小插件,以前可能是门槛很高的事情,现在可以很好的满足了。
但是另外一个角度,就是这一类的需求,虽然说是被满足了,但是它只能是面对特定的人或者特定的场景去满足,它没办法去做个泛化。就是这个需求不像以前的就是我做一个软件,这个软件可能是可以被成千上万的人去用的。像我孩子做的那个插件,它只能他自己用,或者他同学几个同学用,它没办法去把这个插件变成一个商品或一个产品去到处发布。
另外的话,如果说他想这个需求是很大的,他想进一步地去完善,他其实是做不到的,因为他还是需要有专业的知识。现在的AI还没有达到这个要求。但不管怎么样就是需求端的话是能更好的被开发,更好的满足出来,这是一个很好的现象,而且也是我觉得现在现阶段一个很大的意义。
另外一端就是专业的程序员提升效率。这个也是很明显的,就前面讲了它是四倍,那我觉着我可能没有那么高的提升,我感觉可能是50%左右的这个提升。因为这个算法完全取决于你做什么类型的工作以及你做的什么类型的产品,或什么阶段。它其实不同的阶段、不同的产品,它这个提升效率都是不一样的,甚至于说你语言不一样,它的效率都会有些影响的。所以这个数值的话是有待讨论的,但你要说十倍,我觉得现在还没有到那个临界点。但提升效率是很明显的,是一定的,这个是可以肯定的。
所以我觉得就是现阶段来讲的话,它影响的是两头的。一头是不懂编程,他离需求很近,可以去做些小工具,原型级的这种。另外一端就是会用AI编程,并且已经是专业程序员,知道怎么去拆分模块,怎么去把这个结果review、调试。那他们提升效率都是很明显的。
那中间就是刚开始学编程的也是有些好处,就是它可以随时随地的问问题。但是同样的就是它是个双刃的,就前面我讲的就是如果说它现在开始产生了一种对AI的依赖,它没有想着去独立地去做一些事情、去学习、去积累这个编程经验的话,它反而很难进步。就有点像我们上学的时候如果我们老想着抄作业,那其实是没办法去提升的,你只有自己独立地去完成作业,你才可能去把这门课学好。
闫辉:好,谢谢宝玉。那个我看有一些听众在想提问,我们等William这个回答完之后,我们接下来把开麦给听众来讲一下观点。William你继续分享一下你的观点。
WilliamZhu:实际上为什么说现在还是需要专业的程序员它才能有一个更好的提升,本质还是因为目前就像我刚刚说的,大模型它能够做到的级别还是有限。就我们说现在它可能能做一个比较小的一个commit,就是你可能大概有几个文件的一个修改。所以它目前还做不了特别复杂的,那就意味着如果你是一个经验丰富的,那在我们现实生活中也是,你作为一个资深的工程师,你可能带着几个刚毕业的小朋友,然后他们也懂编程,只是面比较广,但可能精度不够。那这个过程中的话,你指挥他们干活,那效率肯定会比你不懂程序会高很多,因为否则他们要自己去折腾很久。
第二个点是说它确实现在因为这个AI辅助编程,就你刚刚说的就是对于你开发一个纯自己定制化的、比较小的功能属性,那我觉着对于普通的用户他可能不太懂编程的,是可以做得到的。但是我前面说就是你为什么有一个那么长的学习周期呢,是因为说你真正要做比较严肃的软件级的开发,比如说一个已经可能是有几千上万个文件的一个大型项目的迭代,那你其实还是需要说有非常多的技能是需要学习的。还做不到说大家想象中的那样。那可能是说现实中和我们未来的一个目前还是有一定的gap。
然后说程序员自身的话,我认为的话可能最大的是说会有一个软件开发流程一定会发生变革,然后第二个的话是说程序员的自身的技能也一定要发生重塑。软件流程的话比如说现在我们认为全栈会变得更普及,就是至少前后端会进行一个合并,这是软件流程的一个变化。
然后对于我们的这种能力的发生变化,我更认为的是说你需要更好的是头脑清晰,然后对需求更好的理解,以及懂程序,然后进行一定的拆解,然后从而提高最大的一个生产力。这个可能不会再局限于我们刚刚说的就很多编码的细节,你需要去记忆大量的第三方库的使用,包括具体的一些语法细节,那这个技能可能会有所变化。这个就是我认为两边都会发生一个巨大的变化。
那对于企业的角度而言的话,我认为它最大的一个变革,或者未来的一个新的机会,那就是当软件成本足够降低的时候,那可能定制化会成为主流。
闫辉:好,现在请给那个Manaco,你可以讲话了。
Manaco:您好,可以听到吗?实际上我只是想分享一下我在使用AI辅助编程这几个月的一些内容。我的职业背景不是程序员,是一个设计师,然后最近也在做一些项目。自从 o1 Pro 发布以来,我就用它做了一些程序,包括一些设计一些算法之类的。我以前也只是了解做过编程,但自从用了这样的一个AI工具之后我发现我自己也可以做一些相对不错的程序算法出来。
比如说我在做一些跟脑机接口相关的程序,比如说用来采集数据,然后数据的一个滤波算法,包括对后面的这个模型的训练。我发现这个过程当中,我稍微懂一点AI的能力以及稍微懂一点代码,我就可以去组装出一个稍微可以用的程序出来。所以对我的这个触动是很大的,我觉得就是AI能力的提升会极大地降低这个准入的门槛,可能未来很多很多人都能够具备这样的一个技术能力。我特别大的一个触动就是这点。
闫辉:好,那看有没有其他的听众想问我们两位嘉宾问题,或者是分享自己的感受?
hello:各位嘉宾好。我有个问题就是我看到说Agent出来之后,将来Agent会有专门的编程语言,我在想以后会不会都变成自然语言来编程,比如说我直接说一段汉语,然后它就直接程序就出来了,然后界面就出来了。
闫辉:这个问题你不用问嘉宾,因为这个我就可以去回答你,因为现在我们谈的这件事就是自然语言出来代码这件事,你可能是听说,你要去试一下就就能感受到了。那什么青少年学编程那还有用吗?那以后它都变成语言都会改变,那学习编程还有用吗?来,宝玉,你来回答这个问题。
宝玉:关于编程语言,这个其实有几个我们要稍微定义清楚一点。我们说的这个编程语言,它,我们现在还说的这个编程语言其实还是指的就像C语言、C++、Java、C#、JavaScript这些编程语言。我们现在说的自然语言编程,它实际上是我们让AI理解我们的自然语言,然后AI基于这个自然语言去生成相应的编程语言,就相当于一个翻译。
有点像我们把英文翻译成中文,就类似于这样一个翻译,但是它前提是它要理解你的需求,然后变成一个程序能理解的需求。比如说你想做一个淘宝网页,那它就会去把淘宝的网页抓屏下来,然后看一下这个淘宝的网页长什么样子,然后把这些页面元素都给你摆出来,用JavaScript、React这些专门的组件库。但是它还是用的编程语言,只不过它翻译了一下。
那未来的发展的话,那其实有一个趋势就是说,一直是在讨论的,那既然AI能帮我们编程,那我们有没有必要让AI用我们的编程语言?因为这种像C语言、C#这些语言都是为人类程序员去开发的,去发明的。那如果像AI的话,其实AI它没必要用我们这些很专业的编程语言,也许它可以有一种特殊的这种编程语言,面向AI的一种编程语言,这可能是未来的一个有可能发生的事情,但是现在也没发生所以也不好说。
所以这其实是两个不同的概念。一个是自然语言它去理解,然后最终机器去生成app还是需要编程语言,机器能执行的语言,所以这是有点不同的。这就是说这个青少年要不要学编程这个事情的话,其实你不能狭隘地认为它只是一种语言,比如说像这种if else,for each这种,这对编程来说它其实是比较狭的一个点。
我们其实要把它放大就是如果我们要做一个软件,它编程只是它其中很小的一个部分。因为一个软件来讲的话,像我们今天讨论的用的这个Space,它就是一个软件,这个软件的话在开发这样一个软件,编程只是其中的一部分,因为最开始我们在做开发一个软件之前我们要定义需求,我们要UI的设计,然后我们设计好了之后,再去把它变成一个架构的设计,架构设计变成各个不同的模块,然后有很多人来一起来开发,最后把它们拼在一起,完了之后我们还要部署到服务器上,然后最后要去把它发布,然后还要测试,然后运营。
就是它是整个的是有一个叫软件工程是一个过程的,所以青少年你去学编程,虽然你看起来他学的是语言,我们去学Python,学这些编程语言,但是当它去构建一个软件,哪怕是一个非常小的软件,它也要经历这个过程,所以青少年去学编程,看起来学的是算法、学的是语言,但实际上他学的是软件工程,要去学怎么去基于用户的需求,去把这个需求抽象成需求的设计,产品的设计,再变成软件架构的设计,再变成代码,再去测试,去运营,它是整个的要去学这个整个过程。
你将来不管AI是怎么来发展的,那你未来就是十年二十年,你也许编程这块它可能AI已经越来越强,但是怎么去构建一个软件这件事情的话,它还是需要有专业的人士去遵循这个软件工程的过程。就像我们造房子,现在有3D打印造房子了,但实际上它这个建筑工程它还是依然存在的。
WilliamZhu:我其实非常认同,就是你现在在去学习编程语言,应该学习的是编程语言背后的一个体系,就像刚刚宝玉说的软件工程这一个体系,然后对这一个领域的了解。所以肯定是要去学的。比如你学Python,不单单只是为了学它的语法,你学到更多的是编程背后的一些思想体系,然后有了这个体系之后,你才能更好地去操控AI,去完成你想要的工作。
闫辉:好,接下来我们把话题给那个新通过的Pani,你可以问问题或者表述。
Pani:各位老师好,是这样的,因为我从事是Crypto行业,然后是我们做那个法务和商业咨询相关的。我们现在的工作可能相当于是要把全球的很多一些法律相关、监管相关,以及包括判例可能也要装进我们的大脑。当然,在此之前,就GPT没有出来之前,我们其实是这个脑力是不够用的。但是发现出来之后,我们现在的工作也基本上离不开它。
那我们就在想说,如果要去实现一个垂直领域,专门针对于全球Crypto这一个领域,那我当时有这样在想,但我发现现有的这个GPT-4.0其实如果说你深入去问,其实你也能找到相应的答案。那我在想说如果说我专门用数据包括以及我们的一些案例等等去喂养,那它的这个难度高吗,或者说它的实现成本高吗,这是第一个问题。
然后第二个问题是,如果实现之后,因为GPT-4.0也好,5.0也好,它这个迭代速度非常快。那么我已经完成了,比如说最早期我用GPT-3.5的时候,我发现也还行,也够用。但我发现后面迭代了一版,有了网络搜索这个功能,我发现那个咨询搜索这个功能也都非常强大。那我发现好像当时如果说我去找机器去做的话,去做微调的话,还不如直接用4.0。
所以我就在想说,就我现在如果说找人去完成这么一个垂直领域的AI产品,那么会不会做过后,可能几个月后半年后又出来GPT又出来一个新的版本,那么它们的使用效果,甚至会比我这个要更好?这个是我比较纠结的。
宝玉:我大概理解了。就说我简单先重复一下,就是确认一下是不是我理解的对。就是说你这个问题就是,你在做一个行业领域的应用,但是你纠结的地方在于这个模型一直在升级,你可能以前去花了很多精力去针对你的行业的垂直领域的一些用例、一些案例去微调,但是发现就是模型一升级,可能以前微调可能就不一定有必要或者说效果不好,是不是这个意思?
Pani:对,对,对,没错。
宝玉:大模型这个事情就是像微调这些事情我不是很专业,我只能是就我的理解,有限的知识来回答一下这个问题。首先模型升级之后以前的一些微调或者一些提示词确实可能是没太有必要了,因为模型一方面它的训练的语料越来越多的话,你可能以前那些场景可能就覆盖掉了。一些知识库它就已经有了,就没有必要了。
另外一个是你以前的可能一些用例,它能通过它模型的推理能力它其实也能推理出来,没必要说你还要去教它一遍。这也是个原因。所以这个矛盾确实是存在的。现在的话,我个人来讲我觉得微调这个事情是比较成本和投入比较高,然后反馈周期也比较长的一件事情。如果说你不是特别专业的一个团队,或者说是,我个人不建议你就是在这个上面投入太多,因为确实问题就是你的这个投入产出比不见得有那么高。
比较现在比较通行的一个做法,一个就是RAG,就是你如果说是偏这个资料类型的,那可能做RAG的话可能会投入产出比会高一些,而且受模型升级的影响会小一些。简单来说就是,你去把你的这些资料做向量搜索也好,就是以前的传统搜索也好,就是只是去检索你的资料,把它加到你的上下文里面去,这样的话可能会是一个性价比比较高的一种方式。
另外对行业来讲的话,我觉得你要想清楚你AI在你这个应用场景里面起到的这个作用。因为AI它只是一个工具,既然它是工具的话它不是无所不能的,你所有的事情你其实是有一个业务的需求,有一个业务的问题,你的软件或者说你的产品是去解决这个业务问题,那解决这个业务问题它本身是需要有一个workflow,一个流程的。
这个流程的话,你首先其实是设计你的整个的workflow,那也许你在AI之前你有一个workflow,现在AI之后,那你可以再来检查一下你那个workflow,你看看第一你的workflow是不是有必要为了AI去做一些调整?因为以前没有AI你可能要做很多手动去整理或者去梳理的事情,但现在有AI你可以让AI来帮你整理处理,那你的原流程可能能做些改进。
另外就是,如果说你的流程已经定下来,那哪些环节是AI去做的,哪些环节我们甚至AI可以更细一点,哪些环节是大语言模型去做的,哪些环节是以前的这种传统的这种小模型去做的,比如说图像识别这些传统的这些领域。你其实是要设计清楚的。你最后如果说你把流程设计清楚,把AI的角色在这个里面充当的角色想清楚的话,其实这个问题相对来说可能就会比较简单了。所以我觉得归根结底它不是一个AI的问题,而是说你这个业务的一个工作流你是怎么设计的,以及AI在这里面充当了一个什么角色。
Pani:好的,感谢老师。我再补充一点,其实我的想法是,因为很多客户咨询过来,它还是比较零碎的。我想说或者相对来说,他们有一个非常具体的问题,但这问题基本上是类似于像我做一个法律助理这样的角色,其实可以帮它完成80%的回答。或者想说像类似于这种产品,就我刚刚第一个问题,可能做一个最低配版本。因为我们团队目前是没有技术相关的人员,所以我在想说,宝玉老师你个人建议如果想做这样一件事情,你觉得找什么样的人才会比较合适?
宝玉:我觉得就是如果说像这一类的话,可能一个你要有一个产品的人才,就是你要能把产品定义清楚。其实这个是最最关键的一件事情。技术人才相对是好找的。如果你的产品定义的很清楚,就像我前面讲的就是说你怎么去结合AI的特点,去设计好你的工作流。
像你法律的咨询,那它是这如果是它你要设计一个客服的流程或者是咨询的流程,那你怎么让用户最开始借助AI去收集用户的信息,它的一些相关的信息,然后提取信息,然后再去找到对应的小的Agent去来帮你来做这个小任务,就像这样的你首先是要有一个懂产品的,就是把这个事情定义清楚我觉得这是最关键的。
当你把产品定义清楚,工作流定义清楚的话,你然后你其实你就只要是找相应的,可能比如说像普通的应用开发,懂怎么调AI的接口,这样子的技术人员就可以了。这样的人其实是很好找的,关键还是你这个产品定义的。
闫辉:好,那我们现在还是最终因为一个小时,我想这个话题讨论起来其实还非常多,最后请两位发言人做一个简单的总结吧。那个海琳你先来。
WilliamZhu:实际上AI辅助编程的话我觉得现在应该是两个层面的,第一个是专业给专业的人用,然后第二个是给我们普通人用。其实还有一种是上面你可以再封装一个产品,类似于像DeFi或者是多包,它这个是应该叫扣子这一类的工具,那其实都可以去完成很多这种工作流或者编程相关的工作。我觉得对于普通的就是没有技术人员的团队,我觉得可以直接使用这种上层的产品,它底层会给你封装掉相应的一些包括代码生成的细节。那对于传统软件开发,那我们就使用我们像Cursor、Windows 11这些编程工具就可以了。那整体来说我觉得应该是要去拥抱这个AI辅助编程的。
闫辉:好,宝玉,最后总结一下。
宝玉:我觉得我最后总结就是,这个事情对不同的人群,如果说你是一个专业的程序员的话,我是强烈地建议你要开始去使用。如果你还没有的话,那一定要去开始去用。你都不用说你就花钱报个班,你就是每天去想办法去把你日常的工作都用上,我觉得这个是非常重要的,因为它真的是可以提升你的效率。最好是你可能花点钱用Pro这种好一点的版本可能会让你效果提升更明显一点。像Cursor也有两个星期的试用,我觉得还是很值得去试一下的。
因为对于不懂的这个就是还不太专业的程序员,就是设置一个合理的期望会比较好一点,就是你不要指望他说像魔法一样,就你说一个自然语言就能给你生成一个复杂的软件,这是不现实的,但是我觉得也应该要去试一下。试的时候我建议就说,你要去试的时候,可以就说从小地方着手,就是从一个很小的事情开始。
可以优先去,你不一定要一开始就上手像Cursor这样子的专业的编程工具,你可以像用William的AutoDev这种在线的平台,还有像Replit,像board.new这种在线的,不需要你本地搭环境的,然后你就先把它用起来,然后你可以做一些简单的事情。最好你去有身边的朋友懂编程可以多请教,然后你去去满足一些你自己以前想去自动化、小工具、小脚本,去做一些这样子的事情,我觉得这个可能会有意想不到的收获,并不一定说你真要成为一个专业的程序员,但是你懂一点编程的技能总是好的。
闫辉:好,今天非常感谢两位嘉宾精彩的分享,也感谢这个积极提问的一些朋友。我们这个栏目是一个系列的栏目,欢迎大家关注我们的官方的号,也关注我们的嘉宾的账号。同时我们也欢迎大家关注我们AGI Open Network,这也是Ceding Global参与孵化的一个AI的项目,AI加Web3的一个项目,欢迎大家关注。
我想关于AI的话题其实可以聊的点非常的多,我们今天最后把宝玉讲了一些东西,我当时还列了一些问题,比如说具体到一些工具的发展,一些使用当中的一些经验。我最早我也付钱买Windows 11,然后现在发现这个开源也做得特别快,像clean加上这个VS Code就发展的特别快,其实整个的竞争势态确实非常的发展很快。包括大模型的基础能力也是,所以我想如果大家对这个系列感兴趣的话,欢迎大家关注我们的公众号,我们接下来会围绕着AI的一些的一系列的发展来进行一些探讨。
我们也欢迎宝玉、William到时候也持续的一起再去沟通交流。好,今天非常感谢各位嘉宾和听众,那我们今天的Twitter Space就到此结束,谢谢大家。
宝玉:谢谢大家。再见,我们还可以在X上继续交流。
闫辉:对,欢迎大家关注嘉宾账号。拜拜。
WilliamZhu:拜拜。