全球首位AI程序员诞生,技术革新还是职业威胁?

目录

导语:

一、2024年的第一丝凉意

二、AI在编程领域的应用现状

三、关于Devin的现状

四.未来展望

五.面对未来挑战,我们应该

结语:


导语:

    时间回调到两周前的3月13号,世界上第一位AI程序员Devin诞生,这回是切身的让我这个底层在职码农感到了AI带来的一丝凉意。因为它能自主学习

一、2024年的第一丝凉意

    能自主学习新技术,自己改bug,甚至还能训练和微调自己的AI模型,表现已然远超GPT-4等“顶流选手”,在SWE-bench基准测试中,Devin能够完整正确地处理13.86%的问题;而GPT-4只能处理1.74%的问题,比人类的程序员要厉害很多

    AI出厂,已有的东西就已经固定,这是历来的内容认知,现在来了一个能自己学习的。性质一下子变了,从“工具”变成了“对手”。AI的学习速度如此之快,我们的学习速度能否跟上“机器学习”的速度?AI将成为人类的“对手”还是“搭档”?AI将如何改变编程行业?

二、AI在编程领域的应用现状

    AI技术在编程领域的应用已经越来越广泛。从代码自动生成、错误检测到智能代码辅助,AI正逐步改变程序员的工作方式。截止到2023年,人工智能(AI)在编程领域的应用已经取得了显著的进展,主要体现在以下几个方面:

  1. 代码自动生成:AI能够根据开发者的描述或者需求自动生成代码。例如,GitHub的Copilot就是一个基于AI的编程助手,它能够理解开发者的意图,并帮助生成代码片段。

  2. 代码审查:AI工具可以分析代码库,检查潜在的bug、安全漏洞或不符合最佳实践的代码。这些工具可以帮助开发者提高代码质量,减少错误。

  3. 代码优化:AI可以帮助优化代码性能,通过分析代码执行路径,提出更高效的算法或数据结构。

  4. 自动化测试:AI可以用于生成测试用例,甚至自动执行测试并分析结果,从而加快软件开发的测试过程。

  5. 代码补全:许多IDE(集成开发环境)集成了基于AI的代码补全功能,这些功能能够根据开发者已经编写的代码预测接下来可能需要的代码,提高编码效率。

  6. 代码文档生成:AI能够根据代码的结构和内容自动生成文档,帮助开发者理解和使用代码库。

  7. 代码翻译:AI可以将一种编程语言的代码翻译成另一种语言,这在需要将旧项目迁移到新平台或语言时非常有用。

  8. 个性化编程助手:AI可以根据开发者的编程习惯和项目历史提供个性化的建议和资源,帮助开发者更快地解决问题。

    尽管AI在编程领域的应用取得了显著进展,但是它仍需要人类程序员的监督和指导。AI生成的代码可能需要人工审核和修改以确保其正确性和适应性。此外,AI目前还无法完全理解复杂的项目需求和业务逻辑,因此在处理复杂问题时,人类程序员的直觉、经验和创造性思维仍然是不可或缺的。

三、关于Devin的现状

    目前Devin尚未开放使用,参与者需要填写表格,并向研发团队提交资料申请内测名额。使用者评价这次内测是一次非常奇妙的经历。

使用者:我在维护一个开源存储库,其中包含很多不同算法,当我得知这其中有一个错误时,我让Devin检查并处理这个错误,结果发现Devin可以非常有效且公正地解决这些问题。

中国互联网协会研究中心副主任吴沈括表示,全球首位AI工程师很重要的能力突破是自我学习能力的提升,特别是对于不同的编程语言,自主学习的方式比较突出。

Devin引发业内广泛讨论,“人类程序员是否会被被取代,观点不一”

百度董事长兼首席执行官李彦宏此前曾表示,以后不会存在“程序员”这种职业。“所有人都能具备程序员的能力,未来的编程语言只会剩下两种,一种叫做英文,一种叫做中文。”

360集团创始人周鸿祎则给出不同看法,他认为人工智能时代将更需要程序员。“我依然认为优秀的工程师、程序设计人才,是不能被取代的。”

吴沈括认为在未来AI应用普及化之后,行业格局可能会出现一定程度的变化,但具有创造力的人类编程员,仍然具有不可或缺性。人工智能不会由程序来自动产生与人类相同的情感性因素和价值判断。

在彭博社记者的实测中,Devin 从头开始构建一个网站,只要 5-10 分钟。

同样的 5-10 分钟,Devin 还能重复创建基于 Web 的经典乒乓球游戏。

重复,是因为在这个过程里,彭博社记者输入了几次提示词,改进网站外观、乒乓球运动时的物理特性等等,Devin 有求必应。

devin生成结果展示(生命游戏)

图片

Project Devika生成的生命游戏

图片

Devin生成的生命游戏

