# 40 robot tasks, demonstrations skipped

Ruben Verhack, 2026-11-05. https://vesper.dev/blog/robot-demonstrations-dont-scale/

LIBERO is the simulation benchmark most robot model papers report. Researchers at UT Austin built it in 2023 to study robots that learn one task after another and carry what they learned over to the next ([LIBERO](https://papers.neurips.cc/paper_files/paper/2023/file/8c3c666820ea055a77726d66fc7d447f-Paper-Datasets_and_Benchmarks.pdf)). Its four standard suites have 10 tasks each, and each suite tests one thing: where objects stand, which object it is, what to do in the same kitchen, and two goals in a row. Every task comes with a scene, an instruction in plain language ("put the bowl on the plate") and a check that says when the goal is reached.

<figure class="post-figure">
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1px;padding:1px;background:var(--rule)">
<div style="background:var(--paper)"><div style="display:flex;justify-content:space-between;gap:12px;padding:8px 12px;font-family:var(--mono);font-size:11px;line-height:16px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--rule)"><span><span style="color:var(--ink);margin-right:8px">01</span>Mug in, door closed</span><span>LIBERO-10</span></div><video style="display:block;border:0" src="/blog/robot-demonstrations-dont-scale/mug-in-microwave.mp4" poster="/blog/robot-demonstrations-dont-scale/mug-in-microwave.jpg" autoplay muted loop playsinline aria-label="The robot puts a mug in the microwave and closes the door, in simulation"></video></div>
<div style="background:var(--paper)"><div style="display:flex;justify-content:space-between;gap:12px;padding:8px 12px;font-family:var(--mono);font-size:11px;line-height:16px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--rule)"><span><span style="color:var(--ink);margin-right:8px">02</span>Drawer open, bowl in</span><span>LIBERO-Goal</span></div><video style="display:block;border:0" src="/blog/robot-demonstrations-dont-scale/bowl-in-top-drawer.mp4" poster="/blog/robot-demonstrations-dont-scale/bowl-in-top-drawer.jpg" autoplay muted loop playsinline aria-label="The robot opens the top drawer and puts the bowl inside, in simulation"></video></div>
<div style="background:var(--paper)"><div style="display:flex;justify-content:space-between;gap:12px;padding:8px 12px;font-family:var(--mono);font-size:11px;line-height:16px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--rule)"><span><span style="color:var(--ink);margin-right:8px">03</span>Bowl in, drawer closed</span><span>LIBERO-10</span></div><video style="display:block;border:0" src="/blog/robot-demonstrations-dont-scale/bowl-in-bottom-drawer.mp4" poster="/blog/robot-demonstrations-dont-scale/bowl-in-bottom-drawer.jpg" autoplay muted loop playsinline aria-label="The robot puts the bowl in the bottom drawer and closes it, in simulation"></video></div>
<div style="background:var(--paper)"><div style="display:flex;justify-content:space-between;gap:12px;padding:8px 12px;font-family:var(--mono);font-size:11px;line-height:16px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--rule)"><span><span style="color:var(--ink);margin-right:8px">04</span>Stove on, moka pot on</span><span>LIBERO-10</span></div><video style="display:block;border:0" src="/blog/robot-demonstrations-dont-scale/moka-pot-on-stove.mp4" poster="/blog/robot-demonstrations-dont-scale/moka-pot-on-stove.jpg" autoplay muted loop playsinline aria-label="The robot turns on the stove and puts the moka pot on it, in simulation"></video></div>
</div>
<figcaption>Four of the 40 LIBERO tasks, run on Vesper in Isaac Sim. No demonstrations, no human programming: the Vesper agent wrote each program, and it passed unchanged from 10 other starting positions.</figcaption>
</figure>

The usual way to run it is to record 50 human demonstrations per task and train a model on them. The best models then score around 97% ([LIBERO-Plus](https://arxiv.org/abs/2510.13626), [LeRobot](https://huggingface.co/docs/lerobot/libero)). So LIBERO is saturated, the tasks are known up front and the scenes only shift a little. We didn't compete there. **We used its scenes, tasks and checks in a whole new league: without demonstrations.**

We ran all 40 tasks on Vesper with zero human programming, nobody writing or tuning code. The Vesper agent wrote each program on LIBERO's first starting position, the program then ran unchanged from 10 other starting positions and passed every time.

## Spec in, program out

In Vesper we take in the task specification and develop the robot program from it. LIBERO contains exactly that: the scene, the prompt and the evaluation. A plant writes the same down for a new station: the cell, what the robot has to do and how acceptance is checked. So the benchmark suits us, we just approach it a bit differently. Where the models learn each task from demonstrations, the Vesper agent reads the task and generates the program.

With one camera, Vesper finds the objects, plans the motion, moves the arm and checks the result. No language model runs while the robot moves.

## Without a human in the loop it scales

**Zero demonstrations and zero programming take the human out of the loop completely.** We were given virtual scenes, and those can be created on the fly or reconstructed from a real cell. The Vesper agent writes the program, runs it in simulation and fixes it until the check passes, and only then does it go to the robot. A new task costs compute time, which makes this massively scalable.

## One program per task is what a plant wants

LIBERO is laid out to test one model that does every task. Our game is intrinsically different: the program has to be predictable and tailored to the task description. A task can still be broad. One program can branch on what the camera sees, for example which object comes in, and run the right sequence for it. In manufacturing you don't want unpredictable control. **As long as reprogramming is dead cheap, a program per task is a strong asset for safety and reliability.**

We'll be reporting on other benchmarks soon. First up is [LIBERO-PRO](https://arxiv.org/abs/2510.03827), which swaps the objects, moves them further and rewrites the tasks. That is where generalization really gets tested.
