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 成为领域的加速器,领域负责人成为系统的架构师,整个团队从「写代码的竞争」转向「建系统的协作」。
选择权在你。
你们团队是怎么处理代码所有权问题的?还在用「谁写的谁维护」吗?欢迎分享。