AI飞行客

掠过技术的云层,落地在工程的原野

AI 时代的代码所有权革命:为什么「谁写的谁维护」正在杀死你的团队

你的团队可能正在被一条潜规则慢性谋杀:谁写的代码谁维护。

这条规则在 AI 出现之前已经漏洞百出,AI 来了之后直接变成了笑话——当 AI 生成了一半以上的代码,你让谁负责?让那个写 Prompt 的人?让 AI 自己?还是找个倒霉蛋背锅?

这篇讲清楚:为什么传统的代码所有权模型必须死,以及领域所有权(Domain Ownership)怎么替代它。


一、传统模型的三重崩溃

崩溃 1:AI 打破了「写」和「拥有」的绑定

以前,代码所有权天然等于创作权。张三写的模块,出了问题找张三,天经地义。

但现在:

  • 工程师 A 用 Cursor 生成了一段复杂的认证逻辑
  • 工程师 B 在 AI 的建议下重构了这段逻辑
  • 工程师 C 用 AI 给这段逻辑加了缓存层
  • 三个月后出 bug,这段代码里已经有 7 个不同的人的 commit,其中 4 个是 AI 辅助生成的

你找谁?

找 A?他已经离职了。找 B?他说他只是按 AI 的建议改的。找 C?他说他只加了缓存,核心业务逻辑不是他动的。

传统的「作者责任制」在 AI 协作场景下彻底失效。

崩溃 2:知识在 Prompt 里,不在代码注释里

传统代码所有权还隐含一个假设:代码和注释足够让后来者理解系统。所以只要找到原作者,就能搞清楚来龙去脉。

但现在:

  • AI 生成代码时注入了复杂的推理过程,但这个过程不会写在注释里
  • 工程师可能自己都没完全理解 AI 生成的代码,只是验证它通过了测试
  • 上下文信息散落在 Prompt 历史、聊天记录、临时草稿里,代码仓库里根本找不到

这意味着代码本身不再是知识的完整载体。你找到原作者也没用,因为原作者可能也忘了当时跟 AI 说了什么。

崩溃 3:绩效考核还在奖励「写代码」

很多团队的 KPI 还在看提交次数、代码行数、故事点完成量。AI 时代这套指标完全扭曲了行为:

  • 工程师为了让自己的贡献可见,故意不让 AI 生成完整方案,而是自己写骨架让 AI 填充——效率反而降低
  • 代码评审变成了「找出 AI 写的那部分然后指责作者」的政治游戏
  • 没人愿意接手 AI 生成的复杂模块,因为「不是我写的,出问题我不背锅」

这三个崩溃叠加在一起,导致一个结果:团队表面在用 AI 提效,实际上效率在下降,责任在推诿,系统在腐烂。


二、领域所有权:新的契约

核心定义

代码所有权不再绑定到「谁写了第一行」,而是绑定到「谁对这个业务领域的结果负责」。这个领域内的所有代码——人写的、AI 写的、混合写的——最终的架构决策权、故障问责权、演进规划权都在领域负责人手中。

简单说:不看血缘,看地盘。

领域怎么划分

不是按技术栈分(前端/后端/数据库),而是按业务能力分:

传统分法 领域分法
支付网关组 支付流程域(含网关、对账、退款、风控策略)
用户服务组 用户生命周期域(注册、认证、画像、权限、注销)
推荐算法组 内容分发域(召回、排序、冷启动、反馈闭环)

每个领域通常由 2-4 人组成一个小队,其中一人是领域负责人(Domain Owner)

领域负责人的权责清单

决策权:

  • 领域内所有技术选型和技术债务的处理优先级
  • AI 工具的使用范围和限制(哪些模块允许 AI 生成,哪些必须人工)
  • 对外接口的契约设计和变更审批

责任:

  • 领域内所有代码(包括 AI 生成的)的生产环境稳定性
  • 领域内故障的根因分析和修复时间
  • 领域知识的完整性(文档、Prompt 模板、Runbook)

关键原则:领域负责人对结果负全责,但对实现方式有完全自主权。他可以让 AI 写 90%,也可以全部手写——只要结果达标。


三、落地路径:从传统到领域的迁移

步骤 1:现状盘点(1 周)

