任务
每个 Case 提供一个 6–20 行、6–20 列的仓库和完整公开的货物到达排列。叉车必须存放全部到货,按编号顺序取回,并返回入口。
Policy 一次性输出完整指令程序。Environment 在 500,000 字符限制下原子化地解析、校验并执行。
Policy 接口
Warehouseman 是一步构造任务。初始 Observation 包含生成完整解所需的全部公开输入。
| Observation 字段 | 含义 |
|---|---|
rows / columns | 仓库尺寸,范围均为 6–20 |
arrivals | 完整货物到达排列 |
instruction_limit | 最大输出长度:500,000 字符 |
返回一个 ASCII 指令字符串,使用移动、拾取、放下、装载和卸载操作。
| Action | 含义 |
|---|---|
N W S E | 移动叉车 |
P D | 拾取到货或交付货物 |
LN LW LS LE | 装载相邻已存货物 |
UN UW US UE | 卸载到相邻格子 |
评估
| 量 | 定义 |
|---|---|
| 完成条件 | 存放全部到货、按编号取回并返回入口 |
| Benchmark 得分 | 官方归一化指令成本的平均值 |
| Policy failure | 计为有界成本 1,000,000 |
Feedback
Feedback 报告归一化成本、指令长度、完成解、失败与 diagnostics 覆盖。
| 字段 | 含义 |
|---|---|
mean_normalized_cost | 主要 Benchmark 得分 |
mean_instruction_characters | 已完成解的平均输出长度 |
completed / policy_failures | Episode 结果计数 |
diagnostic_episodes | diagnostics 覆盖的 Episode 数量 |
diagnostics.jsonl | 有界的逐 Episode 完成与成本 diagnostics,不包含原始到货排列或指令字符串。 |
使用 distribution
从仓库根目录构建这个可独立安装的叶子 project:
uv sync --project environments/codechef/june18/warehouseman --extra dev
uv build environments/codechef/june18/warehouseman该 package 导出:
from warehouseman import WarehousemanBenchmark, baseline_program
benchmark = WarehousemanBenchmark()
program = baseline_program()