Dissecting AI
All modules

Teaching an Assistant When to Stay Silent

Proactive assistants can speak too early or repeat themselves; tool-integrated GRPO uses benchmark-verifiable rewards to train the generator to give one timely reminder—or stay silent.

The short version

What it is

  • Tool-integrated training The assistant requests memory evidence through a tool, then learns from its own decision to give a reminder or stay quiet.
  • Binary timing reward Training rewards a good reminder only when it is due and has not already been given; correct silence is also rewarded.
  • GRPO The trainer compares several sampled responses to the same situation and favors the responses with better rewards.

Why it matters

A proactive assistant can know the right fact and still interrupt at the wrong time or repeat itself. Training the decision policy makes restraint and timing part of the learned behavior, not just the wording of a reminder.

Before getting into the training recipe, here’s the simple idea: the assistant practices decisions in the same tool loop it will use at inference time. It gets evidence from memory, then learns whether to speak now, wait, or stay silent. That matters because a useful reminder delivered too early—or delivered again after it was already said—is still a bad interruption.

  1. Timing: The assistant can have the right evidence and still choose the wrong moment. Think of a calendar reminder: knowing the meeting exists is not enough; the reminder has to arrive when it can help. The benchmark gives a trigger window, so the model has to learn when that window is open.

  2. One-time behavior: A reminder should not keep firing after it has been delivered. The canonical example is an unresolved intention tied to something in view: the first timely nudge may help, but repeating it at every later observation is noise. The assistant’s prior fires therefore matter when deciding whether the next action should be silence.

  3. Learning the choice, not the memory: In the training loop, the assistant asks a retrieval tool for evidence and the tool returns its refined result—or nothing. The model is trained on its own observation call, reasoning, and answer, not on the evidence tokens that the tool supplied. That’s a useful separation: the model learns how to act on evidence without being rewarded for copying the retrieval system’s output.

So what does the reward actually teach? At each step, the benchmark says whether the gold action is to fire or stay silent. The mechanism is like a small checklist: is this step inside the trigger window, and has the assistant already spoken? If the answer is “in window” and “not yet,” a fire is due; otherwise the right action is silence. In the paper’s notation, gt=fireg_t=\text{fire} exactly when t∈Wt\in W and no earlier action was a fire. In words, fire only during the allowed window and only once.

A fire also has to contain an acceptable reminder. The reward is binary: correct silence or a correctly timed, good-quality reminder gets positive credit; misses, false or repeated fires, low-quality reminders, and malformed output do not. A wrongly timed fire is not sent to the content judge. I like the clarity of that target, though a binary reward necessarily gives little information about how close a failed response was.

How does the model learn from that signal? It samples several responses for the same state, then GRPO uses their relative rewards to update the policy. The reported setup uses four rollouts per state. So the model can compare, in effect, an early reminder, a useful in-window reminder, and silence when it has already spoken. The harness still supplies the memory evidence; this training stage is about the generator’s firing policy, not about deciding which memories should be retrieved. And the question that remains is whether the improved policy trades fewer unwanted interruptions for better overall reminder performance.

Read the deep dive

Why People Wanted It

A proactive assistant can have the right memory and still interrupt at the wrong moment. It may fire before an intention is actionable, keep speaking after it has already reminded you, or stay silent when the reminder is due. The real question is not simply whether the model can write a good reminder: can training teach it when a reminder is warranted, and when the right action is no action?

The retrieval system supplies evidence, but the generator still chooses what to do with it. In the reported setup, even correct evidence at every step did not prevent the generator’s timing performance from collapsing. Post-training targets that firing policy rather than asking retrieval to solve a decision it cannot make.

The Core Move

Train the generator inside its tool-using loop with a binary reward for the combined decision: speak once, in the trigger window, with an acceptable reminder—or stay silent when that is the correct action.

At time tt, the gold action is fire only if tt is in the trigger window and no earlier fire has occurred; otherwise it is silent. A correctly timed, high-quality reminder and a correct silence receive positive credit, while unsuccessful outcomes receive the other reward. The evidence returned by the tool is context, not something the generator should learn to reproduce.

Quiz
What makes a fire the correct action at a decision step?
The assistant has not yet generated any reasoning.
The step is in the trigger window and no earlier fire has occurred.
The evidence is relevant, regardless of timing or earlier reminders.
The model can produce a fluent reminder.

