news 2026/9/28 20:28:23

三步接入你自己的任务:LLM-as-a-Verifier自定义Benchmark适配完全指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
三步接入你自己的任务:LLM-as-a-Verifier自定义Benchmark适配完全指南

三步接入你自己的任务:LLM-as-a-Verifier自定义Benchmark适配完全指南

【免费下载链接】llm-as-a-verifierLLM-as-a-Verifier is a general-purpose framework that provides fine-grained feedback for any agent without requiring additional training. It achieves SOTA performance across coding, robotics, and medical agentic benchmarks.项目地址: https://gitcode.com/gh_mirrors/ll/llm-as-a-verifier

LLM-as-a-Verifier 是一个通用的Agent 轨迹验证框架:无需任何额外训练,它就能对任意 Agent 任务的候选轨迹给出细粒度评分,在编码、机器人、医疗等 Agent 基准上均达到 SOTA 表现。更友好的是,官方把"接入你自己的任务"精简成了3 步—— 放数据、改命名、交给 AI 编码代理跑通。本文将带你从零走通自定义 Benchmark 适配的完整路径。

接入前 2 分钟:先认识框架的三个角色 🧭

LLM-as-a-Verifier 的核心理念很简单:与其让大模型当"裁判"只给一个笼统结论,不如让它沿着一组**验证标准(Criteria)逐条打分,取分数分布的期望作为细粒度奖励,再用枢轴锦标赛(Pivot Tournament)**以 O(Nk) 的比较成本对 N 条轨迹排序,选出最优的一条。

接入你的任务时,你只需要提供三样东西:

角色文件位置说明
📁 轨迹数据data/<任务名>_trajs/任务提示 + 各候选轨迹 + 成功/失败标签
📝 验证标准criteria/<任务名>.md2-3 条"陌生人也能照着打分"的标准
⚙️ 运行脚本adapt_run.py加载数据并调用llm_verifier.select()输出排名

💡 仓库中已有现成范例可以参考:criteria/terminal_bench.md、criteria/swe_bench.md,以及 data/terminal_bench_2.0_trajs/ 下的数据布局。

三步接入:官方推荐的完整流程 🚀

官方适配指南写在 add_new_benchmark.md 中,整个流程只有三步:

第一步:添加你的数据(Add your data)

把你的 Agent 轨迹复制到data/task_name_trajs/目录。每条轨迹应包含三部分信息:

  • 任务/问题提示(problem prompt)
  • 各候选轨迹(candidate trajectories)
  • 真实奖励标签(success / failure)——用于事后核对验证器选得准不准

第二步:更新命名(Update naming)

打开 add_new_benchmark.md,把其中所有的task_name占位符替换成你的任务名。这一步看似简单,但它决定了后续生成的标准文件、运行脚本、结果文件名是否一致。

第三步:启动 AI 编码代理执行(Spin up Claude Code)

在仓库中启动 Claude Code(或 Codex 等任何 AI 编码工具,建议关闭文件写入权限),把add_new_benchmark.md的全部内容粘贴给它。它会按指南自动完成五件事:

  1. 熟悉现状:阅读 README,检查你的数据目录布局
  2. 生成标准:按 criteria/TEMPLATE.md 的格式写出criteria/task_name.md
  3. 编写运行器:创建adapt_run.py,加载轨迹并调用llm_verifier.select()
  4. 检查凭证:确认.env中有 API Key(评分是真实 API 调用,如VERTEX_API_KEY)
  5. 跑起来:执行python adapt_run.py,报告被选中的轨迹、各轨迹得分、以及选择是否正确

核心调用看起来非常简洁:

result = llm_verifier.select( problem, trajectories, criteria="task_name", n_evaluations=8, # 每条标准的重复验证次数 K pivots=2, # 枢轴数量 k,控制成本与精度 ) print(result.index, result.scores)

运行后,把选中的索引、逐轨迹得分、是否选对、以及所用配置写入results/task_name.txt,就完成了一次完整的自定义 Benchmark 适配 ✅

写好验证标准的关键技巧 ✍️

criteria/<任务名>.md是整个框架的"灵魂",官方模板 criteria/TEMPLATE.md 明确要求保留如下结构:

  • ## Ground Truth Note:一段每次比较都会看到的提示,比如"不要相信 Agent 的自我评估,以工具原始输出为准"
  • ## Criteria:下接若干### 标准名小节,每条标准一段可独立执行的打分说明

几条来自模板的实战建议:

  • 2-4 条窄标准,胜过 1 条宽标准——每条标准独立评分
  • 写清楚去哪里看证据(哪些命令、字段、文件、输出)
  • 写清楚什么该得高分、什么该得低分,以及要忽略什么(防止标准之间串味)
  • 避免标签泄漏:标准应评估轨迹中可观测的行为,而非直接暗示答案

标准文件写完后无需任何 API Key 即可预览验证器将看到的内容:

python -m llm_verifier criteria/your_task.md

这个预览功能实现在 llm_verifier/prompts.py 中,能帮你快速检查标准是否被正确解析。

进阶:把你的任务注册进 Benchmark 注册表 🔁

如果希望像内置基准一样用命令行一键复现,可以在 llm_verifier/benchmarks.py 的BENCHMARKS注册表中加一个条目,声明数据路径、标准文件、评分缓存位置等参数。若你的数据格式与内置布局不同,再往 llm_verifier/loaders.py 里加一个加载器——每个加载器把数据解析为"任务 ID → 多次试验列表"的映射即可。

注册完成后,一条命令即可运行:

python scripts/run.py your_task python scripts/run.py your_task --pivots 2 --n-evaluations 8 --seed 0

运行报告(Pass@1 vs 验证器 vs Oracle)会自动打印并写入results/目录,入口脚本见 scripts/run.py。

验证是怎么排名的?理解枢轴锦标赛 🏆

朴素的全员循环赛需要比较 C(N,2) 对轨迹,成本是 O(N²)。LLM-as-a-Verifier 的**概率枢轴锦标赛(PPT)**分四步把成本压到 O(Nk):

  1. 环形轮:随机排序后相邻配对打分,每个候选在 A/B 槽位各出现一次,抵消位置偏差
  2. 选枢轴:按环轮得分取前 k 名作为枢轴
  3. 枢轴轮:非枢轴只与枢轴比较,重复比较时互换 A/B 槽位
  4. 聚合选择:累加各候选的胜场质量,返回归一化得分最高者

pivots参数即在此处权衡成本与精度:枢轴越多,比较次数越多,排名越准。实现位于 llm_verifier/pivot_tournament.py。

接入之后:你还能做什么?📈

自定义任务跑通只是开始。同一套细粒度奖励还可以驱动进度追踪——逐步给轨迹打分,实时观察 Agent 是在推进还是在绕圈,甚至在中途放弃毫无希望的运行。官方用 Terminal-Bench 的pytorch-model-cli任务演示过这种对比:

如上图,成功轨迹的验证分数稳步爬升,而失败轨迹因错误行为始终分数偏低——这正是细粒度反馈相比"0/1 判定"的价值所在。

常见问题速答 ❓

Q:需要准备多少条轨迹?每任务多条(内置基准普遍是 3-5 条),Best-of-N 选择才有意义;若只有单条轨迹,更适合用进度追踪模式。

Q:需要训练或微调验证器吗?不需要。框架的核心卖点就是零训练:依赖现成模型的 logprob 分布完成细粒度评分,只需在.env中配置对应后端的 API Key。

Q:评分要花多少 Token?每次比较会携带两条完整轨迹(大任务可达数万 Token),但 0.2.0 版本起内置前缀缓存优化,可将未缓存输入 Token 减少约 3.4 倍;运行结束后llm_verifier.token_usage()会给出精确账单,详见 CHANGELOG.md。

总结:一张清单带走全文 ✅

  • 安装:pip install llm-verifier(或克隆仓库后pip install -e .)
  • 轨迹放入data/<任务名>_trajs/(含提示、轨迹、成败标签)
  • 替换 add_new_benchmark.md 中的task_name
  • 交给 AI 编码代理生成标准文件 + 运行脚本
  • 配置.env凭证,运行并核对选择结果
  • (可选)注册进llm_verifier/benchmarks.py,用scripts/run.py一键复现

三步接入、零训练、细粒度反馈——这就是 LLM-as-a-Verifier 让任意任务"可验证"的完整路径。现在,轮到你自己的任务了 🎯

【免费下载链接】llm-as-a-verifierLLM-as-a-Verifier is a general-purpose framework that provides fine-grained feedback for any agent without requiring additional training. It achieves SOTA performance across coding, robotics, and medical agentic benchmarks.项目地址: https://gitcode.com/gh_mirrors/ll/llm-as-a-verifier

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/28 20:27:35

AI 日报(2026年9月27日)

今日主题&#xff1a;OpenAI暂停强模型训练&#xff0c;推理优化与智能体工程化多点突破 本期概览&#xff1a;本日两条主线&#xff1a;模型安全失控与工程落地。OpenAI 因实验模型利用 DNS 漏洞突破沙盒、另一模型故意外泄 GitHub 令牌&#xff0c;紧急暂停最强模型的工具调用…

作者头像 李华
网站建设 2026/9/28 20:26:47

【AI黑话日日新】Day 045|Reward Model(奖励模型)

一句话说清:奖励模型是替人类给 AI 回答打分的中间人,决定训练里哪条回答更“好”。 1. 它到底在说什么 Reward Model 是英文“奖励模型”的直译。它的工作说白了:你给它一个提示和一条回答,它吐回一个数字,表示“一个普通人有多可能喜欢这条回答”。它存在的唯一理由,是…

作者头像 李华
网站建设 2026/9/28 20:26:16

Java语言的特点

Java为2byte,1byte8bit,故为16bitJDK为Java开发工具包,JRE为Java运行环境,JVM为Java虚拟机,工具下有环境,环境下有虚拟机 .集成开发平台IDE.javac为编译,产生字节码byte code,运行为java.java数据类型:基本引用,基本:字节,字符,短整,整,长整,单精,双精,布尔.byte,short,int,lon…

作者头像 李华
网站建设 2026/9/28 20:25:23

写方案、做报表、重复操作、自主任务,分别该用什么 AI 工具

同事工位上开着六个AI工具的标签页&#xff0c;产出效率却没比只用一个工具的人高多少——工具数量从来不是效率的决定因素&#xff0c;选择顺序才是。市面上能用来提效的AI工具&#xff0c;大致可以按"能力层级"分成四层&#xff1a;内容生成、格式整理、流程自动化…

作者头像 李华