第十五章 人工智能驱动的软件工程师
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
物竞天择,适者生存。
查尔斯·达尔文
1801年,约瑟夫·马里·贾卡发明了由穿孔卡片控制的织机,能够自动编织复杂图案。 专业织工们惊恐地看着这台新机器复制出曾经需要多年练习才能完成的工作。许多人预言,这将意味着他们所熟知的工艺终结。
然而意外发生了。贾卡织机非但没有淘汰织工,反而重塑了他们的职业。技艺精湛的工匠转型为图案设计师、机器操作员和纺织工程师。最成功的织工是那些既精通传统技艺又掌握新技术的人。生产力激增催生了前所未有的全新岗位。
快进两百年,我们正面临相似处境。人工智能正在编写代码、修复漏洞、设计完整系统。开发者们正经历着当年织工们"我即将被取代吗?"的焦虑。但关键在于:历史告诉我们,事情通常不会如此发展。每次重大技术突破都重演着相同模式,而每次适应变革的人都最终胜出。
贾卡织机并未让熟练织工失业,反而赋予他们超能力:在相同时间内创造更多价值。曾经耗时数日完成复杂纹样的织工,如今一天就能织出多幅作品。人工智能(AI)正为开发者带来同样的根本性变革——你现在能以远超以往的速度构建应用、调试代码、解决问题。
那么,这给今天的开发者们带来了什么?如果你能掌握软件工程的基础知识,并学会将AI作为你的搭档程序员来利用,你就会成为炙手可热的人才,而不是被淘汰。你的学习能力、解决问题的能力和适应能力是你最大的优势,只要你继续发展这些技能,你就会保持竞争力。在下一节中,你将通过分解开发者会遇到的概念来了解什么是AI。
人工智能的本质是什么?
尽管人工智能如今似乎渗透到我们日常的每一次对话中,但它并非新生事物。自20世纪50年代起,计算机科学家便追逐着人工智能的梦想——那时计算机占据整间房子的空间,其处理能力还不及你口袋里的手机。人工智能研究历经多次热潮与"人工智能寒冬"的交替,通用人工智能的资金支持屡屡枯竭。然而,实用型人工智能从未消失。在幕后,人工智能默默支撑着欺诈检测、图像识别和搜索引擎等应用。直到2022年11月,OpenAI向公众发布ChatGPT。短短五天内用户突破百万,两个月内达到一亿。人工智能突然从学术奇观转变为人人可用的工具。
关于"什么是人工智能"的提问,因其学科涵盖面过广而难以简单作答。人工智能作为统称,既包含简单的规则系统,也涵盖试图模拟人类大脑信息处理方式的神经网络。为使内容与软件开发者相关,我们将聚焦于一套已被证实能有效解决诸多有趣问题的特定技术体系。
本节将通过解析那些令人望而生畏的核心术语,让人工智能更易于理解。您将了解人工智能的优势与局限,最终探索它能为软件工程师带来的具体价值。
揭秘AI术语
学习新技术 常令人望而生畏,尤其当需要掌握全新领域的专业术语时。在人工智能领域,你会遇到如机器学习(ML)、Deep Learning、生成式人工智能(GenAI)和 LLMs 等术语(如图15-1所示)。与传统编程需要逐行编写指令不同,现代人工智能的核心在于训练计算机识别模式或概率,并选择统计学上最可能的答案。
图15-1. 人工智能、机器学习、Deep Learning与生成式AI之间的关系
作为软件工程师,你无需成为人工智能研究员,但理解这些核心概念将有助于你将人工智能能力融入应用程序,并与团队中的数据科学家和人工智能工程师进行有效沟通。 ...