本文永久链接 – https://tonybai.com/2026/06/18/why-choose-go-over-rust-today-in-ai-age

大家好,我是Tony Bai。

随着 Cursor、Claude Code 和 Copilot 等 AI 编程智能体的爆发,整个技术圈的开发门槛被前所未有地铲平了。

在过去,Rust 最大的劝退门槛是它那极其陡峭的路径——生命周期、借用检查器(Borrow Checker)、复杂的泛型特征(Traits)。但如今,AI 可以轻而易举地帮你写出能够通过编译的复杂 Rust 代码。

这就引发了一个最近在 Reddit 的 r/golang 讨论区的终极发问“既然 AI 已经帮我们消灭了 Rust 的学习和编写门槛,今天我们为什么还要选择 Go?(Why choose Go over Rust today?)”

海外大厂的资深架构师和 SRE 们纷纷下场,用生产环境中的血泪教训,给出了一个极具警示意义的工程结论:AI 极大地降低了“写”代码的门槛,却无形中成倍抬高了“读”与“维护”代码的成本。而在充斥着 AI 生成代码的时代,Go 语言那近乎固执的“简单与无聊”,反而成为了它最坚不可摧的壁垒。

以下是为什么在 AI 时代,Go 依然是很多企业技术选型终极首选的深层逻辑。

致命的“温水煮青蛙”:谁来在凌晨三点排查 AI 写的代码?

在帖子中,一位获得了极高赞同的资深开发者贴出了一句直击灵魂的忠告:

“如果你打算让 AI 写完所有代码且你从不检查,那么 Rust 是完美的(因为编译器会守住安全底线)……前提是,你是那个在凌晨 3 点值班、随时准备被报警电话叫醒去排查问题的人。”

这句话道出了软件工程中最朴素的真理:编写代码是一时的,而阅读、评审(Code Review)和在线排查(On-Call)才是永恒的。

大模型在生成代码时,为了迎合编译器的规则,往往会采用极其复杂、精妙但难以阅读的“高级语法特性”。

  • AI 写的 Rust 代码:可能会充斥着各种复杂的泛型嵌套、宏(Macros)、高度抽象的 Trait 绑定以及微妙的生命周期标注。它确实能通过编译,但当它在生产环境中遇到边界条件发生崩溃时,由于代码不是你写的,面对这堆“天书般的高级 Rust 代码”,你根本无法在短时间内看清它的真实意图。
  • AI 写的 Go 代码:由于 Go 语言刻意限制了特性的复杂性,奉行“一种问题只有一种解法”的极简主义。AI 写出来的 Go 代码,看起来和你自己写的、或者你同事写的没有任何区别。任何一个普通的后端开发,都能在 30 秒内梳理清楚数据流向。

在 AI 大规模入侵开发流水线的时代,“易读性”和“低认知负载(Cognitive Load)”成了比“易写性”更重要的资产。Go 的无聊和易读,在这个时候反向成了它最大的护城河。

运行时的隐形深渊:GMP 模型 vs 协作式异步的“雷区”

在涉及到高并发的系统设计时,很多开发者以为 Rust 拥有完美的类型安全(线程安全的 Mutex 检查等),就能在并发上完胜。

但 Reddit 上的多位分布式系统工程师指出了一个极易被忽视的“运行时隐形深渊”:非抢占式并发(Cooperative Async)的惩罚。

1. Go 的“无脑并发”(GMP 抢占式调度)

Go 语言底层的 GMP 调度器支持抢占式调度(Preemptive Scheduling)

这意味着,即便 AI 给你写了一段“烂代码”(例如在一个 CPU 密集的循环里没有主动让出 CPU),Go 运行时也会在底层强行打断它,把执行权分给其他协程。你的服务可能会变慢,但绝对不会卡死

2. Rust 的“协作式深渊”(Tokio 异步事件循环)

Rust 的主流异步运行时(如 Tokio)是协作式(Cooperative)的。

这意味着,如果 AI 帮你在一个 async 函数内部偷偷夹带了一句同步阻塞操作(比如调用了一个同步的第三库去读文件或发起网络请求),它会直接霸占并锁死整个事件循环(Event Loop)!

这种低级错误,Rust 那引以为傲的编译器完全无法察觉。在线上高并发场景下,这会导致整个微服务在瞬间陷入死锁状态。

在 AI 辅助开发时代,由于大模型无法完美感知具体的系统上下文,AI 极易在 Rust 的 async 块中引入阻塞调用。这让 Rust 系统的线上隐患比 Go 尖锐得多。

标准库生态 vs 依赖地狱(Crate Hell)

在构建微服务和后端 API 时,Go 的另一个绝对优势是它的 “Batteries included(自带电池)” 哲学。

  • Go 的富标准库:Go 拥有世界上最强大、最稳定的标准库。你不需要引入任何第三方包,仅靠标准库就能写出高性能的 HTTP 服务器、完美的 JSON 解析器以及加密服务。这意味着你的项目极其干净,几乎没有供应链安全风险,并且可以无视版本的向前兼容。
  • Rust 的极简库与 Crate 地狱:为了追求极致的小体积,Rust 的标准库非常“贫瘠”。写一个普通的 Web 服务,你不得不引入 tokio、serde、reqwest 等一整棵庞大的第三方树(类似于 Node.js 的 node_modules 依赖灾难)。

