33 lines
1.6 KiB
TOML
33 lines
1.6 KiB
TOML
# grand-exchange-live — see environments/grand_exchange_live for what it measures.
|
|
#
|
|
# uv run --project environments/grand_exchange_live eval @ configs/grand_exchange_live.toml \
|
|
# --model <model-id>
|
|
#
|
|
# Eight looks per episode against one basket, so a rollout here costs roughly eight times a
|
|
# one-shot `grand-exchange` rollout in requests and rather more than that in tokens: the
|
|
# whole conversation is replayed to the model on every segment. `num_tasks` is half the
|
|
# one-shot config's for that reason, not because fewer baskets measure better — realised
|
|
# P&L over sixty ticks is the noisiest number in this repository and the ladder is read
|
|
# over five blocks of twenty-four.
|
|
num_tasks = 8
|
|
num_rollouts = 2
|
|
|
|
[env.taskset]
|
|
id = "grand-exchange-live"
|
|
num_items = 5 # items in the basket, one per price tier
|
|
visible = 56 # warmup ticks, read before the first look
|
|
# The graded window is not configurable: 8 looks x 7 ticks + a 4-tick tail = 60, and every
|
|
# constant in the reward was measured against that shape (`measure_ladder.py --sweep-shape`).
|
|
|
|
[env.agent.harness]
|
|
id = "null" # pure-trace reward: a chat loop, no tools, no runtime
|
|
|
|
[env.agent.runtime]
|
|
# ⚠️ REQUIRED since verifiers 0.3.1, which changed the default agent runtime from
|
|
# `subprocess` to `prime` — a REMOTE sandbox. Without this the run exits
|
|
# `SystemExit: not authenticated with prime` before a single rollout, having already created
|
|
# its output directory and a zero-line traces.jsonl, so it reads as a failed eval rather than
|
|
# an unauthenticated one. Nothing here needs a sandbox: the reward is a pure function of the
|
|
# trace and the harness is `null`.
|
|
type = "subprocess"
|