Benchmark · coding

CRUXEval

0 条结果 0 个模型

CRUXEval(Code Reasoning, Understanding, and eXecution Evaluation)通过 800 个简短的 Python 函数衡量模型对代码执行的推理能力,包含两个任务——预测能产生给定输出的输入,以及预测给定输入的输出——以 pass@1 功能正确性评分。

了解更多
示例
展示一个简短、自包含的 Python 函数。在输出预测中,给模型一个具体输入,它必须给出函数返回的确切值;在输入预测中,给它输出,它必须提供任意能复现该输出的输入。
评分方式
指标是 pass@1(也用标准无偏估计量报告 pass@k):模型为每道题生成一个或多个答案,每个答案通过运行函数来检验,得分是 800 道题中解出的比例,对 CRUXEval-I(输入)和 CRUXEval-O(输出)分别报告。
验证方式
每个预测都通过执行来验证,而非字符串匹配。输出答案只有等于函数的真实返回值才被接受;输入答案只有在传入函数后确实产生目标输出时才被接受,因此任何有效输入都算,不限于原始输入。
为何重要
预测执行行为把代码推理与代码编写区分开——模型可能生成看似合理的代码却并不清楚它真正做了什么。这些函数简单且自包含,使 CRUXEval 成为对该能力的干净探针,两个方向分别检验正向(输出)和反向(输入)推理。
示例解析
任务
def f(nums): result = [] for n in nums: result.append(n * 2) return result assert f([1, 2, 3]) == ?? CRUXEval-O(输出预测):将 ?? 替换为 f 返回的值。
解答
[2, 4, 6]
解析
循环将 [1, 2, 3] 的每个元素翻倍,得到 [2, 4, 6]。评分执行 assert f([1, 2, 3]) == [2, 4, 6],只有该断言通过才接受答案。

该 benchmark 暂无已验证的得分。