OpenAI 刚买下 Python 顶流工具,作者却说:AI PR 正在拖垮开源社区
AI 写代码越来越快了。
但真正让技术圈开始警惕的,不是 AI 能不能写代码,而是另一个更现实的问题:
AI 让提交 PR 的门槛几乎降到了零,但代码审查和质量验证的成本,并没有跟着降下来。
这句话,对程序员重要。
对测试开发更重要。
因为软件行业正在进入一个新阶段:
以前的问题是代码写得不够快。
现在的问题是,代码来得太快,质量验证跟不上。
最近,Python 顶流工具 Ruff、uv 背后的作者 Charlie Marsh,在一档技术播客 The Peterman Pod 里和主持人 Ryan Peterman 聊到了这个问题。
这场对谈很有代表性。

Charlie Marsh 是 Astral 的创始人,他做出了 Python 生态里非常有影响力的两个工具:Ruff 和 uv。前者主打极速代码检查和格式化,后者是新一代 Python 包管理工具。更关键的是,Astral 近期被 OpenAI 收购,团队也并入了 Codex 相关方向。
所以这不是一个普通工程师在吐槽 AI 编程。
而是一个真正站在开源工具链、AI 编程和软件工程交叉点上的顶级工程师,在讲自己真实遇到的问题。
他的核心观点很直接:
AI 确实让开发更快了,但也让软件质量风险变得更隐蔽了。
一、Python 顶流工具作者,为什么开始担心 AI 写代码?
如果你做 Python 开发,大概率听过两个工具:
-
Ruff:Python 生态里非常快的 Linter / Formatter -
uv:新一代 Python 包管理工具,主打极速依赖管理和包安装体验
它们背后的公司叫 Astral,创始人是 Charlie Marsh。
Astral 被 OpenAI 收购这件事,本身就很有信号意义:
OpenAI 不只是想做聊天机器人,也不只是想做代码补全工具,而是要进一步拿到软件工程底层能力。
因为未来的 AI 编程,不只是“生成几段代码”。
它还需要理解代码库、依赖管理、构建系统、测试体系、性能优化、工程质量。
而 Ruff、uv 这种工具,正好站在软件工程基础设施的核心位置。
更有意思的是,在 The Peterman Pod 这场长对谈里,Charlie Marsh 没有单纯吹 AI 多强,而是讲了一个非常真实的变化:
他现在已经大量使用 AI Agent 写代码,甚至很久没有在编辑器里一行行亲手改代码了。
但这也带来了一个尴尬变化。
团队成员直接提醒他:
以前你提交 PR,我们扫一眼就比较放心; 现在你提交 PR,我们必须认真看,因为那可能是 AI 生成的。
这句话很扎心。
它说明一个问题:
AI 生成代码,不等于代码可信。
二、AI 最大的问题,不是写错,而是“写得像真的”
很多人以为 AI 写代码的风险是:
代码一看就错、跑不起来、语法报错。
但这反而不是最危险的。
真正危险的是:
-
代码能跑 -
测试能过 -
格式很漂亮 -
注释很完整 -
逻辑看着也合理 -
但一到复杂场景就出问题
这类代码最麻烦。
因为它不是明显错误,而是低质量但高迷惑性。
以前新人写一个 PR,维护者指出问题,新人理解反馈,下次会进步。
这个过程虽然慢,但它有一个好处:
人会成长。
但现在很多 AI PR 的过程变成了这样:

