Procedural Assistance Memory for Proactive Robot

Dohyun Lee*, Minho Park*, Jeonghoon Park, Dongyoon Hwang, Junha Hyung, Sungwon Hwang, Byungkun Lee, Jaegul Choo

KAIST AI

* indicates equal contribution.

Video coming soon

A robot that has watched this user for a few days brings the milk before it is asked for.

Abstract

Proactive robot assistance requires acting on user needs before explicit requests, but zero-shot vision-language models struggle in this setting: lacking knowledge of the user's personal routine, they treat every situation as general and uncertain, defaulting to inaction rather than risking an incorrect intervention. We observe that everyday routines are highly repetitive, so even a few interactions reveal stable user-specific patterns that can ground proactive decisions. Based on this, we propose a System 1–2 framework in which a VLM task predictor reads a Procedural Assistance Memory (PAM) alongside the current observation to decide when and how to assist, and a VLA executor realizes the predicted task as low-level robot action. PAM is structured as a finite-state machine over activity phases, per-state assistance rules, and event-driven transitions; a reflection VLM revises PAM from each day's interaction trace without weight updates or retraining. We evaluate on a multi-day desk-assistance scenario with six pick-and-place tasks. Memory-free baselines remain conservative across all five evaluation days, yielding near-zero recall on proactive tasks. Our system improves consistently with accumulated experience, achieving the highest precision, recall, and F1 and reducing first-fire delay from approximately 5 seconds on Day 1 to 1 second by Day 5. Ablations further show that the FSM structure, rather than memory alone, is the primary driver of these gains.

The same scene, a different right answer

Three ways to respond to a person arriving at a desk with a bowl: explicit command, intention prediction, and memory-based prediction.

A person sits down with an empty bowl. Oatmeal? Cereal? Yogurt? Nothing in the scene settles it — the answer lives in the user's habits, not in the pixels. A zero-shot VLM, unable to tell which of several plausible interventions is the right one, does the safe thing and does nothing. That conservatism runs deep: LIT and Event-Driven rarely fire on any proactive task, at near-zero recall throughout the five days. The Zero-shot VLM does fire more often, but it plateaus after Day 1 — five days of repeated exposure to the same routine never sharpens it further.

The missing information is learnable, and cheaply. Everyday routines repeat, so a handful of days of watching one person is enough to fix what "a bowl on the desk" means for this person. PAM accumulates exactly that, at deployment time, with no weight updates.

Architecture

Overview: a VLM task predictor reads PAM and recent frames to set a task for the VLA executor; a reflector updates PAM at the end of each day.

System 1–2, split. Once per second, a Qwen3.5-27B task predictor (thinking off) reads the PAM memory together with the last W = 5 frames and emits either a language subtask — "bring milk" — or NO_ACT. Anything that is not NO_ACT goes to a π0.5 executor fine-tuned on the six atomic skills, which turns it into robot action. Neither model has to do the other's job, which is exactly the failure mode of a monolithic VLA under limited robot data.

The memory writes itself. At the end of each day, a reflector — the same backbone, thinking on — watches the day's recording and rewrites PAM: adding the assistive opportunities the robot missed, broadening triggers that fired too late, introducing new states, and revising rules that no longer match what the user does. No gradients, no retraining, no human writing rules.

Camera setup: two back-facing cameras observe the user and the desk; a wrist camera provides close-up grasp context.

A Franka Research 3 arm and three RealSense cameras. The VLM stack sees only the two back-facing views; the VLA additionally sees the wrist camera.

Six Proactive Tasks

The six tasks form one continuous desk routine. The robot is never told which one to do, or when — it is given a single fixed prompt, "Proactively help the user before they ask.", and must decide the rest.

Six real desk-camera frames, one per task, each with the task-relevant object circled in yellow: a milk bottle, a cereal bag, a bowl, and a used wet wipe on the same cluttered desk.

The six tasks are not independent demos. They form one continuous desk routine, in the order a single morning actually unfolds — which is what makes knowing when to act as hard as knowing what to do.

Video coming soon

