用Git Trailer记录AI贡献率:从强制标记到量化分析
在公司推行AI辅助编程最头疼的不是员工不用,而是用了之后没人知道代码到底是谁写的。为了解决这个问题,我们之前在团队内部强推了一套机制:所有提交必须在 Git commit 的 footer 里标注 AI 的参与度,否则直接拦截提交。结果这套机制跑了快一年,数据在

下一篇
75万行代码量直接重构,竟然不需要人工Code Review? →
git log 里堆成了山,但由于缺乏统计工具,这些数据成了纯粹的“僵尸信息”,直到最近我才意识到这其实是个巨大的资产。这种记录方式其实借鉴了 Linux 内核和 LLVM 的做法,利用 Git trailers(类似 Signed-off-by 的键值对)来存储 AI 贡献信息。这种做法比在 PR 描述里随口说一句“AI 帮我写了”要硬核得多,因为它直接绑定在版本历史里。
为了把这些数据变现,我折腾了一个 GitHub Action,用来统计历史提交中 AI 代码的实际占比。它的逻辑不是简单的次数统计,而是根据每个 commit 修改的行数进行加权计算。
具体的权重逻辑大致如下:
- Authored-by:纯人工,权重 0.00
- Assisted-by:AI 辅助,权重在 0.3 - 0.7 之间(视具体标注而定)
- Generated-by:AI 全量生成,权重 1.00

最后,这个工具会把计算结果通过 Shields.io 的徽章形式挂在 README 上。颜色会随占比变化:33% 以下是蓝色,34%-66% 是紫色,超过 67% 则变成品红。
这种量化对我们在公司内部评估 AI 提效非常有帮助。比如我对比了一下,有些纯手动维护的旧模块是蓝色,而最近由 Claude 高强度产出的新功能模块直接跳到了品红区间(占比 88%)。
如果你也想在团队里实施类似的 AI 贡献度追踪,建议直接用 Git trailer 方案,不要自创格式。这里推荐两个实操工具:

1. 强制拦截工具(确保每个人都得写标注):
# rai-lint 用于在 commit 阶段检查 footer 是否缺失https://github.com/anchildress1/rai-lint2. 统计量化工具(把标注变成可视化比例):
# rai-commit-badge 将历史记录转换为权重徽章https://github.com/anchildress1/rai-commit-badge说白了,AI 时代的代码审计不能只靠感觉,得有数据支撑。
