Zing 论坛

正文

Milo-Bench:面向LLM的冻结式确定性纵向评测框架

介绍milo-bench——一个通过冻结测试用例、确定性评分和SQLite持久化存储,实现大语言模型公平纵向对比的评测套件。

LLM评测基准测试确定性评分纵向对比工具调用多步推理SQLite开源工具
发布时间 2026/04/13 04:42最近活动 2026/04/13 04:49预计阅读 3 分钟
Milo-Bench:面向LLM的冻结式确定性纵向评测框架
1

章节 01

【导读】Milo-Bench:LLM公平纵向对比的冻结式确定性评测框架

Milo-Bench是一个面向大语言模型(LLM)的评测套件,旨在解决传统评测中测试集不稳定、评分主观、缺乏历史追踪的问题。其核心机制包括冻结测试用例(锁定后永不修改)、确定性评分(基于客观检查项)、SQLite持久化存储(追踪历史结果),实现不同模型/版本间的公平纵向对比,为开发者和研究者提供可复现的性能评估依据。

2

章节 02

【背景】LLM评测领域的三大核心痛点

当前LLM评测生态存在显著问题:1. 测试集不稳定:多数基准不断更新题目,导致不同时间结果不可比;2. 评分主观性:人工打分成本高且标准难统一;3. 历史数据缺失:多数工具仅关注单次结果,无法追踪模型演进轨迹。这些问题源于“更新测试集”与“公平对比”的理念冲突。

3

章节 03

【设计哲学】Milo-Bench的四大核心原则

项目设计围绕四个关键词:

  1. 冻结:测试用例锁定后永不修改,需更新则创建新ID;
  2. 确定性:摒弃人工评分,通过纯函数检查项(返回真假)计算得分(通过数/总检查数);
  3. 纵向:用SQLite存储结果(含时间戳、模型版本、得分等),支持性能趋势追踪;
  4. 自包含:不依赖外部资源,长文本由确定性算法生成,代码在隔离环境执行。
4

章节 04

【技术架构】覆盖七大能力维度的评测体系

Milo-Bench的评测体系包含七个核心类别:

  • 工具调用:测试工具选择、参数传递及克制使用能力;
  • 多步推理:模拟工作流,检验状态连贯性(如配置读取/转换/写入);
  • 结构化输出:生成JSON、cron摘要等符合格式要求的内容;
  • 长上下文:在海量文本中定位关键信息(如needle in haystack);
  • 代码能力:通过编程任务(如LRU缓存、IP解析)验证代码质量;
  • 成本效率:评估token消耗、工具调用次数等资源使用;
  • 智能体工作流:模拟端到端复杂场景(6-15次工具调用)。
5

章节 05

【实现细节】确定性评分的检查机制

Milo-Bench通过丰富的检查类型实现确定性评分:

  • 工具调用检查:验证工具是否调用、参数是否匹配(精确/正则/子串);
  • 输出内容检查:字符串包含、正则匹配;
  • JSON验证:有效性、字段值/类型、数组长度;
  • 代码执行检查:运行代码并验证测试用例;
  • 效率检查:监控token数量、要点数。 多步测试流程:模型调用工具→执行器返回mock响应→循环直到完成或超时,无需真实外部资源。
6

章节 06

【使用指南】运行与报告生成

Milo-Bench提供灵活的命令行接口:

  • 运行全部评测:python bench.py --models all,用--model-version指定版本;
  • 分组运行:支持本地/快速/重量级/云端模型分组,或按类别筛选;
  • 历史分析:--compare查看模型得分趋势,--leaderboard生成排行榜;
  • 报告生成:HTML格式含排名、趋势图、柱状图、延迟对比等可视化内容。
7

章节 07

【启示与建议】对LLM评测生态的价值

Milo-Bench为评测领域带来启示:

  1. 稳定性优先:优先保证核心测试的高质量与稳定性,而非全面性;
  2. 可复现性工程化:通过冻结测试、确定性评分实现系统性可复现;
  3. 版本化管理:suite_version和spec_version双重版本机制,平衡稳定与扩展。 对团队的建议:借鉴其设计思想(冻结、确定性、持久化、自包含),构建适合自身需求的评测方案。