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

news2024/11/18 8:44:50

ChatGPT大火,我现在有种感觉:我们可能站到了自然语言编程的门口,一脚下去,也许能把门踹开。 

当然,也可能会踢到一块铁板。 

回顾我们的编程之路,基本上就是一个编程门槛不断降低的历史。 

最早的一批前辈们通过手工插拔电路的方式把程序输入计算机,每次编程都得好几个小时,甚至好几天。 

0d58e5ebbe112f7c340f7c31b36cd59c.png

冯诺依曼架构出现后,程序可以存储在内存中,随意变化,一下子方便了很多,但是编程依然是非常低级的汇编,上古的大神们用汇编写Unix等操作系统、编译器,这时候程序员是珍稀动物,编程门槛太高了。

76486822324c0beb4772a31a0642d043.png

Fortran/COBOL/BASIC/C/C++/Pascal等高级语言的出现让编程难度降了一个等级,再加上80年代PC行业的爆发,编程行业开始繁荣。 

到了90年代,Java、Python、Ruby、JavaScript等编程语言,让程序员更加远离硬件,远离内存管理,可以把目标聚焦到业务逻辑上。 

进入21世纪,企业为了应对快速的市场变化,对信息化的需求越来越高,迫切需要快速地实现业务,推向市场,于是low code ,no code 又形成一个巨大的浪潮,在界面上,通过拖拽的方式就可以编程了。 

再往下走一步,大家都非常明白,那就是自然语言编程。

在之前自然语言编程大家都觉得是挺不可思议的事情,因为这需要AI理解自然语言,并且能准确地输出代码,这是一件非常难的事情。

但是ChatGPT、通义千问等大模型出现以后,我们突然发现,自然语言编程出现了重大突破,我们可以告诉AI需求,让AI来生成代码了! 

我们可以告诉AI:

我需要实现一个Product的RESTful的接口,用SpringBoot来实现,Product的属性包括id,name,description, imageUrl。

在几秒内,AI就可以迅速生成从最上层到最底层的代码,更让人震撼的是,它还支持微调的能力。

我们可以说:“数据库访问用MyBatis实现。”AI可以迅速把数据库访问代码改成MyBatis。

当我们说:“把imageUrl改为image_url”,AI 马上可以找到所有相关代码,把imageURL改过来。

这种微调的能力,远远超过了之前常见的代码生成器,AI似乎准确地理解了你的要求,对代码做了精确的修改。

当然,对于某些极端的情况,AI会有些考虑不周,还依赖程序员的洞察力。所以我经常说AI能生成95%的可运行代码,剩下的5%需要则依赖程序员的功力。

这还只是生成代码,程序员还需要把代码从聊天窗口复制到IDE中去运行调试。说实话,这个过程也挺烦人的。

钉钉刚刚发布的AI生成应用场景突然又让我看到了新的方式,在通义千问这个大模型的支持下,它不仅仅是用自然语言生成代码,而是直接生成应用,一键部署,然后直接在钉钉群聊里运行起来!

它甚至通过拍照的方式就可以生成一个应用,让输入的方式不再只有文字:

19e4f6944eb538b9c8d995429af12c6a.png

GPT-4在之前的演示中,也展示了根据图片生成代码和网页的能力(这个能力现在没有正式发布,让大家使用),但是钉钉已经可以直接生成可以运行的低代码应用,比如常见的工单管理系统、门店巡检系统、客户信息管理系统都可以交给AI去帮我们开发出来,这实在是太棒了。 

如果自动生成的应用程序不满足要求,也可以通过继续对话让AI帮你修改应用,添加选项、删除字段。

58b6d3a57647dad5df4a35f29df8fe32.gif

拍照生成应用这个微软也可以做到,但我发现钉钉还剧透了一个很棒的能力,就是智能推荐选项字段,帮你补全。这个能力虽然看起来简单,但是技术上实现起来难度应该很大,需要给大模型输入大量的行业know how。

钉钉把自家宜搭低代码的应用模板给大模型学习,就等于是把各行各业(制造、医疗、建筑等)及各类高频业务场景(人事行政、财务报销、生产制造等)都喂给了AI,构建了丰富的领域业务数据。

有了领域业务知识,大模型在生成应用时,对业务人员提出的需求理解就会更加准确,生成的应用也更加精准。

这种能力对于不懂代码的业务人员是非常便利、非常友好的,他们不需要再依赖程序员去实现类似的需求,自己分分钟就可以把应用开发出来。