不了解编程的朋友们可能不清楚,一个能实现生命游戏的人工智能究竟有多可怕。为了更直观介绍Devin的厉害,我找出来一个在Devin诞生前已经很不错的开源AI编程软件Project Devika,做了一个类似的生命游戏任务(上方的图片)。而下方的图是Devin做的。简单理解,图片上白色小格子的尺寸越小,代表编程水平越高。你可以清晰看到上图中白色格子的分辨率远远低于下图,那就说明Devin所生成的生命游戏,比Project Devika要优秀太多。

砸人饭碗容易挨骂,AI也不例外:

图片

    在Reddit上,最近出现了不少对Devin口诛笔伐,并口无遮拦地发起“Fxxk you Devin”运动的程序员。甚至连名字叫Devin的人也受到了这波无差别攻击,同样被这群愤怒的程序员给一并攻击了。

四.未来展望

    当前AI发展的速度,以后的AI会越来越多,越来越智能,相应的也会越来越便宜。那么也就会造成一个结果,有钱人越来越有钱,穷人会越来越穷。

    AI程序员发展的现状呈现出蓬勃的发展态势。随着人工智能技术的不断发展和普及,AI程序员的需求日益增长。他们具备快速、准确地生成代码的能力,能够通过分析大量数据和模式,发现可能被人类程序员忽略的关联和趋势,从而提出新颖的算法和解决方案。AI程序员的出现使得程序员能够更高效地进行应用程序的开发和测试,减少错误和调试时间,提高开发效率。

   然而注意的是,尽管AI程序员在某些方面展现出了强大的能力,但人类程序员的创造力、逻辑思维、情感理解、沟通能力和多方面的综合能力仍然是无可替代的。

    对于AI程序员的的未来,我们可以预见的是其将在编程领域中发挥更加重要的作用。然而传统程序员也将会和AI程序员共同合作推动编程领域的发展。

    总体来说,AI在编程领域的应用正在逐步改变开发者的工作方式,提高开发效率和质量,但它们更多地是作为辅助工具,而不是替代人类程序员。未来,随着AI技术的进一步发展,我们可以期待AI在编程领域扮演更加重要的角色。

五.面对未来挑战,我们应该

1.持续学习:面对AI程序员的挑战,普通程序员需要不断学习新的技术和知识,提升自己的竞争力。只有不断进步,才能在激烈的竞争中立于不败之地。

2.关注创新:程序员应该更多地关注创新性的工作,提高自己的创造力和解决问题的能力。这将有助于我们在未来的职场中脱颖而出。

3.人机协作:学会与AI共同工作,利用AI的优势来提高自己的工作效率和质量。这将是我们适应新技术环境的关键。

结语:

    全球首位AI程序员的诞生,无疑是一项重大的技术革新。它既给我们带来了无限的可能性和机遇,也带来了职业挑战和压力。作为普通程序员,我们需要不断学习、关注创新,保证不被淘汰,并学会与AI共同工作,以适应新的技术环境。只有这样,我们才能在未来的职场中立于不败之地。

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

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

相关文章

人工智能的决策树介绍

决策树模型 决策树基于“树”结构进行决策 每个“内部结点”对应于某个属性上的“测试”每个分支节点对应于该测试的一种可能结果(即属性的某个取值)每个“叶结点”对应于一个“预测结果” 学习过程:通过对训练样本的分析来确定“划分属性”…

记录echarts各种地图json文件下载地址

今日绘图需要用到echarts的地图json文件,但是github上已经找不到了,后发现伟大的网友提供了地址如下:Index of /examples/data/asset/geohttps://echarts.apache.org/examples/data/asset/geo/ 免费下载实时更新的geoJson数据、行政区划边界…

如何解决Modbus转Profinet网关通信不稳定或数据丢失问题

接到现场反映,在配置Modbus转Profinet网关时,出现Modbus转Profinet网关(XD-MDPN100)通信不稳定或数据丢失的问题,就这个问题特做出答疑。 解决Modbus转Profinet网关(XD-MDPN100)通信不稳定或数据…

【Linux进阶之路】理解UDP,成为TCP。

前言 学了TCP 和UDP之后,感觉UDP就像是初入职场的年轻人,两耳不闻 “窗外事”,只管尽力地把自己的事情做好,但收获的却是不可靠,而TCP更像是涉世极深的"职场老油条",给人的感觉就是 “城府极深&a…

Arduino中引脚的数字与真实引脚的对应关系

我们使用arduino开发时,最长遇到的是对端口管脚的拉高拉低,代码如下 void setup() {pinMode(13,OUTPUT); }void loop() {digitalWrite(13,HIGH); }上面还最简单io控制代码,其中引脚我们使用了数字13,但是这个13对应着哪个引脚呢&a…

老壁灯带你入门动态规划

1. 什么是动态规划 动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。 从字面意义上来理解,就是走一步看一步,边解决问题,边对问题进行整体规划。 其实,动态规…

