为了账号安全,请及时绑定邮箱和手机立即绑定

得益于AI,将迎来十亿新的开发者吗?

这是我对德国杂志 AI mag 的一篇文章的翻译。

在7月于柏林举行的WeAreDeveloper World Congress上,GitHub宣布公司将会利用人工智能和助手在短时间内将十亿人变成开发者。另一方面,亚马逊云的CEO在一个内部炉边谈话中解释说,很快将没有人需要再开发软件了,因为机器可以做得更好。两个截然相反的声明,你不得不问自己谁会是对的,这对开发者以及想要进入这个市场的人来说意味着什么。因此,让我们快速回顾一下过去,看看当前的情况以及未来可能的发展。

过去的软件开发者

我自己从1995年起就是一名专业、高薪且备受追捧的开发者。我在雅虎、Mozilla和微软工作了多年,并与谷歌合作参与了Chromium项目。在我职业生涯的初期,公司并不认可我在工作时间和使用公司电脑期间编写并免费提供给他人使用的软件,我所做工作的很大一部分都是仅限内部使用的。

开源作为入门

但很快开源出现了,并改变了这一切。最初它只是面向极客的工具和理念,但后来证明了这是一种合理的软件开发方法。云主要运行在Linux上,Android在数量上超过了iOS,而网络的很大一部分基于WordPress。

开源和知识共享对我来说是自然而然的事情。我不想成为唯一一个理解和编辑软件的人。我希望其他人能够查看我的作品,检查它,并在我没有时间和灵感继续这个项目时接手。

开源让数千名开发者能够开始他们的职业生涯。作为首席开发者,这意味着我不必寻找新员工,而是可以从项目内部招聘他们。我可以看到谁使用或为项目做出了贡献。我已经了解了这些新员工不仅在技术上能做什么,还包括他们如何记录工作、如何应对批评以及如何在团队中沟通。

当我刚开始接触开源时,微软还是那个“邪恶帝国”。2015年我离开Mozilla加入微软的主要原因是我承诺会帮助埋葬Internet Explorer,这是我作为一名网页开发者长久以来的梦想。与此同时,微软发布了Visual Studio Code,一个开源的代码编辑器,它在很短的时间内彻底改变了整个开发者世界。

当传出微软将收购GitHub的消息时,开发者社区中出现了不少不满的声音,许多人预测这将意味着该平台的终结。但我却有不同的看法。GitHub是一个极好的平台,它简化了版本控制,并允许任何人快速围绕他们的软件产品建立社区。然而,它是一家来自旧金山的初创公司,许多传统的欧洲公司永远不会将他们的软件或数据放在那里。有了微软作为背后的公司,情况就完全不同了。

我的意思是,开源很久以前就使得软件开发民主化成为可能,让任何人都可以开始新的开发者职业生涯。当然,互联网是之前帮助实现这一目标的另一个重大发明,但现在你可以免费使用专业工具,这些工具是市场上的大公司使用的,并且可以与它们进行协作。

到目前为止一切顺利。但随后人工智能热潮来袭,突然之间我们又回到了一个繁荣时期,这让人想起了千禧年初的互联网泡沫。

欢迎进入AI热潮的世界

人工智能的概念并不新鲜,但目前只有两个主要区别:

  • 计算机足够快,能够提供AI系统所需的动力
  • ChatGPT、LLMs 和 RAG 让AI变得人人可用,并且目前无论是否合适,它们被广泛使用。

与一个看似智能的机器对话并以此方式获取信息,对于那些在《星际迷航》陪伴下长大的人来说,这一直是一个梦想。这也标志着计算机和知识的一般处理方式发生了重大变化。过去,人们会阅读书籍,然后通过门户网站和搜索引擎查找网站,而现在他们可以直接询问机器并立即得到答案。如果答案不正确,他们还可以要求提供更多信息。

基于AI的大规模软件产品?

每当用户行为发生变化时,大型公司的首席执行官们就会变成预言家,预测未来。当智能手机出现时,一切都必须成为应用程序,因为只有这些才能为最终用户提供最好的服务。当数字助手如Siri、Cortana、Bixby、Alexa等出现时,预测是很快将不再有应用程序,但这些助手将能够满足我们所有的愿望。这里的模式是中国的微信,它几乎可以解决那里的一切问题。然而,这也是一个没有免费互联网的市场。

