2026年10月9日 · 阅读 —

LIFT 开源评测框架:agent 越用越好用,终于有办法验证了

Agent 与 Skills测试与评测

LIFT 开源评测框架:agent 越用越好用,终于有办法验证了

「Agent 越用越好用」这句话,过去几年听多了,但一直缺个能拍板的说法:它到底是不是真的?好了多少?还是只是卖家的嘴?

现在这句话几乎人手一只 agent 都在喊。优化记忆系统、沉淀 skill、根据用户反馈改写自己的代码……这些做法被统称为 Agent Self-Evolving(自我进化)。可现实是,市面上主流评测都在卷 agent 本身的能力——数学、代码、推理——等它进化完之后,没人量过它到底涨了多少。

LIFT 想补的就是这个空。它是 GitHub 上一个 Python 写的开源评测框架,作者仓库叫 FeiZhuNiU-INFJA/LIFT,全名 Loaded Impact on Final Task。榜单上一行字写得很直白:它排的不是「谁能力最强」,而是「谁进化带来的提升最大」。

一句讲清它干嘛用:给它一份「练习题」、一份「期末考」,把进化前后的成绩单摆在一起。

先横向看看,平时大家怎么判断 agent 变没变好

在掏出 LIFT 之前,先摆一下市面上现有的判断方式,都不是它这套。

判断方式怎么看卡在哪
看能力榜跑一遍数学/代码/推理,比分数测的是「开箱能力」,不测「进化收益」
看演示视频看作者录的一段惊艳操作没对照组,无法证伪
看上线后的体感用起来「感觉顺手了」没有量化口径,不可复现
看某个案例某个任务从 10 轮查到 3 轮单点样本,可能只是运气

这些方式的共同毛病:要么测的不是进化,要么拿不出可复现的对照。 LIFT 的做法是把「进化」本身变成一个可以跑对照实验的变量——做法朴素到像中学实验:同一道题,同一个 agent,一个干净环境,一个加载进化产物,看差多少。

它是什么:一套「给 agent 判进化分」的框架

LIFT 不是你能直接上手用的 agent,是一个评测框架。它管的事是:你在 Docker 里跑起来一批 agent,它负责切题、起容器、加载进化产物、算分数、出报告,最后给你一张能看出「进化到底有没有带来提升」的成绩单。

技术选型一口气列出来:Python 3.12、运行时走 Docker、全程用 Langfuse 打 trace 做观测。仓库里有这么几块你点进去能见到的东西:

  • src/:框架内核(CLI、编排、容器适配、判分)
  • agent-runtimes/:各 agent 运行时的 Docker 镜像(OpenClaw、Hermes、GenericAgent、OpenHuman、EvoScientist、Prime Agent 等)
  • assets/:评测题集(含一个开箱即用的冒烟 demo)
  • docs/:协议、架构、讲稿、在线排行榜
  • skill/:装环境、接入新 runtime 的引导

截至写这篇,仓库 77 个 star、5 个 fork,Python 3.12,Docker 运行时。规模不算大,但它解决的问题够锐利。

它做什么用:把「进化收益」变成一张可复现的成绩单

LIFT 把每套 benchmark(评测题集)切成两组:

  • warmup_tasks(练习题):让 agent 真去跑、真去触发它的进化——记忆、skill、自改写
  • holdout_tasks(期末考):同一道题跑两遍,一遍是干净的 baseline(对照组),一遍是加载了进化产物的 evolved(实验组)

两次的差距,就是「进化」给这个 agent 带来的提升。这就是典型的 A/B 对照实验,只是受试者从用户换成了 agent。

核心指标也全是用户能直接感知到的效率维度:

指标含义变好方向
turns完成任务需要的对话轮数越低越好
tools工具调用次数越低越好
tokens总 token 消耗越低越好
score / successjudge 打的分越高越好

聚合公式写得很透明:impr = (evolved − baseline) / baseline,越低代表越省。轮数下降,意味着 agent「想清楚了再做」;工具次数下降,意味着它会复用、会跳过冗余探查。 这正是「越用越顺手」最实在的量化。

怎么用它:三步,从装环境到出一张成绩单

它上手分三步,环境需要 Docker + Conda(Python 3.12)+ 本地 Langfuse + 一个 agent 评测镜像。

第一步,配环境。 仓库里带了 setup-lift-env 这个 skill,按 6 步顺序检测引导:Docker、Conda、Langfuse、配置 .env、拉 benchmark 数据、构建镜像,最后用一个 hello.json 冒烟。

第二步,跑起来。 配好之后一条命令:

conda activate lift
python -m src.cli.lift_main \
  -r openclaw \
  --benchmark_dir assets/benchmarks_demo \
  --suite hello.json \
  --run-id my-first-run \
  --tui \
  --dashboard 8080

跑完在 results/lift-runid-my-first-run/ 下看报告和自动生成的 dashboard.html 离线快照。

