从 AI 代码生成模型到 AI 编程助手应用实战

2023-09-20 08:02:35

▼最近直播超级多,预约保你有收获

近期直播:《从 AI 编程助手到AI Agent应用实战》

随着科技的发展,软件设计方式也在不断地演进,从最初的面向机器,到面向过程,再到面向对象,面向领域,最后到现在快要成为可能的面向自然语言。在软件设计开发领域,我们一直在探索更高效的开发方式

 1 

AI 编程的发展史

AI编程的前身,自动代码生成或程序合成(Program Synthesis)一直是计算机科学领域长久以来的一大难题。

自从1945年阿兰·图灵构思的自动计算引擎中提到了一些机械化的指令可以让计算机自己生成,到现如今的 Codex,第一个百亿规模预训练代码生成模型,人们一直在探索如何让机器更好地生成和编写代码。

如今,基于大模型的 AI 编程工具,如Github Copilot,Cursor,Bito,CodeWhisperer和CodeGeeX2等,已经开始应用到实际的编程工作中,它们不仅可以生成代码,还可以帮助程序员进行代码补全、代码翻译、代码注释等任务,大大提升了程序员的编程效率。

想要了解AI编程有多强大,不妨先从了解AI编程工具入手...

 2 

CodeGeeX模型解读

CodeGeeX。其模型架构主要基于 GPT 的自回顾模型,包含40层 Transformer,总计参数量达130亿。

它的训练数据主要来自开源数据集和额外爬取的数据集,覆盖了23种编程语言,例如 Python、Java、C++、C、Go、JS、HTML等。在训练过程中,先将代码数据分词并标识符化(Tokenization),然后为不同语言文件加上语言标识。

模型训练框架和算力方面,基于华为的 Mindspore 1.7,使用了1536张昇腾910 AI 处理器。这个模型训练时长长达2个月,训练量达到了8500亿 tokens。

以上是CodeGeeX的一个基本情况,训练完成后,可以通过VS Code、IDEA、PyCharm 等插件进行使用,支持代码生成、代码补全、代码翻译、代码注释等交互模式。可以肯定,他的知识量和代码能力绝非个体可以比拟的,更不用说工作效率了。我们可以想象下未来的编程工作会是什么样子?AI编程将会带来哪些改变?

 3 

对AI编程的几点思考

以下是我深度研究和体验AI编程工具后引发的一些个人思考:

1、AI生成的代码是否还需要存储在代码仓库中?

2、需求变更后,是让AI重新生成代码,还是人工手动修改原来的代码?

3、在微服务分层架构模式的基础上,Serverless 架构是否会是一种更适合的模式?

3、对于程序员来说,从手工编码、到低代码、零代码、再到AI生成代码,这个新时代,时代在进步,繁琐 Coding 终究交由机器来完成,我们去从事更有思考深度的工作,做一个积极拥抱变化"马车夫"!

 4 

结束

总的来说,AI在编程领域的应用,不仅可以提高编程效率,还将推动编程方式的变革,开启新的编程时代,作为软件开发从业者的我们,享受科技带来的便利的同时,必然也会迎来相应的挑战。

为了帮助更多同学们掌握好 AI 编程的使用,今天我会开一场直播和同学聊聊 从 AI 编程助手到 AI Agent 应用实战请同学点击下方按钮预约直播,咱们今晚8点不见不散哦。

END

近期直播:《从 AI 编程助手到AI Agent应用实战》

👇点击下方预约👇

034b4c5361251a46049f54350dc2391d.png

这是我的第80篇原创 AIGC 内容

请点赞,在看,转发为我加油~

👇👇关注我👇👇

看更多 AIGC 内容

更多推荐

PT@全概率公式和贝叶斯公式@后验概率和信念度量

文章目录abstract完备事件组(划分)基本性质全概率公式例贝叶斯公式例对立事件下的常用形式先验概率和后验概率例概率作为衡量人们对客观事件的信念度量补充条件概率的链式法则MorethantwoeventsExample例Morethantworandomvariables(多维随机变量下的链式乘法法则)Example

