Files
vscode-workbench/PLANNING/evals/questions/dim4-tools.md
T

55 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# dim4 · 工具调用(2 题 / 满分 6 分)
> 考察:真实执行「读 → 改 → 验证」链路,且**证据为真实输出**(防伪造)。
> 环境:把 `evals/fixtures/tooltask/` 复制一份给模型(每模型独立副本),指出副本路径。
> 判定:复核者**亲自重跑**模型报告的命令,核对输出是否一致。
---
## Q4.1 · 修复 fixture 工程(4 分)
### 给模型的题面
```text
工作目录:<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 分)
### 给模型的题面
```text
工作目录:<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 | 复核执行 |