news 2026/4/15 11:04:23

Martin Fowler:AI带来非确定性计算时代的挑战与机遇

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Martin Fowler:AI带来非确定性计算时代的挑战与机遇

Thoughtworks首席科学家、面向对象编程长期专家Martin Fowler认为,AI是他整个职业生涯中见过的最大编程转变。

在由Gergely Orosz主持的Pragmatic Engineer播客采访中,Fowler坦言关于AI,"我们仍在学习如何做到这一点。"

对于行业来说,最接近的类比是从汇编语言的转变。

汇编语言编写起来很繁琐,因为大部分工作涉及在寄存器之间移动内存值。这就是为什么转向更高级编程语言(如COBOL和Fortran)对程序员来说是如此大的福音。

"至少在像Fortran这样相对简陋的高级语言中,我可以编写条件语句和循环之类的东西,"Fowler说。

这些新语言比硬件本身提供了更高层次的抽象。

对于大语言模型,这是"类似程度的思维转变,"他说。

但大语言模型并不是另一种抽象,而是一种完全不同的计算类型。

也就是说,大语言模型是非确定性计算的一种形式,它具有与我们今天认为的"计算"(确定性计算)不同的特征。

确定性计算是严格二进制的。计算要么正确,要么错误。如果不正确,我们可以调试代码看看哪里出了问题。

非确定性计算更加模糊。大语言模型可能在某个时候产生一个答案,而在另一个时候产生完全不同的答案。它构建的答案依赖于统计推理,这是建立在二进制数学之上的一组概率,但并不是万无一失的。

这完全改变了你必须考虑计算的方式,他说。

Thoughtworks是一家技术驱动的咨询公司,因此一直在关注AI是如何成功应用的。

据Fowler说,一个用例是快速构建原型,部分归功于氛围编码的出现。在这里你可以比以前"更快速地"探索想法。

但真正的杀手级应用是使用AI来帮助理解遗留系统。在该公司最新的年度Radar报告(第33期)新兴技术中,使用生成式AI来现代化遗留系统是获得公司最高"采用"评级的唯一AI技术。

对于试图现代化旧系统的客户,Thoughtworks创建了一个例程,基本上对代码库进行语义分析,将结果放入图数据库中,然后可以通过检索增强生成过程来询问,以了解应用程序如何运行。

"如果你在做任何遗留系统的工作,你应该以某种方式使用大语言模型来帮助你,"Fowler说。

但是,虽然大语言模型可以帮助我们理解遗留代码,但它们是否能以安全的方式修改该代码是另一个问题。

然而,更高级的编程在大语言模型方面仍然很困难。在这里你必须将AI工作分解成非常薄的"切片",并非常仔细地审查所有内容,他说。

"你必须把每个切片都当作来自一个相当靠不住的合作者的拉取请求,这个合作者在代码行数意义上的生产力很高,但你知道你不能相信他们正在做的任何事情,"Fowler说。

尽管如此,以这种方式使用AI可以为开发人员节省时间,尽管可能不如倡导者一直声称的那么多时间。

特别是,他建议我们"想出一种更严格的方式"与大语言模型对话,以获得更好的结果。领域驱动设计和领域特定语言可能提供前进的道路。

结构工程的实践也可以帮助更好地衡量在哪里使用AI,Fowler指出。

"我妻子是结构工程师。她总是从容差的角度思考:'除了数学告诉我的之外,我还需要做多少额外的工作,因为我需要它的容差?'"Fowler说。

就像我们知道混凝土桥梁能承受多少重量一样,大语言模型也应该配备描述它们能支持的精度水平的指标。

"我们必须处理的非确定性容差是什么?"他问道。了解这一点,软件开发人员就会知道在哪里"不要滑得太接近边缘"。

Fowler向软件开发人员推荐了一本帮助思考非确定性的书,那就是Daniel Kahneman的《思考,快与慢》。

"他在试图给你关于数字的直觉,以及发现我们在概率和统计方面思考时犯的许多错误和谬误方面做得非常好,"Fowler说。

一如既往,Fowler是一个雄辩的演讲者,在这次采访中对各种主题都有一些见解,包括重构、敏捷过程、企业中的大语言模型、企业应用模式,当然还有每个面向对象程序员最喜欢的语言Smalltalk。

Q&A

Q1:什么是非确定性计算?它与传统计算有什么不同?

A:非确定性计算是大语言模型采用的计算形式,与传统的确定性计算不同。确定性计算是严格二进制的,计算要么正确要么错误,可以通过调试找到问题。而非确定性计算更加模糊,大语言模型可能在不同时候产生不同答案,依赖统计推理和概率,不是万无一失的。

Q2:大语言模型在遗留系统现代化中如何发挥作用?

A:Thoughtworks将使用生成式AI现代化遗留系统列为最高"采用"评级技术。他们创建了一个例程,对代码库进行语义分析,将结果放入图数据库,然后通过检索增强生成过程来查询,帮助理解应用程序如何运行。Fowler建议任何做遗留系统工作的人都应该使用大语言模型。

Q3:如何安全地使用大语言模型进行编程开发?

A:Fowler建议将AI工作分解成很薄的"切片",并仔细审查所有内容。要把每个切片当作来自不可靠合作者的拉取请求,虽然代码产出高但不能完全信任。需要建立更严格的方式与大语言模型对话,领域驱动设计和领域特定语言可能是解决方案。


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/13 13:23:05

别再迷信 Playwright 了,真正决定成败的不是浏览器

我以前也以为,只要页面是 JS 渲染的,上 Playwright 或 Selenium,问题基本就解决了。 后来在一个真实项目里,我用同一个目标站点做了三组对比实验,结论非常清楚: 浏览器自动化解决的是页面执行问题&#xff…

作者头像 李华
网站建设 2026/3/28 7:27:11

小程序搭建平台三大类型解析与选择建议

微信小程序已然成了连接线上与线下商业的关键桥梁,给企业以及商家给予了数字化的经营全新渠道。伴随微信小程序生态持续完善,市场当中涌现出多种类型的小程序搭建平台,从技术实现途径到功能定位各有侧重点。知晓不同平台的特性以及适用场景&a…

作者头像 李华
网站建设 2026/4/8 9:39:22

国际激光设备领军企业技术优势与行业格局分析

现代制造业里,激光技术属于核心工具之一,其发展水准直接关联高端装备制造、精密加工、新能源等关键领域的进展。世界上,一批技术积累丰厚、市场占比高的激光设备企业,凭借持续的技术革新与应用扩展,界定了行业的发展走…

作者头像 李华
网站建设 2026/4/14 1:16:05

数琨创享成功入选江苏省首批入库培育数据企业,踏入数智发展新征程

近日,江苏省数据局正式发布江苏省第一批入库培育数据企业名单。经多轮严格筛选,苏州数琨创享信息技术有限公司凭借在数据领域的综合实力与创新成效,同时成功入选数据服务、数据应用、数据技术培育类型证书。这不仅是对公司数据业务能力、技术…

作者头像 李华
网站建设 2026/4/6 6:00:41

实时多维分析系统架构设计:从理论到实践

实时多维分析系统架构设计:从理论到实践关键词:实时多维分析、系统架构设计、数据处理、分析算法、实践应用摘要:本文围绕实时多维分析系统架构设计展开,从理论基础入手,详细阐述了相关核心概念、算法原理和数学模型。…

作者头像 李华