|
最近我对身为大学生的女儿说:如果你想从事工程领域的工作,除了学习传统的工程课程,还应当专注于研习哲学。为什么呢?因为这会提升你的编程能力。 这话出自一名工程师之口,或许看似有悖常理。但围绕你想要解决的问题构建清晰的思维模型,以及在着手思考 “如何做” 之前先理解 “为何做”,这些能力正变得愈发关键,尤其是在人工智能时代。 编程是人工智能最擅长的领域之一。通常情况下,人工智能编写的代码质量比人类更高,而且其能力还在迅速提升。要知道,计算机语言所使用的词汇量远比人类语言有限。 然而,这里存在一个问题:人工智能生成的代码在语法和语义上可能正确,但在功能上却未必符合要求。也就是说,代码可能运行良好,但却无法达成你预期的效果。模型的输出对提示的表述方式极为敏感。提示一旦出错,人工智能生成的代码往好里说是看似合理,往坏里说则是错误百出且存在风险。 在新兴的 “提示工程” 领域——现阶段它更像是一门艺术而非科学——使用者要学习如何精心编写简洁、富有表现力且能有效让人工智能达成自己预期的提示。目前存在多种技巧,比如少样本提示,即使用者在提示前添加若干示例,引导人工智能找到正确方向,有时还会附上问题和答案。例如,在使用少样本提示进行情感分析时,使用者可能输入这样的提示:“分析财报电话会议中句子的情感倾向”,随后附上诸如 “前景改善:积极” 或 “需求放缓:消极” 等具体示例,帮助人工智能理解模式和语境,从而依据这些示例生成准确的情感分析。 在管理工程团队的数十年间,我学到的一项至关重要的技能就是提出恰当的问题。这与使用人工智能并无太大差异:大型语言模型(LLM)的输出质量对提示的质量极为敏感。模糊或表述不当的问题会让人工智能试图猜测你真正想问的内容,进而增加得到不准确甚至完全编造答案的概率(这种现象常被称为 “幻觉”)。正因如此,为了充分发挥人工智能的作用,人们首先必须掌握推理、逻辑和第一性原理思维——所有这些都是通过哲学训练培养出的基础技能。“你会编程吗?” 这个问题将演变为 “你能通过提出恰当的问题,从人工智能那里获取最佳代码吗?” 从更宏观的角度来看,人工智能的表现依赖于使用者提示中所表达的思维模型的质量,这意味着作者与读者之间的关系,乃至我们与知识的关系,发生了根本性转变。从某种程度上说,这类似于印刷机的发明,印刷机通过大规模生产书籍、创建图书馆和大学,实现了信息的普及。在印刷机出现之前,比如你若想学习数学,可能需要亲自接触数学家,或者获取手抄文本,而这往往要花费不菲。印刷书籍极大地降低了这一门槛,互联网更是将其几乎降至零。不过,作者与读者之间的知识差距这一障碍依然存在。你可以获取世界上的任何论文或书籍,但如果你无法理解,它们就毫无用处。 在使用人工智能时,这种关系以及创作的概念都发生了变化。大型语言模型会根据读者的知识和理解水平调整内容,从他们的提示中获取线索。读者的提示就像一颗种子,触发人工智能生成内容,它会借鉴训练数据中的作品,为该用户量身打造一篇新文本——从某种意义上说,读者既是消费者也是创作者。以学习数学为例,如果你想理解微积分中的极限概念,可以找一本针对高中生或大学生的教科书,或者尝试在互联网上找到与你当前理解水平相符的资料。而人工智能模型则可以根据你的理解水平和学习风格,提供个性化、适应性强的指导。或许在未来,个性化辅导这一学习的黄金标准将惠及每一个人。其影响将难以想象。 生成式人工智能改变了我们与知识的关系,它不仅消除了获取知识的障碍,还以定制化的方式对知识进行解读。它在你现有的知识水平与攻克特定主题所需的知识水平之间搭建了一个平缓的过渡。但是,获取经过恰当定制,且更为关键的——准确的知识,其能力的发挥始于用户,也取决于用户。随着知识越来越容易获取,推理变得愈发重要。然而,一旦你得到自认为所需的输出,这些哲学思维技能的运用并未就此结束——任务尚未完成。如我们所知,人工智能可能会犯错,而且它们尤其擅长让错误的输出看似合理,因此辨别真伪的能力成为另一项极为重要的技能。为了以负责任的方式运用这项技术,获取我们想要的恰当且准确的信息,我们必须始终秉持哲学思维,保持适度的怀疑态度和常识。 曾经有一段时间,为了创建一个计算机程序,我必须亲自拨动开关或在穿孔卡片上打孔。那时的创作过程直接涉及计算机内存位数或寄存器的复杂细节。随着计算机拥有数十亿个晶体管和数万亿个存储单元,我们的软件开发过程借助计算机语言不断提升层次,这些语言将底层硬件的复杂性抽象化,使开发者几乎可以完全专注于算法质量,而非二进制的 0 和 1。 如今,我们正处于这样一个阶段:计算机(即人工智能)无需在我们所说的语言与它们能理解的语言之间进行这种中间层面的转换。我们可以抛开 “罗塞塔石碑”(在历史上是破解古埃及象形文字的关键工具,起到了语言转译、沟通不同语言信息的作用),直接用英语与计算机交流。它们很可能像理解 Python 语言一样理解英语。这随即带来了两种选择:我们可以变得懈怠,也可以提升我们的思维。 当语言不再是障碍,我们可以运用人类语言的全部表现力,以最简洁有效的方式向人工智能传达更高层次的概念和逻辑,这种方式是声明式的(专注于我们想要获得的结果),而非命令式的(专注于实现结果的步骤)。命令式表述:向左转,然后直走,再向左转,然后(重复 1000 次)。声明式表述:带我回家。我在社交媒体上看到,有人仅用几条精心编写的提示就创建出了完整的游戏,而就在不久前,这可能需要花费数月时间来开发。 这又回到了我最初的观点:围绕一个问题构建清晰的思维模型,能够将其分解为易于处理的步骤,具备完美的第一性原理思维,有时还要准备好(并且有能力)与固执的人工智能展开辩论——这些技能将造就未来的优秀工程师,而且这一考量很可能同样适用于许多职业。 我们不能失去在必要时深入探究并修正人工智能可能遗漏之处的能力,或者(至关重要的是)对人工智能的成果进行审核的能力。这对人类来说将是一个真正的问题,而且我们不太可能让这种情况发生——至少我们仍然需要开发人工智能。然而,这只能解决部分问题。将代码创建的机制自动化,并专注于我们的批判性思维能力,才能让我们创造更多、更快,对世界产生巨大影响。让人工智能帮助我们更具人性,而非更像计算机。
|