开发者的AI革命:我们仍在敲代码,AI为何没有取代我们的工作?

  每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

曾经,AI将取代所有工作的预言让许多开发者感到不安。特别是随着GPT-3.5的问世,很多人预期AI会在短时间内接管开发者的工作。然而,一年多过去了,开发者们仍然在键盘前敲代码,依然工作如常。尽管一些工具如CoPilot确实在使用GPT技术来自动补全代码,但称其为真正的AI似乎有些牵强。AI本应至少承担我们工作的一半,但现实却是,许多开发者发现自己对AI工具的依赖逐渐减少。也许我们正悄然变成那种选择工具看重其美学和新奇感而非实用性的“潮人”。说实话,AI的新鲜感已经消退了。或者,更有可能的是,当初的炒作逐渐冷却,我们终于看清了这些AI开发工具的真面目——它们不过是自动补全的进化版。

问题在于,自动补全的进化版远远达不到我们被许诺的美好前景。不久前,开发者的未来看起来一片灰暗。除了那些日常使用这些工具的人外,其他人都认为我们像是病入膏肓的患者,正迈向最后的终点。

有不少人真诚地对我表示遗憾,认为AI已经取代了我的工作。在软件相关公司的管理层中,越往高层走,越悲观。他们几乎相信未来只有经理人会留下来,管理一队AI开发者,完全看不到人类开发者的身影。我们这些实际的开发者将像电梯操作员一样被逐渐淘汰。也许少数专业开发者会留下来,可能是为了开发下一个AI。但办公室里坐满了在MacBook前工作的开发者的景象,将成为像戴着绿色护目镜和使用计算器的会计师一样的怀旧记忆。

然而,我们依然在写代码,依然在工作。这是怎么回事?AI革命为何没有开始?是工具不够好吗?目前的GPT被誉为天才,通过律师考试,理解代码比最资深的开发者还好,并且写出的文章能让海明威都羡慕。想象一下,如果真有这样一个人,而且你成功雇用了他们,这将是一生中难得的队友,可以为整个公司带来提升。想象一下对产品的影响——没有更多的bug,每天都能发布新功能,完美无缺的代码经过全面测试。但事实并非如此,生产中仍有bug。与去年相比,新功能发布的速度并没有加快。仔细看看,曾经令人印象深刻的营销材料开始显得有些可疑。里面充斥着诸如“挂毯”和“当然”的词汇,读起来像是一个过于热心的HR经理试图让你对政策变更感到兴奋。

我们被欺骗了吗?GPT工具是否未达到我们期望的能力?它们像一个只浏览过Kubernetes文档并在面试中复述的开发者吗?“嗯,是的,pods,自我修复,复制……”

其实不然。GPT的能力确实很强。问题远比这复杂。

首先,AI助手存在技术问题。相信与否,这是最次要的问题。但为了清晰起见,先讨论一下这个问题:基于GPT的编码助手记忆力很差。即使宣传为具有“扩展上下文”或增强数据库帮助GPT记忆,这在实践中并不起作用。确实,具有“记忆”或更大的上下文窗口,AI助手可以回忆起一小时前甚至几天前你写的内容,但它无法理解这些内容在你工作中的整体意义。它总是紧盯着你最后说的那句话。对AI来说,你最后的指令就是它的整个宇宙。其他所有你提到的内容,如代码的整体目的,都是背景噪音。对AI助手来说,当下的任务就是你最后说的那句话,它以最字面的方式理解并执行,完全无视其他任何事情。在完成的那个任务中,可能有一丝正确的迹象。但整体思路是错误的。所以,你让它修正。现在,这个修正成为它的新痴迷,撤销了之前任务中的任何准确性。你陷入了一个无尽的循环——修正一个问题,打破另一个。每次迭代,目标都离得更远。最终,你放弃了,自己动手写。

其次,代码质量并不高。确实,它能像一个找工作三个月的开发者那样解决LeetCode题目,但在面对新问题时,它完全不行。遇到不熟悉的情况,GPT试图将现有的解决方案套用到新问题中。那么你怎么办?你把问题分成更小的部分,让GPT循环解决每个小任务。这听起来熟悉吗?这就是带有复杂模式匹配的自动补全。

