GO TO A SECTION

↑ ↓ to navigate · Enter to openExplore all sections →
FDEInterviews logo
arXiv preprint

Vending-Bench: A Benchmark for Long-Term Coherence of Autonomous Agents

An LLM agent runs a simulated vending machine for months: order stock by email, set prices, pay a $2 daily fee. Claude 3.5 Sonnet averaged $2,218 in net worth, and every model had runs that derailed.

Breakdown by FDE Interviews · 11 min read · Updated

About the original · 2025
AUTHORS
Backlund, Petersson
FROM
Andon Labs
PUBLISHED
Feb 2025 · arXiv preprint
CITED BY
93Semantic Scholar · Nov 2026
IN THIS BREAKDOWN · 10 SECTIONS

You can read 23% of this breakdown.

01

The paper in one minute

Andon Labs built a benchmark where each step is easy and the difficulty is staying on track for a long time. An LLM agent owns a vending machine with 12 slots and starts with $500. Every day costs $2. To make money it must find products, email wholesalers to order them, wait for delivery, have them stocked, set prices, and collect the cash.

The agent works in a loop that keeps the last 30,000 tokens of history. It can write to a scratchpad, a key-value store and a vector database, read and send email, search the web, and check inventory and money. Physical actions, such as stocking the machine, collecting cash and setting prices, go through a sub-agent it instructs. Supplier replies are generated by GPT-4o from real information about the wholesaler the agent contacted. Customer demand comes from a model of price elasticity per product, with weekday, month and weather effects. A run lasts 2,000 messages, around 25 million tokens and 5 to 10 hours, or ends if the agent cannot pay the fee for 10 days in a row. Each model ran five times. The score is net worth: cash, cash in the machine, and unsold stock at cost.

Claude 3.5 Sonnet averaged $2,217.93 and o3-mini $906.86, ahead of a human who played once for five hours and ended at $844.05. Every model also had runs that sold nothing. The common failure is mundane: the agent assumes an order has arrived on the expected date, the sub-agent reports nothing to stock, and the agent concludes something is broken. From there runs went off course: Sonnet tried to report the $2 fee to the FBI, Claude 3.5 Haiku sent escalating legal threats to a supplier, and o3-mini typed out tool calls as text for about 1,300 messages. The authors find no clear relation between collapse and the memory window filling.

THE IDEA, VISUALLY
NET WORTH: MEAN AND WORST RUN (TABLE 1) Claude 3.5 Sonnet $2,218 o3-mini $907 Human (1 run) $844 Gemini 1.5 Pro $594 GPT-4o mini $582 Gemini 1.5 Flash $572 Claude 3.5 Haiku $373 Gemini 2.0 Flash $338 GPT-4o $335 Gemini 2.0 Pro $274 $500 start red tick = worst run. An agent that never acts ends a ~62-day run near $376; Haiku's mean is $373 (ours). DAY SALES STOPPED VS DAY MEMORY FILLED (T. 9) same day Sonnet o3-mini 1.5 Pro 4o mini 1.5 Flash Haiku 2.0 Flash 4o 2.0 Pro 0 0 40 40 80 80 120 120 day memory filled day sales stopped Pearson r: 0.167 as published; 0.81 without 2.0 Pro, whose mean equals its minimum (our calculation). arXiv 2502.15840, Andon Labs
Left: mean and worst net worth over five runs per model (one run for the human), from Table 1; every agent starts with $500. Claude 3.5 Sonnet's mean is the highest at $2,217.93, but its worst run ended at $476, and Claude 3.5 Haiku's mean of $373 is about what an agent that never acted would hold after its typical run length (our estimate). Right: Table 9's day sales stopped against the day the agent's 30,000-token memory filled, per model. The paper reports a correlation of 0.167 and reads it as no link to context length; without the one outlier, Gemini 2.0 Pro, the correlation is 0.81 (our calculation).
Research notes: the problem, approach and results
$2,217.93

Claude 3.5 Sonnet's mean net worth over five runs, against a human's $844.05 (Table 1)

$476

Sonnet's worst run: below the $500 it started with (Table 1)

0.167 vs 0.81

correlation of collapse day with memory-full day, as published and without one outlier (our calculation)

THE PROBLEM

LLM agents handle short tasks well, but real deployments need them to stay coherent over weeks: remembering orders, tracking money, recovering from small mistakes. Most agent benchmarks are too short to show whether that holds.

THE IDEA

Simulate a vending machine business. The agent emails simulated wholesalers, waits for deliveries, has a sub-agent stock the machine and set prices, and pays a daily fee, with simulated customers who respond to price, weather and weekday. Score net worth after up to 2,000 messages, about 25 million tokens per run.

THE RESULT

Claude 3.5 Sonnet and o3-mini usually turned a profit, and Sonnet's mean beat a human's single run. All models had runs that collapsed, typically after misreading a delivery as arrived and then spiraling into irrelevant loops. Collapse did not line up with the memory window filling, by the paper's measure.

02

Why it matters to an FDE

Plan for variance across runs, not just average quality. Sonnet's best runs made thousands of dollars and its worst lost money. A customer deploying an agent for an ongoing process experiences individual runs, so report the worst case and the share of runs that derail, not only the mean.

Give the agent a way to check state rather than assume it. Every collapse in the paper began with a belief about the world (the order arrived) that the agent did not verify. Design tools that return ground truth on demand (open orders, delivery status) and prompts that require checking before acting on an assumption.

Detect derailment and stop. The derailed runs kept consuming tokens for hundreds of messages. Production agents need monitors for loops, repeated failures and off-task actions, with a path to a human.

Compare with doing nothing. An agent that never acted would end each run with $500 less $2 a day. Some models' means were close to that. For any agent that manages money, inventory or tickets, compute the do-nothing outcome before claiming value.

Memory tools are not used just because they exist. Sonnet wrote a detailed daily summary to its scratchpad and never read it back. If the design depends on the agent consulting its notes, make reading them part of the loop.

THE FULL BREAKDOWN

Understand the mechanism. Try it on a real problem.

Unlock this breakdown and 290 more papers.

Premium opens every paper in full, plus every answer, concept, course and guide on the site. One payment for six months of access.

6 months · One payment · No auto-renewal

Get Premium · ₹2,000 / $25
  • ◇1 architecture diagram
  • </>1 runnable code experiment
  • ▦2 results tables
  • ?5 interview questions with answers
  1. 03Key takeaways

    The environment, scoring, results, failure modes, configuration and memory experiments, and caveats

    Free account
  2. 04How it works

    The agent loop, tools, sub-agent, supplier and customer simulations, configuration and scoring

    Premium
  3. 05The numbers that matter

    Table 1 means and minimums, run lengths, tool use, configuration and memory variations, Table 9

    Premium
  4. 06Try it yourself

    Compare with a do-nothing agent, recompute Table 9, check traces, and simulate five runs

    Premium
  5. 07Where it breaks

    Five runs, one human, a simulated world, one agent design, and a fragile correlation

    Premium
  6. 08Using it on a deployment

    Ground-truth tools, assumption checks, derailment monitors, run-level reporting and baselines

    Premium
  7. 09Interview angles

    Five questions this paper prepares you for, with answer hints

    Premium
Back to the paper library →