如果有一个软件工程师从来没有编写过一些东西,因为他们可以编写一些东西,那我会感到非常惊讶。如果你认为你还没有,给自己一些时间,你会的。当我看到人工智能的发展、生成语言模型、波士顿动力公司机器人技术的进步、量子计算和软件工程在过去几十年中所实现或促成的各种其他新颖的成功时,我感到一种不安的感觉,也许“全能” ” 当我用 C 语言写出第一个 IF 语句时,我感到很满足,它远远超出了人类原本无辜的创造性需求。
事实上,让我们看一下。让我们看看创意需求是什么。人类为什么想要创造?制造以前不存在的东西有什么令人着迷的?它到底是无辜的,还是隐藏着更黑暗、更深层次的 DNA 规定的需求?人类是否暗地里想成为上帝?如果是的话,这对软件工程意味着什么?我认为计算软件和硬件的最新进展为我们提供了一些线索,让我们了解正在发生的事情以及几十年来发生的事情。让我们从一个问题开始。
作为一名软件工程师,在你写代码之前,你是分析它对社会的影响,还是首先想用代码证明你的理念?
我怀疑,概念验证的机会几乎总是胜过其他任何事情,但如果我错了,并且您已经处于事先进行了人类影响分析的情况,请在评论中详细说明,我和许多人我的读者很想听听您的想法。
它不再是一个模因了。事实上,它从来都不是真的。在某种程度上,我们今天使用的所有技术,从微波炉到您可能佩戴或放在口袋里的最新小玩意,都是从“我做到了,因为我可以”开始的。如果一个人编写数百行或数千行代码来跟踪和翻译(例如,超速汽车的车牌),它是否有效,以及它的准确性如何,与生俱来的渴望了解会发生什么,这与追踪和翻译没有什么不同。多年前为我们带来了 OCR,或者今天为我们带来了 ChatGPT。
如果我这样做或那样做会怎样,这是每个软件工程师每天都要问自己很多次的问题。是的,通常它是严格在任务范围内的。如果我在这里使用三元而不是开关怎么办?如果我使用 Scala而不是 Node 作为 API 会怎样?然而,最终我们中的许多人都会在日常任务中不再提出这些问题。事实上,有些人——比如我自己——进入编程是因为他们很早就问自己一个更存在的问题——我能用代码创造多少东西?接下来自然是一长串的尝试和失败,但就像在科学中一样,在计算机科学中也有一个隐藏的普遍真理:尝试的次数越多,成功的机会就越大。
我还没有遇到过最终无法解决的软件工程挑战。这不是傲慢,而是不可避免的可能性。
而且我非常有信心,我并不孤单。事实上,与我遇到的许多其他工程师相比,我认为自己只是平均水平。我不是天才,也不认为自己有什么特殊能力。然而,我所拥有的是顽强的毅力。作为软件工程师,我们很多人都知道,归根结底,只要硬件存在来支持我们编写的代码,无论我们想象什么,都可能发生并且最终会发生。当硬件不存在时,我们要么等到它出现,要么自己创建它。
这就是让人害怕的地方。您可能已经注意到,在上一节中我一次都没有提出过“但是我应该吗?”的问题。。与许多其他技术进步一样,许多尝试和失败都发生在所谓的沙箱中。这可以是简单的东西,比如个人电脑、私人 GitHub 存储库甚至实验室。代码被编写出来,随着时间的推移不断发展,最终概念得到验证,因为让我们面对现实吧,大多数时候 POC 是为了被证明,而不是被证伪。
这个沙箱环境类似于史蒂夫·乔布斯和史蒂夫·沃兹尼亚克的车库或其他人在实际通量电容器上工作的棚屋。它可能位于一个“安全空间”,不会对人类产生影响。除非它被证明有效。那时,有些人可能第一次问自己,他们的发明是否会对世界产生影响,以及这种影响会是什么样子。然而,令人惊讶的是,内心的谨慎声音很快就被创造者的兴奋所压制,因为在第一天结束时,“上帝认为这是好的”。因此,第二天到来了,接下来的许多天,软件工程的道德方面每天都被令人兴奋的进化所进一步推低,现在它不再是一个概念证明——而是一个创造。
哪个创作者想要扼杀自己的艺术?
聆听人工智能教父杰弗里·辛顿 (Geoffrey Hinton) 的讲话,关注OpenAI 取得的进步,并阅读《GPT 是 GPT:对大型语言模型对劳动力市场影响潜力的早期观察》等论文, 越来越清楚的是,任何版本的人工智能我们目前已经访问或正在开发,已经创建了代码第一,影响之后的态度,这让我陷入了精神病态。
我知道听起来怎么样。这听起来像是指责,或者至少……不太好,也不讨人喜欢。如果你真的觉得它很讨人喜欢,我会很担心。需要明确的是,我并不是称软件工程师为精神病患者或反社会者,我而是在讨论软件工程本身的精神病本质,因为在我们今天生活的世界中,它是一个人可以拥有的最强大的技能之一。事实上,它是如此强大,以至于它在各个行业中都占有一席之地,从清洁地板到将人们送入太空。
根据维基百科,精神病影响着世界上 1% 的人口,其描述为:
精神病有时被认为是反社会的同义词,其特征是持续的反社会行为、同理心和悔恨受损,以及大胆、不受抑制和自私的特征。— 维基百科
这并不是一个可以忽略不计的百分比。这是八千万人。这大约是 2020 年以来与 COVID-19 相关的死亡人数的 12 倍。在另一篇关于 PyScript 的文章中,我引用了一个视频,根据 Peter Wang 的说法,2022 年全球大约有 2500 万软件开发人员。两者之间是否存在重叠我不知道这两个数字,也不应该有人草率地得出存在的结论。然而,听了许多人工智能创始人的声音以及他们对他们的创造对社会的影响的看法,这并没有让我认为他们对潜在的后果有任何悔恨,也没有迫切地把精灵放回瓶子里。,或确保他们不会向我们的社会释放不可阻挡的恶意软件的任何实际行动。
感觉恰恰相反。一次又一次,我看到的是非常兴奋但又轻松又漫不经心的半神们对他们的创造感到兴奋,炫耀它,吹嘘它,当不可避免地有人提出对人们日常生活的影响的话题时,反应准备不足最好还是“让其他人来处理这个问题,比如立法者,责怪政客”。典型的“无论如何我们都会这样做,然后请求宽恕”,这些都没有给人们带来太多信心或保证,以证明他们不会炸毁世界。需要明确的是,我所指责的不是他们,而是软件工程,总的来说,它是一个非常滑坡的领域,对创造的渴望常常淹没了对人类的考虑。
事实上,我们创造人工智能并不是因为我们需要它。我们需要火,我们需要轮子和许多其他东西。然而,我们创造人工智能是因为我们想要这样做,因为我们无法压制我们自己的集体“上帝情结”,不惜任何代价,甚至以牺牲我们自己为代价来重新创造我们自己。这应该让我们每个人都感到担忧。
也许展望未来,软件工程的新座右铭应该是“仅仅因为你可以,并不意味着你应该”。