用了几个月 AI Agent 之后,我发现我才是整个系统里最慢的那个东西

3.5k 词

用了几个月 AI Agent 之后,我发现我才是整个系统里最慢的那个东西

在 Agent 出现之前,我自己动手做一个东西的流程大概是这样的。

脑子里蹦出一个想法,觉得「诶这个方向好像有搞头」。然后开始吭哧吭哧搭代码,把想法翻译成能跑的东西。这个过程通常要花几天甚至几周,中间各种 debug、各种跟自己较劲、各种「我当初到底在想什么」。

等代码终于能跑了,兴致已经消磨得差不多了。

更惨的是,很多时候跑出来的结果跟预期差了十万八千里,要么就是辛辛苦苦搞了一周,最后涨了 0.3 个点。
阿米诺斯!

对我而言,做研究只有两个happy moment,一个是那个想法刚蹦出来的时候,另一个是终于跑出好结果的时候。中间那漫长的施工期,基本就是在燃烧生命。

而 Agent 加上 Vibe-Coding,可以把这中间的施工期从几天几周压到几个小时,甚至几十分钟。

关于这种研究方式的 Meme

这张 meme 大概就是我现在的状态。

Agent能够让人飞快地把IDEA转化成项目,但是通常并不能帮你想出真正有突破性启发的IDEA。

用什么?

两个推荐的Agent,第一个是 Codex。

Codex 的代码质量无敌,模型足够前沿,经常能提出一些我自己完全想不到的优化方向。最主要 Tibo 三天两头送重置,地位在我这里堪比梁文锋。

缺点:Quota天天缩水,我能一天把Weekly Limit蹬完,那还说啥了,省着用呗,人不嫌我穷我不嫌它少。

一定要把 Codex 留给那种真正值得烧额度的活。Codex Usage

第二个 Agent,Reasonix。

DeepSeek Usage
伟大,无需多言!

DeepSeek V4 按量付费,价格斩杀一众国内外模型,毕竟你梁文锋叔叔压根不需要靠API赚钱,每天早上九点半钱包余额自动更新。[^2]

而且不需要科学上网,Reasonix装起来也简单。

Reasonix 最适合干那些规格已经明确、需要大量施工、容易通过测试来验收的任务。

批量补实验、修改配置、加消融选项、整理日志表格、写文档、把别人开源的 reference 实现改成自己需要的简化版,只要你确定这个任务不是「我到底想搞清楚什么」而是「我知道要干什么,干就完了」的任务,Reasonix那叫一个一顿编写猛如虎,一看消耗两块五,尤其是用 Reasonix DS4Flash 写文档,需要正经施工的就上 DS4Pro,体验非常好。

简单来讲,这样区分:

如何区分一个Task 给那个模型(当前日期2026/07/30):

我给你最直接、最真相、最不绕弯、最扎心、最硬核、最干脆、最不墨迹、最戳痛点、最不留情面、最一针见血、最开门见山、最单刀直入、最不铺垫、最不客套、最不煽情、最不废话、最不拐弯、最不磨叽、最不装、最不端着、最不啰嗦、最不拖沓、最不委婉、最不掩饰、最不藏着掖着、最直白、最露骨、最实在的方法[^1]:

假设这个活是别人派给你的,你心中的回答是:

这我干不来:GPT5.6Sol High

这我可以试试但不一定行:GPT5.6Sol Low/Medium

这我行但我懒得干:GPT5.6Luna Medium/Reasonix DSV4Pro

这种破活你也叫老子干:Reasonix DSV4Flash

怎么用?

训练类实验在云上跑的时候,用 Agent 写代码会产生大量的等待时间。模型在训,GPU 在跑,你在等结果,搞Infra的最讨厌这个东西,GPU Bubble嘛!大量空闲时间嵌在任务之间,不利用起来就是浪费。

如果只开一个 Agent,那它在思考、改代码、跑测试的时候,你就在旁边干等着。最简单的解法就是多开。

我现在通常是同时跑两到三个项目,再多的话,倒也不是不行,出现赛博精神病之类的因为大脑上下文频繁切换的问题我可不负责。

我建议使用一套分法,把任务分成三类。

第一类,Background Task

就是那种你可以把它丢一边,自己去睡觉的任务。长时间的训练、大规模 benchmark、数据预处理、已经验证过流程的参数扫描。这些都是典型的 Background Task。

一般我会开一个标签页监控曲线或者日志,再开一个终端 SSH 连着,偶尔跟 Reasonix 聊聊训练状况让它帮忙看看有没有异常。

第二类,Batch Task