Why Evidence Is Context, Not an Action to Learn

Here is the part that gets technical: the policy is optimized over a tool-integrated rollout, but the retrieved evidence is injected by the harness rather than generated by the model. The generator observes the current frame, calls retrieval using the object in focus, receives refined evidence or none, then produces its reasoning and answer. The policy loss therefore masks the evidence tokens and applies only to generator-produced tokens: the observation call, reasoning, and answer. This keeps the learning signal attached to the choices the generator controls, instead of rewarding it for copying tool output.

Why the Reward Makes Timing and Repetition One Decision

Now the version for readers who want more of the machinery: the gold action depends on both the trigger window and the history of previous fires. If WW is the trigger window and yt′y_{t'} records an earlier action, then gt=fireg_t=\text{fire} exactly when t∈Wt\in W and there is no earlier t′<tt'<t with yt′=firey_{t'}=\text{fire}. In words, fire only while the reminder is due and still unsaid; every other step has the gold action silent.

The reward is binary and benchmark-verifiable. Correct silence is rewarded; a fire is rewarded only when it is correctly timed and its reminder passes the content-quality judgment. A miss, a false or repeated fire, low-quality content, or malformed generation falls into the unsuccessful outcome. A wrongly timed fire is not sent to the content judge. This makes non-repetition part of the action target, not a separate preference that can be traded away for more fluent reminders.

Why Group-Relative Optimization Fits This Reward

The deeper optimization move is to sample multiple responses for the same state and compare their rewards within that group. With G=4G=4 rollouts per state, GRPO uses those relative outcomes to update the generator without requiring a separate learned value model in this described setup. The binary reward makes the comparison concrete: among attempts at the same decision, the policy is pushed toward the ones that get the action and reminder right, and away from early, repeated, or otherwise unsuccessful interventions. What remains is whether this policy improvement actually shows up beyond the harness’s own evaluation setting.

Minimal Causal Code

This deliberately plain loop makes the state update visible. gold_action implements the benchmark target; binary_reward stands for the benchmark’s action-and-content check. A real GRPO trainer also groups rollouts and computes policy-gradient updates.

for state in training_states:
    group = []
    for _ in range(4):
        object_query = generator.observe(state.frame)
        evidence = harness.retrieve_and_gate(object_query, state.frame)
        reason, answer = generator.decide(state.frame, evidence)

        gold = "fire" if (
            state.in_window and not state.already_spoken
        ) else "silent"
        reward = binary_reward(
            action=answer.action,
            reminder=answer.reminder,
            gold_action=gold,
            content_check=state.content_check,
        )
        group.append((object_query, reason, answer, reward))

    # Update the policy from group-relative rewards.
    generator.grpo_update(group, mask_tool_evidence=True)

    # The next decision sees whether this rollout has already fired.
    state.already_spoken = state.already_spoken or any(
        item.answer.action == "fire" for item in group
    )

What You Gain, and What You Lose

The reported comparison adds GRPO on top of the ProPerAgent harness. On the windowed setup, Perfect rises from 37.5% to 42.4%; on streaming, it rises from 33.3% to 40.6%. The breakdown is not a uniform win: windowed Hit moves from 54.6% to 54.0%, while over-triggering falls from 22.3% to 13.5%; streaming Hit moves from 60.0% to 60.4%, while over-triggering falls from 32.8% to 25.3%. The useful story is a better balance of timing and restraint, not that every metric improves.

The reward also has a cost: content quality depends on a judge, and a binary signal does not say how close a failed response came to being useful. Training is tailored to the benchmark’s trigger windows, history, and reward checks; it does not by itself guarantee good intervention policy in situations those checks do not cover. And because the tool supplies the evidence, this stage teaches the generator’s behavior around evidence—it does not repair retrieval or decide which memories deserve to surface.

Quiz
Why are evidence tokens masked from the policy loss in this setup?
Because evidence is always irrelevant to whether to speak.
Because GRPO cannot process text tokens.
Because evidence is injected by the tool, not generated by the policy being trained.
To make the model generate its own replacement memories.
Core Takeaway

A good proactive policy learns that the right reminder is a one-time act—and that silence is an action too.