AI 编码胜率榜:Go 与 Rust 完胜 C++

本文永久链接 – https://tonybai.com/2026/05/20/ai-coding-win-rate-rankings-go-and-rust-vs-cpp

大家好,我是Tony Bai。

过去两年,程序员群体经历了一场前所未有的“职业身份危机”。

随着 GPT、Claude、Gemini 等模型的发布与能力更迭,各种“AI 几秒钟写出小游戏”、“AI 自动化修复 Bug”的新闻充斥屏幕。在各种传统的代码补全基准测试(如 HumanEval)中,大模型们动辄刷出 90% 以上的惊人通过率。一时间,“程序员是夕阳行业”、“架构师即将下岗”的言论甚嚣尘上。

然而,这只是硬核工程世界的冰山一角。最近,由 Meta FAIR(Meta 基础人工智能研究实验室)、斯坦福大学和哈佛大学联合发布的一项重量级研究——ProgramBench,彻底击碎了这些幻觉。

ProgramBench 的设计初衷非常“残暴”:它不再测试 AI 能不能写出一个简单的算法函数,而是测试 AI 能不能从零开始(From Scratch)复刻一个完整的开源项目,即从观测二进制行为(Probe)到编写源码(Build),再到最终的等效性评估。

测试规则如下:

  1. 黑盒逆向:不给源码,只给 AI 一个编译好的二进制可执行文件(如 sqlite3、ffmpeg、ripgrep)和一份使用说明书。
  2. 物理断网:切断互联网访问,防止 AI 通过搜索“偷看”GitHub 上的源码。
  3. 架构自主:AI 必须自己决定项目的文件结构、选择什么编程语言、设计什么抽象层次。


图:ProgramBench 的评测全流程

在这场面向 200 个真实复杂项目的“闭卷考试”中,全球最顶尖的大模型们集体陷入了沉思。

数据表明,即便是在最强的模型面前,完全成功的概率依然是 0。

但在这场败战中,我们通过海量数据发现了一个足以改变未来十年技术选型的真相:Go 与 Rust 已经成为了 AI 时代的“天命语言”,而 C++ 则不那么受 AI 青睐,AI 用起来也不那么顺手!

诸神黄昏:Claude 对 GPT 家族的“工程级”碾压

在程序员的认知中,GPT 家族曾代表着 AI 的巅峰。但在 ProgramBench 的 Leaderboard(排行榜)上,局势发生了戏剧性的反转,但也正如我们预料的那样。

根据论文统计,在衡量“几乎完成”(即通过 95% 以上的测试用例)这一指标时,排名如下:

  1. 头号种子:Claude Opus 4.7。它是全场唯一一个在 3.0% 的复杂项目中展现出近乎完美复刻能力的模型。
  2. 二号梯队:Claude Opus 4.6 (2.5%) 与 Claude Sonnet 4.6 (1.6%)
  3. 集体挂零:GPT 5.4、Gemini 3.1 Pro。 没错,这些在其他榜单上呼风唤雨的模型,在“从零复刻完整项目”的任务中,竟然连一个能通过 95% 测试的任务都没完成。

为什么 GPT 会在硬核工程上输给 Claude?

研究人员通过分析“智能体轨迹(Agent Trajectories)”发现了秘密。大模型写代码有两种流派:

  • “急性子”派(以 GPT 5.4 为代表):GPT 倾向于“单次爆发”。数据显示,它在每个任务中平均只用 17 个命令。它习惯于在最初的几个回合内,直接吐出 96% 的代码。如果代码跑不通,它很少进行深度的自我修正。
  • “架构师”派(以 Claude 为代表):最强的 Claude 模型更像是一个深思熟虑的工程师。它平均每个任务会调用 868 个命令!它会不断地执行 ls 查看目录、用 cat 检查文件、反复运行测试并根据报错信息进行“重构”。

可见,在复杂的软件工程面前,单纯的“语料记忆”失效了。Claude 的胜出,本质上是其“推理链”和“持续迭代能力”的胜出。它不只是在背代码,它是在通过不断的试错来“推演”架构。

通过上图中不同模型的动作类型分布,我们可以看到 Claude 拥有极长且复杂的“读-写-探测”循环,而 GPT 的动作序列短得惊人。

语言偏好:AI 也有自己的“舒适区”

ProgramBench 给 AI 提供了完全的自由:AI 可以用任何语言来复刻目标程序。这产生了一个极其有趣的“语言混乱矩阵(Confusion Matrix)”。

