然而,一个月后的数据揭开了残酷的真相:生产环境的bug数量环比上升了47%,代码审查积压严重,一位资深工程师的PR平均等待审核时间从4小时延长到了19小时。更吊诡的是,团队的自评满意度反而下降了——"我们确实写得更快了,但是更累了,心里更没底了"。
这个故事并非孤例,AI让代码产出变快了,但研发效能——或者说,交付有价值软件的综合能力——并没有同比例提升,甚至在某些维度出现了倒退。问题出在哪里?

1.1 需求工程:被低估的"第一公里"
AI能写代码,但它不理解"问题"。这是当前所有AI编程工具的根本局限。当产品经理说"做一个用户画像功能",AI可以很快生成一个完整功能。但"用户画像"在不同业务场景下可能有完全不同的含义——是用于精准营销的用户标签体系?还是用于风控的用户特征库?亦或是用于运营分析的用户行为统计?
这种语义的模糊性,AI无法自动消除。 它只能根据训练数据中最常见的模式来"猜"你应该想要什么,而这种猜测往往与你的真实意图存在偏差。
随着AI编程的普及,团队对"需求澄清"能力的要求反而提高了。传统模式下,产品经理写出需求文档,开发工程师在实现过程中与产品经理反复沟通,逐渐澄清模糊点。这个过程虽然耗时,但它强制性地确保了需求的准确性。
AI时代,这个过程被"短路"了——代码生成太快,以至于没有足够的时间进行充分的需求讨论。结果往往是:代码实现了,但实现的功能可能不是真正需要的。
麦肯锡的研究指出了这个趋势:AI时代产品经理,在AI协助下生产力提升(40%)远高于工程师,这意味着产品经理的工作节奏加快了,但需求的质量保证机制并没有同步升级。
改进方向:
- 强化需求规约化:用AI编程,需求文档应该从"给人看"转变为"给AI看"。这意味着更结构化的表达、更明确的验收标准、更清晰的边界定义。采用规约模式,标准化的条目描述需求,能显著提升AI的理解准确度。
- 建立需求澄清的"强制时间" :即便AI生成代码很快,也要为需求澄清预留足够的时间。可以通过流程规范,来保证这个环节不被跳过。
- 引入需求复杂度评估:不是所有需求都适合用AI快速实现。识别哪些需求是"简单明确的"、哪些是"复杂模糊的",对前者可以充分利用AI,对后者则需要投入更多的人工智慧。
- AI辅助需求拆分用户故事,需要人工验证:AI能够解析原始需求文档,辅助生成的结构化的用户故事和智能拆分任务,但也可能生成不相关的任务,仍需人工过滤验证。即:AI做初稿,人做审核。
1.2 架构决策:AI的局部最优 vs. 人的系统思维
AI擅长解决"明确的简单的问题",给定一个函数或模块明确的需求,AI能生成高质量的实现。但系统架构是全局优化——需要权衡性能、可扩展性、可维护性、安全性、成本等多个维度,还需要考虑未来的演化方向。
AI不理解"为什么" 。它不知道人类的系统为什么要采用微服务架构,不知道为什么要选择这个消息队列而不是那个,不知道这个技术债务是故意的还是遗留的。这些隐含的背景知识,构成了系统决策的上下文,而AI缺乏获取这种上下文的能力。
更危险的是,AI因为“幻觉”和“记忆力衰退”的问题,可能会引入架构不一致。当不同工程师在不同会话中让AI生成代码时,AI可能会生成风格一致但架构原则冲突的实现——一个模块用Redis做缓存,另一个模块用本地内存做缓存,原因只是因为两个工程师在描述需求时用了不同的措辞。
改进方向:
- 架构文档的AI可读化:将架构决策记录(ADR, Architecture Decision Records)作为强制交付物,并在其中明确AI应该遵循的架构约束。这不只是给人类工程师看的规范,也是给AI的"宪法"。
- 建立架构审查门禁:在代码合并前,增加架构一致性检查。这可以是人工审查,也可以是AI辅助的架构规则验证——例如检查模块间的依赖关系是否符合预期、是否引入了循环依赖等。
- 识别架构关键路径:明确哪些代码是"架构敏感的",需要人工深度审查;哪些是"架构无关的",可以充分利用AI效率。分类管理,而非一刀切。
AI辅助架构设计的边界:如果用AI协助做系统架构设计与详细设计,AI生成多方案,附带trade-off分析、识别架构风险点,人做选择、审核、调优。
1.3 质量管控:从"人检"到"多层门禁"
"代码看起来对"和"代码真正对"之间,存在三重鸿沟:
第一重:编译正确 vs. 逻辑正确。AI生成的代码很少有语法错误,但可能有逻辑错误——边界条件处理不当、空指针风险、并发问题等。
第二重:功能正确 vs. 安全正确。代码可能实现了预期的功能,但可能存在安全漏洞——SQL注入、XSS、CSRF等。研究者发现,Copilot会从训练数据中"学习"到一些不安全的编程模式。
第三重:单点正确 vs. 系统正确。单个模块的代码可能没问题,但集成后可能产生冲突——数据格式不一致、接口契约不匹配、事务边界错误等。
改进方向:
- 给 AI 明确、细致的编码规范:给AI搭建标准化编码规范文档,明确核心约束,覆盖代码风格、命名规范、注释规则、架构约束、安全要求、禁用语法等维度,并限定技术栈与版本,规避兼容问题。将编码规范融入 AI 编程指令中,避免笼统描述,做到需求 + 规范双明确。
- 代码Review新范式:当AI能在几分钟内生成过去需要几天才能完成的代码时,代码审查变成了新的瓶颈。代码review新范式:AI 生成代码 → AI 全维度自检 → AI 预 Review → 人只做架构 / 业务终审→ 自动合并门禁。
建议明确安全相关、数据处理、基础设施等关键路径必须人工审批。追踪AI审查准确率:若AI批准但人工拒绝率超过20%,需调整AI审查配置。
- 分层验证门禁:建立从自动化到人工的多层审查机制。例如:第一层是静态代码扫描、安全扫描、单元测试(自动化);第二层是架构规则验证(可自动化或AI辅助);第三层是功能行为测试(自动化);第四层是人工审查(聚焦业务逻辑和架构意图)。每层只关注特定类型的问题,而非试图一次性审查所有维度。
- 提升测试覆盖率要求:AI生成代码的测试覆盖率应该高于人工代码。因为AI代码的可信度需要通过更多测试来建立。没有测试的AI代码就是债务——这句话值得所有团队铭记。
- 代码归属追踪:建立AI生成代码的识别和追踪机制。不是为了考核,而是为了分析——哪些类型的代码用AI生成后问题率更高?从而调整AI的使用策略。
1.4 知识管理:从"人教人"到"知识显性化"
传统软件工程中,知识主要通过两种方式传承:显性知识(文档、代码注释)和隐性知识(师徒制)。
AI时代,隐性知识传承的机制正在失效。当一个资深工程师用AI快速生成代码,新人从他的代码中能学到的东西变少了——因为代码可能是AI写的,工程师在写代码过程中的思考(为什么这样设计?为什么要处理这个边界情况?)没有体现在代码中。
与此同时,AI生成代码的过程本身产生了大量有价值的方法论——如何构造提示词?如何拆解任务?如何验证AI输出?这些"AI时代的新经验",同样缺乏传承机制。
改进方向:
- 提示词资产化:将高频、标准化的提示词封装为可复用的"Skills"。这不是简单的共享文档,而是类似"设计模式"的抽象——每个Skill包含角色定义、能力边界、目标导向,以及最佳实践和避坑指南。
- 建立团队知识图谱:识别团队的核心知识领域,以及各领域的专家(人类)。当AI遇到某个领域的复杂问题时,可以通过知识图谱找到对应的专家进行人工干预。
- 规约驱动开发:在AI时代,工程师的关注点应逐步从"代码"转向"规约"(specification)。规约是对需求的规范化描述,比代码更容易传承和审核。一个维护良好的规约库,本身就是团队知识的核心载体。

1.5 协作流程的再造
传统研发流程(需求→设计→开发→测试→发布)是线性串联的,每个环节有明确的交付物和验收人。AI时代,这个流程需要重新设计。
- AI嵌入每个环节,但每个环节仍有明确的人类负责人
- 流程中的"验证"节点增加,原因是AI输出需要验证
- 流程变成"人-AI协同"而非"人单独执行"
验证不再是事后行为,而是嵌入每个阶段
重构后的研发流程可能是这样的:

结语:
AI改变的是代码生成的效率,但没有改变软件开发的基本规律——需求需要澄清、架构需要设计、质量需要管控、知识需要传承。工具在进化,使用工具的人也需要进化。而这种进化,从来都不是一蹴而就的。
夜雨聆风