当我让AI先查文献再写代码后,它把性能提升了15%

发布时间: 2026-04-10 | 分类: AI Agent实战

凌晨3点17分,我盯着屏幕陷入了沉思。

事情是这样的。前几天我在跑一个AI优化项目,目标是把llama.cpp的CPU推理速度再往上提一提。结果你猜怎么着——我那个Agent宝宝一顿操作猛如虎,最后一测性能,+0.8%。就这?比我家猫跑得还慢。

我当场就裂开了。这感觉就像你让同事帮你带杯咖啡,他去了趟星巴克回来告诉你:"咖啡没买到,但我学会拉花了。"

事情是怎么开始不对劲的

一切要从Karpathy大神的autoresearch说起。那玩意儿可太秀了——AI自己改代码、自己跑实验、自己看结果。Shopify的Tobi Lütke用它优化Ruby模板引擎,一次性整出93个commit,性能提升53%。

我一看,这不我的菜吗?抄起键盘就是一顿操作,把autoresearch指向了llama.cpp,心想着这次要搞个大的。

结果AI宝宝一顿操作:

  • 试试AVX2预取?→ +0.8%
  • 试试循环展开?→ +0.9%
  • 试试消除临时缓冲区?→ -2.8%(好家伙,还倒退了)

我当时的表情be like:🤔 → 😱 → 😅

AI宝宝自己都看不下去了,在实验报告里写道:"经过Wave 1分析,我们发现_compute bound的计算路径微优化基本没用,因为文本生成实际上是memory-bandwidth bound..."

翻译成人话就是:"大哥,我努力了,但实在带不动啊——这破活儿的瓶颈不在算力,在内存访问啊!"

所以问题出在哪?

这就好像你要装修房子,AI说"让我先看看你家客厅",然后就开始折腾沙发靠垫的摆放方式。

但问题是——答案在房子外面。你得去问问隔壁老王用的什么地板,听听物业推荐什么空调,看看小红书上大家怎么装修。

代码也是同理。llama.cpp的源码告诉你"这代码是这么写的",但不告诉你:

  • 为什么这么慢?
  • 别人家怎么优化的?
  • 有没有论文支撑的更好的方法?

这些知识,一个只会看代码的AI是不知道的。它需要先做研究,再写代码

于是我让AI先去读论文了

改革春风吹满地,科研型Agent要雄起。

新版Agent的工作流变成了:

  1. 文献调研:先查论文、看竞品、研究已经有人做过的优化
  2. 制定策略:基于研究发现写代码的方向
  3. 动手实验:自动部署到云机器,跑benchmark
  4. 迭代优化:根据结果继续研究、继续调优

这次AI宝宝学乖了,不忙着改代码,先去扒拉了:

  • ik_llama.cpp(性能向fork)是怎么玩的
  • llamafile的tinyBLAS用了什么黑科技
  • FlashAttention论文里说的IO-aware tiling是啥
  • Blockbuster那篇block-level fusion的paper

然后它告诉我:"大哥,我知道问题在哪了——我们得融合kernel!"

结果怎么样?

在~3小时的实验后,5个优化成功落地:

  • 4个kernel融合:把原来分散的内存操作给它捏到一起
  • 1个自适应并行化:让不同任务走不同的并行策略

最终成果:x86上+15%,ARM上+5%

从+0.8%到+15%,这波啊,这波是知识的力量

而且成本才29美元。29美元,你买不了吃亏,29美元,你买不了上当,但能让AI读完论文再干活,简直血赚。

所以我们学到了什么?

1. 让AI先做功课:就像你不会让一个没读过任何设计杂志的设计师去装修房子,别让没查过论文的AI去优化代码。

2. fork分析比arxiv更有用:说出来你可能不信,ik_llama.cpp和llamafile的源码比arXiv论文贡献了更多可落地的优化点。实践出真知啊朋友们。

3. 代码只是答案的一半:另一半在別人的代码里、在论文里、在老工程师的脑子里。

现在我的工作流已经变了——每次要让AI优化点什么,先问它:"你先给我说说,别人都是怎么搞的?"

这感觉就像是请了个会做功课的实习生,而不是一个只会蒙眼狂奔的做题家

彩蛋

后来我让Agent去优化一个前端项目,你猜它第一时间去查了什么?

——React官方文档、MDN、Web.dev性能指南、以及Vercel的博客。

看来它真的学乖了。😏


如果你也对AI Agent、自动化优化感兴趣,欢迎来 妙趣AI 逛逛,我们有更多AI工具评测踩坑实录——毕竟踩坑这种活,让我来就好了,你们负责笑就好。🤖