工程学中AI看不见的部分

不久前,有人向我提出了一个想法:用AI代理取代公司里所有的工程师。假设是这样的:

唯一缺少的就是给AI编码代理提供完整的现有架构文档和隐性知识。

我不认为这些就是编码代理与超级工程师之间的唯一障碍。在我看来,原因在于编码/编程/制造与工程之间的根本差异。缺失的部分是工程

什么是工程?如果你不知道任何"官方"定义,试着思考一下。

通常的答案可能是"用科学解决现实世界的问题"或"将理论转化为有用的东西",或者干脆就是"建造东西——桥梁、机器……"。这没有错,但只触及了表面。让我们选一个定义(有很多可供选择):

工程是创造满足现实世界问题的解决方案的过程,同时平衡约束条件并确保可维护性、可靠性、可用性和效率。

这与你在工程圣经标准中看到的有些相似。如果你认为这是20世纪才编造出来的,那么请考虑其起源可以追溯到古罗马时期约公元前30年维特鲁威《建筑十书》。既然他很可能也不是发明者,我想我们可以安全地假设工程学已有2000多年的历史,并且相当成熟。只比医学或农业"年轻"一点点。

1、花园桌

好了好了,这些都很好,但在实践中是什么呢?如何识别工程?我将尝试用一张花园桌来说明。因为这个世界还需要一个糟糕的类比,对吧?

有一年春天,我把我们的木质IKEA花园桌从地下室搬出来,发现它真的散架了。这并不意外,去年它就已经状况不佳了。但我妻子找不到合适的替代品。原始型号已经不再销售。其他型号要么太小要么太大,或者更糟——颜色不对。

不管怎样,我站在这个报废的桌面前,思考如何处理即将到来的夏天。于是我买了一些木板和一桶白漆。我妻子有点困惑:"你要用那些东西做什么?"是的,我没有很多工具——基本上只有一把手锯、电钻和螺丝刀。我用一个下午在地板上重建了这张桌子。

结果呢?取决于你用什么样的眼光来看。对我来说,这是一张完美的桌子,正是我们想要的风格和尺寸,而且很好用(这是一张可伸缩的桌子)。对于木匠或销售人员来说,这活儿相当粗糙(对此我很抱歉,但我可以归咎于缺乏合适的设备,对吧?)。

但它非常好用。这是因为它被设计得非常好(就像大多数IKEA产品一样)。如果工程设计得好,一次糟糕的制造不会完全毁掉它。这个原则的另一个可爱例子是泥地维修。其中一条评论说得再好不过了:

我同样对这些技术娴熟的家伙能在泥坑里重建发动机印象深刻……也对梅赛德斯制造的发动机能够承受在泥坑里被重建印象深刻。

我也很钦佩那些能在沙土中修复发动机曲轴的熟练工人,但这种技能和修复的可行性是良好工程的结果。至少在某一部分可以被替换的意义上是这样。你可能认为这理所当然,但事实并非如此。

另一方面,可维护性可复制性并非出于某种利他动机——让50年后的人还能修理桌子或卡车。它们是由制造、运营和业务需求驱动的,就像工程中的一切一样。

如果你仔细看我的照片,你会注意到木板的宽度不同。那是因为我挑选了可用的材料,以保持桌子的风格和功能(木板的位置不纯粹是装饰性的,它们还支撑着伸缩机构)。我百分之百确定IKEA选择的木板宽度是效率的残酷计算——最有利可图的木板宽度,同时仍然可用且外观可接受。

我对桌子做的是制造。我观察了它应该如何工作。我重用了一些零件,并将不同的零件安装到大致现有的设计中。我没有设计一张新的伸缩桌,我只是更改了一个现有设计(改得很糟糕),利用了好的决策,忽略了对我来说不重要的决策。因为我使用了不同的木板,桌子最终重了约1公斤。我不介意,因为我每年只搬动它两次,但这肯定会让IKEA的物流部门不爽。我省略了遮阳伞的孔(我不使用它),这让我能够补偿缺失的连接以保持结构稳固。这一切"只是"制造(编码/编程)。我不是在贬低它,因为制造需要很多工程师往往缺乏的技能和知识。我只是想强调,这是坐在光谱另一端的某种东西。

每一个大规模生产的东西都包含数千个精心协调的决策。在一个好的产品中——没有决策是孤立的。没有决策是随机的。你不可能同时拥有最(便宜 + 好看 + 轻便 + 易组装 + 耐用 + 紧凑 + 可大幅伸缩的桌子)的一切。你必须选择一种既能满足客户又能满足业务(广义上——从制造到物流再到服务,直到会计和利益相关者)的妥协组合。