这类拍照或者自然语言生成的应用,结合我去年给大家介绍过的钉钉酷应用能力,还可以实现一键把应用部署在群聊里。通过动态卡片的方式,让业务人员在一个群里就能完成人机交互,聊着天就把事儿给办了。

看到这里,你肯定会有这个疑问:AI都支持自然语言编程了,这么强大了,它能完全替代程序员吗?

对于初级程序员来说,如果只会做CRUD,AI的威胁非常大,因为明确的、有规则的需求对于AI来说是小菜一碟,分分钟搞定。

对于高级程序员来说,在编程中也少不了增删改查,这时候AI就是一个非常好的帮手,因为对于繁琐的、重复的代码工作,都可以交给AI来完成。在这个过程中,高级程序员只要去“指导”它,“引领”它就可以了,减少了无效的时间浪费。

高级程序员可以把自己的精力放在更需要创造力的工作上来,对于现在的AI来说,让它直接生成巨型的复杂系统,它还是力不从心的。

比如我们告诉AI: 

我要创建一个电子商务系统,包括用户管理,商品管理,订单管理,仓储管理等常见的功能,需要支持秒杀活动,优惠券,积分系统等功能,帮我把代码都写出来。 

AI是绝对不可能给你实现的,因为这样的需求太模糊,如果用流程图,界面图,Use Case等把这些大系统的需求描述出来,没有几百页是不可能的。即使你把这几百页文档都灌给AI,它也不可能给你完整地实现了。

高级程序员需要出马,把大型系统进行分解,形成各个模块,然后让AI介入生成代码,生成应用。

可以看出,自然语言编程已经发展到了一个非常高的层面,可以成为程序员提升效率的巨大助力。

在未来,没有纯粹的码农,每个人都需要深入理解自己所面临的挑战,并通过智能化的生产力工具去快速解决问题。

钉钉发布会的几个场景演示,虽然只是工作智能化的一小步,却展示出了远超“通过聊天生成代码的能力”,可以直接创建、部署,在群里运行应用,真是非常方便。

工具的价值就在于能否更好地服务于人,用机器提升人的生产力。

我们可以畅想,随之智能化的进一步发展,开发应用的能力会不会就像用Word一样,变成一种普遍的能力呢?这是一件特别有想象力的事情,谁都难以预料,只能交给时间来证明了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/451667.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OSCP-Fail(rsync、fail2ban提权)

目录 扫描 rsync 提权 扫描 rsync 基于nmap,确信将进一步研究rsync。 为此,将使用netcat使用的rsync枚举。 使用netcat,我们可以列出rsync托管的当前共享。 我们看到“fox”和“fox home

万字长文带我弄懂JS基础!!!

js的学习笔记 文章目录 js的学习笔记JS基础篇js 的输出js的基本语法js语句js的注释js的变量js数据类型简介js对象简介js函数简介js的作用域js中的事件js字符串js运算符js条件语句js循环for/in循环 js的break和continuejs之typedefnullundefinedjs类型转换**constructor属性**St…

人类思维VS AI智能:谁是未来的胜者?

在“人工智能(AI)是否会取代人类”的问题上,谷歌的首席执行官埃德拉里博斯(Ed Larrabee)说:“我不认为 AI会取代人类。”而英国首相鲍里斯约翰逊则认为:“我们不能让 AI成为我们的敌人。”现在&…

MySQL解压版安装步骤

百度网盘有安装版、解压包安装包以及visual插件 链接:https://pan.baidu.com/s/1XXvWa40FYX5mtqofW_knIg 提取码:ky2q 下载地址:https://downloads.mysql.com/archives/community/ 解压压缩包,进入bin目录,地址栏输…

从C出发 26 --- 指针 : 一种特殊的变量

指针是变量, 是特殊的变量 在计算机内部逻辑上是一个一个存储单元,每个存储单元是一个字节 8 G /16 G 表示的是存储单元的数量 如果要确定某一个具体的存储单元,要怎么办? 可以编号,这里的 0 1 2 3 指的就是内存地…

如何利用TURF分析来对餐厅菜品进行组合搭配?

1.数据源说明 1.1 数据简单说明 本数据源采用的是某餐厅8月份的销售明细表。本文会主要用到一下字段值: order_id, 产品订单号dishes_name,菜品名称counts, 消费数量amounts,消费金额 1.2 数据截图 以下是数据源的截图 1.3…

【移动端网页布局】移动端网页布局基础概念 ⑤ ( 视网膜屏技术 | 二倍图概念 | 代码示例 )

