加载失败
VS Code(微软的跨平台代码编辑器)最近把 Git 提交流程里的 `git.addAICoAuthor` 之类设置和 Copilot(GitHub 的 AI 编码助手)绑在一起,原意是给 AI 参与的改动自动加上 `Co-Authored-by` trailer。争议来自实现和默认值出错:不少用户发现即使 Copilot 没启用,或者只是少量使用补全,提交消息也可能被悄悄改写。评论把这和 Git trailer、`Signed-off-by`、以及 Claude Code(Anthropic 的 AI 编码工具)等做法对照,核心是在争论“透明元数据”还是“擅自冒充作者”。微软后来在 GitHub 上的 PR 里承认回归并把默认值改回关闭,但讨论已经延伸到著作权、KPI、以及公司长期 user-hostile 的产品文化。
很多人最反感的不是 AI,而是 VS Code 在用户没确认的情况下改写了 commit message。评论把这类行为形容得比 “Sent from my iPhone” 更糟,因为 commit 是技术记录和法律记录,静默塞进 `Co-Authored-by` 会直接污染历史。大家反复强调,真正可接受的做法必须是在提交前清楚展示,让用户可以删掉或保留,而不是事后去 `git log` 里才发现。也有人直说这是编辑器替你撒谎,属于对信任的直接破坏。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6]
不少评论把这事看成 AI 投资狂潮下的指标工程,而不是单纯 bug。有人认为巨额资本投入会逼着团队去追 ROI、usage metrics 和 stock price,于是最容易量化的“AI 采用率”就成了目标。讨论里还把这股热潮和 blockchain、NFT、Web3 的投机叙事联系起来,认为只是换了个新故事继续讲增长。还有人认为管理层真正想要的是把责任往下压、把劳动自动化、把品牌曝光往上抬。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8]
另一条主线是著作权和作者归属。有人担心把 `Co-Authored-by Copilot` 写进提交,会让微软看起来像共同作者,从而在版权争议里制造灰区;也有人提到 `Signed-off-by` 这类 trailer 在流程和责任追踪上本来就有意义。反方则提醒,AI 生成内容是否可版权化、以及这个 trailer 是否真构成法律签名,并没有那么简单,不能因为有这行字就推导出微软拿到了代码权利。尽管如此,大多数人还是觉得这种表述至少会误导审计、诉讼或代码审查。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10] [来源11]
有一部分评论并不反对 AI attribution 本身,但要求它必须显式、可见、可关闭。很多人说如果 Copilot 真参与了代码,就应该像 `Assisted-By` 或 `Signed-off-by` 那样,在提交前让用户看见并决定保留与否,而不是由编辑器偷偷塞进去。也有人指出 Claude Code(Anthropic 的 AI 编码工具)等产品在“AI 真正发起提交”时加标记是另一回事,因为那至少是可预期、可拦截的;而 VS Code 这次连 Copilot 关闭时也会加,问题就在这里。预提交钩子、`commit-msg hook` 和手工清理也被当成自救方案。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10] [来源11] [来源12] [来源13] [来源14] [来源15] [来源16]
许多评论把这看成 Microsoft 长期 user-hostile 路线的延续,而不是偶发失误。老用户回忆起浏览器战、`M$`、`Embrace, Extend, Extinguish`、Windows 11 的各种默认暗改,认为所谓“亲和新微软”更多是 PR。也有人说微软曾靠拥抱 open source、Linux、GitHub 和 VS Code 重建口碑,但这次像是把旧套路又搬了回来。于是 VSCodium、Neovim、Zed 之类替代品再次被频繁提起。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10] [来源11] [来源12] [来源13] [来源14]
微软相关回复承认这是回归问题:本意是只给真正由 AI 参与的改动加 attribution,但变更检测有 bug,默认值和 runtime fallback 也不一致。评论对流程很不满,质疑为什么一个会影响所有用户的默认设置能在这么少的 review、几乎没有说明的情况下进到发布。有人指出团队后来已经把默认改回关闭,但也有人说内部测试明明碰到了问题,却低估了影响,说明 QA 和产品决策都很松。整体上,这部分讨论的焦点是“为什么这种低风险高争议的变更会被当成可以直接 ship 的小事”。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10] [来源11] [来源12] [来源13] [来源14] [来源15]
Co-Authored-by trailer: Git 提交消息末尾的结构化字段,用来声明共同作者或 AI 参与。
Signed-off-by: Linux/Git 补丁常见的签署行,用于流程确认和责任追踪,不等于法律签名。
commit-msg hook: 在提交消息正式写入前触发的 Git 钩子,可用来检查、修改或阻止提交内容。
Enshittification: 产品先服务用户、再向商业目标倾斜,最终体验越来越差的过程。