最后,问题在于这与开发者的工作方式背道而驰。

要理解这一点,首先需要了解开发者的一个基本真理——阅读代码比写代码需要更多时间。这也是他们总是迫不及待地推倒重写的原因。在外行眼中,这看起来像是一个史诗般的工程,仿佛开发者宁愿肩负巨大的负担也不愿简单地修复一个问题。“我们想把它做好,”他们会这么说。但真相却截然不同。更多时候,开发者这样做是因为修复一个问题需要对系统有深刻的理解。这包括研究并真正理解它的整体运作方式。然后,才能准确地进行修正。这是一项更艰难的任务,说白了,也不那么有趣。所以很多时候,开发者选择阻力最小的路径,推倒重写。

考虑到这一点,回想一下一个全能AI助手应做的事情——编写大段代码,而开发者只需逐字逐句地检查错误。这恰恰是任何开发者最不愿意做的事。祝你好运。

这正是为什么AI编码工具很难超越当前状态——复杂的自动补全。要想进一步发展,需开发者心态的根本转变。一位有多年开发经验的老手,有时仍会选择重写而不是修补。当然,经验越丰富,越不会屈服于这种诱惑。但偶尔,他们会像凌晨2点递给他们的一支烟,想着“算了”,然后动手重写。他们会告诉自己,“这次,我会做对。”

当然,并不是说不会有人尝试。毫无疑问,一些产品导向的公司会尽力榨取AI的每一丝潜力。但可以保证,监控和分析代码的开发者绝不会这样做。每天阅读和验证代码行,而不是编写代码,对于开发者来说简直是但丁第九层地狱的最终Boss级别。所以实际情况是:AI助手会生成没人愿意读的代码。系统会迅速演变成难以理解的一团乱麻。关键bug和安全漏洞会激增。当AI系统被要求修补时,它会尝试,但由于前述的技术问题,它会以牺牲创建更多bug和安全问题为代价进行修补。如此循环往复。

那么,如果这就是问题,那么理想的AI助手应该是什么样子呢?从管理者的角度来看,理想的AI是能独立处理所有任务,解决新问题并提供原创解决方案。我们没有那样的AI。那将是AGI——真正的通用人工智能。如果我们拥有那样的AI,我们甚至不需要管理者,也可能不需要公司。那是个遥远的科幻理念,如果我们有那样的AI,这个对话根本毫无意义。所以,暂且放下那种幻想,专注于现实。

那么,一个好的AI助手对于开发者来说应该是什么样的?首先,它应该遵循指示,同时关注大局。我们还没有达到那个水平,即使接近了,它也仍然只是一个用于编写小块代码的工具,而不是大段代码。开发者不会筛选所有那些输出。所以,基本上,我们期待的是一个稍微好一点的版本的现有工具。

为了给出一些背景,最初构建Dava时,想法是Dava可以编写仪表板的大部分内容——连接数据库,插入图表,添加互动。但是,我们越是使用它,越是意识到AI在当前状态下只在处理小任务时表现出色。目前,我们用它来修复代码或做小的改动,比如改变颜色或检查组件为何无法编译。除此之外,它就不太管用了。老实说,这样更好,因为让AI为你写所有代码看起来很吸引人,直到你去修复它时发现自己几乎不懂它制造的混乱。这就像在处理一个黑盒子。相反,最好将其作为众多工具之一。它始终在那里,当你需要时使用,但作为

工具,而不是替代品。

总之,至少在AGI到来之前,软件开发将在可预见的未来内保持为人类的工作。尽管一些点击诱导的视频可能会让你相信AI将很快取代我们的工作,但实际上,我们离AGI的距离就像实用量子计算机一样——遥不可及。那么,所有的恐慌从何而来?

有两个原因。首先,GPT是一个突破。它改变了计算机理解人类语言的方式。我们认为它会继续以同样的速度增长。我们忽视了之前多年的缓慢、逐步的进展。在我们脑海中的图表在GPT-3出现之前开始,并被推测到未来几年。

