字节Agent自主优化GPU内核:挑战英伟达CUDA护城河


字节跳动AI学会写CUDA,而且比人类专家强40%——英伟达的护城河正在被强化学习拆掉

一个让英伟达股东后背发凉的消息

先别急着看股票,我给你说个真事儿。字节跳动最近发了一篇论文,里面讲的东西,要是你手里有英伟达的股票,看完可能想关掉电脑冷静一下。

他们搞出来一个AI,叫CUDA Agent。这玩意儿能写一种特别难搞的代码——CUDA。而且写得比人类专家还好。

好到什么程度?这么说吧,同样的任务,它写出来的代码跑起来比PyTorch自带的优化工具快3.2倍。在最难的那一类模型上,它直接把Claude Opus 4.5和Gemini 3 Pro这些顶级模型按在地上摩擦,领先了40%。

你可能不懂代码,没关系。你只需要知道一件事:以前大家都觉得CUDA这玩意儿太难了,只有英伟达自己玩得转。现在一个AI把它学会了。而且它不是“模仿”人类专家,它自己发现了传统编译器根本看不见的优化技巧。

这意味着什么?意味着英伟达那堵用“技术太难”砌起来的高墙,被一个强化学习循环悄悄踢开了。



先搞懂一个核心道理:难,才是英伟达最大的护城河

想象一下,你家门口有一条河,河上只有一座桥。你想过去,就得交过路费。这时候你想自己搭座桥,结果发现搭桥需要学十年木工,而且木头只有桥主才有。那你就只能乖乖交钱。

这就是英伟达现在的生意。

他们发明的CUDA,就像那座桥。全世界的AI公司想做AI,就得用英伟达的显卡。而用好他们的显卡,就得学CUDA。学好CUDA,需要好几年经验,年薪五十万美元的工程师才搞得定。你想换别家的显卡?那你就得重新学一套完全不同的技术,痛苦得要死。

所以大家就赖在英伟达的桥上不走了。

但是现在情况变了。字节这个AI,就像一个不用睡觉、不用拿工资、而且学东西超级快的建桥工人。它不光会走英伟达的桥,它还会自己设计新桥。它把整条河的规律都摸透了。

那问题来了:如果有一天,随便一家公司拿着随便什么牌子的显卡,这个AI都能帮他们把性能榨到极致……那大家为什么还要死守着英伟达的桥?

硬件就变成了大白菜。谁便宜,谁货多,就买谁的。

这是英伟达最怕听到的一句话。



先说说CUDA到底是个什么鬼

你现在打开手机,里面所有跟“智能”沾边的东西——人脸识别、语音助手、推荐你看什么视频——背后都是深度学习模型。这些模型就像一大堆数学算式,需要疯狂地算。

谁最擅长做这种计算?显卡,也就是GPU。而英伟达的显卡,是这个领域的霸主。

但是显卡自己不会思考。你得用一种特殊的语言告诉它“怎么算”。这种语言就叫CUDA。你可以把CUDA想象成显卡的“母语”。

问题是,这门母语特别难。难到什么程度?普通的程序员学个Python写个网页,可能半年就上手了。学CUDA?你得像了解一个城市的地下水管一样了解显卡内部的每一个零件。你得知道数据在芯片里怎么移动,什么时候该把计算分开做,什么时候该合起来做。差一点点,性能就差出去好几倍。

所以现在全球真正能把CUDA写明白的人,可能就几千个。每个人都要价不菲。

这就是英伟达最深的护城河——不是显卡本身,而是全世界只有少数人掌握的那套“显卡方言”。



传统方法为什么不行

以前大家也想让AI帮忙写CUDA。但是没有成功。

一种方法是“不加训练直接问”。就是把需求发给AI说“帮我写个CUDA,要快”,AI写出来,跑一跑,发现慢,那就再改一改。但这种改法,AI本质上还是靠蒙。它的底层能力没变,天花板就在那儿。

另一种方法是“微调”。就是给AI喂一堆人类专家写的CUDA代码,让它学。然后让它在一个固定流程里反复改——写了跑,跑了错,错了再写。但是这个方法有个大问题:每次改的时候,AI会把之前所有写过的错误版本都堆在脑子里,越来越乱。而且它不会自己想办法去“调试”“搜索”“分析瓶颈”——你让它怎么改,它就只按那几步走,不会自己想办法。

就好像你教一个小孩做数学题,但每次只给他看正确答案,不让他自己试错,也不让他反思哪里错了。那他永远也学不会举一反三。



字节是怎么做的:让AI进健身房

CUDA Agent的方法完全不一样。他们建了一个巨大的“强化学习健身房”。

什么叫强化学习?你养过狗就知道。狗做对了,给个小零食。做错了,不给。慢慢地,狗就知道蹲下之后有吃的。强化学习就是让AI自己做动作,然后根据“奖励”或者“惩罚”来调整自己下一步怎么做。

