工程不是简单的制造或编程,而是处理无数矛盾约束的艺术。通过修理宜家桌子和设计重型变速箱的故事,揭示AI擅长执行已有设计,但缺乏真正的权衡与判断力——这正是工程的核心。

那张桌子状态并不好。
总之,我站在那张快要报废的桌面前,想着怎么应付即将到来的夏天。于是我买了些木板和一桶白漆。妻子一脸困惑:“你打算拿这些东西干嘛?”是的,我没什么工具——基本就一把手锯、电钻和螺丝刀。一个下午,我在地板上把桌子重新拼了起来。
结果如何?看你用什么眼光看。对我来说,这桌子完美无瑕,尺寸和风格正是我们想要的,而且很实用(它是张可伸缩桌)。对木匠或销售人员来说,这活儿很粗糙(我很抱歉,但至少可以怪工具不齐,对吧?)。
但它用着非常顺手。因为它的工程设计很棒(和大多数宜家产品一样)。如果工程设计过硬,一次糟糕的制造不至于把它彻底毁掉。另一个生动的例子是泥巴修发动机。有个评论说得太到位了:
我既佩服这些技术高超的师傅能在泥坑里重建发动机……也佩服奔驰能造出承受在泥坑里重建的发动机。
我也佩服那些能在沙土中修复曲轴的熟练工人,但支撑这种技能和维修的是好的工程设计。至少,它让零件的更换成为可能。你可能觉得理所当然,但现实并非总是如此。
另一方面,可维护性和可复制性并非源于某种利他动机,好让桌子或卡车50年后还能修。它们和工程领域的其他所有东西一样,是由制造、运营和商业需求驱动的。
如果你仔细看我的照片,会发现木板宽度不一。因为我选了能买到的最合适的木板,以保持桌子的风格和功能(木板的布局不只是装饰,它们还支撑伸缩机构)。我敢肯定,宜家选的木板宽度是对效率的残酷计算——最赚钱的宽度,同时还能用、外观能接受。

重生的桌子
我对桌子做的事是制造。我观察了它本该如何工作,复用了部分零件,把不同的零件装进大体已有的设计中。我并没有设计一张新的伸缩桌,只是糟糕地修改了现有设计,利用了好决策,忽略了对我不重要的决策。因为用了不同的木板,桌子重了约1公斤。我不在乎,一年只搬两次,但宜家物流肯定要抱怨了。我跳过了遮阳伞的孔(我不用),这样就能补偿缺失的连接,保持结构稳固。这一切都“只是”制造(编程/写代码)。我并不是贬低制造——它需要很多工程师常缺乏的技能和知识。我只想强调,它处在光谱的另一端。
每一件批量生产的产品都包含成千上万个经过协调的决策。好产品中,没有孤立决策,没有随机决策。你不可能同时拥有(便宜 + 好看 + 轻量 + 易组装 + 耐用 + 紧凑 + 大幅伸缩)的桌子。你必须选择一组折中方案,同时满足客户和商业需求(从制造、物流、服务到会计和利益相关者)。
这和开头提到的AI编程取代有什么关系?AI智能体做的正是我对桌子做的事——在已有设计基础上胜任(有时糟糕)地执行——这和最初设计桌子是两回事。
噢,我听到了——但AI能帮我设计!抱歉,我不这么认为。它当然能设计一张桌子,但能设计一个桌子产品吗?最近常听人说AI智能体缺乏判断力(Judgment)或品味(Taste)。我觉得这和Andrej Karpathy的演讲有关,他简单提过这个。但品味或判断力到底是什么?怎么获得?
如果有图纸,我能更快更好地把桌面做出来。但没有图纸我也行。智能体也能做同样的事——没有软件架构文档也能工作,因为它能看周围有什么可用资源。它可能会遗漏一些东西,但如果产品本身设计良好,结果还是能工作。这种AI只是利用了产品中已经内置的杠杆作用。
如果你让AI从头设计一张桌子,它当然会做。然后你造出来,发现承重能力太低,于是它加上螺丝。然后你发现太重,它又把一些换成木销。然后你发现组装时间太长……
是的,我又听到了!“没事,我迭代优化规格!”好吧,既是也不是。是的,迭代优化规格很好,前提是失败成本够低。虽然写软件通常比造物理产品便宜得多,但成本可能隐藏在时间消耗中(尝试次数有限)。但更重要的是——你最终会得到一份本质上自相矛盾的规格说明。项目经理都怕厄运三角。

厄运三角
那只是玩三个顶点。工程是在玩一个有无数顶点的多边形:厄运多边形。
那么,能让编程AI智能体变成AI工程师的神奇判断力与品味是什么呢?
再绕个弯子。
我学的是机械工程,其中一个比较大的项目是设计一个简单的变速箱。半个学期的任务,约束很少(意味着途中要自己做很多决策)。基本上唯一给出的参数是输入扭矩。这大致决定了齿轮齿的大小(因为每个齿在任何时刻都要传递扭矩),齿的大小又决定了齿轮轮的大小(因为齿要装在轮缘上),以此类推。

