AI 越快,人越需要清醒
AI Coding 最危险的阶它写得太快了,快到人开始不知道自己到底写了什么。
最近一次周会上,我们聊到一个很有意思的变化。
以前研发开站会,一个人通常能很具体地说清楚:昨天完成了哪个功能,今天准备实现哪段逻辑,明天要联调什么。
一个需求如果要做五天,也会自然地被拆成五个阶段。每一天都有一个明确的结果,Leader 能听懂进度,开发自己也知道代码正在往哪里走。
但接入 AI Coding 以后,事情开始变得不一样。
有些人拿到需求,第一反应已经不是先把目标拆清楚,而是把整份需求直接丢给 AI。AI 很快就能生成一大堆代码,原本预计五天的开发,可能第一天看起来就“做完了”。
问题来了,接下来的四天并没有因此消失。有时候会远远超过四天。
它们只是换了一种形式出现:不断改 Bug、反复联调、修好一个地方又弄坏另一个地方。
更麻烦的是,开发者自己也很难准确回答:
这次到底改了什么?
哪些功能真的完成了?
哪些只是页面看起来能跑?
这段修改影响了哪些旧逻辑?
于是出现了一个很反常的现象,代码生成速度越来越快,团队对开发过程的理解反而越来越模糊。
测试也被拖进了这个黑盒。
原本测试应该做的是验收需求是否实现,功能是否符合预期,质量能否达到上线标准。
现在却经常变成陪着开发一起找答案,为什么修完新问题,旧功能又坏了?
表面看,AI 把“写代码”这一步大幅提速了;但如果需求没有被拆解,阶段结果没有被定义,变更也不可追溯,那么被省掉的开发时间,最后很可能会以 Bug、返工和沟通成本的形式重新付回来。
AI Coding 带来的核心变化让软件工程里原有的反馈机制被打乱了。
过去,代码写得慢,反而逼着人一步步思考:我要做什么、先做什么、怎样验证。
现在,AI 可以一次吐出大量结果,人很容易产生一种“已经完成”的错觉。但生成完成,不等于功能完成;功能能跑,也不等于工程完成。
AI 越快,人越需要主动制造检查点。
下一代研发流程真正要解决的,可能不是如何让 AI 再快 20%,重点应该放在如何让每一步结果都能被人理解、验证和追溯。
AI Coding 的终局也不应该是人把需求扔进去,然后等结果出来。
那不是软件工程自动化,只是把原来的黑盒换成了一个速度更快的黑盒。
真正成熟的 AI 研发体系,应该让 AI 负责加速,让人始终保有理解、判断和验收的权力。
所以 AI Coding 的上半场比的是谁生成代码更快;下半场比的会是谁能在这种速度下,仍然保持工程过程清晰、质量可控。
模型能力最终会逐渐趋同,但谁先建立一套适合 AI 时代的研发机制,谁才真正拿到了 AI Coding 的红利,而不是得到一堆写得更快的 Bug。
~~~~~~
以上来自 X 凡人小北 ,以下是我的感受
简而言之,当前 AI Coding 带来的核心痛点在于:它极大地压缩了“实现”的时间,却无限放大了“理解”与“验证”的成本。
当代码生成变得极其迅速时,开发者容易陷入一种危险的错觉——误以为“代码生成完毕”就等同于“功能交付完成”。这种速度与认知的错位,导致团队往往用节省下来的编码时间去填补因缺乏上下文理解而引发的沟通黑洞和质量陷阱。我们看似跑得更快了,但实际上是在一个更深的黑盒中打转,最终付出的总成本并未降低,甚至因为对系统本质的疏离而变得更加脆弱。
不过,对于文末关于“下半场”的论断,我持有一点不同的见解。
让我们回顾一下《人月神话》中的核心概念:本质复杂性 vs. 偶然复杂性。软件开发的困难主要来自其内在逻辑的复杂性(如状态管理、一致性要求等),而非单纯的技术实现细节。AI 帮我们解决的主要是那些可复制的“偶然复杂性”,甚至在某些情况下,它生成的晦涩代码反而引入了新的偶然复杂性。
因此,我们的关注点确实从“如何实现”转向了“如何设计”和“如何验证”,但我们绝不能因此放松对软件本质的理解。因为无论工具如何变化,软件的本质复杂性就在那里,不会因为 AI 的介入而消失。
我近期做了一个需求,花费了大概三周,demo的时候发现产品跟业务对需求的理解不一致。有一个较大的需求变更。但是我只用了一天就搞好了。因为经过之前的开发,我对这个需求已经有了较为深入的理解,并且已经搭建了一套开发,验证流程。交付需求变更后,测试同学花了三天测试完成,并且没有bug。
我们来分析一下这个场景,第一次做这个需求,需要理解这个系统,做出设计,这是本质复杂性,不可避免。需求变更时偶然复杂度,可以部分消除。
评论