字节给这个AI设计的健身房,分四步:

第一步,写。AI先写出一个版本的CUDA代码,就是它觉得可能跑得快的那个。

第二步,编译。把这个代码交给编译器,看看能不能变成显卡真正能懂的指令。如果编译报错,那这一轮就失败了,扣分。

第三步,跑分。如果编译过了,就在真正的显卡上跑一遍,测量到底跑了多少毫秒。这时候,字节自己写了一套很严格的自动化测试脚本。这些脚本不光检查代码算得对不对,还检查有没有作弊。比如有些AI会想“反正你只要我跑得快,我就瞎算一个近似结果糊弄过去”。字节的测试会堵死这种路子。

第四步,分析瓶颈。如果跑得慢,不是简单地告诉AI“错了”。而是把显卡内部的“性能档案”读出来——哪个环节在等数据?哪个计算单元在偷懒?哪个内存访问堵车了?然后把这份诊断书丢给AI,让它自己看,自己琢磨,下一轮该怎么改。

然后循环。写,编译,跑分,分析。再写,再编译,再跑分,再分析。

这个AI可以连续循环200轮,每轮能处理128k个token的上下文。换句话说,它的工作记忆非常大,能记住之前200次试错里所有有用的信息。不会像以前那种方法一样越改越乱。

这个过程非常像运动员训练。不是看一本书就能变成苏炳添。而是反复跑,反复测,每一轮都根据上一轮的数据调整自己的起跑、步频、摆臂。字节这个AI,等于是把CUDA当成一项运动来练。每天练,练到肌肉记忆。



结果让人倒吸一口凉气

他们拿了一个叫KernelBench的行业标准测试来检验。这个测试分三个难度等级。

Level 1是最简单的核函数,Level 2中等,Level 3最难,全是现实里那些特别复杂的大型模型。

在Level 1和Level 2上,CUDA Agent写出来的代码,比PyTorch自带的优化工具torch.compile快了一倍——就是100%的提升。

在Level 3最难的那些任务上,也比torch.compile快了92%。

但是最吓人的不是这个。

他们拿这个AI去跟人类专家比。结果发现,在一些最复杂的模型上,CUDA Agent比目前世界上最强的闭源模型——就是Claude Opus 4.5和Gemini 3 Pro——还要好出40%。

这里说一个有意思的插曲。他们本来也想测试一下ChatGPT-5系列的模型(5.0、5.1、5.2),结果发现这些模型干脆拒绝回答CUDA相关的问题。可能是出于安全策略,也可能是因为……它们自己也知道自己写不好。

但字节这个AI不光敢写,还写得比所有人都好。

而且它不是抄袭已有的解法。它开始自己发现那些传统编译器根本看不到的优化方式。比如它学会了怎么更好地把数据在显卡的共享内存里对齐,怎么让不同的计算单元同时干活而不互相抢数据。这些技巧有些连人类专家都没有系统总结过。

这就像一个初中生,没看过任何参考答案,自己琢磨出了一种解方程的新方法,而且比课本上的还快。



为什么这是个巨大的威胁

现在回到最开始那个道理。

英伟达的护城河从来不是“显卡比别人快”这么简单。而是“你想用最快的显卡,就得用我的CUDA,而CUDA太难了,你的工程师学不会,所以你只能买我的解决方案,包括显卡、包括教程、包括工具链、包括技术支持”。

这套东西,俗称“软件锁死硬件”。

但是字节这个AI拆掉了这把锁。

你想一下,如果一个AI能自动写出超优化的CUDA代码,那你还需要养一个年薪五十万美元的CUDA专家团队吗?不需要。你只需要租几块显卡,让AI跑几个晚上,第二天早上你就有了一堆跑得飞快的代码。

更可怕的是下一步。

如果这个AI能学会CUDA,它就能学会AMD的ROCm。ROCm是AMD对标CUDA的东西,性能和功能其实不差,但没人用,因为大家觉得文档少、社区小、学起来太痛苦。现在AI帮你学。你不用学,AI替你写了。

它还能学会任何新的芯片、新的架构、新的指令集。因为它的学习方法不是“背答案”,而是“跑分-分析-改进”这套强化学习循环。只要给一个新的显卡,给它编译器和性能分析工具,它就能自己摸索出最优的写法。

这意味着硬件变得可以替换了。哪家显卡便宜、哪家供货稳定、哪家功耗低,你就买哪家。然后让AI帮你写出在这个显卡上跑得最快的代码。

英伟达的那堵墙,就被一个强化学习循环给绕过去了。



一个类比帮你彻底想明白

这就像以前你想开一家面包店,但只有一家公司卖烤箱。这家公司的烤箱有个特殊功能,需要你学一门非常复杂的“烤箱语言”才能用。全城只有三个人会这门语言,你花大价钱请了一个。结果隔壁老王也开面包店,他也得请这三人之一。大家都被牢牢锁死。

