不可发布违法信息,一旦发现永久封号,欢迎向我们举报!
百科|常识分享
分享各种百科|日常
78信息网 > 餐饮行业新闻资讯 > 百科|常识 >  程序员删库跑路不成被判刑十个月,别让口嗨变成现实...... AIphaCode 并不能取代程序员,而是开发者的工具


  • 【莆田鞋厂家分类】
  • 【奢侈大牌包包厂家分类】
  • 【潮牌奢侈服饰鞋子厂家分类】
  • 【名表厂家分类】

厂家货源分类区域

程序员删库跑路不成被判刑十个月,别让口嗨变成现实...... AIphaCode 并不能取代程序员,而是开发者的工具

发布时间:2024-09-05 11:49:18  来源:互联网整理  浏览:   【】【】【

程序员删库跑路不成被判刑十个月,别让口嗨变成现实...... AIphaCode 并不能取代程序员,而是开发者的工具 

程序员删库跑路不成被判刑十个月,别让口嗨变成现实......

作者 | 码君

干程序员这一行难吗?

要码君说并不难,实在不行咱删库跑路就完了嘛,多大个事儿呢!

哈哈,开个玩笑,这其实是咱在工作闲暇之余的一句调侃罢了,大多数程序员在“动手”前还是会掂量掂量后果的。

要知道,一旦给公司造成难以挽回的数据/代码损失,那可是会直接起诉你的......

不过话虽如此,但仍有不少程序员兄弟一时怒发冲冠、放肆一回,在离职之前怒删老东家代码。

比如这两天就又出了这种事儿——

2021年3月,王某入职上海某知名互联网公司从事计算机系统研发工作,负责公司网购平台部分规则代码研发。

3个月后王某因试用期未合格被公司劝退,并于离职当天,未经公司许可将其在职期间所写平台优惠券、预算系统以及补贴规则等代码删除,导致原定按期上线项目延后。

结果,公司不得不花了3万元聘请第三方数据公司进行数据恢复,并组织员工重写了代码......

而这位程序员兄弟下场如何?他因涉嫌破坏计算机信息系统罪被法院判处有期徒刑十个月,这波删库删出了“案底”,以后服完刑出来找工作怕是都难了吧......

要码君说,这则事件其实并非孤例,我们把目光再往前倒倒,便会发现一个哭笑不得的事实——删库跑路现象属实还挺多,而且其中不少案件比这位兄弟严重得多.....

比如曾经震惊行业的微盟删库事件,就给当时上市不久的微盟带去了十几亿美元的市值损失。

具体事件背景是2020年2月,SaaS服务商微盟遭遇员工“删库跑路”,服务器出现大面积故障。

公司一调查发现,犯罪嫌疑人是微盟研发中心运维部的核心运维人员贺某,于2月23日晚18点56分通过个人VPN登入公司内网跳板机,因个人精神、生活等原因对微盟线上生产环境进行了恶意破坏。

“因个人精神、生活等原因”、“恶意破坏”,好家伙,这就将“精神病”三个字写人脸上了......

虽然元凶已被找到并法办,但受删库事件影响,微盟的股价在2月24日就出现了下跌,市值在一天之内蒸发了12.5亿港元,这怕是比CEO离职的影响都要大吧?

大伙儿可别觉着这员工精神真有问题,毕竟人在江湖飘,谁还能没点脾气呢?就连国外的开发者大神也有一言不合就删库的经历。

最近干出这事儿的就是「faker.js」和「colors.js」的作者 Marak Squires,他在一夜之间主动删除了「faker.js」和「colors.js」项目仓库的所有代码,躺枪的码农们一觉醒来发现,自己程序跑出来的全都是「乱码」......

要知道,faker.js在npm上的每周下载量接近250万,color.js 每周的下载量约为2240万,本次删库的影响是极其严重的。

而原因为何?网友们把他11 月发在 GitHub 上的一篇帖子挖了出来,帖子中他写道自己不再想做免费的工作了。

“恕我直言,我不想再用我的免费工作来支持财富 500 强(和其他小型公司),以此为契机,向我发送一份六位数的年度合同,或者 fork 项目并让其他人参与其中。”

终究还是为了钱呐!

不过一向以“开源”为宗旨的GitHub这次却对这位大神挥出了“铁拳”——直接将Marak的账号给封了......

而十天之后,这位始作俑者似乎也开始服软起来,他在Twitter上说:GitHub你怎么回事?封号十天了,既不让我修复项目的bug,也不回我的邮件。每个人都会时不时地犯编程错误。没有人是完美的。

嗯?编程错误?这不巧了么这不是,请原谅我不厚道地笑了。

抛开这些因“一时冲动”而删库的开发者不谈,在各个互联网公司也都有“失手”的情况发生。