看起来流程没问题。
但真正的问题是:
提交者可能没有理解代码。
维护者花了时间,但没有培养出新的贡献者。
AI 改了一版又一版,但项目长期质量未必变好。
这就是现在很多开源社区正在遇到的困境:
写代码的人越来越多,真正理解代码的人反而越来越少。
三、AI PR 的核心矛盾:生成很便宜,验证很昂贵
AI 时代,代码生产成本正在快速下降。
一个以前需要半天写出来的小功能,现在可能十分钟就能生成。
一个以前需要认真思考的修复,现在可能一个 Prompt 就能给出方案。
但问题在于:
生成代码快,不代表验证代码快。
软件工程里真正难的从来不是“把代码写出来”,而是回答这些问题:
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
所以你会发现,AI 真正改变的是:
开发侧更快了,但质量侧压力更大了。
这也是为什么测试开发在 AI 时代不会变得不重要,反而会越来越重要。
因为当代码生成速度提升 10 倍,企业最缺的不是更多代码,而是更强的验证体系。
四、为什么“AI 自动重构整个项目”听起来很爽,但风险极高?
在和 Ryan Peterman 的对谈中,Charlie Marsh 还聊到了一个更激进的话题:
如果 AI 已经能大量生成代码,那能不能让它直接重写一个代码库?
比如:
-
自动重构代码库 -
自动迁移技术栈 -
自动修复历史 Bug -
自动把一个语言的项目改写成另一个语言 -
自动批量生成测试和文档
这听起来非常诱人。
尤其是对于老系统来说,谁不想一键重构?
但这里有一个很大的坑:
测试通过,不等于系统真的没问题。
测试只能证明:
在你覆盖到的场景里,系统表现正常。
但真实工程里,还有大量测试覆盖不到的隐性行为。
比如:
-
某个接口虽然文档没写,但下游系统已经依赖它的返回顺序 -
某个异常逻辑虽然看着不合理,但线上用户刚好依赖这个行为 -
某个字段虽然应该废弃,但有老版本客户端还在用 -
某个性能问题在本地不明显,到生产环境高并发下才爆 -
某个边界输入测试没覆盖,但真实用户会触发
所以,AI 自动重构代码库,本质上是在做一笔交易:
用一批已知问题,交换一批未知问题。
已知 Bug 至少还能复现、定位、评估影响。
未知 Bug 最可怕的地方在于:
你不知道它什么时候出现,也不知道它会影响谁。
这就是为什么越是核心系统,越不能轻易相信“一键 AI 重构”。
五、AI 可以优化 10 倍,但优秀工程师可能优化 100 倍
Charlie Marsh 在这场关于 Ruff、uv 和 AI 编程的对谈里,还提到一个特别值得技术人警惕的观点:
AI 很擅长局部优化,但不一定擅长系统级优化。
你让 AI 优化一段代码,它可能会做这些事情:
-
减少重复计算 -
合并几个变量 -
替换一个数据结构 -
优化一段循环 -
删除一些明显冗余逻辑
这些当然有价值。
但真正厉害的性能优化,往往不是改几行代码,而是重新思考:
-
这个数据为什么要这样存? -
这个流程为什么要每次全量跑? -
能不能做增量计算? -
能不能做懒加载? -
能不能改变缓存策略? -
能不能换一种系统设计? -
这个问题理论上最快应该是什么样?
这就是 AI 编程时代很容易出现的错觉:
AI 帮你把一坨代码优化了 10 倍,你以为很厉害。 但真正懂系统的人,可能一开始就会把方案设计成快 100 倍。
所以技术人不能只满足于“AI 给了我一个答案”。
你要继续追问:
-
它为什么这样写? -
有没有更底层的瓶颈? -
有没有更简单的设计? -
有没有更可靠的验证方式? -
这段代码真的应该存在吗?
AI 能加速执行,但不能替代第一性原理思考。
六、对测试开发来说,这其实是一次机会

很多测试从业者担心:
AI 会不会让测试岗位消失?
我的判断正好相反。
AI 编程越普及,测试开发越重要。
因为未来企业面对的不是“代码不够多”,而是:
-
AI 生成的代码太多 -
PR 来得太快 -
人工 Review 跟不上 -
回归测试压力变大 -
线上风险更隐蔽 -
质量门禁必须前移
以前测试更多是在开发之后做验证。
但 AI 时代,测试不能只在最后兜底。
测试要进入整个研发链路:

这里面每一个环节,都需要测试开发能力。
不是简单点点点,而是要建设完整的质量体系。
七、AI 时代,测试开发要补哪些能力?
未来的测试开发,不只是写几个自动化脚本。
更关键的是能做质量基础设施。
1. 自动化测试能力
包括:
-
接口自动化 -
Web 自动化 -
App 自动化 -
单元测试辅助 -
回归测试体系 -
测试数据构造 -
Mock 与 Stub -
CI/CD 集成
AI 代码生成速度越快,自动化回归就越重要。
否则开发侧一天生成十几个 PR,测试侧还靠手工慢慢点,肯定跟不上。
2. 质量门禁能力
未来企业需要的不只是“测试执行”,而是质量门禁。
比如:
-
代码能不能合并? -
变更风险高不高? -
核心链路有没有被影响? -
新增代码有没有测试覆盖? -
性能有没有下降? -
接口契约有没有被破坏? -
是否引入安全漏洞?
这些都应该进入流水线。

