—— AI时代,我们不再修补,我们重建世界

又是一个被会议填满的下午。

白板上,关于一个核心系统的未来,再次画上了那个熟悉的“十字路口”——左边是“重构”,右边是“重写”。

这样的场景,于我,于我们这一代软件从业者而言,早已是刻入骨髓的记忆。它像一场周而复始的仪式,一方引经据典,搬出马丁·福勒的《重构》圣经,强调“小步快跑,持续迭代”,如同老中医的“望闻问切”,温和而稳妥。另一方则痛陈“技术债”之恶,将那套“祖传代码”比作北京二环里盘根错节的老胡同,外表再怎么粉饰,也挡不住内里管道的老化,力主推倒重来,在旁边另起高楼。

多年来,我们就在这两股力量的拉扯中,小心翼翼地寻找着那个微妙的平衡点。我们计算人月,评估风险,像走钢丝一样,在技术的理想主义和商业的现实主义之间,试图走出一条最稳妥的路。

但最近,我常常感到一种莫名的恍惚。我们如此依赖的那个“平衡点”,那个我们用来决策的“天平”,它的基座,是不是已经发生了肉眼难以察觉的沉降?

我们曾经信奉的“小步快跑,持续迭代”,在AI面前,像极了一场精美的刻舟求剑。

第一层思考:当“人月神话”的度量衡失效

我们为什么如此忌惮“重写”?

答案很简单,因为贵,因为慢,因为不确定。在过去,重写的成本模型,是以“人”为单位的。一个复杂的单体应用,光是“考古”——让一位资深架构师去读懂所有代码,理清所有逻辑——就可能耗费数月。这个过程,充满了不确定性。代码的注释是真的吗?那个看似无用的方法,是不是某个被遗忘的角落里,支撑着一项关键业务?

这位架构师,就像一位孤独的“鉴宝师”,面对着一堆盘根错节的“包浆”代码,他的经验、直觉和耐心,是项目成败的关键。这部分的成本,往往占到整个项目预算的大头。它昂贵,且极度依赖于“人”这个最不稳定的因素。

然而,AI的出现,让这个最沉重的成本,变得轻如鸿毛。

我把整个代码库扔给它,它像一个开了“天眼”的实习生,几小时内就能生成一份详尽的“代码结构与依赖关系图谱”,甚至用大白话总结出核心业务流程。它没有情绪,不带偏见,不会被前人留下的“骚操作”迷惑。代码理解的时间被压缩到原来的十分之一甚至更少。

这意味着什么?

这意味着,我们决策天平上,那块最重的砝码——“人的认知成本”,被拿掉了。

这就好比,你本来想给一栋老宅子做内部装修,预算的大头是请一位古建筑专家来勘探结构,绘制修复图纸。结果现在有个设备,扫描一圈直接生成了全套3D模型和施工方案,费用只是专家出场费的零头。

这时,你还会仅仅满足于给墙壁换个颜色吗?你恐怕会开始思考,要不要把整个承重结构都优化一遍。

技术债不再是需要分期偿还的贷款,而更像一张可以随时作废的旧船票,你我都没机会登上那艘驶向过去的破船。

当修复一个bug的成本,是与AI对话几分钟;而重写整个模块的成本,是AI“奋笔疾书”半小时。那个曾经指导我们决策的经济学基础,已经悄然瓦解。

第二层思考:从“庖丁解牛”到“灵魂迁移”

好,就算成本不成问题,那可行性呢?重写一个复杂系统,无异于“大变活人”,风险极高。

我依然记得多年前一个项目,要把一个庞大的单体应用拆分成微服务。那真是一场“八年抗战”。每个服务的边界在哪里,数据如何同步,接口协议怎么定……无数个深夜,团队都在为这些问题争得面红耳赤。整个过程,就像在给一架高速飞行的飞机换引擎。

我们把这种精细活儿,称之为“螺蛳壳里做道场”。空间逼仄,束手束脚,每一步都可能导致系统崩溃。这是一种“庖丁解牛”式的技艺,讲究的是顺着骨骼肌理,小心下刀。

而AI带来的,是一种近乎“降维打击”的能力。

它不再是“庖丁”,它更像一个能操作“灵魂”的法师。基于检索增强生成(RAG)的技术,它能先去“阅读”旧系统所有的文档、注释,甚至离职员工留在Confluence上的“心情随笔”,然后将那些沉淀在COBOL或者古老PHP代码里的业务规则,精准地“提取”出来。

它理解的不是if-else,而是“当用户等级为白金且在非节假日进行交易时,手续费减免50%”这条规则本身。

AI不是在翻译代码,它是在迁移灵魂。

它将人类冗余、易错、充满历史包袱的表达(旧代码),还原为最纯粹的逻辑核心(业务规则),然后再用一种全新的、更健壮、更高效的范式(新代码)将其“转世重生”。

这彻底改变了游戏规则。我们不再需要在“螺蛳壳”里小心翼翼,而是可以直接将“道场”的灵魂取出,安放在一座崭新的、更宏伟的殿堂里。

