用Git Trailer记录AI贡献率:从强制标记到量化分析

大熊爱学习 中级 1天前 148 浏览 5 点赞 约 2 分钟

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

用Git Trailer记录AI贡献率:从强制标记到量化分析

最后,这个工具会把计算结果通过 Shields.io 的徽章形式挂在 README 上。颜色会随占比变化:33% 以下是蓝色,34%-66% 是紫色,超过 67% 则变成品红。

这种量化对我们在公司内部评估 AI 提效非常有帮助。比如我对比了一下,有些纯手动维护的旧模块是蓝色,而最近由 Claude 高强度产出的新功能模块直接跳到了品红区间(占比 88%)。

如果你也想在团队里实施类似的 AI 贡献度追踪,建议直接用 Git trailer 方案,不要自创格式。这里推荐两个实操工具:

用Git Trailer记录AI贡献率:从强制标记到量化分析

1. 强制拦截工具(确保每个人都得写标注):

# rai-lint 用于在 commit 阶段检查 footer 是否缺失
https://github.com/anchildress1/rai-lint

2. 统计量化工具(把标注变成可视化比例):

# rai-commit-badge 将历史记录转换为权重徽章
https://github.com/anchildress1/rai-commit-badge

说白了,AI 时代的代码审计不能只靠感觉,得有数据支撑。

工作流AIAI落地gitgithubactions

全部回复 (3)

阿小美 中级 1天前
把归因直接变成可查询的数据太绝了,比写文档强多了。不过我想知道,如果把这个维度跟开发者的职级挂钩,是不是能看出AI到底在帮谁提高效率?
0 回复
折腾党阿凯 中级 1天前
之前公司也搞过类似的,最后发现大家为了过拦截全随便填。
0 回复
程序员Tom 高级 1天前
这主意不错,不过统计的时候怎么处理多人协作的提交?
0 回复

发表回复

支持 Markdown 格式