← index

EnvRate: measuring real-time interaction in task-relevant bits

One cross-modal unit — bits per second against latency — for voice, screen, and robot agents.

NOTE · v0.1

The problem

The field has no shared way to say how interactive a system is. As Thinking Machines' interaction-models work argues, existing interactivity-oriented benchmarks do not capture what real-time, proactive collaboration demands, and the field still lacks shared frameworks for assessing interactivity quality. It is a gap the field admits about itself: AlphaStar's authors note “no universally accepted notion of fairness” in real-time matches, and even simultaneous translation — the most developed latency-aware subfield — has competing latency metrics that rank systems inconsistently.

Most evaluations are turn-based, judging final traces without accounting for a world that changes on its own. Those that take latency seriously — simultaneous translation — trace a quality–latency curve in a single modality. The most recent full-duplex voice benchmarks go further, measuring response timing and even correct restraint (when not to respond) — but only within voice, with no shared unit across modalities and no known ground-truth demand to score against.

The idea: one cross-modal unit

To compare a voice assistant, a screen agent, and a robot with one number, measure the thing they all do: move task-relevant information through a model. Information comes in, the system decides, actions go back out. Each step carries some bits per second and takes some time — so the natural unit is task-relevant bits per second, paired with latency.

Accuracy-of-what does not cross modalities; bits do. EnvRate keeps the field's own criterion — a response is good when it is both correct and delivered within a timing window — and changes only the unit, with latency ℓ gridded in TML's 200ms micro-turns.

EnvRate pipeline: one authored latent z_t drives both the required response a* (from which R(D) is computed) and a separate rendering per modality; the agent sees only rendered observations through a bandwidth-and-delay channel, and its output is scored against a* to give gap.
The latent comes before the rendering. One authored z_t drives every modality, so R(D) — computed from the latent's law — is the same across audio, video, and proprioception; only extraction difficulty differs. That ordering is what makes the unit generalize.

Rate–distortion theory defines the minimum information rate a system must handle to act well enough. The distortion D is how wrong the agent can be, weighted by consequence. The rate R(D) is the minimum bits/s needed about the required-response stream — not raw pixels or audio. A 4K feed carries a high raw rate but says nothing about what to do, so it does not count toward R(D). Score a system by the interaction gap at allowed latency ℓ:

gap(ℓ) = R(D) − task-relevant throughput achieved within ℓ

A system “keeps up” when its frontier meets R(D) at low ℓ.

Why the demand is computable

On a real feed, R(D) can only be estimated, with nothing to check the estimate against. So we generate the environment. A generator emits a small hidden latent z_t whose law we set — a discrete Markov chain or a Gaussian process; the required response is a known function a* = f(z_t) (the null action included); and each modality is a rendering of that latent, with realistic-but-irrelevant detail (background texture, ambient sound) drawn independently so it carries no task-relevant bits.

Because we author the latent, the demanded rate is computed exactly — Blahut–Arimoto in the discrete case, closed form in the Gaussian — and verified by agreement between Blahut–Arimoto on a discretized Gaussian and the Gaussian closed form. The agent never sees z_t or f, only rendered observations through a real bandwidth-and-delay channel, so the skill under test — recover task-relevant information from a lossy stream in real time — is the real one. Inside the gym the bit rate is exact and puts voice, screen, and robot agents on one axis; on real tasks the absolute rate is not recoverable, so what we claim transfers is the ranking.

A worked example

A 3-state Markov latent ticks at 2 Hz; f maps states to {null, alert}. With every tick an event, at D=0 the response entropy is ~1 bit/event → demanded rate ≈ 2 bits/s. A reactive agent with 300ms channel latency handles ~60% of events within bound; gap(300ms) ≈ 0.8 bits/s. The same latent rendered as symbolic tokens or audio tones gives the same R(D), different extraction difficulty.

Rate-latency frontier for the discrete MVP: R(D)=2 bits/s demanded ceiling; symbolic-token and audio-tone agents rise toward it with allowed latency, the audio agent showing gap(300ms) about 0.8 bits/s.
Same demanded ceiling, two renderings. The symbolic-token agent extracts the bits easily and rides near R(D); the audio-tone agent works harder and trails, leaving gap(300ms) ≈ 0.8 bits/s. The ceiling is identical — only extraction difficulty differs.

Scoring restraint

From the output alone a correct silence looks like a miss. So after a no-action event we sometimes inject a follow-up that depends on the earlier event but carries none of its content — answerable only if the event was retained. A follow-up that re-supplied the information would let the agent answer without having retained anything, so the probe adds no task-relevant bits of its own; because we author the latent, we can check that the probe alone leaves a* undetermined. This separates correct silence from a miss. Acting when a* was null is the over-actuation case of the distortion D, carrying its own severity weight rather than counting as a flat failure.

Why existing systems are incomplete

Every modality already has a mature benchmark: each scores its own quantity in its own units, so none places a voice assistant, a screen agent, and a robot on one axis. The most developed reach latency and even restraint, yet stay locked to a single domain.

ModalityLeading benchmarkWhat it scoresLatencyRestraintCross-modal
Text / chatChatbot Arena (LMArena)human preference (Elo)
Speech — streaming translationSimulEvalquality vs. latency
Speech — conversational voiceFull-Duplex-Bench / τ-Voiceturn-taking, selectivity
Video — streamingStreamingBenchstreaming QA accuracy
EmbodiedHabitat / Meta-Worldsuccess rate (SPL)
Real-time controlAlphaStar (StarCraft II)human-relative skill
Any of the aboveEnvRatetask-relevant bits/s vs. latency

What it contributes

Where this comes from

EnvRate grew out of building real-time, multimodal systems where what matters is emotional salience spread across several signals at once. Owly is a companion robot meant to live with a child from infancy — catching the rare salient moment (a first word, a laugh, a cry) the instant it happens, and otherwise staying quiet. Its whole competence is real-time interaction under restraint, and its failures are not equally weighted: missing a first step costs far more than missing an ordinary second.

References