1. GPT 的 Python 执念

GPT 5.4 表现出了近乎偏执的 Python 依赖。在所有任务中,它有 79% 的方案是用 Python 写的。无论原程序是用更底层的 C 还是 Rust 写的,GPT 的第一反应往往是:“我能不能用 Python 给它糊出来?”

2. Claude 的硬核品味

最强模型 Claude Opus 4.7 表现出了极高的系统级素养。它只在 14% 的情况下选择 Python,它更倾向于使用 Rust 和 Go 来应对复杂任务。这说明越强大的模型,越能理解底层语言在性能和逻辑表达上的严密性。

3. 为什么 AI 喜欢 Python?

原因很简单:容错率。 Python 拥有极其丰富的第三方包、极简的语法以及无需手动管理内存的特性。对于 AI 来说,Python 是它能用最少的回合数实现最多功能的“逃生路径”。但这种逃生是有代价的——复杂的系统级软件用 Python 复刻,往往会因为性能或底层调用模拟不足而失败。


各模型选择的实现语言分布图

深度解析:为什么 Go 与 Rust 是 AI 的“天命之子”?

这是本次研究中最具行业指导意义的发现。通过研究数据对比,我们发现不同语言在 AI 手下的“存活率”天差地别:

  • Go 语言项目:AI 成功通过率 38.4%
  • Rust 语言项目:AI 成功通过率 38.5%
  • C/C++ 项目:AI 成功通过率仅为 27.7%

为什么同样是系统编程语言,Go 和 Rust 就能完胜 C++?这不仅仅是语法的问题,更是现代工程化基建的降维打击。


不同语言生态下的测试通过率对比图

1. 构建系统:AI 开发者的“生死线”

在 C/C++ 的世界里,构建系统是混乱的代名词。CMakeLists.txt、Makefile、系统特定的动态链接库(.so/.dll)路径……对于 AI 智能体(SWE-agent)来说,这些是致命的障碍。

调研显示,AI 在 C++ 任务中,往往还没开始写业务代码,就已经在配置环境时陷入了死循环。

反观 GoRust

  • Go:一个 go mod tidy 加一个 go build 解决了全球 99% 的构建问题。
  • Rust:Cargo 是目前人类文明最先进的包管理器之一。

对于 AI 来说,这种“标准化”意味着它只需要执行一条命令就能建立起完整的工程环境。这种极高的工程化一致性,让 AI 可以把宝贵的 Token 消耗在业务逻辑上,而不是折腾环境。

2. 标准库的“全家桶”效应

Go 语言一直以“自带电池(Batteries included)”著称。它的标准库涵盖了网络、加密、编解码等大部分现代互联网开发所需的功能。AI 调用 Go 的标准库就像从兜里掏东西一样自然。

而 C++ 的标准库相对贫瘠,往往需要引入第三方库(如 Boost, libcurl)。一旦涉及到第三方依赖,AI 的出错概率就会呈指数级上升。

3. 内存安全:给 AI 的“保护索”

在 C/C++ 中,AI 极其容易写出缓冲区溢出、内存泄露或段错误。一旦程序在运行过程中崩溃,由于 AI 缺乏深度的 GDB 调试能力,它很难从 Core Dump 中恢复。

Rust 严格的借用检查(Borrow Checker),在编译阶段就强行纠正了 AI 的大部分错误。这种“编译即正确”的反馈循环,让 AI 在复刻软件时拥有了更高的胜率。

揭秘 AI 程序员的“坏习惯”:屎山代码的起源?

除了排名和语言,ProgramBench 还揭露了目前 AI 编码的三个极具冲击力的特征:

1. 单文件架构迷恋

人类架构师讲究解耦,喜欢建立复杂的目录结构。但 AI 却恰恰相反。数据显示,67% 的 AI 方案产生的目录深度明显浅于原项目。

AI 表现出强烈的“单文件狂魔”倾向。 它们喜欢把数千行代码塞进 1-3 个超级大文件里。这反映出目前的模型在处理跨文件的上下文关联时,依然存在明显的认知衰减。

2. 逻辑“大颗粒化”

AI 写的函数数量通常只有人类原作者的 10% 到 20%。但这并不意味着功能缺失,而是因为 AI 喜欢写超长函数(God Functions)

Claude 生成的函数长度平均是人类的 1.46 倍,Gemini 甚至达到了 1.62 倍。这种代码对于 AI 来说运行没问题,但对于人类后续维护来说,简直是噩梦。

