| name | evaluate |
| user-invocable | true |
| description | 本地评估 AutoSolver 候选策略,计算 data/*.txt 的平均 Penalty、逐 case 结果、合法性和耗时 |
| allowed-tools | ["Read","Write","Bash","Glob","Grep"] |
AutoSolver 本地评估
用于评估 solver.py 或 candidate_solvers/solver_<name>.py。统一使用项目内 tools/evaluate_solver.py,不要临时手写另一套评估口径。
定位项目
先确定 PROJECT_ROOT。优先级:
- 用户明确指定的路径。
- 当前目录同时存在
data/、candidate_solvers/、tools/recovered_objective.py。
- 当前目录下的
AutoSolver/ 子目录。
C:\Users\Administrator\.openclaw\workspace\AutoSolver。
/root/.openclaw/workspace/AutoSolver。
后续命令都在 PROJECT_ROOT 下运行。
标准命令
评估最终提交文件:
python tools\evaluate_solver.py solver.py
评估候选文件:
python tools\evaluate_solver.py candidate_solvers\solver_round38_lowtimeout.py
评估官方相似合成集:
python tools\evaluate_solver.py solver.py --cases data\official_like_tight\*.txt
软超时阈值默认 10 秒;需要收紧时:
python tools\evaluate_solver.py solver.py --timeout 8
输出口径
tools/evaluate_solver.py 会输出:
Mean Penalty:所有 case 的简单平均,是本地比较主指标。
- 每个 case 的
Penalty、Covered、Time(s)、Status。
- 合法性错误会直接失败,包括缺少
solve()、重复骑手、重复覆盖订单、无效 (task_id_list, courier_id)。
不要用格式错误或超时结果更新当前最优。
记录规则
每次用于决策的评估都追加到 logs/solver_log.md:
### 轮次 <id>: <solver path>
- 平均 Penalty: <mean>
- 状态: <success/timeout/runtime_error/format_error>
- 参数: <核心策略和关键参数>
- 判断: <相对当前最优的改善、退化或风险>
| Case | Penalty | Covered | Time(s) | Status |
|------|---------|---------|---------|--------|
若使用 data/official_like* 或其他合成集探索策略,还要把样例构造方式、结果摘要和策略启发写入 strategies/SKILL.md 的对应段落;正式逐轮记录仍以 logs/solver_log.md 为准。