其次,谈论末日景象有一种扭曲的快感,即使我们明知不是真的。水冷机旁的闲聊逐渐失控。就像滚雪球一样,从微不足道的起点滚到无法控制的大小。一些哗众取宠的文章利用这种恐惧,因为它能带来点击量。然后,播客接着讨论,骗子趁机上车,不久,大家都相信明年我们将失业。

但现在事情在慢慢稳定下来,大家开始意识到AI不会很快取代我们的工作,至少在现有形式下不会。它将与我们合作,像其他工具一样。

也许恐慌从未真正关于AI取代工作。也许它关于对未知的恐惧,对某种东西可能瞬间让我们失去价值的恐惧。但我们仍在编写代码,仍在创造,仍在工作。世界没有终结,前景依然熟悉。

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

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

相关文章

【区块链+绿色低碳】雄韬智慧锂电储能管理系统 | FISCO BCOS应用案例

雄韬智慧锂电储能管理系统(Energy Management System,以下简称 EMS)是雄韬集团响应国家实现新型电力 系统建设,助力“碳达峰、碳中和”目标而自主开发的创新智慧锂电储能系统。 系统采用了 FISCO BCOS 联盟链,融合了物…

放大电路总结

补充: 只有直流移动时才有Rbe动态等效电阻 从RsUs看进去,实际上不管接了什么东西都能够看成是一个Ri(输入电阻) Ri Ui/Ii Rb//Rbe Ui/Us Ri/(RiRs) Aus (Uo/Ui)*(Ui/Us) Au *Ri/(RiRs) 当前面是一个电压源的信号 我们就需要输入电阻更大 Ro--->输出电阻--->将…

Mybatis(四)特殊SQL的查询:模糊查询、批量删除、动态设置表明、添加功能获取自增的主键

实体类: 数据库: 1、模糊查询 方案一: 不适用#{ },’%?%‘ 问号是属于字符串的一部分 不会被解析成占位符,会被当作是我们字符串的一部分来解析,所以我们执行的语句中找不到占位符,但是我们却…

帕金森病(PD)诊断:三种基于语音的深度学习方法

帕金森病(Parkinson’s disease, PD)是世界上第二大流行的神经退行性疾病,全球影响着超过1000万人,仅次于阿尔茨海默症。人们通常在65岁左右被诊断出患有此病。PD的一些症状包括震颤、肌肉僵硬和运动迟缓。这些症状往往出现在较晚…

跟《经济学人》学英文:2024年07月20日这期 Japan’s strength produces a weak yen

Japan’s strength produces a weak yen Currency meddling will prove futile 货币干预将被证明是徒劳的 meddling:干涉;摸弄;(meddle的现在分词形式) futile: 美 [ˈfjuːtl] 无效的;徒劳…

RKNN3588——YOLOv10的PT模型转RKNN模型

一:PT转ONNX 修改yolov10的源码 1. 修改head.py文件,在lass v10Detect(Detect)中的forward添加 # 导出onnx增加y []for i in range(self.nl):t1 self.one2one_cv2[i](x[i])t2 self.one2one_cv3[i](x[i])y.append(t1)y.append(t2)return y# 导出onnx…

(精校版)高校大数据实验室建设解决方案

在当今数据驱动的时代,大数据已成为推动社会发展的核心动力。高校作为培养未来社会精英和科技创新人才的摇篮,迫切需要建设大数据实验室,以应对日益增长的大数据人才需求和科学研究挑战。大数据实验室不仅能够提供先进的教学资源和实践平台&a…

mysql面试(七)

前言 本章节列出了mysql在增删改查的时候,分别会涉及到哪些锁类型,又是如何交互的。 这个章节也是mysql面试基础系列的最后一章,后面准备更新redis数据类型和分布式锁相关问题。如果各位看官有什么问题的话,可以留言。 锁 之前…

leetocde662. 二叉树最大宽度,面试必刷题,思路清晰,分点解析,附代码详解带你完全弄懂

leetocde662. 二叉树最大宽度 做此题之前可以先做一下二叉树的层序遍历。具体题目如下: leetcode102二叉树的层序遍历 我也写过题解,可以先看看学习一下,如果会做层序遍历了,那么这题相对来说会简单很多。 具体题目 给你一棵…

Vue3+Element Plus 实现table表格中input的验证