文章目录 一、视网膜屏技术二、二倍图概念三、代码示例 一、视网膜屏技术 PC 端 和 早期的 移动端 网页中 , CSS 中配置的 1 像素 对应的就是物理屏幕中的 1 像素 ; Retina 视网膜屏幕 技术出现后 , 将多个物理像素压缩到一块屏幕中 , 可以达到更高的分辨率 , 画面显示效果更好…

【Linux】磁盘与文件系统

目录 一、磁盘的物理结构 二、磁盘逻辑抽象 三、文件系统 1、Super Block 2、Group Descriptor Table 3、inode Table 4、Data Blocks 5、inode Bitmap 6、Block Bitmap 四、Linux下文件系统 1、inode与文件名 2、文件的增删查改 2.1、查看文件内容 2.2、删除文件…

Node工程的依赖包管理方式 | 京东云技术团队

作者:京东零售 陈震 在前端工程化中,JavaScript 依赖包管理是非常重要的一环。依赖包通常是项目所依赖的第三方库、工具和框架等资源,它们能够帮助我们减少重复开发、提高效率并且确保项目可以正确的运行。 目前比较常见的前端包管理器有 n…

uniapp打包app,调用相机功能时在真机调试可以,打包成app之后不行

在打包成app之后报如图所示错误: 解决: 在app模块配置勾选上相机这一项,如图: 这是主要针对上面这个报错的,当然还有一下情况比较类似,就是相机功能在真机调试下可以,打包之后就不行了。我总结…

第九章_Redis哨兵(sentinel)

是什么 吹哨人巡查监控后台master主机是否故障,如果故障了根据投票数自动将某一个从库转换为新主库,继续对外服务 作用 哨兵的作用: 1、监控redis运行状态,包括master和slave 2、当master down机,能自动将slave切换成…

面试京东失败,再看看两年前的面试题,根本不是一个难度

刚从京东走出来,被二面难到了,我记得学长两年前去面试的时候,问的问题都特别简单,咋现在难度高了这么多。面试前我也刷过很多的题和看过很多资料,后来想想,这年头网上软件测试资料泛滥,软件测试…

Linux使用crontab编写定时任务

Linux使用crontab编写定时任务 安装 yum install -y crontabcrontab服务启动与关闭 service crond start #启动服务 service crond stop #关闭服务 service crond restart #重启服务 service crond reload #重新载入配置 service crond status #查看状态chkconfig crond on …

【广州华锐互动】火电厂3D沉浸式事故体验,提高员工安全意识和应急处理能力

火电厂是一种重要的能源生产方式,但是在运营过程中也存在着一些风险和隐患。为了降低火电厂事故的发生率,提高员工的安全意识和应急处理能力,火电厂3D沉浸式事故体验系统成为了一个重要的工具,为企业安全管理起到了不可替代的作用…

python 第一章——简介与环境搭建

文章目录 前言一、什么是编程语言二、下载python解释器三、安装pycharm 前言 本系列教程目录可点击这里查看:python教程目录 python在当今世界的流行度应该已经不用我多说了,这可以从TIOBE的榜单中可窥一二 作为一门面向编程新人的语言,它…

【无标题】基于K-means聚类的多智能体跟随多领导者算法

源自:系统仿真学报 作者:袁国栋 何明 马子玉 张伟士 刘学达, 李伟 摘 要 为防止多智能体集群跟随多个领导者时编队混乱,提出了3种K-means聚类算法,将集群分成与领导者数量相同的社区,社区内的智能体将跟随同一领导…

解决PDF转Word问题:三种免费转换方法大比拼

在职场办公中,我们经常会遇到将PDF文件转换为可编辑的Word文件的问题。虽然网上有很多PDF转Word工具,但许多工具要么需要付费,要么转换后的文件无法直接编辑。所以,你可能会想知道是否有免费且效果好的PDF转Word工具。在本文中&am…

基于Java+SpringBoot+vue+element疫情药品采购出入库系统设计实现

基于JavaSpringBootvueelement疫情药品采购出入库系统设计实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联…

使用opencv进行场景识别

opencv场景识别 文章目录 opencv场景识别一、需求1、现状2、设想 二、模型使用1、opencv dnn支持的功能2、ANN_MLP相关知识3、图像分类模型训练学习4、目标检测模型5、opencv调用darknet物体识别模型 三、模型训练1、现状2、步骤-模型编译3、步骤-模型训练 一、需求 1、现状 …

配置Maven(精简版)

一.下载配置相关版本的maven 1..下载maven文件 maven下载官网:点击 点进去官网,点击Download 往下拉找到这个 下载就可以了,下载完成后找地方解压。 2.配置环境变量 变量名:MAVEN_HOME 变量值:自己的安装目录 编…