梳理现有系统的业务边界,画出领域地图。问自己:

  • 我们的系统服务哪些核心业务场景?
  • 每个场景涉及哪些模块?模块之间的依赖关系是什么?
  • 哪些模块经常一起变更?(高内聚的信号)
  • 哪些变更经常牵一发而动全身?(边界划分不清的信号)

产出物:一张领域划分图 + 每个领域当前的代码分布热力图。

步骤 2:任命领域负责人(1 周)

选人标准:

  • 不是选代码写得最多的,而是选对业务理解最深、沟通协调能力最强
  • 理想情况下,这个人既懂业务也懂技术,能在产品经理和工程师之间翻译语言
  • 给领域负责人明确的头衔和职级晋升通道,不要让他们觉得是个苦差事

步骤 3:权责迁移(2-4 周)

这是最容易出问题的阶段。注意几个关键点:

  • 代码评审权移交:每个 PR 必须有一个对应领域的负责人批准,不再按「作者→任意 reviewer」的模式
  • 故障响应权移交:On-call 轮值按领域划分,出事了领域负责人牵头处理
  • 知识资产权移交:领域的文档、Prompt 模板、架构决策记录(ADR),全部纳入领域负责人的管理范围

步骤 4:建立边界协议(持续)

领域之间不是孤岛,需要清晰的边界协议:

  • 接口契约:领域间通信必须通过显式定义的 API 或事件契约,禁止直接操作对方的数据库或内部逻辑
  • 变更通知:任何影响外部领域的变更,必须提前通知相关领域负责人并获得确认
  • 联合评审:跨领域的大重构或架构调整,由相关领域负责人联合评审,不经过普通工程师的代码评审流程

四、AI 协作场景下的特殊规则

规则 1:AI 生成代码必须标注

不是搞歧视,是为了可追溯性

要求:

  • PR 描述中必须声明 AI 生成比例和使用的工具
  • AI 生成的函数/文件,在代码注释里加标记(比如 // AI-GENERATED: review required
  • 领域的 Prompt 模板必须版本控制,出了问题能追溯到具体 Prompt 版本

规则 2:领域负责人必须理解核心路径

无论 AI 生成了多少代码,领域负责人必须确保:

  • 领域的核心业务流程,至少有一个人能从头讲到尾
  • 关键决策点(比如权限检查、资金计算、数据一致性)必须有人工审查记录
  • 如果领域负责人自己都不理解某段 AI 生成的代码,要么学会它,要么重构它,不能假装它不存在

规则 3:建立「AI 怀疑清单」

每个领域维护一份清单,记录 AI 在该领域最容易犯的错:

  • 支付域:AI 经常忽略幂等性检查和并发锁
  • 用户域:AI 容易在权限检查上搞错优先级顺序
  • 推荐域:AI 倾向于用简单规则替代复杂的冷启动策略

领域负责人负责维护这份清单,并在代码评审时强制对照。


五、常见阻力与破解

阻力 1:老员工抵触,觉得「我的代码被抢走了」

破解:强调「所有权升级」。你不是失去了代码,而是获得了更大的决策权和影响力。以前你只拥有一段代码,现在你拥有一个领域。

阻力 2:管理者担心「没人对具体 bug 负责」

破解:正好相反。领域所有权让责任更明确——以前 bug 出在 A 写的模块里,但 A 已经转岗了,没人管;现在不管谁写的,支付域的负责人必须搞定。

阻力 3:团队规模小,划不出清晰的领域

破解:小团队也可以有虚拟领域。一个人可以负责多个领域,但每个领域的权责边界必须清晰。关键是思维方式的转变,不是组织架构的拆分。


写在最后

代码所有权的重新定义,是 AI 时代工程组织变革的基石。

如果不做这个改变,你会看到:AI 越强大,团队越混乱;代码产出越多,系统越脆弱;工程师越忙,故障越多。

做了这个改变,你会看到:AI 成为领域的加速器,领域负责人成为系统的架构师,整个团队从「写代码的竞争」转向「建系统的协作」。

选择权在你。


你们团队是怎么处理代码所有权问题的?还在用「谁写的谁维护」吗?欢迎分享。

发表回复

Your email address will not be published. Required fields are marked *.

*
*