2、代理 vs 桌子

这与最初的AI编码代理替代有什么关系?AI代理正在做我对桌子所做的事情——对现有设计进行合格(有时是粗糙的)执行——这与最初设计桌子是不同的。

哦,我听到了——但AI可以为我设计! 抱歉,我不这么认为。它当然可以设计一张桌子,但它能设计一个桌子产品吗?最近我经常听到AI代理缺乏判断力或品味。我相信这在很大程度上与Andrej Karpathy的演讲有关,他简要提到了这一点。但品味判断力是什么?你如何获得它们?

如果我有蓝图,我会更好更快地制作桌面。但我没有也能做到。代理也可以做到同样的事情——在没有软件架构文档的情况下工作,仅仅因为它能够查看周围可用的东西。它可能会遗漏一些东西,但如果产品已经设计得很好,结果无论如何都会起作用。那个AI只是利用了产品中已经内置的杠杆效应。

如果你让AI从零开始为你设计一张桌子,它当然会做。然后你建造它,意识到承载能力太低,所以它增加了螺丝。然后你意识到它太重了。所以它用木栓替换了一些。然后你意识到组装时间太长。等等。

是的,我听到了!"没关系,我只是在迭代地改进规范!"嗯,既是也不是。是的,你在迭代地改进规范,这很好。前提是失败的代价足够低。虽然构建软件通常比构建任何实物便宜得多,但成本可能隐藏在时间消耗中(你用完了尝试机会)。但更重要的是——你最终不可避免地会得到本质上不一致且从根本上矛盾的规范。项目经理们害怕厄运三角

那只是摆弄三个顶点。工程要摆弄一个拥有无数个顶点的多边形。这就是你必须面对的"厄运无限多边形"。

3、判断力和品味

那么,那种能将编码AI代理转化为AI工程师的神奇的判断力和品味到底是什么呢?

请允许我再讲一个小故事。

我学过机械工程,其中一个较大的项目是设计一个简单的变速箱。这对于半个学期来说是一个相当复杂的任务,约束条件很少(因此沿途需要做出很多决策)。基本上唯一给定的参数是输入扭矩。这基本上决定了齿轮齿的尺寸(因为每个齿都需要在任何时刻传递扭矩),而齿轮齿的尺寸决定了齿轮的尺寸(因为齿需要安装在齿轮的圆周上),依此类推。

于是,我计算、画草图,并没有太在意全局。任务本身已经够复杂了。在脑海深处我知道扭矩相当大。和同学们一起,我们认为这是老师出题时的一个恶作剧错误。没多想,我画出了第一个可展示的版本,然后去找导师审阅。他温和地认可了一下,给了一些小建议,然后问道:

"那么,你打算怎么安装它?" "我不打算安装它。" "是的,我知道,但你能想象一下它会如何被安装吗?" "它有多重?" "是啊,你必须在画之前就想好。"

说着他把设计递还给我。然后我疯狂地试图计算如何算出由50多个零件组成的变速箱的重量而不发疯。结果才发现导师对精确重量根本不感兴趣。于是我估算了一下。大约2吨。然后我恍然大悟。我基本上是在设计一个船舶用的变速箱。这东西太大了。它比这个还要大一点(当然没那么好看,也简单得多):

它迫切需要一些起重机可以抓取的地方;但你必须考虑重心,这样它才不会倾倒;你也不能随便从某个点吊起它,因为它会因自身重量而弯曲;你必须考虑外壳的结构特性;它不只是为了装饰(和安全);它对那个东西甚至能被放置在其服务的场所内至关重要。那么变速箱外壳应该是什么样子的?

然后我意识到变速箱的宽度不能随意定为2390毫米,因为这比能装进集装箱的尺寸多了50毫米。如果你必须超过这个尺寸,那你绝对不能超过3150毫米(因为这是UIC‑G1火车 wagon 装载的最大宽度)。当然前提是目的地在TEN-T线路上,否则你愿意为Schnabel车付费并取得特别许可,除非你运往瑞典或挪威。我怎么就到这里来了?啊,厄运无限多边形!不,齿轮!当然,重做外壳意味着也要重做齿轮,因为,令人惊讶的是,轴并不会悬浮在内部;需要大量重新绘图。顺便说一句,我说过变速箱的第一个外壳会比所有内部零件的总重还要重吗?我当然得重新画。

