你可以保住你的工作,但它不会是同样的工作
保住工作,但会不同
最近,我在对OCP-17 Java考试的勉强学习上写了三篇文章,提供了如何使努力变得不那么痛苦的建议。我还没有通过这个考试。随着人工智能编码辅助技术的不断进步,我觉得提高自己作为人类编译器的技能越来越过时。它始终是一种自虐行为,但我越来越确信,在某些机器擅长的领域变得擅长并没有职业优势。我承认,任何追求都可能有其他非纯粹实用的好处或乐趣,但作为一名开发人员,我是为了高效工作而支付工资的。在工作中愉快是一种不错的体验,但OCP所需要的技能并不是我觉得有趣的。
对人类来说困难的许多智力任务对于计算机来说很容易(比如国际象棋、算术、机械学习),这种情况已经持续了几十年。我们发明了高级编程语言和垃圾回收,因为人类在翻转位和管理内存方面表现糟糕。计算机语言和工具的发展方向是越来越抽象。GitHub Copilot等工具只是去除意外复杂性的下一个不可避免的步骤。
像马克·安德森这样的技术乐观主义者相信人工智能将拯救世界。阅读他的文章,但也要考虑到他是一个亿万富翁,他的生活舒适与开发者的工作市场动荡无关。像我们这样,还有房贷要支付,离退休还有一些年头的人,必须考虑如何使我们的技能保持几个巧妙的步骤,最好是在人工智能永远无法侵入的领域。这样的领域是否存在,并且它是否会长期保持不受侵犯?我相信是有的。这就是人类语言的领域。人类仍然具有巨大的竞争优势。这就是这篇文章所讲述的。我不会否认我对ChatGPT和Google翻译印象深刻,但作为一名前翻译员,我并不过分担心它们可以取代我们。
塞隆人永远不会说英语
你会认为遥远星系中的有意识计算机会用某种计算机语言相互交流。作为年轻的科幻迷,我和我哥哥在七十年代末受到荷兰电视的热烈欢迎:《星际迷航》、《巴克·罗杰斯》、《布雷克的七个》以及最滑稽的原版《银河战士》。作为聪明的学前儿童,我们很快就注意到邪恶的塞隆机器人种族的严重设计缺陷。除了他们可悲的飞行技能外,为什么这些冰箱之间要用美式英语交流呢?以每秒两个音节的速度,并使用声波。没有普遍智能会朝这样笨拙和人类中心主义的方向发展。
在他的文章中,安德森给出了对人工智能的以下描述:应用数学和软件代码,以教会计算机以类似于人类的方式理解、综合和生成知识。
这听起来很有道理,但任何人工智能的内部工作方式实际上与人类完全不同。国际象棋算法并不模拟Magnus Carlsen大脑中发生的事情。它通过计算力量以及大量能源实现了类似(甚至更优越)的效果。我们的所有发明与它们模拟的生物功能相比都需要大量能源。飞机并不模仿鸟类的飞行方式。你无法通过扇动翅膀来携带300个度假者及其行李。因此,我们发明了强大的螺旋桨和喷气发动机,它们与坚固的非生物材料更好地配合工作。
与国际象棋引擎相比,大型语言模型更加浪费且成功较少,因为游戏规则要复杂得多。可以理解这一点。只需将其暴露给更多的源数据,摩尔定律就会发挥作用。但是,在这里暴露给更多的数据并不是解决方案。机器无法解决人类语言问题,因为人类使用它来沟通。婴儿不是通过在图书馆里关了一年来学会语言的,而是通过在特定情境中使用它来满足特定和紧迫的需求,比如要求喝牛奶或换尿布,然后逐渐发展到更复杂的用法,例如25年后的薪水谈判。人工智能完全无视这种上下文和目的。
普遍语法
也许需要简要介绍一下语言学。历史上,语言研究属于大学的人文学科。学者们研究文学、古代文字和方言,并编制了少数民族语言的语法和词典。在20世纪(尤其是通过诺姆·乔姆斯基的作品),科学家们开始对人类语言的独特能力感兴趣,并开始提出新的问题。我们能否研究一个语言表达(口语和书面语)的语料库,并推断出适用于所有人类语言的规律?是否存在一个所有当前语言都源自的普遍语法,并且我们能否将其表述得像物理定律一样精确,没有例外?然后,我们能否将这些规则转化为代码,并使其生成正确的法语、纳瓦荷语或斯瓦希里语句子?
也许是这样,但这些句子仍然没有多大意义。语言在多个层面上运作。在句法层面上,有规则可以判断一个句子是否构造良好,但却无法说明其意义。我们可以说一个句子在句法上是正确的,但却毫无意义。相反,对于句法错误,我们具有有效的容错能力,仍然能理解外国人试图用破碎的语言理解自己。这个显著特征被称为结构的二重性。语法和意义(语义)似乎按照它们自己的规则运作。母语使用者已经获得了判断一个句子在句法上是否正确以及是否有意义的语言直觉。将这些心理机制明确化是最终的挑战。我们还没有达到那个阶段。远远不够。
你介意吗,我在喝茶
当你放大视角并包括使用和意图时,科学变得更加模糊。单词需要在句子中有意义,但整个消息也必须适合情况。在英国英语中,“你介意吗,我在喝茶”是完全合理的,因为晚餐被称为“茶”。但它也是非正式的。在高档餐厅中不会这么称呼它。语用学研究语言的使用,并考虑所有这些文化敏感性。你无法从书中学到这种隐含的知识。你需要通过多年的接触来获得它。语言模型完全不知道和忽视这一点。否则怎么可能呢?如果我们设法将人类语言的全部丰富性和混乱性倒入工作代码中,使计算机产生意识,它们可能会讨厌它。
机器翻译在任何可预测和缺乏想象力的事物上都做得很好,比如天气预报或巧克力软糖的食谱。文学、诗歌或任何需要独创性和创造力的东西:就不那么好了。试试这个提示:将热门音乐剧《汉密尔顿》改写成非洲荷兰语(Afrikaans),以20世纪80年代为背景,主角是纳尔逊·曼德拉和弗雷德里克·德克勒克(Frederik de Klerk)。要保持节奏、押韵和幽默不变。结果在某些地方可能会令人意外地有趣,但总体上令人发指且不可用。
在最近的播客采访中,同样的马克·安德里森(Marc Andreessen)对萨姆·哈里斯(Sam Harris)大加赞赏,称你可以与ChatGPT进行有意义的哲学讨论。不,马克,你不能。你被愚弄了。这台机器仍然在盲目飞行。它是根据从柏拉图到伯特兰·罗素的作品,以及新纳粹仇恨言论的灌输,从统计上获得的信息做出推测,并为你准备了一个精心策划的虚张声势。
与此同时,编码怎么样?
编写计算机代码类似于语言的句法层面。人工智能完全可以在实时提供警告和有用建议,超越简单的编译器正确性。它甚至可以为你编写代码。但这段代码是否符合人类的目标?我们是否在构建正确的东西?这段代码是否有用或有害?我们本来应该写这段代码吗?对此没有 IntelliJ 插件。只有人类可以回答这些问题。
你的竞争优势在于回答这些问题。你应该对代码与人类事务世界接触的模糊和混乱层面感兴趣。是的,你的角色可能会成为业务分析师和开发人员之间的混合体。你可能不喜欢这样,因为你会写的代码越来越少,而编码是如此有趣。那就把它当作一种业余爱好吧。人工智能已经赢得了《 Code 的降临》,我相信它也能通过 OCP 考试。你已经超出了自己的能力范围,事情只会变得更糟。这并不可耻。没有人能在与大猩猩的臂力对抗中获胜。明智地选择你的对手。
让人工智能处理意外的复杂性,让我们专注于本质。利用计算机为人类解决问题从来不是写更多的代码。构建程序的本质很大程度上是调试规范,正如弗雷德·布鲁克斯(Fred Brooks)早在1986年就写道。