Vue路由与nodejs下载安装及环境变量的配置

目录前言一、Vue路由1.路由简介是什么作用应用场景2.SPA简介SPA是什么SPA的优点注意事项3.路由实现思路1.引入路由的js依赖2.定义组件3.定义组件与路径的对应关系4.通过路由关系获取路由对象router5.将路由对象挂载到实例中6.触发路由事件的按钮7.定义锚点---路由内容完整案例二、NodeJS下载安

Java工具类:HttpUtil项目实战

步骤1.导入maven依赖2.编写工具类导入maven依赖<!--HttpClinet核心包--><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.13</ver

【Hash表】判断字母异位词-力扣 242

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kuan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,并发编程redis,kaf

计网第五章(运输层)(五)(TCP拥塞控制)

目录一、基本概念二、拥塞控制算法慢开始:拥塞避免:快重传:快恢复:一、基本概念若对网络中某一资源的需求超过了该资源所能提供的可用部分(供不应求),网络性能就会变坏。在计算机网络中的带宽、交换节点中的缓存和处理机等都是网络的资源。如果出现拥塞而不控制,整个网络的吞吐量(单位时间内从网络输出的分组数量)会随着输入负荷的增大

数据结构——查找(二叉排序树)

文章目录前言一、二叉排序树构造二叉排序树步骤构造二叉排序树步骤图二叉排序树的查找二叉排序树查找递归算法二叉排序树查找非递归算法二叉排序树的插入二叉排序树插入结点——递归算法二叉排序树插入结点——非递归算法二叉排序树的删除总结前言二叉排序树查找定义二叉排序树构造二叉排序树查找递归和非递归算法二叉排序树插入递归和非递归算法

【Python】pyecharts 模块 ⑥ ( 绘制柱状图 | pyecharts 绘制柱状图步骤 | 柱状图 x 轴 / y 轴 翻转 | 柱状图数据标签位置设置 )

文章目录一、pyecharts绘制基础柱状图1、pyecharts绘制柱状图步骤2、代码示例-pyecharts绘制柱状图二、柱状图其它设置1、柱状图x轴/y轴翻转2、柱状图数据标签位置设置pyecharts画廊网站:https://gallery.pyecharts.org/#/在该网站可查看官方示例一、pyecha

关于Allegro17.4 3d模型大小不匹配问题解决

文章目录问题概述问题原因解决办法问题概述Allegro17.4版本采用3DCanvas工具进行3D模型的映射,映射后,无需保存任何映射文件,只要指定好step文件路径,即可将模型映射信息保存在pcb封装文件中,方便快捷。映射流程如下:打开Allegro软件,菜单选择Setup->UserPreferencesEdito

基于Java+SpringBoot+Vue的在线音乐网站设计和实现

基于Java+SpringBoot+Vue的在线音乐网站设计和实现源码传送入口前言主要技术系统设计功能截图数据库设计代码论文目录订阅经典源码专栏Java项目精品实战案例《500套》源码获取源码传送入口前言大数据时代下,数据呈爆炸式地增长。为了迎合信息化时代的潮流和信息化安全的要求,利用互联网服务于其他行业,促进生产,已

介绍Spring Security框架,以及如何使用它实现应用程序的安全性

文章目录什么是SpringSecurity?SpringSecurity的工作原理如何使用SpringSecurity构建安全的应用程序步骤1:添加SpringSecurity依赖步骤2:配置SpringSecurity步骤3:配置安全性规则步骤4:创建用户和角色步骤5:创建自定义登录页面步骤6:运行应用程序总结🎈个

又一职业技术技能标准官宣!

为贯彻落实《关于深化人才发展体制机制改革的意见》,推动实施人才强国战略,促进专业技术人员提升职业素养、补充新知识新技能,实现人力资源深度开发,推动经济社会全面发展,根据《中华人民共和国劳动法》有关规定,工业和信息化部教育与考试中心联合有关部门组织并制定了《研发效能(DevOps)工程师国家职业技术认证》。其中包含两个方

热文推荐