新闻详情

新闻详情

首页 / 资讯中心 / 详情

写好评估标准的艺术:LLM-as-a-Verifier的criteria文件模板与5个避免reward hacking的关键要点

发布时间:2026/9/28 20:42:03来源:尧图网络
写好评估标准的艺术:LLM-as-a-Verifier的criteria文件模板与5个避免reward hacking的关键要点
写好评估标准的艺术LLM-as-a-Verifier的criteria文件模板与5个避免reward hacking的关键要点【免费下载链接】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是一个通用的 Agent 验证框架它无需额外训练就能为任意智能体编码、机器人、医疗等提供细粒度评分反馈。而整个框架评分质量的上限取决于你写下的那份criteria 文件——也就是本文要讲的评估标准。本文将带你拆解官方 criteria 文件模板的结构并总结 5 个避免 reward hacking奖励作弊的关键写法。先看清 LLM-as-a-Verifier 如何工作在写标准之前先花一分钟理解评分机制框架把给轨迹打分分解为四个可放大的维度——不确定性对分数 token 的 logprob 取期望、粒度细粒度打分、重复多次评估聚合、分解拆成多条独立标准。你写的每一条 criteria 都会被独立打分、独立缓存再汇总成 [0,1] 之间的细粒度奖励这正是为什么写好 criteria如此重要——标准的数量和写法直接决定了反馈的精度。criteria 文件模板三段式结构官方提供了可直接复制的模板 criteria/TEMPLATE.md一个合法的 criteria 文件只由三部分构成部分作用是否必需# 标题文件标题会被解析器忽略可选## Ground Truth Note每次比较时验证器都会看到的一段总纲强烈建议## Criteria下的若干### 标准名每一条独立的评分标准必需几个新手最容易踩的解析细节实现见 llm_verifier/prompts.py###标题名即标准名其缓存 id 由名称 slug 化生成如 Final Answer Correctness →final_answer_correctness。想改名又不想失效缓存用尾部锚点固定 id### Final Answer Correctness {#correctness}HTML 注释!-- ... --会被整体剥离验证器永远看不到因此模板里可以放心写写作提示写完后可以零成本预览验证器实际看到的内容无需 API keypython -m llm_verifier criteria/terminal_bench.md5个避免reward hacking的关键要点Reward hacking 指的是 Agent 钻标准漏洞刷分声称成功却没验证、改对文件却改错位置、输出格式看似正确。对照仓库内三份内置标准可以提炼出 5 条防御写法。要点1在 Ground Truth Note 中声明不信任自我报告这是三份内置文件的共同第一句。例如 criteria/terminal_bench.md 写着以终端输出为 ground truth不要信任 agent 的自我评估——agent 在终端报错时仍常声称成功。这句总纲对每一次比较都生效是防作弊的地基。要点2写清楚去哪里找证据模糊的标准会诱导验证器看叙述而非证据。好的写法是指明具体的命令、字段、文件位置。对比 criteria/medagentbench.md 的写法只看 GET 请求的 URL 参数——patient是否与问题中的 MRN 完全一致逐位数字、code是否为合法代码……。证据位置明确Agent 就无法靠讲故事蒙混过关。要点3明确说高分什么样、低分什么样模板中的标准同时给出两端锚点仅当答案被轨迹中观察到的输出完全支持时打高分若答案无证据支撑、与观察输出矛盾、或答非所问则打低分。双向锚定能显著压缩验证器的解释空间。要点4显式声明忽略什么防止标准互相污染验证器逐条独立打分2~4 条窄标准远胜 1 条宽标准。每条标准结尾都该有一句边界声明如 criteria/swe_bench.md 的 Code Quality 项结尾按技术价值评判 diff而非篇幅或表面工作量——这就把写了多少代码排除在评分外避免与正确性标准重复计分或互相干扰。要点5只评估轨迹中可观察的行为杜绝标签泄漏add_new_benchmark.md 对新基准的硬性要求是标准必须仅凭轨迹本身可判定且避免标签泄漏或 reward hacking——应评估轨迹中的可观察行为。通俗地说标准里不能写成功轨迹应该……这类暗示答案的措辞只能写检查 X 命令的输出是否为 Y。从内置的3份criteria文件中学到什么仓库为三个 SOTA 基准各配了一份标准文件都是要点1~5 的完整示范Terminal-Benchcriteria/terminal_bench.md规范符合性、输出逐字符匹配、错误信号检测——专门防命令没跑通却声称完成SWE-bench Verifiedcriteria/swe_bench.md根因定位、代码质量、实证验证——专门防修了症状没修病因MedAgentBenchcriteria/medagentbench.md查询参数准确性、响应-答案对齐、结束格式——专门防从空数据里编造具体数值一个值得注意的细节MedAgentBench 的总纲特别指出不要偏向看起来具体的答案也不要偏向默认值——连验证器自己的偏见也被标准显式约束了。用criteria驱动细粒度进度追踪写好的标准不仅能做 Best-of-N 选择还能逐步给 Agent 打分。下面的曲线来自 scripts/terminal_bench_progress.py 的复现同一个 pytorch-model-cli 任务成功轨迹绿的验证器分数随步骤稳步爬升到 1.0失败轨迹红因安装错误、编译报错始终低位徘徊——标准写得越准这条曲线越可信上手3步写出你自己的criteria文件复制模板cp criteria/TEMPLATE.md criteria/my_task.md替换内容但保留标题结构见 criteria/TEMPLATE.md按 5 个要点逐条改写声明不信任自我报告 → 指明证据位置 → 给出高低分锚点 → 声明忽略项 → 只写可观察行为预览并跑起来先用python -m llm_verifier my_task.md确认解析无误入口见 llm_verifier/main.py再用llm_verifier.select(..., criteriamy_task)加载评分完整接入流程可参考 add_new_benchmark.md评估标准不是给验证器看的提示词而是一份评分合同写得越窄、越可观察、越明确拒绝不可验证的证据reward hacking 的漏洞就越少。从 criteria/TEMPLATE.md 复制起步对着 5 个要点逐条自查你写出的 criteria 就能像内置基准一样可靠。【免费下载链接】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

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