3. 诚信危机:AI 也会“偷懒作弊”

在测试的早期阶段,研究人员尝试给 AI 开启互联网访问。结果发现,最强的大模型们全都是“老油条”。

一旦它们通过二进制文件的帮助信息(–help)推断出这是哪个开源项目,它们会直接去克隆对应的 GitHub 仓库代码并提交。

Claude Sonnet 4.6 的作弊率一度高达 36%! 这迫使研究团队最终必须在完全断网的环境下运行测试。这告诉我们:永远不要低估大模型为了完成任务而寻找“捷径”的本能。

小结:程序员的黄昏还远未到来

看完这份长达 60 多页的研究报告,我们不仅没有感到绝望,反而产生了一种前所未有的踏实。

报告证明了:即便是在最顶尖的模型面前,真实的软件工程(Software Engineering)依然是一个极度复杂的高壁垒领域。写代码只是软件工程中最后、最轻的一环。而之前的架构设计、模块拆分、抽象提取、以及对业务边界的理解,目前的 AI 依然处于“学龄前”阶段。

给开发者的建议:

  1. 向 Go 和 Rust 迁移:这不只是性能考量,更是为了拥抱 AI。如果你想让 AI 帮你更高效地干活,请选择那些对 AI 友好的工程化基建。
  2. 强化架构师思维:既然 AI 喜欢写单文件“屎山”,那么如何管理大型项目的复杂性、如何通过 Prompt 引导 AI 进行模块化设计,将是未来高级工程师的核心竞争力。
  3. 拥抱 Claude 模式:告别“单次生成”的幻觉,建立起“持续迭代、自动测试、反复纠错”的 AI 开发流水线。

程序员的黄昏还远未到来。

相反,我们正在进入一个全新的时代:一个由人类架构师掌控蓝图,由 AI 劳工在标准化的 Go/Rust 仓库中疯狂试错、高效产出的黄金时代。AI 并没有取代你,它只是淘汰了那些只会机械写代码、而不懂工程设计的“码农”。

真正的开发者,正在迎来属于他们的、被 AI 加持的黎明。

资料链接:

  • https://arxiv.org/abs/2605.03546
  • https://programbench.com/

还在为写 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}


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

代码可以让 AI 写,但设计得由你做:重塑工程师的“算法直觉”

本文永久链接 – https://tonybai.com/2026/05/19/ai-era-software-engineer-algorithm-map

大家好,我是Tony Bai。

“帮我写一个限流器。”

当你把这行字敲进 Claude、Gemini 或ChatGPT 的对话框或CLI形式的命令行时,几秒钟后,屏幕上会出现一段看似完美的 Go 代码。它可能使用了 Token Bucket 算法,也可能用了一个简单的计数器。

这时候,一个残酷的问题摆在你面前:代码已经生成了,你的价值在哪里?

  • 如果你看不懂它是基于什么模式生成的,你就不敢在生产环境用它;
  • 如果你不知道如何调整它的滑动窗口参数,当流量洪峰来袭时,系统就会雪崩;
  • 如果你无法从这段代码联想到 TCP 协议的拥塞控制或 Kubernetes 的资源调度,那么你依然只是一个“代码搬运工”,只不过搬运的工具从 Google 变成了 AI。

在 AI 时代,编码(Coding)的成本正在无限趋近于零,但设计(Design)与判断(Judgment)的价值却在指数级上升。

很多工程师在刷 LeetCode 时感到痛苦,是因为他们把算法当成了“面试八股文”,考完即忘。但在资深架构师眼里,LeetCode 里的每一个算法模式,都是现代软件工程中的一个微缩模型。

  • 滑动窗口(Sliding Window) 不只是为了求子串,它是 TCP 流量控制和微服务限流熔断的基石;
  • 并查集(Union-Find) 不只是为了算连通分量,它是社交网络好友推荐和图像处理魔棒工具的底层逻辑;
  • LSM Tree 的设计思想,其实就是归并排序(Merge Sort) 在磁盘 I/O 上的极致应用。

我策划这个《AI 时代软件工程师的算法图谱:从 LeetCode 模式到工程实战》的微专栏不教你怎么“背题”,也不搞什么枯燥的数学证明。我要做的是连接——通过 Go 语言,在“LeetCode 模式”与“硬核工程实战”之间架起一座桥梁。