实现效果 html部分 <template><div class"table"><el-form ref"tableFormRef" :model"form"><el-table :data"form.detailList"><el-table-column type"selection" width"55" align&…

Wonder3D 论文学习

论文链接&#xff1a;https://arxiv.org/abs/2310.15008 代码链接&#xff1a;https://github.com/xxlong0/Wonder3D 解决了什么问题&#xff1f; 随着扩散模型的提出&#xff0c;3D 生成领域取得了长足进步。从单张图片重建出 3D 几何是计算机图形学和 3D 视觉的基础任务&am…

【限免】16PAM、16PSK、16QAM、16CQAM星座图及误码率【附MATLAB代码】

​微信公众号&#xff1a;智能电磁频谱算法 QQ交流群&#xff1a;949444104 主要内容 MATLAB代码 % Parameters M 16; N 4; % Number of circles for CQAM SNR_dB 0:2:25; % Extended SNR range to reach higher values num_symbols 1e5; % Total number of symbols for s…

Linux学习笔记 --- 环境配置

在成功装载Ubuntu系统后我们需要设置其与windows系统的共享文件夹&#xff0c;按照以下步骤操作 设置完共享文件夹后在终端执行以下命令查看是否成功设置 此时下方出现设置的共享文件夹名称则为成功设置 如果未显示可以尝试进行重新安装VMware tools&#xff0c;步骤如下&…

git等常用工具以及cmake

一、将git中的代码克隆进电脑以及常用工具介绍 1.安装git 首先需要安装git sudo apt install git 注意一定要加--recursive&#xff0c;因为文件中有很多“引用文件“&#xff0c;即第三方文件&#xff08;库&#xff09;&#xff0c;加入该选项会将文件中包含的子模…

系统架构设计师②:操作系统

系统架构设计师②&#xff1a;操作系统 操作系统作用 ①管理系统的硬件、软件、数据资源 ②控制程序运行 ③人机之间的接口 ④应用软件与硬件之间的接口 进程管理 进程是程序在一个数据集合上运行的过程&#xff0c;它是系统进行资源分配和调度的一个独立单位。它由程序块、…

FastAPI(七十八)实战开发《在线课程学习系统》接口开发-- 评论

源码见&#xff1a;"fastapi_study_road-learning_system_online_courses: fastapi框架实战之--在线课程学习系统" 梳理下思路 1.判断是否登录 2.课程是否存在 3.如果是回复&#xff0c;查看回复是否存在 4.是否有权限 5.发起评论 首先新增pydantic模型 class Cour…

如何系统的学习C++和自动驾驶算法

给大家分享一下我的学习C和自动驾驶算法视频&#xff0c;收藏订阅都很高。打开下面的链接&#xff0c;就可以看到所有的合集了&#xff0c;订阅一下&#xff0c;下次就能找到了。 【C面试100问】第七十四问&#xff1a;STL中既然有了vector为什么还需要array STL中既然有了vec…

C#如何引用dll动态链接库文件的注释

1、dll动态库文件项目生成属性中要勾选“XML文档文件” 注意&#xff1a;XML文件的名字切勿修改。 2、添加引用时XML文件要与DLL文件在同一个目录下。 3、如果要是添加引用的时候XML不在相同目录下&#xff0c;之后又将XML文件复制到相同的目录下&#xff0c;需要删除引用&am…

VUE3学习第三篇:报错记录

1、在我整理好前端代码框架后&#xff0c;而且也启动好了对应的后台服务&#xff0c;访问页面&#xff0c;正常。 2、报错ReferenceError: defineModel is not defined 学到这里报错了 在vue网站的演练场&#xff0c;使用没问题 但是在我自己的代码里就出问题了 3、watchEffec…

企业公户验证API如何使用JAVA、Python、PHP语言进行应用

在纷繁复杂的金融与商业领域&#xff0c;确保每笔交易的安全与合规是至关重要的。而企业公户验证API&#xff0c;正是这样一位默默守护的数字卫士&#xff0c;它通过智能化的手段&#xff0c;简化了企业对公账户验证流程&#xff0c;让繁琐的审核变得快捷且可靠。 什么是企业公…