标签 Go语言 下的文章

OpenAI 创始人盛赞 Rust,却遭开发者反驳:Go 才是大模型眼里的“香饽饽”!

本文永久链接 – 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}


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

刚刚,2025图灵奖揭晓!面对即将瘫痪的传统密码学,Go 语言的“抗量子”底牌曝光

本文永久链接 – https://tonybai.com/2026/03/19/2025-turing-award-go-quantum-resistant-cryptography

大家好,我是Tony Bai。

就在昨天(2026 年 3 月 18 日),计算科学界的最高荣誉——ACM A.M. 图灵奖正式揭晓。2025 年的图灵奖,颁给了 Charles H. Bennett 和 Gilles Brassard 两位伟大的科学家,以表彰他们在“量子密码学(Quantum Cryptography)”和量子信息科学领域的开创性贡献。

或许你会觉得,图灵奖、量子力学、薛定谔的猫……这些高大上的词汇离我们每天 CRUD 的业务代码太遥远了。

但实际上,这场发端于理论物理界的革命,正在引发全球软件工程界一场最高级别的“红色预警”。

早期的图灵奖往往颁发给操作系统、数据库或编程语言的设计者(比如Unix 之父、B 语言(C 语言前身)以及 Go 语言联合设计者的Ken Thompson),而这次颁给量子密码学,传递出了一个极其明确的信号:传统的数字世界护城河,马上就要守不住了。

今天,借着图灵奖揭晓的热点,我想和大家聊一个极其硬核、且关乎我们所有后端开发者未来饭碗的话题:当“量子末日(Q-Day)”逼近,作为云原生时代绝对霸主的 Go 语言,手里究竟握着怎样的“抗量子底牌”?

你的数据,正被黑客“先存后破”

在理解 Go 团队的动作之前,我们必须先弄懂,为什么我们需要“后量子密码学(PQC)”?

目前,我们用来保护 HTTPS 流量、验证 JWT 登录、以及签署 Git 提交的底层基石,绝大多数是 RSA 或 ECC(椭圆曲线)算法 。这些算法的安全假设,建立在大质数分解和离散对数计算极其困难的数学事实上。

但早在 1994 年,Peter Shor 就提出了著名的 Shor 算法。该算法在数学上证明了:只要拥有一台足够规模的量子计算机,RSA 和 ECC 算法不仅能被破解,而且破解速度是指数级倍增的!

你可能会想:“量子计算机离真正商用还早着呢,急什么?”

黑客们可不这么想。现在全球的顶级黑客和某些国家级 APT 组织,正在疯狂执行一种名为 “Store Now, Decrypt Later”(先收集,后破解,SNDL) 的战略。

他们把现在截获的、由 RSA/ECC 加密的核心机密数据全部存储在硬盘里。等若干年后量子计算机成熟,他们就能在一瞬间把这些历史机密全部解开。

为了应对这场“降维打击”,美国国家标准与技术研究院(NIST)紧急发布了后量子密码学(PQC)的 FIPS 标准草案。而作为全球云基础设施底层语言的 Go,自然被推到了抗击量子危机的第一线。

Go 团队的“抗量子”谋略

如果你经常关注 Go 社区,你会发现 Go 核心团队早就确定了引入新密码学算法的策略。在 Go 官方仓库的 Issue #64537(crypto: post-quantum support roadmap)中,现任 Go 安全团队负责人 Roland Shoemaker 和 Go 密码学专家 Filippo Valsorda 明确抛出了 Go 在面对量子危机时的三大铁律:

  1. 绝对不当小白鼠:Go 标准库只实现那些结构已经绝对稳定、并在业界(如 WebPKI、TLS)被广泛验证的算法。那些还在实验阶段的半成品,一律拒之门外。
  2. “按需”引入,绝不盲目:PQC 算法分为两类,一类是密钥封装(KEM,用于加密和协商密钥),一类是数字签名(Signature,用于身份认证)。
  3. “内测”转“公测”机制:任何新的 PQC 算法,Go 都会先在 internal 包中悄悄跑几个版本,等把所有可能的开发者“误用坑”都踩平了,才会暴露为 Public API。

基于这套严谨的哲学,Go 团队打出了他们的第一张底牌:优先解决“先收集后破解”的威胁。

在 Go 1.24 中,Go 已经通过提案 #70122 和 #69985,在底层网络库中悄然集成了 ML-KEM(即 Kyber 算法)与 X25519 的混合密钥交换机制。(注:ML-KEM 从 Go 1.23 就以实验特性引入)

这意味着,如果你使用的是最新的 Go 版本构建的 HTTPS 服务,你的连接在建立之初,就已经具备了抵抗未来量子计算机窃听的能力!

密钥交换的问题解决了,那么用来证明身份的数字签名(Digital Signatures)呢?这就引出了 Go 团队即将放出的第二张王炸。

揭开 crypto/mldsa 的硬核源码

数字签名的重要性不言而喻:微服务之间的 mTLS 认证、固件升级包的防篡改、区块链的交易防伪,全靠它。

就在最近,Filippo 在 Go 官方 GitHub 上正式提交了 Issue #77626(proposal: crypto/mldsa: new package),提议在即将到来的 Go 1.27 中,正式向全世界暴露 ML-DSA(NIST FIPS 204 标准)的公有 API。

让我们剥开这层提案,看看顶级大厂架构师是如何设计这套跨时代 API 的。

极简的参数集隔离

ML-DSA 并不是一个单一算法,它包含了不同的安全级别。Go 提案非常干净利落地定义了三个常量函数:

func MLDSA44() Parameters // 推荐日常使用,安全级别相当于 AES-128
func MLDSA65() Parameters // 相当于 AES-192
func MLDSA87() Parameters // 极高安全级别,相当于 AES-256

开发者不需要去记忆复杂的参数结构,只需像拼积木一样调用。

拒绝“半展开密钥”,将安全做到极致

如果你看源码,会发现 NewPrivateKey 除了传入 params 参数集外,只需要传入一个极短的 seed(种子字节),而不是业内的“半展开密钥(Semi-expanded keys)”。

为什么?Filippo 在讨论中给出了让人拍案叫绝的解释:

“半展开密钥是一个极其糟糕的格式。它不仅占用空间更大,加载速度更慢,而且更危险。我们只会支持基于 Seed 的密钥派生。”

这体现了 Go 始终如一的安全哲学:如果一种格式有被开发者误用的风险,那就从 API 层面彻底物理隔绝它。

巧妙应对“预哈希(External μ)”难题

传统签名时,我们通常先用 SHA256 算个 Hash,再对 Hash 签名。但 ML-DSA 的底层数学机制非常复杂,它要求对 H(H(pubkey) || 0×00 || context || message) 进行极度严苛的处理。

Go 团队没有去破坏原有的 crypto.Signer 接口,而是极其巧妙地发明了一个“虚拟的占位符”:crypto.MLDSAMu。

这个常量虽然属于 Hash 类型,但它不支持被实例化,调用 New() 会直接引发 Panic。它仅仅作为一个“信号标记”传递给 SignerOpts,优雅地实现了向下兼容。

为什么我们还不能在 X.509 证书里用它?

看到这里,很多着急的开发者(尤其是一些政企、军工背景的开发团队,正面临 CNSA 2.0 强制要求在 2025 年升级 PQC 的死命令)在 Issue 里疯狂催问:

“API 都做好了,为什么不顺手把它集成进 crypto/x509 证书解析里?为什么还不让在 TLS 中直接使用 ML-DSA 证书?”

Filippo 的回答,直接揭露了目前后量子时代最尴尬的一个物理瓶颈,也展现了他作为世界级密码学家的极致架构克制

“如果我们现在就把 ML-DSA-87 塞进 TLS,你知道一个 TLS 握手包会变得多大吗?足足 19KB!

大家要知道,传统的 RSA 签名不过几百字节,ECC 签名更是只有几十个字节。我们过去 30 年的互联网协议(如 TCP/IP、TLS),都是建立在“签名数据极小、传输成本几乎为零”的物理假设上的。

如果你用 ML-DSA 给证书签名,证书链上一叠加,一次最普通的 HTTPS 握手,瞬间需要传输几十 KB 的数据。在移动网络弱网环境下,这会导致大规模的丢包、延迟飙升,甚至是全球互联网的“大塞车”。

为了通过安全审计而罔顾物理性能,这不是高级软件工程,这是在耍流氓。

Go 团队的判断是:我们有时间去设计更好的协议(比如使用 Merkle Tree 证书),而不是现在急功近利地把数万字节的“肥胖签名”强塞进原本轻巧的 TLS 隧道里。

这种“不将就”的架构底线,正是 Go 语言最迷人的地方。

小结:在不确定的未来中,拥抱底层逻辑

图灵奖颁给量子密码学,不仅是对 Bennett 和 Brassard 两位科学先驱的最高致敬,更吹响了全球软件工程界系统升级的冲锋号。

从优先落地对抗 SNDL 攻击的 ML-KEM,到极度克制、优雅设计的 crypto/mldsa,再到坚决抵制“19KB 肥胖握手包”的底线坚守。我们看到的是 Go 语言团队对工程效率、安全性与网络物理特性的深度掌控。

资料链接:

  • https://awards.acm.org/about/2025-turing
  • https://github.com/golang/go/issues/64537
  • https://github.com/golang/go/issues/77626

今日互动探讨

如果在未来两年,为了抗击量子计算机,我们所有的 HTTPS 请求都要变慢 200 毫秒,甚至服务器内存消耗要翻倍,你觉得这个代价值得吗?在你的业务线里,有面临密码学升级的强制合规要求吗?

欢迎在评论区分享你的看法!


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

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

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


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

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

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

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

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


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

如发现本站页面被黑,比如:挂载广告、挖矿等恶意代码,请朋友们及时联系我。十分感谢! Go语言第一课 Go语言进阶课 AI原生开发工作流实战 从 0 开始构建 Agent Harness Go语言精进之路1 Go语言精进之路2 Go语言第一课 Go语言编程指南
商务合作请联系bigwhite.cn AT aliyun.com
这里是 Tony Bai的个人Blog,欢迎访问、订阅和留言! 订阅Feed请点击上面图片

如果您觉得这里的文章对您有帮助,请扫描上方二维码进行捐赠 ,加油后的Tony Bai将会为您呈现更多精彩的文章,谢谢!

如果您希望通过微信捐赠,请用微信客户端扫描下方赞赏码:

如果您希望通过比特币或以太币捐赠,可以扫描下方二维码:

比特币:

以太币:

如果您喜欢通过微信浏览本站内容,可以扫描下方二维码,订阅本站官方微信订阅号“iamtonybai”;点击二维码,可直达本人官方微博主页^_^:
本站Powered by Digital Ocean VPS。
选择Digital Ocean VPS主机,即可获得10美元现金充值,可 免费使用两个月哟! 著名主机提供商Linode 10$优惠码:linode10,在 这里注册即可免费获 得。阿里云推荐码: 1WFZ0V立享9折!


View Tony Bai's profile on LinkedIn
DigitalOcean Referral Badge

文章

评论

  • 正在加载...

分类

标签

归档



View My Stats