ワンクリックで
skill-autosolver
AutoSolver 总入口 skill,统筹 loop、strategies、evaluate 三个分 skill,用于理解项目结构、自主迭代候选求解器、选择策略方向并执行本地评估。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
AutoSolver 总入口 skill,统筹 loop、strategies、evaluate 三个分 skill,用于理解项目结构、自主迭代候选求解器、选择策略方向并执行本地评估。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | skill-autosolver |
| description | AutoSolver 总入口 skill,统筹 loop、strategies、evaluate 三个分 skill,用于理解项目结构、自主迭代候选求解器、选择策略方向并执行本地评估。 |
| user-invocable | true |
| allowed-tools | ["Read","Write","Bash","Glob","Grep","Agent"] |
这个 skill 是 AutoSolver 项目的总调度入口。它不替代三个分 skill,而是说明什么时候、按什么顺序使用它们:
loop/SKILL.md:完整迭代闭环,负责“检查日志 → 选策略 → 实现候选 → 评估 → 记录 → 决策”。strategies/SKILL.md:策略方向目录,负责根据已有基线和失败记录选择下一轮可检验假设。evaluate/SKILL.md:本地评估流程,负责统一计算 data/*.txt 的平均 Penalty、逐 case Penalty 和合法性检查。当用户要求“继续优化 AutoSolver”“自动迭代”“找更好 solver”时,优先使用 loop。当用户只问“下一步试什么策略”或“分析方向”时,使用 strategies。当用户只要求“评估某个候选文件”时,使用 evaluate。
AutoSolver 项目根目录应同时包含:
candidate_solvers/
data/
docs/
examples/
logs/
skill-autosolver/
tools/
关键文件含义:
| 路径 | 用途 |
|---|---|
docs/AutoSolver.md | 题面、输出约束、目标函数逆向说明和历史策略记录 |
tools/recovered_objective.py | 本地 Penalty 计算、输入解析和分组工具 |
tools/evaluate_solver.py | 标准本地评估入口,输出均分、逐 case、合法性和耗时 |
tools/strategy.py | 已有贪心策略回放代码,可作为候选实现参考 |
logs/solver_log.md | 当前最优、逐 case 结果、失败方向和迭代历史 |
candidate_solvers/solver_<strategy_name>.py | 迭代阶段候选求解器 |
examples/example_solution.py | 简单贪心 solver 示例 |
data/*.txt | 本地评估数据集 |
data/provided/ | 原始输入文件副本,只作留档参考 |
最终提交用的 solver.py 放在项目根目录;在迭代阶段不要用它替代候选文件,除非用户明确要求评估或生成最终输出。
求解器必须定义:
def solve(input_text: str) -> list:
...
输入是制表符分隔的候选派单表:
task_id_list courier_id total_score willingness
输出格式:
[
("T0001", ["C001", "C009"]),
("T0002,T0005", ["C003"]),
]
必须满足:
courier_id 在所有输出分组中最多出现一次。task_id_list 允许多个备选骑手,但必须合并到同一个输出项的 courier_ids 列表中。(task_id_list, courier_id) 必须精确存在于输入候选池,不能混用单单和合单的 score 或 willingness。目标是最小化总 Penalty。根据项目内逆向结果,Penalty 由未覆盖订单惩罚和每个输出分组的期望惩罚组成;详见 docs/AutoSolver.md 和 tools/recovered_objective.py。
执行任何操作前先确认 PROJECT_ROOT。优先级:
data/、candidate_solvers/、tools/recovered_objective.py。AutoSolver/ 子目录。AutoSolver 目录。后续所有相对路径都以 PROJECT_ROOT 为基准。
先读:
README.mdlogs/solver_log.mddocs/AutoSolver.md当前真实官方最好记录是 candidate_solvers/solver_round37_adaptive_topn.py,官方均分 724.07,完成 10/10。当前根目录 solver.py 是 38 轮可测结构上的 low-timeout 修复版,备份为 candidate_solvers/solver_round38_lowtimeout.py;本地均分 687.94,目标是让官方 low_willingness 不再超时后回到约 723.x。如果日志被更新,以最新日志为准。
按任务选择一个或多个分 skill:
| 场景 | 使用 |
|---|---|
| 用户要求完整自动优化或继续迭代 | 先读 loop/SKILL.md,再按其中流程调用 strategies 和 evaluate |
| 用户要求选择下一轮策略方向 | 读 strategies/SKILL.md,结合 logs/solver_log.md 判断 |
| 用户指定候选 solver 要评估 | 读 evaluate/SKILL.md,使用统一合法性检查和 Penalty 口径 |
用户要求生成最终 solver.py | 先用 loop 确认终止条件,再整理当前最优候选为自包含文件 |
候选策略写入:
candidate_solvers/solver_<strategy_name>.py
候选文件必须提供 solve(input_text: str) -> list。迭代阶段可以参考或复用项目工具;最终 solver.py 必须自包含,只依赖 Python 标准库。
优先从 strategies/SKILL.md 的方向中选择:
MULTI_ADAPTIVE_K、MULTI_TOP_K_SEARCHEV_GREEDY、EV_MARGINSINGLE_FIRST_BUNDLE_BACKFILL每个候选都必须使用 evaluate/SKILL.md 的统一流程评估:
data/*.txttools/recovered_objective.pypython tools\evaluate_solver.py <candidate>format_error评估后把结果写入 logs/solver_log.md,记录策略文件、参数、平均 Penalty、与当前最优差值、逐 case 明细、状态和下一步判断。
如果评估使用的是额外合成的样例数据,还要把样例构造方式、结果摘要和策略启发同步记录到 strategies/SKILL.md 的对应策略段落中;真实 data/*.txt 的正式对比结果仍以 logs/solver_log.md 为准。
scarce_couriers、low_willingness 等关键 case 退化,要优先考虑分场景策略。loop/SKILL.md 的阶梯切换到组合策略、高级策略或目录外新假设。本总 skill 目录应保持如下结构:
skill-autosolver/
SKILL.md
loop/
SKILL.md
strategies/
SKILL.md
evaluate/
SKILL.md
三个分 skill 是具体操作手册。使用时先读本文件确定入口,再打开对应分 skill 的 SKILL.md 执行详细流程。
data/provided/,它是原始输入留档。solver.py,除非已经进入最终整理阶段。Cannot read properties of undefined (reading 'slice'),后续提交优先沿 38 轮可测结构小步修改:保持顶层 def solve(input_text: str) -> list,避免大规模入口重构、强制映射表和平台不熟悉的提交形态。skill-autosolver/ 目录下创建候选策略、日志或最终 solver。