SQLite 最近加了一个很小的文件,但话说得很重:仓库里新增了 AGENTS.md。
这个文件五天前进入 SQLite 仓库。它大概率不是写给 SQLite 自己开发用 agent 的说明书,而是写给那些把 coding agent 指向 SQLite 代码库的人看的。
规则一句话就能概括:AI 可以帮你找 bug,但 AI 写的代码别直接塞进来。
这件事最有意思的地方,不是 SQLite 拒绝 AI。它没有。SQLite 接受 agentic bug report,前提是带可复现测试用例。它拒绝的是 agentic code。
AGENTS.md 写得很直:报告可以,代码不行
SQLite 的规则不复杂,但每一条都在挡风险。
| 事项 | SQLite 的说法 | 实际含义 |
|---|---|---|
| 普通 PR | 没有事先同意,或缺少把代码置入 public domain 的法律文件,不接受 | 代码权属必须干净 |
| 人类提交的 PR | 简洁、写得好的 PR 可作为 proof-of-concept 审阅 | 维护者可以看思路,但会自行重写 |
| AI 生成代码 | 不接受 agentic code | 代码权责不能外包给 agent |
| AI bug report | 接受带可复现测试用例的 agentic bug report | 问题必须能跑、能复现 |
| 修复 patch / PR | 欢迎用于说明可能修复方向 | 可以当文档材料,不等于合并 |
还有一个小改动很关键。
SQLite 最近一次修改 AGENTS.md 时,把“不接受 agentic code”里的 “currently” 删掉了。commit message 写的是:Strengthen the statement about not accepting agentic code。
也就是把“目前不接受”改得更像“就是不接受”。
这不是情绪表态,是治理表态。
SQLite 原本就有特殊的贡献要求。它不随便收 PR,不只是因为代码质量,还因为法律归属。SQLite 代码进入 public domain,这要求外部贡献的权利边界非常干净。
AI 生成代码一进来,事情立刻变脏:作者是谁,权利怎么确认,未来谁解释,出了问题谁担责。SQLite 选择不碰这团泥。
真正变化:AI 把开源入口流量放大了
SQLite 论坛已经被不少 AI 生成的 bug report 涌入,质量参差不齐。项目方现在把这类报告分流到了新的 SQLite Bug Forum。
D. Richard Hipp 正在里面快速处理问题,并提交修复。
所以别把这事读歪。材料能说明的是:报告太多,需要分流。它不能说明 SQLite 被 AI 搞乱了,也不能说明项目质量出了问题。
更准确的说法是:AI 降低了“提交一个像样问题”的成本,也降低了“提交一个不像样问题”的成本。
这对开源维护者很要命。
过去,一个人要报底层项目的 bug,至少得读文档、写复现、整理环境。现在 coding agent 可以帮他生成一段看起来完整的报告。好报告会变多,噪声也会变多。
开源维护者会被推到一个新位置:不是只写代码,而是先当质量筛选器。
这也是 SQLite 这次处理得老练的地方。它没有把门关死,而是把入口拆开:
- bug report 可以进专门论坛;
- 必须带可复现测试;
- patch 可以说明思路;
- 核心代码仍由承担责任的人重写。
这套做法对小项目也有参考价值,但不能照抄成口号。
SQLite 有 D. Richard Hipp,有成熟流程,有足够强的项目权威。很多小项目没有。小项目维护者更现实的动作,可能只是加一个 CONTRIBUTING 或 AGENTS.md:写清楚 AI 生成内容必须标注,bug report 必须包含复现步骤,PR 不保证审阅。
别等 issue 区被灌满再补规则。到那时,维护者已经在替工具付账。
受影响的不是 AI,而是用 AI 参与开源的人
这件事最该看的两类人很明确。
一类是开源项目维护者。
如果你的项目开始收到 AI 辅助生成的 issue 或 PR,别只在心里骂。把规则写出来:什么能收,什么不收,什么格式才看,什么情况直接关闭。
尤其是底层库、安全相关项目、数据库、编译器、加密组件。越是高信任项目,越不能让“看起来能跑”的代码绕过责任链。
另一类是使用 coding agents 的开发者。
以后拿 AI 帮你给开源项目报 bug,别把 agent 输出原样贴过去。至少做三件事:
- 自己跑一遍复现;
- 给出最小测试用例;
- 把修复建议当说明,不要当“请合并”的压力。
如果你只是让 agent 扫仓库、编一个可疑点、生成一段补丁,然后扔给维护者,这不叫贡献。那叫把验证成本转嫁出去。
技术史里这种事不新鲜。铁路、电力、互联网平台,每次新工具把生产效率推上去,都会顺手制造一批新的审核工作。旧话说,“天下熙熙,皆为利来”。今天的“利”不一定是钱,也可能是效率、名声、贡献记录,或者自动化带来的虚假成就感。
AI 写代码也一样。生成便宜了,验证就更贵。
SQLite 这次划的线,真正保护的不是某种开发洁癖,而是基础设施项目最稀缺的东西:可解释、可追溯、可承担责任的代码链条。
接下来最该观察的,不是 SQLite 会不会“拥抱 AI”。这个问题太粗。
更该看三件事:更多项目会不会加入 AGENTS.md;维护者会不会要求 AI 报告必须提供最小复现;开源社区会不会把 agentic code 和 agentic bug report 分开治理。
这才是分水岭。
SQLite 给出的答案很克制,也很硬:你可以带着 AI 来找问题,但别让 AI 直接坐到提交席上。
开源不是无门之城。门槛低,不等于城墙该拆。