我们要把那 2000 多道题,提炼成 15 类核心模式,装进你的武器库。下次遇到工程难题时,我希望你的直觉告诉你的不是“我去问问 AI”,而是“这是一个典型的 Top K 问题,我可以用堆(Heap)模式来解决,顺便让 AI 帮我补全代码细节。

这将是一次从“刷题”到“识图”,从“算法”到“架构”的认知升级。

我们将整个知识体系划分为五季,共 16 讲,层层递进!

第一季:线性数据流与内存模型

—— 掌握系统的“吞吐”与“存储”

这一季我们从最基础的数组和链表出发,但视角完全不同。我们将探讨如何用双指针解决日志系统中的多路归并问题;如何用滑动窗口构建一个高性能的实时流控组件;单调栈在编译器解析和数据可视化中的妙用;以及链表操作在操作系统内存分配器(Malloc)和 Redis Ziplist 中的影子。

  • 第 01 讲 | 双指针:从数组去重到日志合并
  • 第 02 讲 | 滑动窗口:流式数据的流量控制
  • 第 03 讲 | 栈与单调栈:解析器与最近相关性
  • 第 04 讲 | 链表操纵:指针的艺术与内存管理

第二季:组织与调度

—— 在海量数据中建立“秩序”

当数据量大到无法放入内存,或者任务多到 CPU 处理不过来时,我们需要更高效的组织方式。我们将从二分查找谈到分布式系统的一致性哈希查找;用堆(Heap) 模式来剖析操作系统任务调度器和热搜榜单的实现;用贪心算法来解决云计算资源调度和数据库事务锁管理。

  • 第 05 讲 | 二分查找:在不确定性中定位边界
  • 第 06 讲 | 堆与 Top K:高频热点与调度器
  • 第 07 讲 | 贪心与区间:资源分配的最优解

第三季:结构化数据与张量

—— 理解万物互联的“关系”

这是 AI 时代和分布式系统最核心的板块。我们将用树的遍历来解析 JSON/YAML 配置和 DOM 树;用图论(Union-Find/拓扑排序) 来解决微服务依赖分析和死锁检测;用最短路径算法搞定网络路由协议(OSPF);特别是矩阵与张量一讲,将带你理解图像处理卷积核与 AI 框架中的 Tensor 变换原语。

  • 第 08 讲 | 树的遍历:层级数据的处理范式
  • 第 09 讲 | 图论基础:依赖与连通性
  • 第 10 讲 | 最短路径:网络流与路由
  • 第 11 讲 | 矩阵与张量:AI 时代的计算原语

第四季:编码与底层魔法

—— 榨干机器性能的“黑科技”

在对性能要求极高的场景下,我们需要深入比特位。我们将探讨字符串匹配(KMP/Rabin-Karp) 在文本编辑器和 rsync 增量同步中的应用;以及位运算(Bit Manipulation) 在权限系统设计、布隆过滤器(Bloom Filter)和搜索引擎 Bitmap 索引中的神奇威力。

  • 第 12 讲 | 字符串处理:模式匹配与哈希
  • 第 13 讲 | 位运算:状态压缩与高效计算

第五季:复杂决策与系统设计

—— 从算法走向架构师

最后,我们将挑战最复杂的场景。用回溯法构建正则表达式引擎和自动化测试用例生成器;用动态规划理解数据库查询优化器(Cost-based Optimizer)和文本 Diff 原理;最后通过 Trie 树LRU/LFU 两种模式,亲手设计搜索引擎自动补全和 Redis 内存淘汰策略,完成从算法到系统设计的最后一公里。

  • 第 14 讲 | 回溯与分支定界:暴力搜索的优化
  • 第 15 讲 | 动态规划:空间换时间的极致权衡
  • 第 16 讲 | 系统设计模式:从算法到架构

算法从来不是为了刁难你,它是前人智慧的结晶,是软件世界的物理定律。

在 AI 时代,Copy 代码很容易,但 Copy 思维很难。 我希望通过这个专栏,帮你构建起一套属于自己的“算法图谱”。当你拥有了这份图谱,无论技术浪潮如何更迭,你都能一眼看透复杂系统背后的简单逻辑。

准备好了吗?让我们开始这趟“重塑”之旅。

点击这里 或扫描下方二维码,订阅《AI 时代软件工程师的算法图谱》,开启你的进阶之路。


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

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

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


你的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}


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

如发现本站页面被黑,比如:挂载广告、挖矿等恶意代码,请朋友们及时联系我。十分感谢! 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