现在许多人预测,每一个软件解决方案都可能是 ChatGPT 的一个扩展。

每次这种情况发生时,就会立即出现一个市场,你可以在那里提供你的扩展或应用。这些市场很快变成了数字垃圾堆,因为公司会自动创建数百个应用,数字攻击者将病毒和木马伪装成合法的提供物,而且每个成功的产品都有数百个廉价的复制品。

换句话说,软件正变得像大众产品一样,许多人被误导相信他们也能通过一款杀手级应用一夜之间成为百万富翁。

通常情况下,只有市场运营商从成功的推广中获益,而在AI扩展的情况下,最近有很多成功的创意直接被系统本身采用的案例,导致创业者突然发现所有用户都消失了。然而,这种情况并不新鲜,因为在浏览器插件和开发环境方面,这种情况已经屡见不鲜。

从外部来看,它与流媒体服务类似。过去,你需要购买CD或DVD,但今天你可以立即访问所有内容。但是,你对这些内容没有任何所有权,也不能保证再次找到想要观看的内容。就像你并不总能得到ChatGPT的相同答案,有时还会得到一些奇怪的答案一样。正确的答案不可用,所以这里提供一些,嗯,东西。

每当一种新技术被认为即将占领市场时,你总会听到同样的说法。其中之一是,很快就可以在不编写任何代码的情况下创建出色软件解决方案。这种情况在 Visual Basic 时代就已经出现,后来在 WYSIWYG(“所见即所得”)环境中,例如 Frontpage 或 Dreamweaver 也是如此。如今,有许多“低代码”或“无代码”解决方案做出了同样的承诺,这些解决方案使创建产品变得更加容易,但同时也带来了高度未优化的结果。

当然,这在AI领域是可以预见的一个声明,也是ChatGPT的第一个“哇”级别的演示之一,它从纸上潦草的设计草图创建了一个网页应用。后来,“Devin”成为第一个完全有效的软件开发者的AI。两者都带来了大量的头条新闻和掌声,但特别是对于Devin来说,很快就变得很清楚,这只是一个不错的演示,而不是真正的解决方案

谁需要开发者?

我们是否还需要开发人员取决于我们想要创造什么。ChatGPT 的“从纸到代码”演示应用程序是一个网站,只需点击按钮即可显示一个笑话。没有人需要这样的应用程序,它更像是编程课程中的一个练习。甚至作为面试问题,这个应用程序也晚了15年,无法用来测试候选人的知识。

如果我们的工作是创建这样的解决方案,我们不需要一个专业开发者。但我们也不需要AI,因为低代码和无代码产品多年来一直能够做到这些。

确实,你作为开发者所做的很多工作都是基于现有的产品。而且如果真的只是组装现有的组件,那么AI也能做到这一点。

然而,也有很多问题需要更复杂、人类才能解决的方法,对于这些问题,我们需要训练有素的开发人员。在我的职业生涯中,我越来越注意到编写程序只是工作的一小部分。更重要的是开发出人类能够理解和使用的软件,而这正是AI无法为我们完成的任务。无论多么诱人的广告宣传,可访问性和易用性是无法自动化的。

开发者是如何学习的?

对于每个任务,你都需要合适的工具。在软件开发的情况下,那就是开发环境。它应该让我能够轻松地编写代码、查找错误、进行修改,并且如果可能的话,立即看到结果。一个好的开发环境在我不停地编写代码时会告诉我我是否犯了错误或如何使用某个方法。就像文字处理软件在我输入时会下划线标出错误一样。

如果我想了解语法、方法名称或如何解决问题,我可以查阅文档。书籍、在线文档、课程以及视频都有很多资源可供参考。几乎需要全职工作才能区分哪些资源好哪些不好。

那就是为什么有论坛和社会媒体,你可以在这些平台上交换想法。

当 GitHub 推出 GitHub Copilot for VS Code 的想法时,我立刻被吸引住了,并从第一天起就成为了测试者,帮助寻找 bug 并请求新功能。

