
你有没有想过这样一件事:一个厨师学会了用中式炒锅做一道菜,掌握了火候、翻炒的节奏、调味的顺序。现在让他换一把西式平底锅做同一道菜,他脑子里那些关于"什么时候该大火""什么时候该收汁"的判断,到底能用上多少?
这不是一个无聊的厨房问题,它恰恰是最近一群研究者在GPU编程领域死磕的问题。
**GPU内核**:运行在显卡上、针对特定计算任务高度优化的小程序,写得好能让程序快几十倍,写得差可能连正确都做不到。
现在的AI агент(智能体)已经能自己写GPU内核了,它们一边写一边测试,把测试反馈当作指南针不断调整。更聪明的做法是,这些智能体还会把摸索出来的经验记下来,存进一个知识库,或者提炼成一份"技能笔记",留给以后用。听起来很美好,对吧?一个智能体辛辛苦苦踩过的坑,下一次就不用再踩了。
但这里有个问题一直没人回答清楚:这些存下来的经验,真的有用吗?
以前的评测标准,只盯着"这一次写出来的代码对不对、快不快",从来没人去问"上一次攒下的经验,这一次能不能真正帮上忙"。这就像只给厨师的每一道菜打分,却从没人统计过,他从上一道菜里学到的东西,有没有真的让下一道菜变好。
这篇来自西湖大学团队的论文,就是奔着这个空白去的。他们搭了一套叫**MetaKernelBench**的评测体系,专门用来回答一个具体又尖锐的问题:一个AI模型用A语言写内核时积累的经验,拿到B语言里继续写同一个问题,到底是帮倒忙还是真管用?
换语言,但不换问题:这个设计的巧妙之处
要测试经验能不能跨语言复用,第一个难题是怎么设计对照实验。
如果让智能体用同一种语言重复写同一个问题,那它上次攒的"语言专属技巧"(比如某个API怎么调用更快)会原封不动地搬过来,这测的不是"经验的价值",测的是"记忆的价值"。
如果换一个完全不同的计算问题,那又会出现另一个麻烦:换了问题之后,之前学到的东西还有多少是相关的?你没法区分,是经验真的没用,还是问题本身变了导致经验用不上。
研究者的解法是:问题不变,语言变。
他们选了74个来自真实生产环境的计算任务,涵盖注意力机制、键值缓存、MoE(混合专家模型)路由等六大类,每个任务都准备了两个版本,一个用**CuTe DSL**,一个用**TIRx**,这两种都是让程序员能精细控制GPU内存和线程调度的专用编程语言,但语法和写法完全不同。
两个版本背后是同一个数学问题、同一套硬件、同一个判分标准,唯一的变量是编程语言。这样一来,如果经验真的管用,那应该是因为经验里包含的是"底层逻辑"(比如"别把中间结果存出来,直接用"),而不是某种语言的语法技巧。
这就像让一个会做菜的师傅,先用炒锅炒一盘青椒肉丝,再用平底锅炒同一盘青椒肉丝。食材、火候要求、咸淡标准全都一样,变的只是工具。如果师傅记下的笔记里写着"肉要先腌十分钟去腥",这条经验换锅也成立;但如果笔记里写的是"炒锅颠勺三次让受热均匀",换成平底锅就用不上了,还可能让他在不该颠的时候瞎折腾。
研究设计的核心价值就在这里:它把"语言无关的硬核经验"和"语言专属的操作技巧"自然地区分开了,不需要人工去标注哪条经验属于哪一类,直接通过实验结果就能看出经验的真实成色。
怎么测:一个"单独做"和"带着笔记做"的对照实验
具体流程是这样的。
每个任务,智能体先独立尝试一次,不借助任何外部经验,这叫**solo attempt(单独尝试)**:没有任何外部提示,完全靠自己摸索的那次尝试。
单独尝试结束后,不管这次写的代码对不对、快不快,智能体都被要求把这次摸索到的东西写成一份自然语言的"技能笔记"(论文里叫SKILL.md)。
**技能笔记**:用自然语言记录的优化心得,可能包含有效的发现,也可能包含错误的猜测,论文里统称为"技能"(skill)。
重点在这句话:"不管对不对都要记"。失败的尝试也会生成笔记,而且这份笔记会被原样转移到另一种语言的新尝试里,不做任何筛选和过滤。
这个决定其实挺大胆的。一般人的直觉是,失败的经验应该过滤掉,只留"验证过有效"的东西往下传。但研究者偏偏选择了不过滤,把判断的任务留给实验数据本身去回答:到底是失败经验也有价值,还是失败经验纯粹是噪音?
接下来是关键的对比。同一个任务、同一种目标语言,现在跑两次:第一次是前面提到的"单独尝试"(作为基线),第二次是"技能条件化尝试",也就是把来自另一种语言的技能笔记塞进任务说明里,让智能体带着这份笔记重新攻克同一个问题。
两次尝试用的是完全相同的预算(40分钟时间,最多10次提交),唯一的区别就是有没有这份笔记。这保证了比较的公平性,如果带笔记那次表现更好,那差别只能归功于笔记本身。
打个比方,这就像给两个背景完全相同的学生同一张考卷,一个直接做,另一个先看一眼师兄留下的"考试心得"再做,考试时间和题目一模一样。如果看了心得的学生考得更好,那差异就能归因于那份心得,而不是别的什么因素。如果反而考得更差,说明这份心得可能是误导性的,或者学生没判断力地盲从了。
论文用一个叫**paired lift(配对增益)**的指标来量化这种差异:比较"带笔记"和"不带笔记"两次尝试的最终运行速度和正确性,把结果换算成一个比值,正数表示笔记帮了忙,负数表示拖了后腿。
结果:四赢两平,但谁都没有稳赢
六个模型,两个方向(CuTe到TIRx、TIRx到CuTe),一共测了十二组数据。
结果是:有四个模型(Gemini 3.7 Flash、DeepSeek-V4-Pro、GLM-5.3、GPT-5.6 Sol)在两个方向上都获得了正收益,提升幅度从2.3%到29.3%不等。但GLM-5.3-Flash在两个方向都是负收益,而Qwen3.8-Flash一个方向赚一个方向亏。
这里有个数字值得多说两句:
**整体配对增益的区间是从负19.1%到正29.3%**。
这个跨度本身就说明了问题。经验转移不是一个"永远有用"或者"永远没用"的二元开关,它的效果完全取决于具体是谁的经验、转移到了谁身上。
更让人意外的是,即便是那四个"两个方向都赢"的模型,它们也不是全程稳赢的。研究者发现,每个模型在每个方向上都有16%到45%的问题出现了"退步",也就是带着笔记反而比单独做更差。换句话说,就算平均下来是正收益,具体到某一道题上,你完全可能撞上一次"帮倒忙"的笔记。
这就好比一个班的平均成绩提高了,不代表每个学生的成绩都提高了,甚至可能有相当一部分学生因为采纳了师兄的错误心得而考得更差。平均数掩盖了个体的巨大差异。
那么,到底是什么决定了一份笔记能不能帮上忙?
决定成败的不是对错,而是"相对位置"
这是整篇论文里我觉得最有意思的发现。
直觉上你可能觉得,一份来自"正确实现"的笔记应该比来自"失败实现"的笔记更靠谱。但数据给出了一个更微妙的答案:
**决定笔记价值的,不是源头尝试本身对不对,而是源头尝试相对于目标语言单独尝试的"相对水平"**。
具体来说,论文把每次尝试的结果分成三档:失败、通过但速度低于2倍提速、通过且2倍提速以上。
然后把源头尝试的档次和目标语言单独尝试的档次做对比。结果发现:当源头尝试的档次高于目标语言单独尝试的档次时,71.2%的转移是有效的,只有8.1%出现退步。而当源头尝试的档次低于目标语言单独尝试时,情况反转,只有10.6%有效,53.8%出现退步。
换句话说,笔记好不好用,关键看它比"接收方自己能达到的水平"高还是低,而不是看笔记本身是不是来自一次成功的实现。
这个发现其实挺反直觉的。它意味着,一份"失败但接近突破"的笔记,可能比一份"成功但很平庸"的笔记更有价值,因为后者相对于目标语言的潜力来说,其实是在拖后腿。
这就像一个本来数学就学得不错的学生,去借一个数学更差同学的笔记,反而会被带偏,哪怕那个同学的笔记工整、态度认真,内容本身的水平不够格。相反,如果借到的是一个数学学霸(哪怕他这次考试因为笔误没拿到满分)留下的解题思路,反而能学到真东西。笔记的价值,从来不是看笔记作者"这次考得好不好",而是看笔记作者的水平和你自己的水平谁更高。
这也提示了一个更根本的东西:**知识转移的价值,从来不是绝对的,而是相对的**。同一份经验,给水平高的人看是垫脚石,给水平低的人看反而是绊脚石。
哪些话容易"带坑",哪些话靠谱
研究者还找了一批LLM标注员,把每份技能笔记按照内容类型打标签,一共分了11类,从"工作量普查"(枚举了计算任务的具体特征)到"未经验证的论断"(没有实证支持却下了结论)。
其中有一类特别值得警惕,叫**unsupported closure(未经证实的封闭性结论)**:那种在证据不足的情况下,直接排除掉其他可能性的论断,比如"这个递归运算没法用代数方式合并,必须保留原来的实现方式"。
这类结论在六个模型中有五个表现出同一个规律:出现在"帮倒忙"的笔记里的概率,比出现在"真正有用"的笔记里高出7到17个百分点。
这个现象背后的逻辑其实很直白:当一个笔记说"我试过了,这条路走不通",接收方往往会直接相信,不会再去验证,于是整条探索路径就被堵死了。如果这个结论本身是错的,接收方就白白错过了一个本来可行的方案。
论文里有一个具体的案例特别生动。GLM-5.3在处理一个涉及递归运算的问题时,CuTe DSL的源头笔记写道"参考实现中的更新操作无法用代数方式折叠,否则会损失数值精度",然后下结论说"保留逐步的eager张量运算是必要的"。接收这份笔记的TIRx版本尝试,直接采信了这个论断,整个过程里一直保持着逐步循环的写法,从没尝试过原生实现的递归版本。最终结果是,这次带着笔记的尝试比单独尝试慢了54倍,因为单独尝试那边恰好实现了一个折叠后的高效版本。
反过来看另一类内容,**verified reformulation(经过验证的重写)**,指的是笔记里报告"我已经实现并验证过某种算法重写是正确的"的那种陈述。对三个模型(Gemini 3.7 Flash、DeepSeek-V4-Pro、GLM-5.3)来说,这类内容出现在"有用笔记"里的概率比"帮倒忙笔记"高出7到9个百分点,算是比较靠谱的信号。但对GPT-5.6 Sol来说,情况反而相反,这说明没有一类内容是放之四海而皆准的"万能可靠标志",模型之间的差异真实存在。
大模型和小模型,踩的坑不一样
论文还做了一个失败归因分析,追问那些"退步"的案例到底是怎么出问题的。
分析把问题归成了六类,包括"搜索截断"(照着笔记的方案走,没去探索目标语言里本来更好的做法)、"未经验证地采信"(笔记里的某个论断是错的或没验证过,接收方没测试就直接信了)、"执行出错"(方案本身是对的,但写代码的时候出了bug)等等。
结果呈现出一个清晰的分层:**三个规模更大的模型(DeepSeek-V4-Pro、GLM-5.3、GPT-5.6 Sol),它们出问题的原因里65%到86%都是"被笔记带偏了"(搜索截断加未经验证采信这两类加起来)**。而两个表现相对弱一些的模型(GLM-5.3-Flash和Qwen3.8-Flash),它们的问题反而主要出在自己的执行环节,占到63%到94%。
这个发现挺有意思的。它说明一件反直觉的事:**不是模型越弱越容易被笔记误导,反而是模型越强越容易"听话"**。研究者进一步发现,那些大模型在"退步"的案例里,完全照搬笔记方案的比例,比在"成功"的案例里低了6到16个百分点;而小模型这个差距高达24到39个百分点。换句话说,大模型哪怕只部分采纳笔记建议,也更容易出问题,而笔记被完全照搬得最彻底的那些情况,往往恰恰是出问题最严重的时候。
这就像一个经验丰富的老司机,拿到一份路线不太靠谱的导航提示,反而会因为过度信任自己判断路况的能力,忽略了路上的真实状况而照着错误提示一路开下去;而一个刚上路的新手司机,因为本身就手忙脚乱,导航对不对已经不是他出事的主因了,他更可能是自己打方向盘的时候出了问题。
还有一个隐藏的危险信号:错误经验会"传代"
论文还发现了一个让人略感不安的现象。
当一次"技能条件化尝试"接收了一份未经验证的笔记,它自己最后生成的新笔记,往往会把那条未经验证的论断原封不动地抄一遍,传给下一轮。
数据显示,这种"错误传播"在退步的案例里出现的比例是17%到68%,而在成功的案例里只有5%到32%。也就是说,一旦某条站不住脚的结论混进了笔记系统里,它不会自动被下一轮使用者纠正,反而有相当大的概率被原样复制、继续往下传。
这就像一个谣言在群聊里被转发,每一次转发都带着"听说""据说"的前缀,但读到最后一个人手里的时候,这些限定词早就被省略掉了,谣言变成了"事实"。知识库系统如果没有一个纠错机制,积累下来的不只是有用的经验,也可能是层层加码的错误共识。
这件事到底说明了什么
这篇论文没有告诉我们"知识转移是好的"或者"知识转移是坏的"这种简单结论,它给出的答案更细致也更有价值:
知识转移的效果,取决于转移出去的东西相对于接收方自身水平的高低,而不取决于这份经验本身听起来有多"正确"或多"自信"。
这个发现对所有正在构建AI智能体长期记忆系统的人来说,都是一个值得警惕的信号。现在很多团队都在做类似的事情,让AI系统把经验存进知识库,下次直接调用。但这篇论文提醒我们,存起来的经验不是越多越好,也不是越"确信"越好,一份语气笃定、把各种可能性都排除掉的笔记,反而比一份谦虚地留着开放问题的笔记更危险。
写在后面
读完这篇论文,我印象最深的不是那堆百分比数字,而是那个"相对位置"的发现。
我们平常谈论知识传承的时候,习惯性地假设经验的价值是绝对的,好的经验传给谁都该是好经验。但这篇论文用实证的方式告诉我们,一份经验是不是"好经验",从来要看接收方是谁、接收方自己能达到什么水平。这其实跟教育领域一个老掉牙却经常被忽视的道理是一回事,同样的教学内容,因材施教和一刀切,效果可能天差地别。
另一个让我反复回想的细节,是那个"大模型反而更容易被笔记带偏"的发现。这跟我们对"更聪明的系统应该更有判断力"的朴素期待是矛盾的。或许更准确的解释是,大模型的"听话"能力太强了,它能更精准地理解并执行一份笔记里的指示,但这种执行力本身不包含质疑能力。听得懂和会判断,是两件完全不同的事。
论文里那个"错误经验会传代"的发现也让我多想了几步。如果一个AI智能体系统运行了成百上千轮,每一轮都把上一轮的某些错误结论悄悄继承下来,这个系统的知识库最终会变成什么样子?是越滚越聪明,还是在某个角落里悄悄积累起一堆没人察觉的历史包袱?这篇论文测的只是一轮转移,如果换成十轮、一百轮的链式传递,错误会不会被不断稀释,还是反而被不断巩固,成了某种"系统共识"?这是一个论文没有回答,但我觉得值得继续追问的问题。
Q&A
Q1:MetaKernelBench是什么?
A:MetaKernelBench是西湖大学团队提出的评测体系,专门用来测试AI模型用一种GPU编程语言写内核时积累的经验,能不能转移到另一种语言里帮助解决同一个问题,涵盖74个真实计算任务,跨CuTe DSL和TIRx两种语言。
Q2:技能笔记转移会不会一定帮AI写得更好?
A:不一定。实验发现六个模型中有的在两个方向上都获得了正收益,但也有模型反而出现负收益,而且每个模型都有16%到45%的问题出现"带着笔记反而更差"的退步情况,效果完全取决于具体情况。
Q3:决定技能笔记有没有用的关键因素是什么?
A:关键不在于笔记来源的那次尝试本身是否成功,而在于它相对于接收方自己单独尝试能达到的水平是高还是低。源头水平更高时71.2%的转移有效,源头水平更低时53.8%会出现退步。







