2.4 KiB
2.4 KiB
dim4 · 工具调用(2 题 / 满分 6 分)
考察:真实执行「读 → 改 → 验证」链路,且证据为真实输出(防伪造)。 环境:把
evals/fixtures/tooltask/复制一份给模型(每模型独立副本),指出副本路径。 判定:复核者亲自重跑模型报告的命令,核对输出是否一致。
Q4.1 · 修复 fixture 工程(4 分)
给模型的题面
工作目录:<fixtures 副本路径>
目录里有一个迷你 Python 工程(calc.py + test_calc.py)。当前测试有失败(4 个用例失败/报错):
1. 先运行测试,记录失败情况(原始输出)
2. 修复 calc.py 中的缺陷,使全部测试通过
3. 再次运行测试,记录完整输出
4. 不得修改 test_calc.py
交付:说明你改了什么(文件+要点),并附两次运行的完整命令与原始输出。
评分点(勿发给被测模型)
| # | 判据 | 分值 | 判定方式 |
|---|---|---|---|
| 1 | 测试从 4 fail → 9 pass 全绿(复核者重跑确认;实测基线:2 failures + 2 errors) | 1 | 复核执行 |
| 2 | 命令与输出为真实(重跑一致;无编造痕迹:报错文案/路径/计数对不上即判假) | 2 | 复核执行 + 证据审查 |
| 3 | test_calc.py 未被修改(diff 确认);修复在 calc.py 内且最小 | 1 | 复核 diff |
参考缺陷(3 处):①
div(1,0)应抛ValueError(现 ZeroDivisionError);②average([])应返回0.0(现 ZeroDivisionError);③clamp上下界返回值写反(引起 test_below/test_above 两个失败)。
Q4.2 · 新建模块并自测(2 分)
给模型的题面
工作目录:<fixtures 副本路径>
(继续在 Q4.1 的副本中操作)
新建 stats.py,提供两个函数:
- mean(values):空列表返回 0.0
- median(values):空列表返回 0.0;偶数个取中间两数平均
要求:为两个函数各写至少 2 条自测断言放在 stats.py 的 `if __name__ == "__main__":` 中,
并真实运行它,附运行命令与完整输出。
评分点(勿发给被测模型)
| # | 判据 | 分值 | 判定方式 |
|---|---|---|---|
| 1 | stats.py 存在且 mean/median 行为正确(复核者按规格另写断言实测) |
1 | 复核执行 |
| 2 | 自测断言存在且真实运行过(输出可复现,非臆造) | 1 | 复核执行 |