本文永久链接 – https://tonybai.com/2026/03/23/go-is-the-best-programming-language-for-llm

大家好,我是Tony Bai。

在这个大模型重塑编程范式的当下,如果你想开发一个自主运行的智能体(Agent),或者想让大模型(LLM)帮你生成上万行的核心业务代码,你会选择哪门编程语言?

如果你去问 OpenAI 的总裁兼联合创始人 Greg Brockman,他的答案非常直接:

“Rust is a perfect language for agents, given that if it compiles it’s ~correct.”
(Rust 是开发 Agent 的完美语言,因为只要它能编译通过,它就基本是正确的。)

这句话听起来极其硬核且有道理。Rust 引以为傲的所有权模型和严苛的编译器,就像一个极度刻薄的审查员。既然大模型经常“胡言乱语”,那不如交给 Rust 编译器来兜底。

但有趣的是,Greg 的这番高论,最近在推特(X)上遭到了不少一线资深开发者的强烈反驳。其中,一条阅读量近 7 万的推文直指核心痛点,甚至抛出了一个让无数 Gopher(Go 开发者)极度舒适的反直觉结论:

“别吹 Rust 了,在大模型眼里,语法简单、风格统一的 Go 才是真正的‘香饽饽’!”

今天,我们就来扒一扒这场顶级“语言战争”背后的神仙打架,看看为什么 Go 语言身上那些曾经被全网群嘲的“缺点”,如今却成了大模型时代最无敌的护城河。

大模型写 Rust,真的安全吗?

发起反驳的开发者 Emil Privér 一针见血地指出了用大模型写 Rust 的最大陷阱:“逃课”心理

Greg Brockman 认为 Rust 编译器能阻止大模型犯错。但这有一个前提:大模型必须老老实实地去解生命周期(Lifetime)和所有权(Ownership)的方程。

然而现实是,大模型也是会“偷懒”的。

Emil 敏锐地指出,当现代 LLM 在生成复杂的 Rust 业务逻辑,且实在绕不过编译器的各种借用检查报错时,它们会极其鸡贼地使出大招:直接套上一层 unsafe {} 块,或者无脑使用 .unwrap() 来强行绕过编译器的安全审查!

你在指望编译器兜底,大模型却在底下悄悄开了“后门”。

就像评论区一位开发者吐槽的那样:“当你看到大模型为了图省事,把一段关键操作包在 unsafe 里,并且依然能顺利编译通过时,你还敢说它‘只要编译通过就基本正确’吗?”

虽然有开发者反驳说,可以通过配置强制禁止 unsafe。但大模型的“逃课手段”防不胜防,比如疯狂滥用 RefCell 导致运行时 Panic,这在编译器眼里是合法的,但在生产环境下却是灾难。

Go 的“无趣”,成了最顶级的生产力

既然 Rust 太“聪明”导致大模型容易弄巧成拙,那大模型到底喜欢什么样的语言?

Emil 给出的答案是:Go。

他的底层逻辑非常硬核。

他认为,大模型(LLMs)的本质是基于大量预训练语料进行下一个 Token 的概率预测。对于这种预测机制来说,一段代码的上下文看起来越“同质化(Looks the same)”,大模型生成的准确率就越高。

这就牵扯到了 Go 语言一个常年被群嘲的“缺点”:啰嗦、缺乏表现力、没有花里胡哨的语法糖。

在 Go 里,如果你想写一个循环,你只有一种办法:for 循环。

没有 while,没有 do-while,没有 foreach,更没有各种炫技的函数式流处理。

而在 Rust 或者 JavaScript 等语言里,你想遍历一个数组,至少有 5 种写法。甚至在不同的开源库里,大家的编码风格都千奇百怪。

在人类看来,Go 语言简直“无趣”到了极点。但在大模型这种无情的“概率预测机器”眼里,Go 简直就是天堂!

因为 Go 语言有着近乎暴君般的强制格式化工具 gofmt,以及全宇宙最少、最没有歧义的语法关键字。无论你是 Google 的顶级工程师,还是刚入门三个月的新手,写出来的 Go 代码结构几乎是一模一样的。

这种极度“收敛”和“无聊”的代码风格,恰恰完美契合了大模型的预测机制。

当所有的 Go 项目看起来都像是一个模子里刻出来的,大模型在生成上下文时就不需要去猜测“这个项目的主人喜欢用哪种流派”。它闭着眼睛往下预测,准确率就能轻易碾压其他语言。

Go,这种“一眼望到底”的特性,让它成为了大模型眼里的头号“香饽饽”。

AI 时代的软件工程师,该选什么语言?

推特评论区里,争论依然在继续。

但透过这场口水战,我们作为一线的软件工程师,应该看透一个更深层次的时代演进:

在过去十年,程序员们热衷于发明各种奇技淫巧,比拼谁的代码写得更短、更具“魔法”;但在未来,当 80%以上 的代码都将由 AI Agent 自动生成时,“可读性”与“无歧义”将成为一门编程语言最核心的生产力。

Go 语言的联合缔造者 Rob Pike 当年顶着巨大的压力,坚持不给 Go 加各种复杂的特性。很多人觉得他固执、老派。但在十多年后的今天,当大模型海啸席卷而来时,我们才突然惊觉:

Go 语言那种“强迫你用最笨、最直白的方式写代码”的设计哲学,不仅让它在微服务时代大杀四方,更让它在 AGI 时代,成为了大模型最忠实、最可靠的合作伙伴。

当大模型吐出一段复杂的 Rust 代码,你可能还要花十分钟去审查它有没有隐藏的逻辑陷阱;

但当大模型吐出一段 Go 代码,那满屏极其直白的 if err != nil,让人类工程师一眼就能看穿它的核心逻辑。

没有魔法,才是大模型时代最强的防御。

资料链接:https://x.com/emil_priver/status/2034971247348535399


今日互动探讨:

在日常开发中,你让 ChatGPT/Claude 帮你写过哪种语言的代码?你觉得它写 Go、Python 还是 Rust 时的准确率最高?

欢迎在评论区分享你的实战感受!


还在为“复制粘贴喂AI”而烦恼?我的新专栏 AI原生开发工作流实战 将带你:

  • 告别低效,重塑开发范式
  • 驾驭AI Agent(Claude Code),实现工作流自动化
  • 从“AI使用者”进化为规范驱动开发的“工作流指挥家”

扫描下方二维码,开启你的AI原生开发之旅。


你的Go技能,是否也卡在了“熟练”到“精通”的瓶颈期?

  • 想写出更地道、更健壮的Go代码,却总在细节上踩坑?
  • 渴望提升软件设计能力,驾驭复杂Go项目却缺乏章法?
  • 想打造生产级的Go服务,却在工程化实践中屡屡受挫?

继《Go语言第一课》后,我的《Go语言进阶课》终于在极客时间与大家见面了!

我的全新极客时间专栏 《Tony Bai·Go语言进阶课》就是为这样的你量身打造!30+讲硬核内容,带你夯实语法认知,提升设计思维,锻造工程实践能力,更有实战项目串讲。

目标只有一个:助你完成从“Go熟练工”到“Go专家”的蜕变! 现在就加入,让你的Go技能再上一个新台阶!


原「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. 当“安全性”遭遇“交付速度”:2026 年,我为什么告别了 Rust
  3. Rust 的“跨越鸿沟”时刻:Ubuntu 全面拥抱 Rust 意味着什么?
  4. 拒绝 Rust 的复杂,跨越 Go 的极简:Zig 会是系统级编程的最终答案吗?
  5. Rust 输了?在 AI Agent 的战场上,TypeScript 才是唯一的“神”