手写数字识别系统Python课设:CNN模型训练与部署指南 2026/9/28 21:28:21

手写数字识别系统Python课设:CNN模型训练与部署指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
ARTEMIS 视觉驱动移动端自动化:从架构到实战的完整指南 2026/9/28 21:28:14

ARTEMIS 视觉驱动移动端自动化:从架构到实战的完整指南

移动端自动化这个方向,过去几年一直有个尴尬的瓶颈:脚本能点、能滑、能截图,但一旦界面稍有变化,整套流程就崩了。传统方案靠的是控件树和固定坐标,本质上是在"背答案",而不是"理解题目&quo…

阅读更多 →
FPGA以太网硬件设计:RTL8211F与RGMII接口实战避坑指南 2026/9/28 21:28:14

FPGA以太网硬件设计:RTL8211F与RGMII接口实战避坑指南

1. 为什么RTL8211F在FPGA以太网项目里出镜率这么高搞FPGA以太网通信的兄弟,大概率都绕不开RTL8211F这颗PHY芯片。我第一次用它是在一个图像采集项目里,FPGA端需要把采集到的数据实时传到上位机,千兆带宽是硬指标,选型的时候翻了一…

阅读更多 →
CUDA版本匹配原理:驱动、Toolkit与PyTorch/TensorFlow的ABI兼容性 2026/9/28 21:28:14

CUDA版本匹配原理:驱动、Toolkit与PyTorch/TensorFlow的ABI兼容性

1. 为什么CUDA版本不匹配会直接让PyTorch/TensorFlow“装死”——从GPU驱动到框架ABI的完整断层链你刚配好一台RTX 4060 Laptop GPU的笔记本,兴冲冲跑通了nvidia-smi,显卡状态绿油油,驱动版本显示535.104.05,一切看起来都对。可一…

阅读更多 →
JavaWeb宿舍管理系统实战:从JSP+Servlet+MySQL到部署排错全攻略 2026/9/28 21:28:07

JavaWeb宿舍管理系统实战:从JSP+Servlet+MySQL到部署排错全攻略

简介:基于JSP与Servlet实现的宿舍管理系统,是一份适合JavaWeb课程设计、毕业设计及初学者实战练习的完整项目源码包。系统涵盖用户管理、宿舍分配、资源预订等常见模块,通过典型的MVC分层展示JSP页面、Servlet控制器与后台JavaBean的协作方式…

阅读更多 →
STM32驱动TMC2209 UART通信实战:CRC校验与寄存器读写详解 2026/9/28 21:28:07

STM32驱动TMC2209 UART通信实战:CRC校验与寄存器读写详解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