Read-Tool Eval — 结果日志
功能 1:基于统计信息的特殊文件过滤机制(_special_file_kind)
变更点: read_file 函数会统计解析后的路径信息,对于 FIFO、套接字以及字符/块设备,它会直接以文字形式给出拒绝说明,而不会一直等待执行超时。这一机制可与现有的名称黑名单(如 /dev/*、/proc/*)形成互补,因为后者无法识别任意工作区的 FIFO 文件。
A/B 对比测试(仅使用文件处理工具集,共 3 次重复实验,两组均使用相同提示词):
| 指标 | 基准组 | 统计过滤组 | 变化幅度 |
|---|---|---|---|
| opus-4.8 生成的标记数 | 40k | 23k | 减少 43% |
| opus-4.8 的生成轮数 | 5.7 | 4.0 | 减少 30% |
| qwen3.8-max 生成的标记数 | 122k | 26k | 减少 79% |
| qwen3.8-max 的生成轮数 | 9.3 | 5.0 | 减少 46% |
| qwen3.8-max 的最大耗时(最差实验组) | 618秒 | 115秒 | 减少 81% |
| 两种模型的评分 | 1.00 | 1.00 | 保持不变 |
对于非目标任务,其表现波动在重复实验的允许范围内,不存在明显趋势——因为该过滤机制不会对普通文件生效。
结论:可直接投入使用。 此功能纯粹提升了效率,同时保持了模型精度。即便不使用该过滤机制,两种模型最终也能完成任务,但使用 qwen 每次处理需要多出约 7.5 倍的标记数,且耗时最多会增加 10 分钟。
需注意的几点:
- 使用完整工具集时的基准组数据与统计过滤组针对 FIFO 文件的测试数据无法直接对比——因为在不同实验系列之间,用于测试 FIFO 的提示词有所调整(旧提示词允许通过终端输出统计信息,而无需调用
read_file函数);而仅使用文件处理工具组的实验则使用相同提示词。 - 使用完整工具集时,模型会先通过
stat/file函数来规避卡顿问题,因此实际效率提升程度取决于模型是在先使用终端还是直接调用read_file。在仅使用文件处理工具组的测试中,qwen 始终选择直接调用read_file。