AI编程代理让写软件变得前所未有的容易。描述需求,交给代理实现,然后直接进入下一个任务,不用再花几个小时自己敲代码。但用得越多,越会发现一个被忽略的环节:我们聊的都是AI能生成多少代码、修bug有多快、能自动化多少任务,可当一个项目需要的是更少的代码而不是更多时,会发生什么?
![]()
写代码之所以被反复强调,是因为它给了代理一个清晰的“完成”定义。让它加个功能、修个校验问题、加个新配置,目标都很明确:有请求、有实现、有可验证的结果。第一次没做对,就让它改到符合要求为止。
这种工作方式反过来塑造了使用习惯。人自然会派给代理“新建点什么”或“改动现有行为”的任务,很少会想到问一句:哪些地方可以不动?这个改动是不是有更小的解法?代理只跟着你给的任务走,如果只用“功能能不能跑”来衡量成功,开发流程里就漏掉了一大块。
更麻烦的是代码库的膨胀速度。一个起初只有简单组件的功能,经过代理多次改动后,可能牵连好几个文件、新增一堆工具函数、再引入额外的连接层。单看每一次改动都说得通,整体结构却比之前更难理清。
在已有项目上尤其明显。代理未必沿用项目里现成的模式,而是引入一套略有不同的做法;下一个任务又换一种,最后同一件事有好几种写法。过段时间再回来,搞清楚各部分怎么拼在一起,要花的力气明显变多。
这些变化不会立刻出问题。应用照常运行,新功能也工作正常,直到某天需要回头改一块老代码,才发现代码库已经比它该有的样子复杂得多。
代码多不等于软件好。哪怕每个函数都按预期工作,多余的代码依然意味着更多要理解、要测试、要维护的东西。一个本该简单的改动,因为要照顾那些没有实际用途的额外逻辑,变得出奇地难。
这种负担会累积到未来。每多一个函数、一个条件分支、一个依赖,修改项目时就多一处要考虑的地方。问题未必出在代码写得烂,有时候是这些代码本来就不该存在。快速拿到能跑的结果,省下的实现时间不一定能换成后期的省心。相比之下,一个更小、更直白的代码库,比塞满“功能完好但价值有限”的代码要好维护得多。
删代码比写代码难,难在判断。让代理删掉某段代码,它需要理解这段代码在整个项目里怎么被使用,而不只是看它表面上是否多余。一个函数可能没有明显的引用,却仍被动态调用,或者被外部集成依赖。不核查就删,埋下的是很难发现的bug。
所以这一步仍然需要人。可以让代理去找未使用的函数、梳理依赖、给出删除建议,但不能因为它语气笃定就盲目批准每一次删除。得先弄明白改动的原因,再确认它会不会影响别处。
比较稳妥的做法是:让AI负责排查,人来审阅它提出的改动,跑完相关测试再接受。希望代理在删代码这件事上越来越强,但眼下,最后那道判断还是得由人来做。
写代码更快,不该成为衡量进步的唯一标准。好的代码库不只看它能做什么,也看它有多容易理解和维护。最聪明的代码,是你根本不需要的那部分——有时候最好的改进不是加点什么,而是一开始就知道什么不该加。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.