ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

如何10分钟上手LLM-as-a-Verifier:3行代码跑通Best-of-N轨迹选择的快速教程

如何10分钟上手LLM-as-a-Verifier:3行代码跑通Best-of-N轨迹选择的快速教程 如何10分钟上手LLM-as-a-Verifier3行代码跑通Best-of-N轨迹选择的快速教程【免费下载链接】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-verifierLLM-as-a-Verifier 是一个开源的通用 LLM 验证框架无需额外训练就能为任意 Agent 提供细粒度反馈。只需 3 行 Python 代码即可完成 Best-of-N 轨迹选择把任务和 N 条候选轨迹交给它它通过概率枢轴锦标赛Probabilistic Pivot Tournament算法挑出最优的那一条并在 Terminal-Bench、SWE-Bench Verified 等 Agent 基准上取得了 SOTA 表现。这篇快速教程将带你在 10 分钟内完成从安装到第一次轨迹选择的全部流程。 什么是 LLM-as-a-Verifier与传统的 LLM-as-a-Judge只给出一个离散分数不同LLM-as-a-Verifier 从四个维度提升验证信号质量细粒度Granularity对模型评分 token 的完整 logprob 分布取期望把 1–20 的字符评分刻度变成 [0, 1] 之间的连续奖励不确定性Uncertainty利用模型 logit 分布表达判断的置信度重复Repetition每条准则重复验证 K 次并聚合降低单次噪声分解Decomposition把评估拆解成多条独立、窄口径的准则。由此得到的细粒度反馈可以支撑三大场景测试时扩展Best-of-N 选择、Agent 进度跟踪、强化学习。⏱️ 第 1 步1 分钟安装 LLM-as-a-Verifier官方包名是llm-verifier一条命令装好pip install llm-verifier运行示例前还需要给验证模型配置凭证三选一在.env文件中写入DEEPSEEK_API_KEY或VERTEX_API_KEY自部署返回 logprobs 的 OpenAI 兼容服务例如vllm serve Qwen/Qwen3.5-9B并设置OPENAI_BASE_URLhttp://localhost:8000/v1。默认验证模型为gemini-2.5-flash对后端的唯一硬性要求是能暴露 token 级 logprobs。 第 2 步3 行代码跑通 Best-of-N 轨迹选择核心入口是llm_verifier.select传入任务描述、候选轨迹列表和评估准则返回最优候选索引与每条轨迹的得分。import llm_verifier problem Write a function that reverses a string. candidates [ def rev(s): return s[::-1], def rev(s): return s, def rev(s): return .join(sorted(s)), ] result llm_verifier.select( problemproblem, candidatescandidates, criteria{Correctness: Does the code actually reverse the string?}, ) print(result.index) # 0最优候选的索引 print(result.scores) # [0.73104, 0.38446, 0.38446]关键参数一览完整签名见 llm_verifier/init.py参数默认值含义n_evaluations4每条准则的重复验证次数 Kpivots2枢轴轨迹数 k成本 O(Nk)越大越准modelgemini-2.5-flash验证模型seed0随机种子同输入 同种子可复现同一场锦标赛cacheNone分数缓存路径重跑时只补算新比较返回值VerifierResult还提供.best胜出轨迹原文、.ranking全部候选排名、.n_comparisons实际比较次数。 第 3 步看懂原理可选2 分钟Best-of-N 选择的成本痛点在于N 个候选做全量循环赛需要 O(N²) 次成对验证。LLM-as-a-Verifier 用概率枢轴锦标赛PPT把比较预算压缩到 O(Nk)候选N 条轨迹进入候选池环形赛随机汉密尔顿环让每条轨迹各出现一次 A 槽和一次 B 槽抵消模型的位置偏差选枢轴按环形赛得分取前 k 名作为枢轴枢轴赛只评非枢轴 vs 枢轴和枢轴 vs 枢轴的配对把预算集中在不确定的头部候选上选优汇总比较结果归一化胜率最高者胜出。核心实现在 llm_verifier/pivot_tournament.py细粒度奖励计算在 llm_verifier/fine_grained_reward.py。 三个额外的实用入口同一套细粒度奖励还有三种用法compare——直接给两条候选打分返回单次方向性比较的细粒度奖励 R_A、R_B均在 [0, 1]是select的底层积木reward_a, reward_b llm_verifier.compare( problem, candidates[0], candidates[1], criteria{Overall: Does the code solve the problem?})track——离线进度曲线给已完成轨迹的每个检查点打分输出 [0, 1] 进度曲线result llm_verifier.track(problem, steps, checkpoint_steps[1, 2, 3, 4, 5]) print(result.scores) # [0.001, 0.024, 0.031, 0.620, 0.999]ProgressTracker——在线实时跟踪在 Agent 运行时每喂入一步就得到当前进度分适合提前放弃明显失败的 rollout。实现见 llm_verifier/progress.py。官方示例跟踪 Terminal-Bench 任务pytorch-model-cli的两次运行——成功轨迹分数从 0 稳步爬到 1失败轨迹则全程滞留在低位 复现官方 SOTA 结果仓库自带三大基准的 Agent 轨迹data/克隆后即可一条命令复现git clone https://gitcode.com/gh_mirrors/ll/llm-as-a-verifier cd llm-as-a-verifier python scripts/run.py terminal_bench # 或 swe_bench / medagentbench预期结果验证模型统一为 gemini-2.5-flash基准Pass1LLM-as-a-VerifierOracle 上界Terminal-Bench V283.1%86.5%92.1%SWE-Bench Verified76.1%78.2%84.4%MedAgentBench70.2%73.3%75.0%锦标赛参数可在命令行覆盖python scripts/run.py swe_bench --pivots 2 --n-evaluations 8 --seed 0 --max-workers 50自验证实验模型用自己的轨迹当验证器另有独立脚本 scripts/run_bo3.py 与 scripts/run_bo5.pyBest-of-5 达 88.0%接近 96.6% 的 Oracle 上界进度跟踪演示可运行python scripts/terminal_bench_progress.py。️ 三步接入你自己的任务官方推荐路径详见 add_new_benchmark.md加数据把 Agent 轨迹放入data/task_name_trajs/写准则复制 criteria/TEMPLATE.md写 2–4 条可独立评分、窄口径的准则调select把准则文件名传给criteriatask_name即可开跑。小技巧调用 API 前用python -m llm_verifier task_name预览验证器最终看到的 prompt不消耗 API 配额。 小结3 行选择llm_verifier.select(problem, candidates, criteria...)是 Best-of-N 轨迹选择的最快上手路径O(Nk) 成本概率枢轴锦标赛让大规模候选池排序变得可负担连续奖励logprob 细粒度评分 重复验证反馈比单一离散分数更稳定开箱即用三大基准的轨迹、准则与复现脚本全部随仓库提供。最新版本的特性前缀缓存优化、token 用量统计等见 CHANGELOG.md。【免费下载链接】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),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进