逻辑已经清楚,只需要大量施工的任务。按已有 reference 改出简化实现、给模块加消融开关、批量补 benchmark、统一配置格式、整理日志表格、把同一种修改迁移到多个模块。

这类任务适合低价格模型,因为参考实现和明确规格会大幅降低认知风险,Agent 不需要从论文、你的口头描述和一堆隐含需求之间猜谜,只要完成一次受约束的映射就行。

第三类,Foreground Task

这是最需要你的一类。需要你跟 Agent 高频来回、质量高度依赖实时判断的任务。写 CUDA Kernel、抓隐蔽 bug、大规模重构、设计新模块、快速验证 IDEA、讨论下一步方向。

这类任务不只是吃 GPU,更吃你的注意力。

它吃 Agent 的推理额度,吃反复测试的时间,吃你对整个项目上下文的持续记忆。

这里我提出一个我自己造的概念,叫「前台密度」。

有些任务很难,但前台密度低,比如已经启动的训练。你睡你的,它跑它的。

有些任务代码量不大,但前台密度高到离谱,比如一个受时序、并发、日志行为影响的 Heisenbug。你得一直盯着,一秒钟都不能走神。

区分清楚这两类,你才知道什么时候可以开后台任务,什么时候必须全神贯注。

经验之谈:

不要让 Agent 负责盯着长训练,Agent 会不停地轮询 tail、nvidia-smi 或者日志文件,白花花的上下文和 Token 就这么烧没了。而且有些 Agent 有前台超时的问题,搞到最后训练还在正常跑,Agent已经有一点死了。

为什么还要有人?

开到第三个项目时,我才发现最先 OOM 的不是显卡,是我。

我,才是整个实验系统里的一个瓶颈。

这里的瓶颈不是贬义词。我说的是 CNN、AutoEncoder 或者各种网络结构里的那种 Bottleneck,就是大量信息被压进一个窄通道,被迫筛选、压缩、形成有效表征的那个东西。

多个并行 Agent、云端 GPU、几乎无限的代码生成能力、随时可用的论文解释和实验方案、便宜得离谱的执行型模型,所有的东西,最终都要经过我。

此方天地与我相连

哪些信息值得吸收,哪两篇看似无关的工作可能能接在一起,哪个 IDEA 值得分配算力,哪个实验结果闻起来不太对劲,哪个方向虽然说得好听但本质上是赛博炼丹,下一轮实验到底该减少哪个不确定性。这种才是人类该干的嘛!我每天从知乎、ArXiv、GitHub 和各种讨论里疯狂吸收新东西,然后跟 Agent 一起讨论,有时候莫名其妙就产出了一个结果。

但我连线性代数都没有系统学过。这倒不是说数学不重要。恰恰相反,我越来越清楚地感觉到,如果我有更扎实的数学底子,效率还能往上飙,毕竟Agents显著扩大了我能处理的问题范围,但没有自动给我颁发数学学位。

如果有更好的数学基础,我可以更快识别一个 IDEA 是不是只是已有方法的等价变换,可以更早发现秩约束和隐藏假设,可以把昂贵的 GPU 实验少浪费在纸笔就能否掉的方向上。

但 ML 这个东西,确实有一个特殊之处,它在很多时候,更偏向于甚至就是一门实验科学。

模型是一个巨大的黑箱。就算数学基础很好,也很难只靠纸笔从第一原则推出,某种初始化是不是真的好训?某个模块在真实数据上是不是真的有收益?一个理论上无损的压缩在有限精度下是不是仍然无损?

Talk is cheap,show me the curve.

所以在 ML 里,理论不完整但结构直觉有效的人,确实有可能先提出一个方向,再让实验来决定它值不值得继续。

真正稀缺的,很多时候不是把方向补完,而是先看到方向。

而 Agent 把执行的代价打下来之后,方向感的相对价值,反而更高了。

这不代表你要在同一个对话里反复细化一个 IDEA,却始终不做实验。

最后你大概率会得到一大坨镶金边的屎盆子。

所以我现在给自己立了一个铁律。

讨论本身不产生研究进度,减少不确定性的实验才产生研究进度。

讨论当然有用,设计实验、找反例、缩小搜索空间、提醒你可能的遗漏,这些都是正经的产出。但每经过一两轮设计扩张,就必须插入外部约束。数学推导也好,toy task 也好,最小实现也好,Random vs Real 的对比也好,parameter-matched baseline 也好,真正跑出来的数据也好。

实验为王。

后记

本来我计划这周写大模型拆解的Blog的,但是确实没空,我只好先瞎糊弄一篇了。
新人第一篇Blog,请多包容。

[^1]:这里是在模仿豆包。

[^2]:这里指DeepSeek背靠幻方量化输血,而A股开盘恰好是9:30。