那次学校里的互动深深地印在我的脑海里,因为那一天我在半小时内学到了五个学期的工程学。它就这么串联起来了。虽然扭矩几乎是唯一明确要求的参数,但我突然意识到,存在着一整套隐性的("当然很明显")属性,一个设计良好的产品必须遵循这些属性才能在商业上可行。从那天起,一切都变得完全合理——为什么我在学习机械工程的时候需要完成经济学、计算机、材料工程、化学、管理、商业、物流、会计等课程?厄运无限多边形……

4、判断力和品味:再论

那么,那神奇判断力和品味到底在哪里?

抱歉,我认为没有这种东西。工程工作只是一大堆令人厌烦的问题,比如"在什么条件下这个会停止工作?"、"这个问题会影响我们吗?"、"会有多少用户使用它?"、"这对我们的案例相关吗?"、"能以更低的成本实现同样的目标吗?"等等。但它们不能只是任何问题,它们必须是正确的问题。工程不是品味。它是纯粹的愚蠢妥协,通常是与在同一产品上工作的其他人艰难争取来的。它不是判断力。它是纯粹的愚蠢数学,说第二个版本需要三倍长的制造时间而没有任何增值。但你必须知道哪种数学在那里是相关的。好吧,也许它是判断力和品味,但它肯定不是神奇的

对此的反驳是"只要把整个公司文档化并交给AI"或"给它更多上下文"。嗯,我也不认为这就能神奇地创造出工程(或判断力和品味)。如果你将一家成熟的公司文档化,你最终会得到大量矛盾的信息:

"我们绝对不接受任何ARR低于1万美元的客户。(除非它是一个我们想要赢得好口碑的品牌,或者是朋友、朋友的朋友,或者你知道的那种我们有点喜欢的客户)。"
"我们绝对不接受任何月交易额低于1万美元的交易。(除非是12月,而且他们承诺在2月预算更充裕时续约,或者可能在明年左右)。"
"我们绝对不制造任何宽度超过3150毫米的变速箱。(除非它运往瑞典或挪威,或者他们愿意支付额外费用,或者路线上没有隧道,或者我们空运过去,或者想一些其他的变通办法)。"
"我们绝对没有任何利润率低于10%的产品线(除了2-3条我们希望帮助人们爱上我们的独家产品线,以及一条我们希望帮助人们升级的入门级产品线;当然还有限量系列)。"

对这些问题的回答不是AI上下文中的查找表。它是谈判,是视情况而定的妥协。答案不是说"更多"的反馈循环,而是说"更少"的反馈循环,因为你知道"更多"会在三次迭代后反咬你一口。神奇不在于对公司或运输了解得更多。神奇是伪装成工作。它是解决那个特定项目的矛盾(是的,它们总是矛盾的)需求,猜测并决定哪些需求必须满足、哪些可以放宽、哪些是未说明的("这对桌子重量有什么影响?")。神奇在于提前十步思考和决定("你会如何安装它?"、"别人会如何维护汽车发动机?")。

是的,我又听到了!答案很简单——"只需把所有那些未说明的问题和答案都添加到上下文中!"。姑且不论说出未说明的问题有多难,也不论厄运无限多边形,也不论有限的上下文大小,最后一个问题是你最终得到一个充满矛盾答案和大量无关信息的上下文,因为世界已经改变,你的公司已经改变,等等。AI并不擅长处理矛盾,也许它擅长,但你如何知道它选择了你的方式?AI让你更容易导航了吗?好的。AI让你跳过导航了吗?坏的。

AI编码代理做着绝对出色的编程工作。我还没有看到它们做好的工程工作。我认为这是因为正如我所描述的——在矛盾的需求和约束丛林中导航。

工程会消亡吗?我表示怀疑。工程方法实际上并不局限于软件或硬件。工程会改变吗?当然会,但它在2000多年的时间里已经改变了好几次。无需恐慌或哭泣。

这是否意味着没有工程工作的事物就没有价值?当然不是,有大量没有经过任何工程工作或工程粗糙却有价值的东西。建造某物并不会让你成为工程师——无论你是人类还是AI。但你不必做工程也能生活和繁荣。工程是一种做事的方式,但它不是唯一的方式。只是不要信任AI工程师


原文链接:The Part of Engineering AI Doesn't See

汇智网翻译整理,转载请标明出处