AI 时代,真正高级的测试开发,不是等别人提测,而是把质量规则做进研发流程。
3. AI 代码审查能力
AI 生成代码有一些典型问题:
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
以后测试开发需要懂一点代码 Review。
不是替代研发,而是从质量角度识别风险。
尤其是 AI 生成的代码,更需要测试人员有工程判断。
八、真正被淘汰的,不是测试,而是低质量验证
AI 不会让软件质量问题消失。
相反,AI 会让质量问题出现得更快、更隐蔽。
以前一个开发一天写 300 行代码。
现在一个开发借助 AI,可能一天合并多个功能、多个修复、多个重构。
如果测试体系没有升级,结果就是:
-
缺陷更多 -
回归更乱 -
Review 更累 -
上线更不稳 -
线上问题更难排查
所以未来被淘汰的不是测试岗位本身,而是低质量验证方式。
比如:
-
只会照着用例点 -
不懂代码逻辑 -
不懂接口和数据 -
不懂自动化 -
不懂 CI/CD -
不懂质量门禁 -
不懂线上监控 -
不懂 AI 生成代码的风险
这类测试会越来越危险。
但反过来,如果你能把 AI 用起来,能力会被放大。
比如:
-
用 AI 辅助生成测试用例 -
用 AI 分析需求风险 -
用 AI 生成接口测试脚本 -
用 AI 分析日志 -
用 AI 辅助定位缺陷 -
用 AI 生成 Mock 数据 -
用 AI 做变更影响分析 -
用 AI Review 测试覆盖缺口
这不是让 AI 替你工作,而是让 AI 放大你的质量判断能力。
九、技术人的分水岭正在提前
AI 编程时代,有一个很残酷的变化:
过去,一个人技术不够强,可能只是效率低一点。
但现在,一个人技术判断不够强,可能会被 AI 放大错误。
因为 AI 很容易让人产生错觉:
“它都生成出来了,应该差不多吧。”
“测试也过了,应该没问题吧。”
“代码看起来挺专业,应该可以合并吧。”
但真正的软件工程不是这样。
真正的软件工程要问:
-
这个方案为什么可靠? -
这个改动影响范围是什么? -
哪些场景没覆盖? -
哪些风险需要拦截? -
哪些行为不能被破坏? -
出问题后怎么回滚? -
线上如何观测?
这些问题,AI 不会自动替你负责。
最后负责的,还是人。
所以未来的技术人分层会更明显:
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
十、写在最后
这场关于 Ruff、uv、OpenAI 和 AI 编程的对谈,最值得测试开发关注的地方,不是证明 AI 写代码有多强,而是提醒我们:
当代码生成越来越便宜,质量验证就会越来越值钱。
AI 降低的是写代码门槛。
但它没有降低工程质量门槛。
相反,代码生成越容易,质量验证越重要。
未来企业最缺的,不一定是“能不能让 AI 写代码”的人。
而是能回答这些问题的人:
-
AI 写的代码能不能合并? -
这次改动有没有破坏核心链路? -
测试覆盖是否足够? -
性能有没有下降? -
安全风险有没有增加? -
出问题能不能快速回滚? -
质量体系能不能支撑更快交付?
这正是测试开发的新机会。
过去,很多人把测试理解成研发链路最后的兜底。
但 AI 时代,测试开发必须往前走。
走到需求分析里。
走到代码评审里。
走到 CI/CD 流水线里。
走到质量门禁里。
走到线上监控和风险治理里。
因为未来不是没有测试了。
而是低水平测试会越来越难,高水平测试开发会越来越值钱。
AI 写代码越快,越需要有人证明:这些代码真的可靠。
- 点赞
- 收藏
- 关注作者
评论(0)