AI 让低质量开源 PR 被批量制造,真正问题是招聘激励污染了贡献信号。
原文链接AI 小老六

开源项目收到越来越多莫名其妙的 PR,不一定是因为突然多了很多热心贡献者。很多时候,那只是一个求职信号正在被批量制造。

软件行业长期鼓励新人“展示作品”。一开始是个人网站,后来是 GitHub。再后来,​开源贡献、star、contribution graph、contributors 列表​,都成了简历里的可见资产。

这个逻辑本身不奇怪:招聘方需要在海量候选人里快速判断谁真的写过代码,候选人也需要证明自己不只是会背面试题。

问题是,一旦某个指标被当成捷径,它就会被优化。AI 生成代码让这个优化过程变得便宜到几乎没有门槛。

GitHub 贡献曾经是一个稀缺信号

真正维护一个活跃 GitHub profile 并不容易。

长期写项目、修 issue、参与设计讨论、维护文档、回应 review,都需要时间和经验。很多优秀工程师反而没有漂亮的绿色格子,因为他们的主要工作发生在公司内部仓库里。

招聘时,GitHub 链接通常也不是决定性材料。强候选人靠工作经历、系统设计能力、项目复盘和面试表现脱颖而出。

个人项目有帮助,但前提是它真的能看出思考和取舍。

最没用的是那种“为找工作而搭”的表演型资产:一天搭好的个人站、模板化项目、课程作业、复制粘贴的 boilerplate。它们满足了建议清单,却没有提供有效信息。

AI 生成 PR 把这种表演推向了开源项目。
inline-01.png

图:AI 降低批量提交成本后,维护者先承担筛选压力

维护者和提交者不在玩同一个游戏

项目维护者关心的是:

  • 这个 PR 是否解决真实问题?
  • 是否符合项目方向?
  • 是否降低长期维护成本?
  • 是否补了测试?
  • 是否经过讨论?

很多 AI drive-by PR 关心的是:

  • 我能不能出现在贡献记录里?
  • 能不能让 GitHub profile 更像一个活跃工程师?
  • 能不能在简历上写“参与过知名开源项目”?

这两个目标几乎没有交集。
mermaid-01.png

图:从求职压力到开源维护成本上升的传导链路

所以,争论“AI 生成的代码能不能合并”只讲到了一半。真正的冲突是动机。

提交者不是来共同维护项目的,而是借项目生成简历材料。代码就算偶尔能跑,关系也已经错位。

为什么不自己做项目

如果一个人只是想展示能力,为什么不做自己的项目?因为没人看。

一个新账号、几个 star、几个看起来像 prompt 产物的 greenfield 项目,很难构成强信号。

反过来,给知名项目提 PR,哪怕只是改一点边角,也更容易被包装成“开源贡献”。知名开源项目的声誉被借走,维护成本却留在原地。

这也解释了为什么这些 PR 经常扎堆出现在热门仓库、老 issue、容易被搜索到的问题下面。目标不是最适合贡献的地方,而是最能被简历消费的地方。
inline-02.png

图:当贡献记录被简历消费,项目声誉会被外部激励借用

开源贡献的价值不在数量

好的开源贡献通常不是“写了很多代码”。在重要项目里,最有价值的人往往花大量时间讨论问题、澄清边界、复现 bug、解释历史、补齐测试、写迁移说明。

代码只是最后一段。前面的判断才贵。

一个成熟贡献者会问:

问题 为什么重要
这个问题是否真的存在 避免修不存在的 bug
有没有历史讨论 避免重复踩坑
现有行为是否被依赖 避免破坏兼容性
测试应该覆盖什么 避免只修 happy path
维护者是否接受方向 避免浪费 review 时间

AI 可以很快吐出 patch,但它不会天然理解项目共同记忆。它不知道某个看似奇怪的实现是不是兼容历史包袱,也不知道一个 issue 为什么搁置多年。

没有人类贡献者认真做上下文功课,PR 就只是维护者的额外工作。

维护者该调整规则

靠礼貌劝退很难解决激励问题。热门项目尤其需要把贡献门槛写清楚。
可以考虑几条硬规则:

规则 目的
要求 PR 关联已确认 issue 阻止凭空改动
要求描述复现步骤和测试结果 让提交者证明理解问题
对纯格式化、无讨论重构设限 减少低价值 churn
对 AI 辅助代码要求披露 方便维护者判断 review 深度
对首次贡献限定 good first issue 范围 降低随机扫仓库式 PR
关闭长期被刷的旧 issue 减少搜索式撞库

这些规则不是反新人。真正想参与的人,通常愿意读贡献指南、参与讨论、从小问题开始。

规则挡住的是把项目当简历素材池的人。

招聘方也要停止奖励噪声

如果招聘流程继续把“GitHub 活跃度”当强信号,AI PR 就会继续增长。维护者只是承受后果,源头在招聘激励。

更可靠的评估方式应该看少数高质量证据:

  • 候选人能否解释一个项目的设计权衡;
  • 能否讲清楚一次 bug 的定位过程;
  • 能否展示长期维护痕迹;
  • 能否在面试里讨论真实约束。

贡献数量、绿色格子、contributors 列表,只能作为线索,不能当结论。

AI 让“看起来很忙”变得廉价。招聘系统如果不区分忙碌和能力,开源项目就会继续被拿来填充这个幻觉。

真正的贡献要站在项目这边

开源不是公共简历生成器。贡献的起点应该是项目需要什么,而不是提交者需要展示什么。

一个 PR 的价值,不在于它是不是 AI 辅助写出来的,而在于提交者是否理解问题、是否尊重维护边界、是否愿意承担后续沟通和修正。

没有这些,代码越容易生成,维护者越累。

推荐阅读

LLM 编程提速之后,为什么你反而更难想清楚问题

AI 编程争论变味了:为什么反 AI 情绪开始走向怀旧化

AI 没有 ROI?企业真正暴露的,是 Token 成本失控

Claude Opus 4.8 深度解读:让 AI 模型学会承认不确定性,才是真正的生产力升级

Claude Opus 4.8 Agent 交付力拆解:为什么它更像工程负责人?

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