第三层思考:完美的“黑箱”与信任的“渡口”

然而,正当我为这种“灵魂迁移”的能力感到兴奋时,一种新的、更深层的不安,便如幽灵般浮现。

一座由AI一夜之间建起的“空中楼阁”,即便再宏伟,我们敢把身家性命都搬进去吗?

我们都有过Code Review(代码审查)的经历。那不仅仅是一个找bug的流程,它更像一个神圣的部落仪式。我们信任一段代码,因为我们信任写它的人,以及审查过它的人。这是一种基于“人”的信任链。

现在,AI甩给了你一万行代码。它逻辑自洽,注释清晰,单元测试覆盖率高达99.9%。但你,敢直接按下那个“合并”按钮吗?

你的内心会有一个声音在盘问:它为什么选择用这种方式实现?它是否“理解”了我们业务中最隐晦的那个约束条件?这段看似完美的代码,会不会在某个我们从未想象过的维度上,隐藏着一个“逻辑奇点”?

我们面对的,是一个完美的“黑箱”。我们能验证它的输出,却无法洞悉它的“动机”。 这就像一位你从未谋面的绝世高手,帮你写了一部武功秘籍,招式精妙绝伦,但你不知道他修炼的是玄门正宗,还是某种需要“杀妻证道”的邪功。

Code Review的本质,正在从“同行评议”转变为“人类对非人智能的审计”。我们不再是代码的创作者,而是意图的定义者和结果的验收官。我们的角色,从“工匠”变成了“质检员”,但我们手上,却没有一本关于AI产品的“质检手册”。

信任,成了新时代最昂贵的计算资源。我们站在信任的渡口,对岸是AI构建的繁华世界,但河上没有桥,也没有船。

第四层思考:“补丁”里的智慧与“白纸”上的风险

更让我寝食难安的,是那些“祖传代码”里,看似“丑陋”的部分。

一个稳定运行了十年的“祖传系统”,即便代码再“烂”,它也拥有一样AI无法生成的东西——补丁。

旧系统的每一个‘补丁’背后,可能都埋藏着一次生产事故的‘血泪史’。

那个看似多余的缓存,可能是为了抵御某年“双十一”凌晨涌入的洪峰流量;那个奇怪的try-catch,可能是为了捕获某个第三方接口在特定时间必然会返回的诡异错误;那段复杂的兼容逻辑,背后是公司业务数次转型的历史遗迹。

这些“补丁”,是系统用真金白银的损失、用户铺天盖地的投诉和工程师们无数个不眠之夜换来的“免疫力”。它像一位久经沙场的老将,身上的每一道伤疤,都代表着一次死里逃生的战斗经验。

而AI重写的新系统,就像一个横空出世的“天兵天将”。他年轻、强壮、完美无瑕,但他从未在凡间历劫。他不知道凡间的疾苦,不知道妖魔会从哪个方向袭来。

我们如何将老将身上的“伤疤”——那些宝贵的战斗经验——移植到这位天兵天将身上?

如果不能,那我们得到的,只是一个“形似”的躯壳,而非“神似”的灵魂。我们用AI重写,看似是走了捷径,实际上可能只是将过去十年踩过的坑,打包起来,留给未来再去踩一遍。

我们正在从“调试代码”,走向“叩问天机”。 AI的错误,可能不是“1-1=1”这种低级错误,而是一种我们人类无法理解的、在逻辑上“飞升”了的错误。我们赖以保证软件质量的基石——“可重复、可预测的测试”,本身就受到了挑战。

尾声:山已移,定海神针何处寻?

《愚公移山》的故事里,愚公用最笨拙、最确定的方式,一铲一土,移走了大山。而智叟在一旁嘲笑他的不自量力。

如今,AI成了那个能一夜之间移走大山的“新愚公”。它强大、高效,让曾经的“智叟”们哑口无言。

山是移走了,一片崭新的平原展现在我们面前。但我们很快发现,新的问题来了:这片新土地的地质是稳定的吗?地下水系是安全的吗?会不会有我们未知的沉降风险?

我们解决了“移山”的难题,却迎来了“安居”的挑战。

我们需要为这个新世界,找到新的“定海神针”。

这根“定海神针”,不再是某一行具体的代码,也不是某个精巧的架构。它是一种全新的能力:

  • 定义意图的能力:如何用最精准、无歧义的语言,告诉AI我们“想要什么”。
  • 审计结果的能力:如何建立一套流程和标准,去验证AI的产出符合我们的预期,即便我们不理解它的过程。
  • 迁移智慧的能力:如何将人类组织在漫长时间里积累的隐性知识、失败经验,有效地“喂”给AI,让它不仅仅是重建,更是升华。

当机器开始承担“怎么做”的繁琐,人类的价值便升维到了“做什么”和“为什么做”的智慧层面。

AI为我们移走了大山,但开垦良田、建立家园的责任,依然在我们自己肩上。

而真正的挑战,永远是在这片看似平坦的新土地上,发现并解决那些我们从未遇到过的新问题。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