当项目依赖树膨胀到上百个节点时,不仅编译时间(Compile Times)会变得极其冗长(Rust 本就因为编译慢而臭名昭著),AI 也会因为各个第三方库之间复杂的版本冲突,频繁生成无法通过编译的代码,让开发体验陷入泥潭。

黄金法则:90% 的性能,10% 的心智负担

在经历了一轮轮深刻的讨论后,技术老兵们为我们总结出了一条极其务实的决策黄金法则:

除非你的业务是在写操作系统内核、高频交易引擎、或者内存极其受限的边缘设备;否则,用 Go 来换取 10 倍的开发效率、秒级的编译速度,以及任何人都能在 3天内上手的极低维护成本,在商业世界里永远是一个性价比高得多的选择。

小结

AI 的爆发并没有让“简单”失去价值,反而让“简单”变得更加昂贵。

AI 降低了代码“写”的门槛,但也导致互联网上的平庸同质化代码(Slop)呈指数级爆发。在充斥着 AI 生成代码的未来,能够一眼被看穿、能够被任何人轻松评审、能够无痛维护的代码,才是最稀缺的技术资产。

Go 语言那近乎固执的“无聊”与“克制”,并不是落后,而是其对“人机协同软件工程”最深邃的先见之明。

资料链接:https://www.reddit.com/r/golang/comments/1u2u96q/why_choose_go_over_rust_today/


今日开放讨论:

大模型确实降低了我们“落笔写代码”的门槛,但它同时也以前所未有的速度,向整个世界的代码库里倾倒着似是而非的“平庸垃圾(Slop)”。

面对这场温水煮青蛙的“人机协作大潮”,我们也想听听你在一线最真实的工程感受:

  1. 你是否尝试过让 Cursor 或 Claude 帮你生成复杂的 Rust 代码? 在实际编译和后续维护中,你觉得 AI 究竟是帮你“拆掉了门槛”,还是在暗中给你“挖了更深的坑”?
  2. 如果今天你要为团队新立项一个中大型的后端微服务, 在有 AI 编程工具辅助的前提下,你会更倾向于选择“3 天就能上手、编译仅需毫秒的 Go”,还是“心智负担极高、但上限和安全性拉满的 Rust”?
  3. 你是否经历过被 AI 生成的“黑盒代码”在半夜三点叫醒 On-Call 的惨痛经历?

欢迎在评论区留下你最硬核的观点,或者把这篇文章一键转发给身边正在为“技术栈选型”纠结的架构师朋友。我们评论区见!


还在为写 Agent 框架频频死循环、上下文爆炸而束手无策?我的新专栏 从0 开始构建 Agent Harness 将带你:

  • 抛弃臃肿框架,回归“驾驭工程 (Harness Engineering)”的第一性原理
  • 用 Go 语言手写 ReAct 循环、并发拦截与上下文压缩引擎等,复刻极简OpenClaw
  • 构建坚不可摧的 Safety Middleware 与飞书人工审批防线
  • 在底层实现 Token 成本审计、链路追踪与自动化跑分评估
  • 从“调包侠”进化为掌控大模型边界的“AI 操作系统架构师”

扫描下方二维码,开启从 0 开始构建Agent Harness 的实战之旅。


原「Gopher部落」已重装升级为「Go & AI 精进营」知识星球,快来加入星球,开启你的技术跃迁之旅吧!

我们致力于打造一个高品质的 Go 语言深度学习AI 应用探索 平台。在这里,你将获得:

  • 体系化 Go 核心进阶内容: 深入「Go原理课」、「Go进阶课」、「Go避坑课」等独家深度专栏,夯实你的 Go 内功。
  • 前沿 Go+AI 实战赋能: 紧跟时代步伐,学习「Go+AI应用实战」、「Agent开发实战课」、「Agentic软件工程课」、「Claude Code开发工作流实战课」、「OpenClaw实战分享」等,掌握 AI 时代新技能。
  • 星主 Tony Bai 亲自答疑: 遇到难题?星主第一时间为你深度解析,扫清学习障碍。
  • 高活跃 Gopher 交流圈: 与众多优秀 Gopher 分享心得、讨论技术,碰撞思想火花。
  • 独家资源与内容首发: 技术文章、课程更新、精选资源,第一时间触达。

衷心希望「Go & AI 精进营」能成为你学习、进步、交流的港湾。让我们在此相聚,享受技术精进的快乐!欢迎你的加入!

img{512x368}


商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。如有需求,请扫描下方公众号二维码,与我私信联系。

© 2026, bigwhite. 版权所有.

Related posts:

  1. 金融级基础设施重构:放弃 Rust 拥抱 Go,务实主义的最终胜利?
  2. Bun 创始人带头“叛逃”:放弃 Zig,用 AI 把项目重写成 Rust?
  3. 为什么人人爱 Rust,但 RedMonk 榜单却给它泼了一盆冷水?
  4. “用 Go 打天下,用 Rust 救火”:这才是 2026 年后端架构的唯一正解
  5. 别搞“小而美”了!Rust 开发者请愿:求求标准库学学 Go 吧