Mac上的Gatekeeper系统跟运行时保护

文章目录 问题:无法打开“xxx.xxx”,因为无法验证开发者。macOS无法验证此App是否包含恶意软件。如何解决? 参考资料门禁运行时保护 问题:无法打开“xxx.xxx”,因为无法验证开发者。macOS无法验证此App是否包含恶意软件…

Leetcode - 2580. 统计将重叠区间合并成组的方案数

文章目录 思路AC CODE总结 题目链接:2580. 统计将重叠区间合并成组的方案数 思路 一个区间合并的板子,计算出区间数目之后,每个区间都有放左和放右两种选法,所以最后的答案就是 2 k 2^k 2k。但是需要用c进行二维数组的排序&…

【正点原子FreeRTOS学习笔记】————(4)FreeRTOS中断管理

这里写目录标题 一、什么是中断?(了解)二、中断优先级分组设置(熟悉)三、中断相关寄存器(熟悉)四、FreeRTOS中断管理实验(掌握) 一、什么是中断?(…

深入理解C语言宏定义

目录 一、前言 二、宏的相关语法 2.1 #define 2.2 #undef 2.3 #运算符 2.4 ##运算符 三、宏替换的规则 四、宏与函数 一、前言 我们都知道#define语句可以定义常量,在编译器预处理时会全部将名字替换为常量。与此同时,#define也允许把参数替换到…

开放大学2024年春《数控技术 060253》综合大作业参考答案

答案:更多答案,请关注【电大搜题】微信公众号 答案:更多答案,请关注【电大搜题】微信公众号 答案:更多答案,请关注【电大搜题】微信公众号 单选题 1数控系统的核心是( ) …

【项目管理——时间管理】【自用笔记】

1 项目时间管理(进度管理)概述 过程:(2—6)为规划过程组,7为监控过程组 题目定义:项目时间管理又称为进度管理,是指确保项目按时完成所需的过程。目标:时间管理的主要目标…

Rust GUI学习 小部件系列(一):如何在iced窗口中使用颜色选择器colorpicker

注:此文适合于对rust有一些了解的朋友 iced是一个跨平台的GUI库,用于为rust语言程序构建UI界面。 前言: 本系列是iced的小部件应用介绍系列,主要介绍iced、iced_aw两个库中涉及的各种小部件的使用及实例演示。 本文所介绍的是co…

安捷伦Agilent E5071B网络分析仪

181/2461/8938产品概述: Agilent E5071B 网络分析仪可为射频组件提供快速、准确的测量。与同类网络分析仪相比,其宽动态范围和低迹线噪声可实现更高的测试质量和吞吐量。内置 2、3 和 4 个测试端口可同时测量具有最多四个端口的组件的所有信号路径。Agi…

中国土壤厚度空间分布数据

土壤层次分为覆盖层 林溶层 淀积层 母质层,其中在林溶层中的最上面那层就是我们通常说的土壤厚度在这一层中,这一层也被称为腐殖层,是肥力性质最好的一层,植物根系和微生物也集中在这一层。至于覆盖层在森林土壤中比较常见&#x…

2024年【G3锅炉水处理】考试题及G3锅炉水处理考试报名

题库来源:安全生产模拟考试一点通公众号小程序 G3锅炉水处理考试题参考答案及G3锅炉水处理考试试题解析是安全生产模拟考试一点通题库老师及G3锅炉水处理操作证已考过的学员汇总,相对有效帮助G3锅炉水处理考试报名学员顺利通过考试。 1、【多选题】锅筒…

vivado 在远程主机上启动作业、ISE命令图、实施类别,战略描述和指令映射

在远程主机上启动作业 一旦配置了远程主机,使用它们启动Vivado作业就很容易了。下图显示了启动运行对话框。启动跑步时,选择“在远程上启动跑步”hosts或Launch在群集上运行,然后选择特定的群集。这些作业将使用您的要执行的预配置设置。 作业…

Leetcode70. 爬楼梯(动态规划)

Leetcode原题 Leetcode70. 爬楼梯 标签 记忆化搜索 | 数学 | 动态规划 题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?示例 1:输入:n 2 输出:2 解…

阿里云服务器安装MySQL(宝塔面板)

只写关键步骤 1. 创建一个云服务器实例 2 修改密码,登录服务器 3. 安装宝塔面板 进入https://www.bt.cn/new/index.html 进入宝塔面板地址 4. 安装Mysql 5. 创建数据库(可导入数据库) 6. 测试连接数据库 打开Navicat(或其他数据…

centos安装jdk的坑

文章目录 一、安装jdk二、查找jdk的目录三、配置JAVA_HOME 一、安装jdk 我们一般用yum search java | grep jdk查询可以安装的jdk 但是一定要注意如下图,必须知道jdk和jre的区别 yum install java-1.8.0-openjdk-devel.x86_64二、查找jdk的目录 用如下命令 sudo…