FreeCAD Fix 让各模型修复同一份参数化脚本,再通过 freecadcmd 执行并测量生成的几何结果。评分采用确定性校验,避免引入 LLM 裁判的判断波动。
只有当每个模型面对相同的 prompt、同一个固定评判器、各维度独立的评分标准,并且原始回答全文公开可查时,LLM 评估才能产出可比较的分数。本文将介绍 LFORLA 上的 FreeCAD Fix benchmark 如何落实这些要求,以及它的排行榜分数在实际应用中究竟意味着什么。
FreeCAD Fix benchmark 要求模型诊断并修复一份有问题的参数化 FreeCAD 脚本。评分由确定性的几何 oracle 完成,依据的是实际的 freecadcmd 测量结果。整个评估流程没有 LLM 评判器参与。仅这一项设计选择,就消除了一整类评估噪声。
下面逐步说明它的运行机制。
每个模型使用相同的 prompt。 每个模型收到的都是完全相同的问题脚本和修复指令。没有模型能获得额外提示、重试机会,或更有利的上下文。这是分数可比较的基本要求:如果输入不同,就无法对输出进行排名。
使用同一个固定评判器。 在这个 benchmark 中,评判器不是语言模型,而是一个确定性的几何 oracle。修复后的脚本通过 freecadcmd 执行,再将生成的几何形体与预期几何形体进行测量比较。oracle 返回的是一个数字,而不是一种意见。这个数字可以复现:运行两次,结果相同。
各维度采用独立的评分标准。 这个 benchmark 涵盖 CAD、工程、代码和推理。每个维度都有自己的评分标准,因此,代码写得清晰却误解几何形体的模型,与理解几何形体却写出错误语法的模型,会得到不同的评分。分维度评分可以防止某一项突出能力掩盖另一项能力的不足。
公开原始回答全文。 每份回答都会原样保存。任何人都可以重新查看模型实际回答了什么,而不只是看到最终分数。这是评估的审计层:如果某个分数出乎意料,你可以打开完整记录,查看原因。
我们也提交了自己的模型 GLM 5.2,它的综合得分为 78.0。
100 分意味着修复后的脚本通过了所有几何检查。分数在 50 多或 60 多,意味着模型生成的脚本能够运行,但有相当一部分几何断言未能通过。99.33 与 100 的差距,从绝对数值上看很小,但在确定性的 oracle 下,这个差距确实存在:有一项断言未通过。
真正值得关注的是从 56.67 到 100 的分数跨度。它说明,修复参数化 CAD 脚本这项任务,并不是所有能力不错的模型都能达到同一水平。有些模型理解几何形体,却写出脆弱的代码;另一些模型代码写得清晰,却误解了约束条件。各维度独立的评分标准能揭示这种差异,而单一的综合分数会将其掩盖。
还要注意,同一个模型家族出现了两次,分数却不同:Nemotron 3 Ultra 550B 得分为 83.33,Nemotron 3 Ultra 得分为 66.67。不同的提供商、不同的服务部署栈,会带来不同的结果。在 LLM 评估中,提供商也是测量结果的一部分。
不要只凭一个醒目的总分选择模型。应根据与你的工作负载相匹配的维度来选。如果你需要修复 CAD 脚本,FreeCAD Fix 排行榜就有直接的参考价值。如果你做的是其他工作,同样的机制依然适用:找到一个评判器与你的成功标准相匹配的 benchmark。
确定性的 oracle 是一个有力的信号,因为它不会被漂亮话打动。一个模型即使能把几何问题讲得头头是道,只要生成的脚本有问题,在这里就会得到低分。这正是评估的目的。
检查评判器。 如果评判器是 LLM,就要了解它是如何固定下来的,以及它的 prompt 是否公开。
检查 prompt。 完全相同的输入,是分数可比较的前提。
检查评分维度。 单一的综合分数会掩盖究竟是哪项能力出了问题。
检查回答记录。 如果无法重新查看原始回答全文,就无法审计分数。
检查提供商。 同一个模型在不同的服务部署栈上,可能得到不同的分数。
这个 benchmark 只衡量一项任务:修复一份有问题的参数化 FreeCAD 脚本。在这里得分高,并不意味着模型擅长通用推理、写作或其他领域。排行榜只是一个快照,并非永久排名。通过 OpenRouter 和 opencode 使用的免费模型,其行为可能在没有通知的情况下发生变化。而我们自己提交的 GLM 5.2 所取得的 78.0 分,也只是一个数据点,并不代表我们宣称它优于其他模型。
LLM 评估并不神秘。它就是相同的 prompt、同一个固定评判器、各维度独立的评分标准,以及公开可查的原始回答全文。LFORLA 上的 FreeCAD Fix 排行榜将这套机制应用于一项具体的工程任务,并公开结果。如果你想查看完整排行榜和原始回答全文,可以从 LFORLA 开始。
如果需要采取进一步行动,你可以考虑屏蔽此人,以及/或者举报滥用行为。