比如一位阿里的程序员就在知乎爆料,曾因不慎操作差点将公司某项目的数据库误删——

评论中有老哥直言:照你的方法试了一下,这个月的工资给我提前发了,真好——

看过这么多删库跑路的故事后,码君觉得,这毕竟是一小部分,其中最为关键的问题是:一个普通员工为什么能有删光全部代码的权限?这听起来是极其不合理的。

一般而言,公司的CTO都会将风控做好、做好备份,如此就算被删库也可以恢复如初。

再者,程序员也并不是都靠一个人挑全盘,研发人员之间往往是相互协调合作的状态,自己的权限一般只到自己负责的部分板块。

所以从这个角度看,开头提到的那则判决很可能是公司的套路,忍不下去便硬要搞这位试用期员工的事......

需要注意的是,审判方法院是不懂这些的,他们会按刑法中的法规来办——也就是破坏计算机信息系统罪,你稍有不慎就会面临“牢底坐穿”的局面......

有专业人士指出,“删库跑路”如果造成 10 台以上系统不能正常运行就可以判刑,如果影响 50 台以上则至少判 5 年。

所以呐,大伙儿在受到公司不公平对待时一定要冷静,不要将段子变成了现实,否则咱普通打工人可真是得不偿失......如果压力真的太大,咱没事还可以打打产品经理解解压不是?

不过换一面说,人员工也不是全责,能让一位试用期的程序员做出删库这种行为,可想而知这位老哥究竟经历了些什么......

而且能够肯定的是,这家公司指定权限管理脏乱差、代码版本异常糟,就是不知道新闻中所指的“上海某知名互联网公司”是哪家?看来只能等媒体进一步爆料,我们才能拿小本本记下来并列为黑名单了。

最后,奉劝各位老鸟也别在群里动不动就将删库代码发给新手程序员,皮这一下你倒是很开心了,还美其名曰“指点江山”,结果搞不好到时候人家会提刀来寻人也说不定,不信你看这位——

你遇到过类似删库跑路的事儿么?

*期待你的留言!


AIphaCode 并不能取代程序员,而是开发者的工具

编译 | 禾木木

DeepMind 是 AI 研究实验室,它引入了一种深度学习模型,可以生成具有显著效果的软件源代码。该模型名为 AIphaCode,是基于 Transformers,OpenAI 在其代码生成模型中使用的架构相同。

编程是深度学习和大型语言模型的有前景的应用之一。对编程人才日益增长的需求刺激了创造工具的竞赛,这些工具可以提高开发人员的工作效率,并为非开发人员提供工具来创建软件。

而在这方面,AIphaCode 确实给人留下了深刻的印象。它成功地解决了复杂的编程挑战,这些挑战通常需要数小时的规划、编码和测试。它可能会成为将问题描述转化为工作代码的好工具。

但它不等同于任何级别的人类程序员。这是一种完全不同的软件创建方法,如果没有人类的思考和直觉,这种方法是不完整的。

编码竞赛

编码挑战描述的示例。图片来自 DeepMind

AIphaCode 并不是唯一的,但它完成了一项非常复杂的任务。其他类似的系统专注于生成简短的代码片段,例如执行小任务的函数或代码块(例如,设置 Web 服务器,从 API 系统中提取信息)。虽然令人印象深刻,但当语言模型暴露于足够大的源代码语料库时,这些任务就变得微不足道。

另一方面,AIphaCode 旨在解决竞争性编程问题。编码挑战的参与者必须阅读挑战描述,理解问题,将其转化为算法解决方案,以通用语言实现,并针对一组有限的测试用例进行评估。最后,他们的结果是根据在实施过程中不可用的隐藏测试的性能进行评估的。编码挑战也可以有其他条件,例如时间和内存限制。

基本上,参与编码挑战的机器学习模型必须生成一个完整的程序,用来解决它前所未有的问题。

编码挑战解决方案的示例。图片来自 DeepMind

Transformer 和大型语言模型的力量

AlphaCode 是大型语言模型在解决复杂问题方面取得进展的又一个例子。AlphaCode 是大型语言模型在解决复杂问题方面取得进展的又一个例子。这种深度学习系统通常被称为序列到序列模型 (Seq2seq)。Seq2seq 算法将一系列值(字母、像素、数字等)作为输入,并生成另一个值序列。这是机器翻译、文本生成和语音识别等许多自然语言任务中使用的方法。

根据 DeepMind 的论文,AlphaCode 使用了一种编码器-解码器 Transformer 架构。近年来,Transformer 变得特别流行,因为它们可以处理大量数据序列,并且比其前身循环神经网络 (RNN) 和长短期记忆网络 (LSTM) 所需的内存和计算需求少得多。

Transformer 网络的结构

AlphaCode 的编码器部分为问题的自然语言描述创建了一个数字表示。解码器部分获取编码器产生的嵌入向量,并尝试生成解决方案的源代码。

