ChatGPT时代,我们可能站到了自然语言编程的大门口

大火,我现在有种感觉:我们可能站到了自然语言编程的门口,一脚下去,也许能把门踹开 。
当然,也可能会踢到一块铁板 。
回顾我们的编程之路,基本上就是一个编程门槛不断降低的历史 。
最早的一批前辈们通过手工插拔电路的方式把程序输入计算机,每次编程都得好几个小时,甚至好几天 。
冯诺依曼架构出现后,程序可以存储在内存中,随意变化,一下子方便了很多,但是编程依然是非常低级的汇编,上古的大神们用汇编写Unix等操作系统、编译器,这时候程序员是珍稀动物,编程门槛太高了 。
/COBOL/BASIC/C/C++/等高级语言的出现让编程难度降了一个等级,再加上80年代PC行业的爆发,编程行业开始繁荣 。
到了90年代,Java、、Ruby、等编程语言,让程序员更加远离硬件,远离内存管理,可以把目标聚焦到业务逻辑上 。
进入21世纪,企业为了应对快速的市场变化,对信息化的需求越来越高,迫切需要快速地实现业务,推向市场,于是low code ,no code 又形成一个巨大的浪潮,在界面上,通过拖拽的方式就可以编程了 。
再往下走一步,大家都非常明白,那就是自然语言编程 。
在之前自然语言编程大家都觉得是挺不可思议的事情,因为这需要AI理解自然语言,并且能准确地输出代码,这是一件非常难的事情 。
但是、通义千问等大模型出现以后,我们突然发现,自然语言编程出现了重大突破,我们可以告诉AI需求,让AI来生成代码了!
我们可以告诉AI:
我需要实现一个的的接口,用来实现,的属性包括id,name,,。
在几秒内,AI就可以迅速生成从最上层到最底层的代码,更让人震撼的是,它还支持微调的能力 。
我们可以说:“数据库访问用实现 。”AI可以迅速把数据库访问代码改成 。
当我们说:“把改为”,AI 马上可以找到所有相关代码,把改过来 。
这种微调的能力,远远超过了之前常见的代码生成器,AI似乎准确地理解了你的要求,对代码做了精确的修改 。
当然,对于某些极端的情况,AI会有些考虑不周,还依赖程序员的洞察力 。所以我经常说AI能生成95%的可运行代码,剩下的5%需要则依赖程序员的功力 。
这还只是生成代码,程序员还需要把代码从聊天窗口复制到IDE中去运行调试 。说实话,这个过程也挺烦人的 。
钉钉刚刚发布的AI生成应用场景突然又让我看到了新的方式,在通义千问这个大模型的支持下,它不仅仅是用自然语言生成代码,而是直接生成应用,一键部署,然后直接在钉钉群聊里运行起来!
它甚至通过拍照的方式就可以生成一个应用,让输入的方式不再只有文字:
GPT-4在之前的演示中,也展示了根据图片生成代码和网页的能力(这个能力现在没有正式发布,让大家使用),但是钉钉已经可以直接生成可以运行的低代码应用,比如常见的工单管理系统、门店巡检系统、客户信息管理系统都可以交给AI去帮我们开发出来,这实在是太棒了 。
如果自动生成的应用程序不满足要求,也可以通过继续对话让AI帮你修改应用,添加选项、删除字段 。
拍照生成应用这个微软也可以做到,但我发现钉钉还剧透了一个很棒的能力,就是智能推荐选项字段,帮你补全 。这个能力虽然看起来简单,但是技术上实现起来难度应该很大,需要给大模型输入大量的行业know how 。
钉钉把自家宜搭低代码的应用模板给大模型学习,就等于是把各行各业(制造、医疗、建筑等)及各类高频业务场景(人事行政、财务报销、生产制造等)都喂给了AI,构建了丰富的领域业务数据 。