很棒的是,我不需要去像 ChatGPT 这样的网站上询问编程问题。相反,这一切都在我的开发环境中发生,作为我刚开始开发的功能的继续建议。我还可以高亮部分源代码并询问 AI 这段代码的作用。以前我通常会在论坛或 GitHub 上的评论中这样做。我在编程过程中学习了很多,因此在更短的时间内创建了更多的东西。我还可以告诉系统只参考当前项目,不要给我从互联网上找到的结果。此外,系统会从我的使用中学习我期望的内容。我使用 Copilot 越多,它给出的建议就越符合我原本会写的格式。它开始模仿我的风格,而不是提供随机的建议。

换句话说,研究任务是自动化的,并且是工作的一部分。这也是为什么GitHub在其他平台中具有明显优势,从而有机会完成将十亿人变成开发者的重大任务。

GitHub 是我存储源代码的地方,我可以一键在浏览器中编辑代码,并且我可以访问到大量在这个平台上交流的专家。所有的学习步骤都在一个环境中完成。虽然现在有更多的平台提供类似的功能,但 GitHub 的优势在于它不仅是一个平台,还是一个庞大的社区。

但是开发的技术部分只是任务的一小部分。作为开发人员,我很大一部分工作是过滤和转换数据。你永远不会得到完美的数据,好的软件是防御性地编写出来的,测试输入,预期错误信息并过滤它们。而这正是当前市场上的人工智能真正的问题所在。

AI 创建简单的代码

如果你向世界展示了一个伟大的新解决方案,它不能有任何错误。而这正是当前AI热潮的问题所在。与其说聊天机器人不给我答案,或者干脆承认需要更多信息,大多数系统都会返回一些内容。在聊天、生成图像或视频时,这些被称为“幻觉”。在代码生成方面,这些要么是官方文档中的第一个结果,要么是大多数开发者选择的最佳结果。但这并不是最好的解决方案,而是最简单的解决方案。

许多AI代码生成器基于Stack Overflow、Reddit、官方文档以及知名开发者个人博客等论坛的数据。问题在于,大多数情况下展示的解决方案是最简单和最快的,而不是最安全或最优化的。

几十年来,我编写课程和书籍,每个出版商或平台都想要这样的内容:通过展示一个简单的例子给参与者一个快速、积极的体验,而不需要一开始就指出所有的细节。

这些示例也是在论坛上被社区投票选为最佳的,因为它们简单且能立即得到结果。论坛参与者们不需要知道“为什么”,只需要知道“如何做”。而这些就是AI聊天机器人作为第一个结果展示的代码示例。即使用户告诉机器人这不是一个好的结果,也不会改变底层模型,因为这会太昂贵且耗时。

缺乏透明度

最难的是找出机器人提供解决方案的来源。目前,AI行业并不愿意公开分享这些信息,而是选择保密。当涉及数以百万计的投资时,人们倾向于隐藏使他们的产品特别的东西。最初,OpenAI作为一个典型例子,一开始是开放的,后来改变了策略以吸引更高的投资。但从最终用户的角度来看,了解模型基于哪些数据是有益的,这样你作为原始开发者就可以解释为什么某些例子不好,或者更新和修复已知的安全或性能问题。例如,我知道哪些我的开源GitHub仓库被AI机器人读取并使用了,其中一些非常成功,但仅仅是因为它们是一个有趣的把戏或一个非常肮脏的捷径。

代码归属权是谁?

目前互联网上关于如何保护你的开源内容免受AI机器人侵害存在一场军备竞赛。许多公司因例如抓取YouTube内容而被起诉,而没有注意到许可或询问所有者。虽然许多发布开源作品的开发者对他人在其基础上进行开发没有问题,但当机器将你的代码用于付费服务中的聊天机器人回答,且没有上下文或认可时,情况就不同了。有许多阻止列表旨在保护你的博客或源代码仓库不被索引。然而,AI提供商并不识别他们的爬虫机器人,而是伪装成正常的浏览器。毕竟,重点在于能够提供最多的数据,而不是伦理或遵守许可。

在斯坦福大学的一次演讲中,谷歌前首席执行官最近直截了当地解释说,当谈到创新和快速进入市场时,复制内容是完全可以接受的。创业者不必担心,但最好留给律师处理。真是一个勇敢的新世界。

欧洲成为二等市场?

