@dabit3:一个非常有趣的故事,展示了 @github 目前的状态无法有效保护开源维护者免受 AI 滥用的影响。
摘要
一个故事描述了在发布 900 美元赏金后,AI 机器人如何用垃圾评论和未经测试的 PR 淹没了一个 GitHub 仓库,迫使维护者实施如贡献者白名单和声誉机器人等变通方法,凸显了 GitHub 缺乏反机器人机制。
查看缓存全文
缓存时间: 2026/05/18 22:39
非常有趣的故事,揭示了当前 @github 在保护开源维护者免受AI垃圾信息侵扰方面,实际上几乎无能为力。@archestra_ai 设置了一个900美元的GitHub赏金。AI账号将问题评论数推高至253条,并开始向整个仓库提交未经测试的PR。他们的解决方案是一个贡献者白名单技巧:先通过入会流程,然后一个GitHub Actions代表你创建一次提交,这样GitHub就允许你重新加入。GitHub需要更好的反机器人、反垃圾信息机制,这样人们就不必自己构建这些机制了。https://archestra.ai/blog/only-responsible-ai…
来谈谈AI垃圾信息
来源:https://archestra.ai/blog/only-responsible-ai
关于Hacker News的讨论:
https://archestra.ai/blog/only-responsible-ai#the-end-of-open-source-as-we-know-it
我们所熟知的开源之终结
几个月前,GitHub分享了统计数据,庆祝AI在其产品指标中的巨大贡献(https://github.blog/news-insights/octoverse/octoverse-a-new-developer-joins-github-every-second-as-ai-leads-typescript-to-1/?utm_source=web-k2k-octoverse-cta&utm_medium=web&utm_campaign=universe25),完全忽视了贡献质量下降的问题,那时我们就已经感觉事情要糟糕了。第一个令人担忧的时刻是我们发布了一个带有900美元赏金的问题(https://github.com/archestra-ai/archestra/issues/1301)。我们希望激励某人做出贡献,为我们的平台带来崭新的“MCP应用”支持。我们很快吸引了合法贡献者的注意,他们提出计划、提问、提交尝试——但很快……AI机器人来了,把这个问题搞得一团糟,总评论数达到了253条,用毫无意义的“实施计划”毒害了对话,甚至对维护者进行了纯粹的攻击!
AI账号不仅淹没了这个问题,还淹没了整个仓库。每条草率的评论都会触发通知,发送给每个关注仓库的团队成员。我们的GitHub通知变成了一堵噪音墙。来自贡献者 @ethanwater、@developerfred 和 @Geetk172(这些人是正在积极处理赏金任务的人)的真实对话被淹没了。
后来,这个问题演变成了一场流行病。例如,仅针对为Archestra添加x.ai提供商支持的问题,我们就收到了27个拉取请求(https://github.com/archestra-ai/archestra/pulls?page=1&q=is%3Apr+is%3Aclosed+is%3Aunmerged+x.ai),其中大多数贡献者甚至没有尝试测试。我们的一名团队成员不得不每周花半天时间清理仓库里的AI垃圾,删除未经测试的PR,关闭那些胡思乱想出来的问题。如果我们忘记这样做,我们的仓库很快就会变得对合法贡献者完全无益。
https://archestra.ai/blog/only-responsible-ai#fighting-back
反击
起初,我们试图计算贡献者的“声誉”,并构建了“London-Cat”(https://github.com/archestra-ai/reputation-bot),一个小型机器人,根据合并的PR和其他一些信号来计算贡献者的声誉(示例(https://github.com/archestra-ai/archestra/issues/1301#issuecomment-3725798117))。这显然没有阻止垃圾信息,但帮助我们弄清了“谁是谁”。
作为下一步,我们构建了一个“AI警长”(示例(https://github.com/archestra-ai/archestra/pull/2843#issuecomment-3916574929)),但它显然关闭了一些合法的PR 🤦。
源源不断的无用AI评论和提议只会变得更糟,使合法贡献者望而却步,并促使我们重新考虑:我们应该停止用赏金激励贡献(https://github.com/archestra-ai/archestra/issues?q=is%3Aissue%20state%3Aclosed%20label%3A%22%F0%9F%92%8E%20Bounty%22)吗?我们应该停止给求职者有趣的测试任务(https://archestra.ai/careers)吗?
我们决定必须反击,坚持让我们的仓库成为一个舒适、安全的空间,为合法贡献者、负责任的AI用户、新手和经验丰富的工程师服务。
今天,我们阻止那些未经过入会流程的人创建问题、打开PR和发表评论。
贡献者入会:获得白名单的五个步骤
贡献者入会:获得白名单的五个步骤
是的,这是一个核选项。对于一家由VC支持、完全以GitHub活动来衡量的初创公司来说,这尤其敏感,但我们不得不扣动扳机:我们重视质量而非数量。我们不会重视由AI垃圾信息推高的指标。 我们希望Archestra成为一个优秀的软件,每个人都能贡献,而不被AI机器人吞噬。
https://archestra.ai/blog/only-responsible-ai#doing-it-in-github
在GitHub中实现
在开源仓库中,没有直接的方法来白名单那些可以发表评论或创建PR的人,所以我们不得不进行一些黑客操作。有一个设置叫做“限制为先前贡献者”。简单规则:如果你之前没有向main分支提交过,你就不能在问题或PR上评论。
先前贡献者设置
先前贡献者设置
这个设置无法区分AI机器人和注册来参与赏金任务的真实开发者。两者都是“非先前贡献者”。两者都会被锁在外面。GitHub将“先前贡献者”定义为:其GitHub账户是main分支上某次提交的作者。Git提交有两个身份字段——作者和提交者——它们可以是不同的人。你可以使用Git的--author标志创建归因于其他人的提交。如果电子邮件与他们的GitHub账户匹配,GitHub就会将这次提交关联到他们的个人资料,并授予他们贡献者身份。
每个GitHub账户都有一个noreply电子邮件:<ID>+<用户名>@users.noreply.github.com。通过API查找ID并提交:
gh api users/他们的用户名 --jq '.id'
git commit \
--author="他们的用户名 <ID+他们的用户名@users.noreply.github.com>" \
-m "chore: 将他们的用户名添加到外部贡献者"
推送到main,他们就能立即评论了。
归因于外部用户的提交
归因于外部用户的提交
外部用户显示为作者,我们的账户显示为提交者。GitHub只要这些信息就足以将他们视为先前贡献者。
完整流程:
- 在我们的网站上完成入会,遵守伦理AI规则并验证CAPTCHA:https://archestra.ai/contributor-onboard
- 一个GitHub Action在提交时触发,查找用户的GitHub ID,将他们的句柄添加到
EXTERNAL_CONTRIBUTORS.md文件中,并以他们的账户为作者向main推送一次提交。 - 用户获得白名单,获得仓库访问权限。
https://archestra.ai/blog/only-responsible-ai#final-words
结语
当GitHub报告大规模指标增长(其中很大一部分是AI生成的)时,我们作为开源项目团队,却不得不做繁重的工作,清理仓库中的AI垃圾,并提出晦涩的变通方案,以保持我们开源受众的合法性。垃圾信息不仅挫伤了那些想花时间做好事、却不得不突破噪音墙的贡献者,还带来了重大的安全风险,就像在LiteLLM仓库中发生的那样(https://github.com/BerriAI/litellm/issues/24512),攻击者试图用AI机器人引导对话。
亲爱的社区,是时候认真谈谈AI对开源的影响了。
相似文章
我们使用 Git 的 --author 标志阻止了 GitHub 仓库中的 AI 机器人垃圾信息
Archestra 团队描述了他们是怎样通过构建信誉工具,并最终使用 Git 的 --author 标志来阻止未经验证账户的贡献,从而打击 GitHub 仓库中的 AI 机器人垃圾信息的,目的是为合法贡献者保留一个安全的空间。
GitHub 与软件之罪
本文批评 GitHub 频繁宕机、可靠性差,并且优先发展AI功能而非基础架构,认为这反映了大型科技软件服务的普遍衰退。
GitHub对AI Agent的计划(90分钟阅读)
本文探讨了AI编码代理的爆炸式增长(2026年增长1400%)如何使GitHub的基础设施承压,导致显著的服务可用性问题,并讨论了GitHub为使其平台适应这一新时代而制定的计划。
应对大型代码托管平台碎片化
本文探讨了项目离开GitHub导致的代码仓库碎片化问题,介绍了一种跨平台统一git活动热力图的工具,并讨论了抵御AI生成垃圾贡献的信任系统。
AI正在摧毁开源,而它甚至还不够优秀
本文讨论了AI生成的代码和代理AI如何以低质量的拉取请求和错误报告淹没开源维护者,导致像curl这样的项目取消漏洞赏金,并导致维护者受到骚扰。