突然有一天,有人发明了一个烤面包机器人。这个机器人不管什么牌子的烤箱,拿过来,自己读说明书,自己试验温度和时间,烤十几次之后,就能做出完美的面包。

那会发生什么?

首先,你不需要再请那个会“烤箱语言”的专家了。机器人代替了他。

其次,你不会再死盯着那一家烤箱公司了。谁家的烤箱便宜、谁家送货快、谁家保修长,你就买谁家的。反正机器人会帮你调好。

最后,那家原来的烤箱公司,最大的优势就没了。它不能再靠“语言门槛”锁住你。它必须靠真正的硬件实力——比如更省电、更耐用——来竞争。这对消费者是天大的好事,对那家公司的股东则是天大的坏事。

CUDA Agent就是这个烤面包机器人。



冷静一下,还有些细节要聊

当然,事情也没那么简单。字节这篇论文里也提到了一些现实的坑。

第一,这个系统很贵。强化学习循环需要大量的显卡来跑。你让AI在显卡上反复写代码、编译、跑分、分析,这个过程本身就要消耗显卡资源。字节在论文里说他们做了150轮强化学习训练,用了很多显卡。小公司可能玩不起。

第二,目前这个AI还不能解决所有CUDA问题。KernelBench测试的是一些相对标准化的核函数。在现实世界里,很多CUDA代码是跟整个深度学习框架耦合在一起的,不能单独抽出来优化。这个AI目前还处理不了那种超大系统的整体优化。

第三,也是最关键的——英伟达不会坐以待毙。他们完全可以修改CUDA的底层接口,或者加密一部分硬件控制指令,让这种外部AI难以摸透。或者他们自己也做个类似的AI,然后把AI直接集成到他们的编译器里。反正他们有最多的显卡,也最了解自己的硬件。

但是,这里有一个根本性的问题:一旦这个技术路线被验证有效,它就不会消失。字节不开源,谷歌会做。谷歌不做,Meta会做。Meta不做,开源社区会做。因为强化学习+代码生成的框架是公开的,数据集和训练方法也都在论文里写着。

这就好比英伟达本来在海边修了一座高高的城墙,现在有人发明了一种梯子。你可以把梯子烧掉,但梯子的图纸已经传遍全世界了。



更高一层的视角:硬件正在变成“无趣”的商品

我在文章开头说了一句可能让你睡不着觉的话——“硬件变成大白菜”。现在我可以解释为什么了。

从经济学角度看,一个产品的价值取决于它的“稀缺性”和“不可替代性”。英伟达的显卡之所以贵,不是因为造一块显卡的物料成本高,而是因为“不用它,你就没别的可选”。

CUDA就是那个造成“不可替代性”的粘合剂。

字节这个AI,本质上是在训练一个“翻译官”。这个翻译官能让任何显卡都听得懂你的指令。一旦翻译官成熟了,那你选显卡的逻辑就变了——不再看“哪个显卡有最好的翻译官”,而是看“哪个显卡本身跑得最快、最省电、最便宜”。

这就是硬件商品化的开始。

你看历史上的例子。当年个人电脑刚出来的时候,IBM的PC是霸主,因为他们有最牛的架构。后来Intel和微软联手,用x86和Windows锁死了市场。再后来,ARM架构崛起,一开始也是各种软件不支持,但慢慢地,编译器技术、虚拟化技术、翻译层技术成熟了,大家发现手机芯片也能跑电脑软件了,苹果甚至用自家M系列芯片替换了Intel。

同样的事情正在AI硬件领域发生。CUDA Agent就是那个“翻译层”。

它不是明天就会杀死英伟达。但它指出了一条路——一条绕过CUDA护城河的路。而且这条路不需要任何人的许可,只需要显卡、编译器、和一个会自己学习的AI。



最后

我不是在唱衰英伟达。英伟达是一家伟大的公司,他们过去十年的技术积累是惊人的。如果你今天持有他们的股票,短期应该也亏不了钱。

但作为一个单纯觉得这件事有意思的旁观者,我得说:字节这篇论文让我有一种“站在转折点前”的感觉。不是那种“明天一切都会变”的恐慌式转折,而是那种“接下来五年里,游戏规则会慢慢但确定地改变”的转折。

那个改变叫做——AI学会了自学硬件。

当一个东西开始自学,它就脱离了“人类教什么它就学什么”的框架。它自己会去探索,去试错,去发现人类没发现的规律。这种探索的速度,是指数级的。

英伟达的工程师可能还在精心优化下一个大版本的CUDA编译器。而在某个机房里的显卡集群上,字节的AI已经跑完了今晚的第两百轮训练,又自己发现了一个新的优化策略。

这场游戏,才刚刚开始。

极客辣评

CUDA Agent 重写内核端是我今年始料未及的举措。如果这一举措得以实现,我下次部署 Agent 时的推理成本曲线将大幅下降,这完全出乎我的意料。