变速箱草图,三根轴,六个齿轮。
于是我计算、画草图,没太关心大局。任务本身已经够复杂了。潜意识里我知道扭矩很大,和同学一起觉得是老师出题时故意挖坑。我没什么多想,画了第一版可交差的图,去找导师审核。他温和地认可了一下,给了些小建议,然后问:
“那你打算怎么安装它?”
“我不打算安装它。”
“我知道,但你觉得实际怎么装?”
(懵)
“它多重?”
(耸肩)
“嗯,你得先想再画。”
他不屑地递回图纸。然后我疯狂地试图算出一台50多个零件的变速箱的重量,还不疯掉。最后才意识到导师根本不关心精确重量。于是我估了个数,大约2吨。然后我恍然大悟。我基本上设计了一个船用变速箱。那东西超级大,比这个(当然没那么好看也简单得多)还要大一点:
4000马力变速箱。
它急需一些能让吊车抓住的地方;但必须考虑重心才不会翻;也不能随便挂在一个点上,因为自身重量就会弯;要考虑壳体的结构特性;它不是只为装饰(和安全)而存在;它对于能否被放置在目标位置至关重要。那么变速箱壳体应该什么样?

变速箱壳体的一些草图。
然后我意识到变速箱宽度不能是任意的2390毫米,因为那比集装箱能装的尺寸多50毫米。如果非得超过,绝对不能超过3150毫米(那是UIC-G1铁路货车最大宽度)。前提是目的地能在TEN-T线路上,或者你愿意花钱用驮背车并申请特别许可,除非运到瑞典或挪威。我怎么到这步田地了?啊,厄运多边形!不对,是齿轮!当然,重做壳体意味着重做齿轮——因为轴不会悬浮在里面;得重画很多图。话说,第一版壳体的重量就比里面所有零件加起来还重?当然得重画。
那次学校互动深深印在我脑海里,因为那天我在半小时内学完了五个学期的工程学。一切豁然开朗。虽然扭矩几乎是唯一明确要求的参数,但我突然意识到,一个设计良好的产品要满足商业可行性,还有无数隐含的(“当然很明显”)属性。从那天起一切都有了意义——为什么学机械工程还要完成经济学、计算机、材料工程、化学、管理、商业、物流、会计的课程?厄运多边形……
那么神奇判断力与品味到底在哪?
抱歉,我不认为有什么神奇之处。工程工作就是不停问那些愚蠢又麻烦的问题:“什么条件下会失效?”“这个问题会影响我们吗?”“多少用户会用?”“这和我们相关吗?”“有没有更便宜的方式达到同样效果?”等等。但问题不能随便,必须是正确的问题。工程不是品味,而是纯粹的愚蠢妥协,常常是在和同事的激烈博弈中赢得的。它也不是判断力,而是纯粹的愚蠢数学,算出第二版制造时间要三倍却没有增加任何价值。但你必须知道什么数学在这里是相关的。好吧,也许它确实是判断力和品味,但绝不神奇。
对此的反驳是“只要把整个公司的文档都给AI”或者“给它更多上下文”。但我认为这也不会神奇地创造工程(或判断力与品味)。如果你把一家成熟公司的文档整理出来,你得到的会是大量矛盾信息:
“我们绝不接受年收入低于1万美元的客户。(除非是想要拿下的好品牌,或是朋友的朋友,或是那种我们有点喜欢的客户。)”
“我们绝不接受月费低于1万美元的交易。(除非是12月,而且他们承诺2月有更大预算时续约,或者明年再续。)”
“我们绝不生产宽度超过3150毫米的变速箱。(除非运往瑞典或挪威,或者他们愿意付额外费用,或者路线没有隧道,或者我们空运过去,或者想别的办法。)”
“我们绝没有利润率低于10%的产品线。(除了2-3条我们希望通过它让人爱上我们的独家产品线,以及一条入门级产品线希望让人升级;当然还有限量版。)”
这些问题的答案不是AI上下文里的查找表,而是谈判和情境依赖的折中。答案不是“多”的反馈循环,而是“少”的反馈循环,因为你知道“多”会在三个迭代后反噬你。神奇之处不在于更了解公司或发货,而是伪装成工作的努力。是解决某个具体项目中的矛盾(总是矛盾的)需求,猜测并决定哪些需求必须满足、哪些可以放松、哪些没有明说(“这会影响桌子重量吗?”)。神奇在于提前十步思考和决策(“你怎么安装它?”“别人怎么维修汽车发动机?”)。
是的,我又听到了!答案很简单——“只要把那些未明说的问题和答案都加到上下文里!”且不说没明说的问题很难说出来,且不说厄运多边形,且不说上下文长度有限,最后的问题是你会得到满是矛盾答案和大量无关信息的上下文,因为世界变了,公司变了。AI不太擅长处理矛盾,或许它擅长,但你如何知道它选了你那条路?AI帮你导航了吗?很好。AI让你跳过导航了吗?糟糕。
AI编程智能体在编程工作上绝对出色。但我还没看到它们做好的工程工作。我认为原因就是我描述的——在矛盾需求和约束的丛林中穿行。
工程会消亡吗?我怀疑。工程方法并不限于软件或硬件。工程会改变吗?当然,但过去两千年它已经变了好几次。没必要恐慌或哭泣。
这是否意味着没有工程工作就不值得做?当然不是,有很多有价值的东西不需要工程工作或工程很糙。做东西不代表你就是工程师——无论你是人还是AI。但你不必靠工程生活和发展。工程是一种做事方式,但不是唯一方式。只是别相信AI工程师。
感谢你成为社区一员
在你离开前:

👉 记得点赞和关注作者 👏️️
👉 CodeToDeploy技术社区已在Discord上线——立即加入
声明: 本文包含联盟和合作链接。
免费获取企业 AI 成熟度诊断报告,发现转型机会
关注公众号

扫码关注,获取最新 AI 资讯
3 步完成企业诊断,获取专属转型建议
已有 200+ 企业完成诊断