读完 AgentSLABench,我给自己手头的 agent 动了三处:日志、预算、评测口径。二十分钟能搞完,不写代码,只改配置和习惯。
论文干的事其实很简单:给 agent 套上笼头再考试。Docker 隔离,声明好的 CPU、内存、时间、网络预算,哈希锁死的密封测试集,一套协议跑完,同时出正确率、延迟、成本、资源占用四个数。不是什么前无古人的发明,但资源预算第一次从备注栏被提成了主线指标——就冲这一点,它比大多数 agent 榜单像回事。作者栏两位都姓 Madiraju,估摸是小团队的手笔,但整套测试环境、密封测试集、分析结果都公开,是真能抄作业的那种公开。
论文里最刺眼的数字不是那几个 100%,是另一句:ReAct、PlanAndSolve、Reflexion、CoT,加 Random——五个通用基线,在 5 个领域任务里的 4 个上完全失败。单独摘出来像一句「专用碾压通用」的口号,放回整套实验里看,它真正在说的是另一层:过去默认的不限资源、不限时长的评测方式,废了。通用 agent 不是白搭,是它默认的评估方式没把资源当条件,结论在真实环境下失真。该抄的不是「专用胜出」,是「评测必须带资源维度」这件事本身。
开搞之前先确认这几件事都齐了:
- 你的 agent 有能限制单次任务预算的开关,最大时间或最大 token 都行
- 你能翻到它跑任务的历史日志
- 你手里有一个平时最常跑的典型任务,等会儿拿它当测试用例
都齐了咱们就开搞,缺哪样先去补哪样。
Step 1:先把日志记起来
不知道底数,预算就是拍脑袋。我一开始就没记,直接给自己 agent 设了个预算,卡得它连正常任务都做不完,灰溜溜回去补日志。
别急着分析,先记。每次跑任务把 token 数和耗时落进日志,记着不管都行。攒上几轮,挑出你那个典型任务,记住它一圈大概吃掉多少、花多久——这个数就是后面设预算的底数。
⚠️ 这一步很多人会卡在记了干脆不看。给个最低要求:多跑几次任务之后,能随口说出典型任务一圈多少 token——这就算过了。
验证这步:你的日志里能找到任意一次任务跑了多少 token、多少秒,不是只有一句「完成」。
Step 2:给核心任务设死预算,超了就重想
先说一个很多人忽略的事实:ReAct 这类标配套路,默认配置里压根没有预算这个维度。你放手让它慢慢想,它当然想得对;你掐着它说「40 秒、两万 token 以内给我答案」,它思考链的走法就得跟着变——而无限资源评测从来没训练过这种走法。
所以这步做的事很简单:从典型任务的底数往上留点余量,写死。超了就强制停下来重新想,不准无限长考。
一个 40 美元才能跑到 98% 的 agent,和一个 2 美元能到 82% 的 agent——上生产你会犹豫。而传统评测表格里第二列压根不存在,你只能看见那个刺眼的 98%。上面价格是我随口举的,数字直接忘掉,道理记着:无限制成本下的高准确率,不具备生产可行性。
不过论文里的 EASR 公式我不展开,同行都懂。它把「花多少代价做对」折进成功率,改的是整个问题的问法——从「能不能做对」变成「花多少代价做对」。
⚠️ 别把预算卡得太死。留 1.5 倍余量比较稳,卡到 1.1 倍你会看到 agent 干脆放弃思考——那不是它变笨了,是你把路堵死了。
对了,论文把网络预算也单独列了项,这个维度我特别想鼓掌。现在太多评测把网络当不限量,真实生产里一次工具调用循环就能把出口带宽吃干净,账单比推理费还难看。这条也算进你的预算清单里,别漏。
验证这步:日志里能翻到「超时,重来」这种记录,说明超时重想真的发生过,不是配了从来没触发过。
Step 3:改评测口径
以后跑对比评测,只认一张三列表:成本、延迟、准确率。只看准确率一个数的,不算评测。
顺带说密封测试集这件事。Docker 隔离加哈希锁死,网上解读很多,但绝大多数讲错了重点——它不是防人,是防 agent 在推理链里不小心摸到答案。现在跑任务的 agent 都会顺手读仓库里的 README,测试集明文摆在仓库里,它一个文件浏览动作就把正确解捞出来了,然后给你输出一个理直气壮的「推理正确」。哈希锁死这一点,是整套框架做得最内行的地方。
你如果自己搭评测环境,测试集至少要在开跑前和答案分开存放,别给 agent 摸到的机会。
对了,论文里还有个数我盯了很久:三个任务 100% 满分。这个满分率让我有点不安——是任务刚够还是难度偏低?论文没给够细的分级数据,我不下结论。测试集公开,真想复现随时能验。这个以后单独写,先把眼前这篇讲完。
到这里,这篇就算交付了。跑起来了吗,照这个自查:
- 你的 agent 跑一个典型任务用多少 token、多少秒——不看日志答得出来
- 它撞上「想太久」的时候,会主动停下来重想,没有默认无限加时
- 你评估它行不行,看的是成本、延迟、准确率三列,不是只看一列数字
三个都能打勾,这篇就没白读。接下来可以试着给不同任务各设一份预算,或者拿「无限长考」的配置跟新配置跑同一批任务,把两张表并排贴出来——同一个 agent 预算松紧不同,走法完全不一样。