欧洲有许多规则和法律可能对一些硅谷初创企业不利。在我的工作中,与美国公司合作时,我花了很多时间向同事们解释GDPR等规定,并为无法展示用户信息而道歉,因为未经用户同意,在德国记录这些信息是违法的。这很好,用户的隐私和安全是最重要的。但在快速增长和迅速软件分发的世界里,这并不合适。我们现在正处于一个十字路口,越来越多的人工智能系统和产品要么完全不提供,要么在欧洲要迟几个月才能推出。

政治方面也没有帮忙。历史上,欧洲一直有很多开源公司和开发者,但随着欧盟减少了对开源软件(OSS)的资金支持,许多这些提供商将不得不寻找其他方式来支付账单。这将使得在吸引投资者方面,与那些法律较少的其他国家的公司竞争变得更加困难。

总的来说,问题仍然在于许多人认为开源是免费的。有一个老成语说开源是“免费如领养小狗”,所以如果你领养了一只免费的小狗,那很棒,但你也得照顾它。你得训练这只动物,而且它可能会在地毯上搞破坏。

最近,开源界发生了一起事故最近震动了开源界。几乎所有的系统中都使用的一个重要开源组件xz,差点被恶意软件替换,从而感染所有Linux机器。问题在于,原开发者已经没有时间维护该产品,于是将其交给了一个维护者。这种行为在开源界是完全正常的。但这个维护者却计划用恶意软件替换该组件,并且费尽心思掩盖其意图。我们现在必须问自己,如何确保系统相关组件的维护,同时不担心未来出现类似的安全部署问题。而要做到这一点,没有财务支持将会很困难。

《欧洲人工智能法》(AI Act)于8月1日生效,旨在规范人工智能世界,增加透明度,并使欧洲公司在国际竞争中占据有利地位。然而,该法也给开源项目带来了重大问题,因为这些项目被豁免。其中一个原因是安全问题,因为开放系统更容易受到攻击,并且可以被用于正当目的,也可以被用于不良目的,而无需任何反馈或请求许可。

基于隐蔽的安全性?

在IT安全领域,有一个一直存在的谎言:通过隐蔽实现安全。仅仅因为无法直接分析闭源系统,并不意味着这些系统更安全。

近日,越来越多的报告表明,所有封闭的AI系统都遭到了攻击,数据也已丢失。许多代码生成器也被通过提示注入的方式提供给最终用户不安全的代码,从而安装恶意软件。微软尤其成为媒体的焦点,并且现在甚至将奖金发放与员工对公司安全的影响挂钩。有趣的是,这发生在许多安全专家在11,000人裁员潮中被解雇几个月之后。

这些问题以及其他问题,例如Azure 主密钥丢失和Crowdstrike 停服,也损害了开发者对云服务和大型公司的信任。几乎所有关于 AI 的讲座或文章都警告不要依赖单一供应商。这当然也意味着你必须花费更多,或者依赖本地安装的系统。这些系统必须是开源的。

现在可能发生什么……

GitHub 设定了一个雄心勃勃的目标,并且处于实现这一目标的良好位置。唯一的问题是,在人工智能时代,“开发者”到底是什么。讨论这个问题需要单独写一篇文章,因为它涉及很多方面。

然而,大多数公司隐藏的是,目前AI的商业模式并不奏效。大多数公司目前都在额外支付费用——各种Copilot和系统的收入不足以覆盖计算成本。技术成本高得离谱。在GenAI革命之前,几乎所有大公司都宣称很快会实现“碳中和”或仅依赖绿色能源,但这种情况已经持续了一段时间,所有公司对此话题都变得异常沉默。目前,生成式AI是一个巨大的能源浪费——每个生成的图像所需的电量相当于给手机充电所需的电量。

因此,设备端AI的想法将会变得越来越有趣。不再将模型托管在云端,所有开源AI模型也可以本地使用,例如,Google已经考虑将Gemini集成到Chrome中。还有一些开源项目提供了无需依赖云的AI聊天系统。

总的来说,这确实是非常有趣的时期,市场始终需要更多的开发者。我认为开发者目前还不能被替代,并且我认为智能且易于访问的开发环境给了很多人新的机会参与进来。

问题是,我该如何把这些新手变成对自己的工作感到自豪的开发者,以及在AI说“拿走这个,一切都会顺利”的之后,我们能做些什么来让接下来的学习步骤对他们更具吸引力。

链接资源:
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消