HN精选|拒做反向半人马

Flask作者拒审AI生成PR,开源维护者的逆袭

当PR从惊喜变成负担

“回到LLM出现之前的日子,收到一份意想不到的Pull Request是兴奋和骄傲的来源。”Flask框架的作者Miguel Grinberg在他的博客中写道。”今天,一份未经请求的PR是一个红旗。”这个转折浓缩了开源世界正在经历的一场静默危机:AI生成代码正在淹没维护者的收件箱。

Grinberg引用Cory Doctorow创造的术语”反向半人马”(reverse centaur),形容那些”被冷漠无情的机器操控的脆弱人类”。他的自问令人心惊:作为一个资深软件工程师和开源开发者,我的新使命就是每天审查LLM生成的代码吗?即使我本人选择不使用这些工具?

制度性抵抗:新规则

Grinberg的回应是系统性的。他为自己的所有开源项目设立了新规则:

首先,不再接受未经请求的PR。所有贡献者必须在提交代码前先开Issue描述问题和方案,并获得维护者批准。这不是官僚主义,而是筛选机制——”通过这个过程,我能在双方投入大量时间之前了解贡献者和他们的提案。”

其次,强制披露AI使用。如果PR是借助LLM生成的,必须明确标注。不披露的PR会被立即关闭。”我的第一步是判断PR背后是否有真人——幸运的是,这在几秒钟内就能判断出来。如果看不到人类参与的痕迹,我不感兴趣。”

第三,用Issue代替PR。对于只能用LLM编程的用户,Grinberg的建议直接而实用:”不要浪费你的token提交PR——我会忽略它。用你自己的声音开一个Issue描述问题,让我来处理代码。既然你省下了那些昂贵的token,不妨考虑捐赠,这可能会让我更有动力优先解决你的问题。”

HN社区:这不是孤例

Grinberg的遭遇在HN上引起了177条评论的强烈共鸣。用户ethagnawl直白地总结了变化:”PR通知的条件反射已经从’哦!我们有什么新东西?’变成了’唉,这里有什么东西吗?'”维护者fantasizr提到,他和很多人都是通过Grinberg的Flask Mega-Tutorial学习编程的,”看到他被那些能用LLM’编程’的外行人的代码淹没,我感到难过。”

用户aidenn0引用了Oxide公司提出的”写作的社会契约”概念:写作者付出的努力应当超过读者阅读所需的努力。LLM生成代码恰恰打破了这个契约——生成者几乎零投入,而审查者需要耗费大量精力判断代码的正确性和意图。

开源还有意义吗?

Grinberg在文末抛出了一个没有答案的问题:”开源还有意义吗?”他仍然大量编程,但过去几年对分享成果的兴趣在下降。”我的感觉是,对开源的兴趣在减少,对编程本身的兴趣也在减少。我喜欢编程的主要原因是它是一种挑战,我认为这也是很多人成为程序员的原因。但如果你把这个挑战外包给AI,还剩下什么呢?”

这不是反AI的宣言,而是对开源生态健康的诊断。当维护者被迫成为”反向半人马”,当PR从智力交流沦为机械审查,当贡献的门槛被降到”输入prompt”——受伤的不只是一个维护者,而是整个协作创造的文化。

原文链接:Miguel Grinberg’s Blog ·
HN讨论:247 points, 177 comments

Leave a Reply

Your email address will not be published. Required fields are marked *