先提出一个看似反直觉的观点:代码一旦被创建,首先是一笔负债。这句话并非我凭空捏造,而是阿里云 CIO 蒋林泉在一次实战复盘中的深刻洞察。初听似乎有些“泼冷水”,但仔细思考,在 AI 代码生成效率飞速提升的今天,这很可能成为组织效能能否实现真正突破的关键认知。
过去一两年,如果你问技术团队最热门的指标是什么,大概率不是 QPS 或 RT,而是“AI 生码率”。从硅谷到国内,大家热衷于炫耀这个数字从 20% 提升到 50% 甚至更高。似乎 AI 渗透率越高,团队就越强大。然而热闹背后,一个冷峻的问题始终悬而未决:代码行数的暴增,真的带来了业务价值的同步增长吗?
这才是真正值得关注的核心。
代码即负债:重新定义“资产”
为什么说代码是负债?从财务视角看,任何一段代码被合并到生产环境后,它可能带来业务价值,这算是资产;但它也必然产生维护成本、增加系统复杂度、引入潜在 Bug,并且成为新人的认知负担——这部分就是负债。
过去,我们依靠严格的 Code Review、架构设计和文档来对抗这种负债。但在 AI 时代,大模型让代码生成成本降至极低,这种“负债”以前所未有的速度被规模化放大。
一个典型的陷阱是“Vibe Coding”。用自然语言描述就能快速搭建 Demo,在做新产品原型或个人项目时非常爽。但放到企业的存量核心系统里,Vibe Coding 生成的代码往往难以直接上生产。因为企业系统需要处理边缘场景、极端并发和历史遗留的数据结构,而不是“看起来很美”的核心路径。AI 就像一个极其勤奋但缺乏经验的实习生,它能极快地写出“胶水代码”,却也极快地制造出难以维护的“屎山”。
破解“人月神话”:AI 改变了什么?
既然代码是负债,难道就不写代码了?当然不是。目标应该是:让产生的负债能够换取足够多的资产(业务价值)。这需要重新审视软件工程中两个绕不开的经典难题——“人月神话”与“工程左移”。
传统上,《人月神话》告诉我们:在一个延迟的项目中增加人力,只会让项目更延迟。因为人与人之间的沟通成本呈几何级数增长。但如果你增加的是 AI Agent 呢?Agent 之间传递上下文几乎没有损耗,接管了大部分低效的沟通与信息同步工作。以前一个需求需要产品、开发、测试三方拉会对齐,现在可以通过 AI 将存量代码、PRD 转化为结构化的 Spec,让信息在流转中不失真。
再来看“左移”这个概念。听起来很老套——把质量保证、安全测试等工作从发布后或测试时,移到编码阶段。道理都懂,为什么以前做不好?因为成本太高。让开发者在写代码前先写详尽的测试用例、梳理复杂的业务链路覆盖度?这虽然正确,但极其反人性,ROI 很低。AI 的出现让这一切发生了质变。
最佳实践:AI 重塑“工程左移”的实战路径
依托于 AI 助手,阿里云内部团队进行了一场关于“左移”的静默革命。以下是几个值得参考的具体策略。
质量左移:从 20% 到 100% 的覆盖度飞跃
传统开发模式下,单元测试覆盖率往往随缘,通常只覆盖核心逻辑(可能不到 20%),因为开发完业务逻辑后,精力已经耗尽。AI 的实践方案是:在编码阶段,开发者不再需要手动编写琐碎的测试用例。IDE 插件可以根据上下文代码自动生成覆盖边界条件和异常路径的测试代码。效果上,部分模块的测试覆盖率从原本的 20% 提升到了接近 100%。更重要的是,这种质量的“左移”强迫开发者在编码前就想清楚“我的代码如何被验证”,从而反向优化了代码结构。
知识左移:为存量系统“解冻”
企业最大的痛苦不是写新代码,而是理解旧代码。新接手一个项目,可能需要两周时间熟悉上下文。利用 RAG 技术,可以将存量系统的代码库、历史文档、需求文档向量化,AI 可以瞬间“通读”整个老旧系统。当有新需求落地时,开发人员提出一个新需求,AI 能自动检索现有系统,指出“这个功能在 xxx 模块已有类似实现,建议复用”或“修改此处可能影响到隔壁的订单系统”。知识传递不再依赖于人与人之间的口口相传,而是变成了“人—AI—代码库”的高效互动。
Spec 驱动:让 AI 遵循“契约”
不要简单地让 AI 写代码,而是让 AI 遵循 Spec。研发流程可以调整为:先写 Spec,定义好函数输入输出的预期、业务规则的边界,这一步是定义“什么是好”;然后让 AI 根据 Spec 生成满足条件的代码;最后利用 AI 检查生成的代码是否违背了原始的 Spec。在这套流程下,开发者的角色从“代码打字员”转变为了“架构师与验收官”。稀缺的不再是堆砌代码的能力,而是定义业务价值、判断代码好坏的“品味”。
结语:不做 AI 的奴隶,做 AI 的主人
回到开头的问题:为什么不应该盲目追求 AI 生码率?因为低价值的代码是负债,高价值的业务洞察才是资产。在这个 AI 汹涌的时代,技术人最容易被替代的恰恰是那些机械化的编码技能。而最不会被替代的,是界定问题、拆解复杂度和守卫代码质量的判断力。
从现在开始,也许该换个玩法:不再炫耀 AI 写了多少行代码,而是关注——在 AI 的辅助下,我们的无效代码减少了多少行,系统熵增降低了多少。这才是真正值得衡量的指标。