T1 · Cereal → Person

Pick up the cereal and place it next to the person.

Video coming soon

T2 · Milk → Person

Pick up the milk and place it next to the person.

Video coming soon

T3 · Cereal → Storage

Pick up the cereal and place it in the designated storage area.

Video coming soon

T4 · Milk → Storage

Pick up the milk and place it in the designated storage area.

Video coming soon

T5 · Bowl → Storage

Pick up the bowl and place it in the designated storage area.

Video coming soon

T6 · Used wet wipe → Trash

Pick up the used wet wipe and place it in the trash can.

Watch the Memory Write Itself

Every night, the reflector watches the day's recording and edits PAM. Step through the days to see what it changed: is a state added that night, is an existing state whose rules changed, and blue text in the rules on the right marks what was added, broadened, or — on the Routine Change day — rewritten.

The FSM memory on Day 3, Day 5, and after a routine change.

The FSM memory on Day 3, Day 5, and after the routine change (paper, Fig. 7).

Results

Per-day precision, recall, F1, and first-fire delay for all methods across five days.

Memory-free baselines never move: with no knowledge of the routine they fall back on NO_ACT, and their recall on the six proactive tasks stays near zero for all five days. Our FSM memory climbs every day, and the robot fires sooner as it goes — first-fire delay falls from about 5 seconds on Day 1 to about 1 second by Day 5.

Self-evolving memory compared against a memory frozen after Day 1 and a zero-shot VLM.

Having a memory is not the point — keeping it up to date is. A memory frozen after Day 1 gains once, then tracks the zero-shot curve. Only the self-evolving memory keeps pulling away, and the gap widens with every day of reflection.

Per-task precision, recall, and F1 for every method.

Memory helps most exactly where the scene is not enough: T2 (Milk→Person) and T3 (Cereal→Storage), where what to do next depends on this user's habitual pairing rather than on anything visible. The FSM's lead over a flat list is largest on the put-away actions, which must fire within a narrow window and are easily confused with similar moments elsewhere in the routine.

Closed-Loop Execution

The same moment of the routine, run by three systems. A monolithic π0.5 has to learn when to act and how to act inside one network, under 10 demonstrations; it does neither well. Splitting the two lets each half be good at its job.

π0.5

Video coming soon

π0.5 (Reasoning)

Video coming soon

Ours

Video coming soon
Method Cereal→Person Milk→Person Cereal→Storage Milk→Storage Bowl→Storage Wet wipe→Trash
π0.5 7 / 101 / 106 / 100 / 105 / 104 / 10
π0.5 (Reasoning) 6 / 100 / 100 / 100 / 105 / 105 / 10
Ours 9 / 103 / 10 8 / 105 / 10 8 / 108 / 10

Task-wise success rate over 10 trials each. Milk→Storage is among the harder skills — it needs a grasp on the rounded milk cap — and neither monolithic variant lands it once: a single prompt stretched across all six tasks leaves no capacity to specialize on any of them.

Does It Only Work on One Routine?

A harder routine, with almost no cues

The medication routine: the person enters empty-handed, takes a pill with water, then drinks a Coke while working.

In the desk routine, an empty bowl is a strong hint. So we built a routine that offers almost none: the user walks in empty-handed, takes a pill with water, then drinks a Coke while working. Nothing on the desk says what comes next — which is precisely the knowledge a memory is supposed to supply.

Five-day results on the medication routine.

The FSM memory still improves day over day and still leads on precision, recall, and F1, cutting first-fire delay from roughly 17 seconds to about 10. The event-driven baseline, with no memory and nothing in the scene to react to, never fires at all.

What if the user's routine changes entirely?

Adapting a memory built on one routine to a different one, in both directions.

Loading a memory built for a different routine and freezing it is worse than having no memory at all — the old routine's vocabulary fires false positives on the new content. But leave the reflector running and the problem evaporates: it starts a step behind on Day 1, but by Day 3 it has replaced the stale pairs and caught up with a memory started from scratch. A deployed robot does not need its memory wiped when the user's life changes.

BibTeX

TBA