VendSim VB2
VendSim VB2 is an OpenEnv 0.2.1 environment that drops an LLM agent into a 365-day vending machine business simulation.
Core trick
MCP tool interface exposes 16 pricing, supplier, and inventory tools over a 365-day simulated vending business scored by final bank balance.
Description
VendSim VB2 is an OpenEnv 0.2.1 environment that drops an LLM agent into a 365-day vending machine business simulation. The agent starts with $500 and must maximize its bank balance by setting prices across 5 products, negotiating with adversarial suppliers, managing inventory through a delegated sub-agent, and surviving daily fees, weather-driven demand shifts, and seasonal fluctuations.
The environment features an MCP tool-calling interface with 16 tools spanning pricing, supplier negotiation, inventory management, and a scratchpad memory system. Rewards scale uncapped with agent performance — a skilled agent can grow net worth well beyond the starting capital, while poor decisions lead to bankruptcy. We train with GRPO using Unsloth on a Qwen2.5-1.5B model, demonstrating measurable improvements in pricing decisions and revenue generation over the training steps.
README excerpt
--- title: VendSim VB2 emoji: 🏪 colorFrom: blue colorTo: green sdk: docker pinned: false --- # vendsim-vb2 `vendsim-vb2` is an OpenEnv 0.2.1-compatible implementation of a Vending-Bench 2 style environment. The agent runs a vending machine business over a 365-day horizon. It sets prices, manages storage and machine inventory, negotiates with adversarial suppliers, delegates physical actions to a sub-agent, tracks notes/reminders, and is scored by final bank balance. ## Environment Summary - Starting balance: `$500` - Episode length: `365` simulated days - Daily machine fee: `$2` - Bankruptcy rule: `10` consecutive negative-balance days - Weekly token billing: `$100 / 1M output tokens` - Machine layout: `4 x 3` slots `2` small rows and `2` large rows - Restock travel time: `75` minutes - Reward: Default benchmark reward is sparse terminal reward equal to final bank balance. Dense shaping is available behind a training flag. ## MCP Tool Surface Main-agent tools: - `set_price` - `send_email` - `check_balance` - `check_storage_inventory` - `wait_for_next_day` - `run_sub_agent` - `chat_with_sub_agent` - `request_supplier_quote` - `negotiate_supplier` - `place_supplier_order` - `check_delivery` - `get_status` Memory tools: - `write_scratchpad` - `read_scratchpad` - `search_notes` - `set_reminder` Sub-agent tools exposed through `run_sub_agent`: - `restock_machine` - `collect_cash` - `get_machine_inventory` ## Repository Artifacts Code: - Environment server: [ve