事实证明,Transformer 模型擅长此类任务,尤其是在为它们提供足够的训练数据和计算能力的情况下。但在研究者看来,AlphaCode 的真正出色之处不仅仅是将原始数据投入到超大型神经网络中的强大功能,更多地在于 DeepMind 的科学家们在设计训练过程以及生成和过滤它的算法方面的独创性有关。

无监督和监督学习

为了创建 AlphaCode,DeepMind 的科学家结合了无监督预训练和监督微调。通常被称为自我监督学习,这种方法在没有足够标记数据或数据注释昂贵且耗时的应用程序中变得流行。

在预训练阶段,AlphaCode 对从 GitHub 提取的 715GB 数据进行了无监督学习。通过尝试预测语言或代码片段的缺失部分来训练模型。这种方法的优点是它不需要任何类型的注释,并且通过接触越来越多的样本,ML 模型在为文本和源代码的结构创建数字表示方面变得更好。

训练和应用AlphaCode的算法。图片来自 DeepMind

然后在 CodeContests(DeepMind 团队创建的带注释数据集)上对预训练模型进行微调。该数据集包含问题陈述、正确和错误的提交以及从各种来源收集的测试用例,包括 Codeforces、Description2Code 和 IBM 的 CodeNet。该模型经过训练,可以将挑战的文本描述转换为生成的源代码。它的结果通过测试用例进行评估,并与正确的提交进行比较。

在创建数据集时,研究人员特别注意避免训练、验证和测试集之间的历史重叠。这确保了 ML 模型在面临编码挑战时不会产生记忆结果。

代码生成和过滤

一旦 AlphaCode 接受了训练,它就会针对以前从未遇到过的问题进行测试。当 AlphaCode 处理一个新问题时,它会产生很多解决方案。然后,它使用过滤算法选择最佳 10 名候选人并将其提交给比赛。如果其中至少有一个是正确的,则认为该问题已解决。

根据 DeepMind 的论文,AlphaCode 可以为每个问题生成数百万个样本,尽管它通常会生成数以千个解决方案。然后对样本进行过滤,只包括那些通过问题陈述中包含的测试的样本。据该论文称,这会删除大约 99% 的生成样本,但仍然留下了数千个有效样本。

为了优化样本选择过程,使用聚类算法将解决方案分组。据研究人员称,聚类过程倾向于将工作解决方案组合在一起。这使得找到一小部分可能通过竞争隐藏测试的候选人变得更加容易。

根据 DeepMind 的说法,在流行的 Codeforces 平台上的实际编程比赛中进行测试时,AlphaCode 平均排名前 54%,考虑到编码挑战的难度,这非常令人印象深刻。

AI VS 人类

DeepMind 的博客正确地指出,AlphaCode 是第一个“在编程竞赛中达到具有竞争力的性能水平”的 AI 代码生成系统。

然而,却有人将这种说法误认为人工智能编码“和人类程序员一样好”这是谬误的将狭义的人工智能与人类解决问题的一般能力进行比较。

例如,DeepBlue 和 AlphaGo,它们是击败国际象棋和围棋世界冠军的人工智能系统。虽然这两个系统都是计算机科学和人工智能的了不起的成就,但它们只擅长一项任务。他们无法在任何其他需要仔细计划和制定战略的任务上与人类对手竞争,这些都是人类在成为国际象棋和围棋大师之前获得的技能。

关于竞争性编程也可以这样说。一位在编码挑战中达到竞争水平的程序员已经花费了数年的时间学习。他们可以抽象地思考问题,解决更简单的挑战,编写简单的程序,并表现出许多其他在编程比赛中被视为理所当然且未评估的技能。

简而言之,这些比赛是为人类设计的。你可以肯定,一般来说,在竞争性编程中排名靠前的人就是一个优秀的程序员。这就是为什么许多公司利用这些挑战来做出招聘决定的原因。

另一方面,AlphaCode 是竞争性编程的捷径——尽管它非常出色。它创建了新颖的代码,不会从其训练数据中复制粘贴。但它并不等同于普通程序员。

因此,与其让 AlphaCode 与程序员竞争,我们更应该对 AlphaCode 和其他类似的 AI 系统在与人类程序员合作时能做什么更感兴趣。这些工具可以对程序员的生产力产生巨大影响。它们甚至可能改变编程文化,将人类转向制定问题(仍然是人类智能领域的学科)并让人工智能系统生成代码。

但程序员仍将处于控制之中,他们必须学会利用人工智能生成代码的力量和局限性。

参考链接:

https://thenextweb.com/news/deepmind-alphacode-tool-not-replacement-for-human-programmers-syndication

发布于:北京

责任编辑:
热门阅读排行
© 78信息网