第三步,看两张「成绩单」。 浏览器 Dashboard 第一眼是 PHASE COMPARISON:每道题 baseline → evolved 三列对照,颜色加箭头明示哪几道题在 turns / tools 上变好(↓ 绿)、变差(↑ 红)、持平。跑完后后处理会从 trace 抽出更细的口径,回写到 FINAL SUMMARY 面板,把实时聚合切到最终成绩单。每一道题、每一个相位,agent 和判分的 judge 都各起一个独立容器,保证对照干净、题与题互不污染。 进化前的记忆被 docker commit 原子打包成镜像,进化后从这张镜像重新起容器——baseline 和 evolved 完全对称。

关键:它怎么保证「对照」是真的,不是玄学

「A/B 对照」谁都会说,难在把对照做干净。LIFT 在这点上堆了三层防御,是它最有工程含金量的地方。

第一层,记忆必须进到容器里。 早期版本踩过一个坑:agent 的工作区在宿主机挂载目录,warmup 阶段写的 MEMORY.md、SOUL.md、技能更新全都不在容器层,docker commit 根本拍不到,delta 镜像里其实没有「学到的东西」。后来把工作区挪进容器、种子文件在构建期烧进镜像,才让「能进化的状态」留在容器内、被一并拍进 delta,而「任务素材和产物」放在挂载目录供外面观察。该进 delta 的进 delta,不该进的别进。

第二层,每道题、每个相位都起新容器对。 baseline 不能受 evolved 污染,evolved 不能复用 baseline 的环境;work agent(做事的)和 judge agent(判分的)记忆也隔离。题与题之间同样互不干扰。做不到这条,你就说不清提升到底是进化的功劳,还是环境串味串出来的。

第三层,cell 级隔离 + 自动重试。 一次 LIFT run 是个 repeat × suite 的并发矩阵,默认 3 个 cell 同时跑;典型 3 repeats × 14 suites × 6 holdouts 的 run,holdout 高峰有 36 个容器在跑。单道题挂掉不波及矩阵其他位置,失败的 cell 收集起来自动再跑一遍;宿主吃紧时调一个 --max-parallel-suites 就能全局收口。

这三点合起来,成果直接体现在它们的在线排行榜上。榜单按 ΔTurns% 排序,每行都已减去自身 Baseline。2026 年 8 月生成的那版里,11 个 runtime 跑完,效果分化得很明显:

runtimeΔTurns%ΔTools%ΔTokens%显著
hermes+openspace−19.09−10.62−19.27是
hermes−17.24−10.38−17.48是
hermes+agentmemory−16.64−8.82−17.34是
evoscientist+active−14.69−27.57−12.73是
evoscientist−14.33−34.65−10.23是
openclaw+2.74−2.09+0.44否

(负号 = 越用越省,正号 = 反而更费。)同样承诺「自我进化」,有的 agent 能让轮数降近两成,有的反而更啰嗦。 所以「越用越好用」不能靠喊,得靠同一套标尺量出来。

这套框架还有个非技术背景也能理解的点:它刻意不评测难量化的质量分,而是专注效率指标。理由写在设计文档里——当前主流的进化思路都不是改模型权重,而是把信息注入上下文来提升能力(上下文学习)。用可检验的细小要求作为约束,既能引导 agent 得出更高质量的结果,又能保证另一半的 judge 打分受随机性影响尽可能小。效率比质量更容易判、更容易复现。

测试开发视角,怎么用它

站在测试的立场,LIFT 真正戳中的是「回归测试的 Agent 版」。

传统回归是:改完代码,把旧用例重跑一遍,看有没有退步。LIFT 把这件事套到了 agent 身上:agent 进化 / 改完自己之后,把同一批 holdout 题重跑一遍,看是提升还是挂掉。给 agent 补一套「越用越担心它退步」的回归防线,这在项目和工具落地时比选哪个模型更救命。

落到业务侧有当场能用的场景:

  • 接 agent 之前先体检:上线前用 LIFT 跑一遍同一批任务,建立「进化前基线」,后面每次改动都有参照物,不再靠体感判断。
  • 选哪套进化方案:记忆增强、skill 沉淀、自改写……不同 agent 用不同方案到底谁更值?LIFT 的排行榜就是现成的答案——同一个问题,不同进化方案谁更省轮数,一目了然。
  • 版本升级防翻车:agent 厂商发新版,别急着全量切,拿 LIFT 跑个对照,看新版的进化收益是不是真比旧版强,再决定要不要上。

它值不值得花力气,取决于你认不认这个起点:「越用越好用」不是形容词,是一句可以被量化的断言。 如果认,LIFT 给的是一整套能落地、可复现、有对照的验证方法,而不是又一个「听起来很厉害」的 demo。

仓库地址:https://github.com/FeiZhuNiU-INFJA/LIFT

#AI评测 #Agent #SelfEvolving #开源项目 #测试开发 #回归测试