看见选项:基于可复用选项记忆对视觉候选项进行类型化决策
摘要
本文介绍了 Iris,这是一种多模态 System One 架构,通过对每个候选项进行独立编码,将针对文本候选项的类型化决策扩展到图像候选项,在保持顺序不变性和精确缓存复用的同时,在基于 Multimodal-Mind2Web 构建的视觉候选项基准上取得了较高的准确率。此外,候选项复用将延迟降低了 37–191 倍,并修复了 Qwen3.5 视觉塔在 bf16 cuDNN 下的 Conv3d 性能瓶颈。
arXiv:2610.33702v1 Announce Type: new
Abstract: Typed decision-making tasks in agents, such as UI element selection, product recommendation, and chart matching, require models to choose from a set of discrete candidates. While prior work demonstrates that text-only System One models achieve four key properties including candidate-order invariance, scalability, and cache reuse via separate request-candidate encoding, extending them to multimodal settings where candidates are visual remains underexplored. We introduce Iris, a framework that accommodates image, text, or hybrid candidates while preserving the core decision module. We prove that order invariance and exact cache reuse hold for any per-candidate encoder under Iris, and derive the closed-form latency reduction. We construct a visual-candidate benchmark from Multimodal-Mind2Web (K=16, deduplicated, order-shuffled, three generalization splits). Independent encoding (Iris) achieves 78.4 / 72.1 / 74.8 percent accuracy with zero-flip rate under candidate reordering. Joint encoding reaches 90.6 / 89.5 / 91.6 percent but suffers an 8 to 10 percent answer-flip rate when shuffled. To bridge this gap, we propose a design that encodes each candidate conditioned on the request state without inter-candidate cross-attention; it preserves strict order invariance, enables forked cache sharing, and attains 91.7 / 86.5 / 90.0 percent accuracy at one-third of OneJev latency with calibrated null probabilities (AUROC 0.93 to 0.97). Reusing image candidates across requests cuts latency by 37x at K=256 and 191x at K=2048. On MetaEncoder benchmarks, Iris-4B achieves 100 percent on JevBench original and easy, outperforming 30B MetaEncoder and 27B OpenJev. Finally, we resolve a systems bottleneck on Ampere GPUs: reformulating Qwen3.5 patch-embedding Conv3d into its exact matrix-product form accelerates processing by 350x. Code, data, and checkpoints: https://github.com/lllfx/Iris.
查看缓存全文
缓存时间: 2026/10/28 02:04
# Seeing the Options:Typed Decisions over Visual Candidates with Reusable Option Memory
Source: [https://arxiv.org/html/2610.33702](https://arxiv.org/html/2610.33702)
###### Abstract
Agents end many steps in a typed decision over a set of candidates: which screen element to click, which product to pick, which chart matches an event\. System One models answer such questions in one forward pass, andJevarecently showed that four properties the setting demands—a probability for “none of the above”, invariance to candidate order, scalability in the number of candidates, and reuse of candidate computation across requests—follow from one architectural choice: encode the request and each candidate separately, and let a request state read a candidate memory\.Jevais text\-only, and the multimodal System One models that exist \(OneJev, Jev\-Omni\) put images in the request while candidates stay text rendered into letter slots\. This paper asks what happens to the four properties, and to accuracy, when the candidates themselves are images\.Irisadmits candidates that are images, text, or both and leavesJeva’s decision module untouched; order invariance and exact cache reuse hold for any per\-candidate encoder, and the latency reduction from reuse has a closed form\. We build a visual\-candidate benchmark from Multimodal\-Mind2Web in which every candidate is the element’s screenshot crop \(K=16K\{=\}16, three generalisation splits, deduplicated and order\-shuffled\), and compare three designs on the same backbone and data\. Independent encoding \(Iris\) reaches 78\.4 / 72\.1 / 74\.8% with a flip rate of exactly zero, aboveJeva’s text candidates on the two generalisation splits; joint encoding \(OneJev\-4B fine\-tuned on the same steps\) reaches 90\.6 / 89\.5 / 91\.6% but changes its answer on 8–10% of records when the crops are reordered\. Most of the gap is the candidate not seeing the request: a third design that encodes each candidate after the state—but never after another candidate—keeps order invariance exactly, shares the state pass across candidates through a forked cache, and reaches 92\.1 / 87\.0 / 90\.2% at a third ofOneJev’s latency, with a calibrated null probability \(AUROC 0\.93–0\.97\)\. Letting the pooled candidates then see each other—by set attention, a token\-level read, or a multi\-vector memory—buys nothing, and we show why: the encoder maps visually distinct elements to vectors within cosine 0\.999 of each other, so the last three points belong to scoring without pooling, not to any readout\. Where candidates must be compared with a query image \(MMEB\-V2 reranking\), independent encoding falls short of its own first\-stage retriever, which delimits the design’s reach\. Reusing image candidates across requests cuts latency by37×37\\timesatK=256K\{=\}256and191×191\\timesatK=2,048K\{=\}2\{,\}048, within 5% of the closed form\. On the typed\-decision benchmarks used by MetaEncoder,Iris\-4B withJeva’s weights reaches 100% on JevBench original and easy, above the 30B MetaEncoder and 27B OpenJev\. A systems finding affects every model on this backbone: the Qwen3\.5 vision tower’s patch\-embeddingConv3dtakes seconds per image under bf16 cuDNN on Ampere GPUs, and its exact matrix\-product form is350×350\\timesfaster\. Code, data and checkpoints:[https://github\.com/lllfx/Iris](https://github.com/lllfx/Iris)\.
## 1Introduction
Much of what an agent does between two generations is not generation\. It picks a tool, selects an element on a page, keeps or drops a retrieved document, checks a precondition, grades an outcome\. These are*typed*decisions—a choice amongKKcandidates, a yes/no judgement, an ordinal score—and System One models\[[3](https://arxiv.org/html/2610.33702#bib.bib3)\]answer them in a single forward pass with calibrated probabilities instead of a chain of tokens\. The dominant way to build one is to concatenate the request and all candidates into one sequence and read the answer from the logits of answer letters or from a pointer head \(SemIf, JevK5, Intern\-Decision, KEV; §[6](https://arxiv.org/html/2610.33702#S6)\)\.Jeva\[[1](https://arxiv.org/html/2610.33702#bib.bib1)\]observed that this*joint encoding*is the source of four structural failures—the answer depends on candidate order, the candidate count is bounded by the answer alphabet, “none of the above” has no principled probability, and nothing computed for a candidate can be reused—and removed all four by construction: a shared encoder maps the request to a statez0z\_\{0\}and each candidate to a vectoruiu\_\{i\}*on its own*; a decision block updates only the state by attending over the set\{ui\}\\\{u\_\{i\}\\\}; a coverage gate decides whether any candidate applies at all\.
Jevais text\-only, and so are its candidates\. Yet the candidates agents choose among are frequently visual\. A web agent chooses a region of a screenshot; a shopping agent chooses among product photos; a research agent matches an announcement to the chart it refers to\. The multimodal System One models released so far—OneJev\[[2](https://arxiv.org/html/2610.33702#bib.bib2)\]and Jev\-Omni—accept images and video, but only in the*request*; candidates remain text rendered into at most 256 letter slots, with every joint\-encoding cost above intact\. Concurrently, Liu et al\.\[[9](https://arxiv.org/html/2610.33702#bib.bib9)\]rerank images by listing them in letter slots and Runoff\[[8](https://arxiv.org/html/2610.33702#bib.bib8)\]removes order dependence at inference time withK\+m2K\+m^\{2\}encodings per request; neither makes the candidate computation reusable\. There is, to our knowledge, no System One model whose candidates can be pictures and whose decision is order\-invariant and cacheable by construction\.
This paper makes the case that visual candidates are not a feature to add to System One models but the setting in whichJeva’s four properties stop being conveniences and become requirements \(Figure[1](https://arxiv.org/html/2610.33702#S1.F1)\):
- •*Order\.*Elements on a page, photos in a catalogue, charts in a market have no canonical order\. A model whose answer depends on the order in which crops were listed is reporting an artefact of serialisation, not a decision\.
- •*Count\.*A page has hundreds of clickable elements and a market has thousands of instruments\. Joint encoding must place every candidate’s image tokens in one sequence: atK=16K\{=\}16and 256 tokens per image the candidates alone are 4k tokens per request;K=2,048K\{=\}2\{,\}048would be half a million\.
- •*Null\.*In agent traces the correct element is often not among the candidates offered, and a model without a null output must pick one anyway\.
- •*Reuse\.*A text candidate costs tens of language\-model tokens to encode; an image candidate costs a vision\-tower pass plus hundreds of tokens\. Whatever a cache saves per hit, it saves one to two orders of magnitude more when the candidate is a picture \(§[3\.3](https://arxiv.org/html/2610.33702#S3.SS3)\)\.
We presentIris, a System One model whose request and candidates are*segments*—text with images—and whose decision module isJeva’s, unchanged\. The design is deliberately minimal, because it makes the claim falsifiable: if the four properties belong to the decision module, then changing the encoder and nothing else must preserve them exactly, and the gain from reuse must scale with the encoding cost of the modality\. Both are borne out\.
#### Contributions\.
1. 1\.Problem\.We formalise typed decisions over visual candidates \(§[2](https://arxiv.org/html/2610.33702#S2)\) and show that the letter\-slot interface used by existing multimodal System One models cannot express them without reintroducing all four joint\-encoding costs\.
2. 2\.Model and guarantees\.Iris\(§[3](https://arxiv.org/html/2610.33702#S3)\) keeps the full Qwen3\.5 vision–language backbone thatJevaloads and discards, and extends candidate memory to image content\. Proposition[1](https://arxiv.org/html/2610.33702#Thmproposition1)states that order invariance and exact cache reuse hold for*any*per\-candidate encoder, and Proposition[2](https://arxiv.org/html/2610.33702#Thmproposition2)gives the latency reduction from reuse in closed form as a function of the reuse ratio and the encoding cost ratio between modalities\.
3. 3\.Benchmark\.A visual\-candidate benchmark built from Multimodal\-Mind2Web \(§[4](https://arxiv.org/html/2610.33702#S4)\): every candidate is the element’s screenshot crop, withJeva’sK=16K\{=\}16and three generalisation splits, deduplicated and order\-shuffled so that no position carries information\. We release the construction scripts and the data\.
4. 4\.Evidence\.Exact equivalence toJevaon text; zero\-shot transfer of a text\-trained decision head to image candidates; a controlled comparison of independent, joint \(OneJev\-4B retrained on the same steps\) and state\-conditioned encoding on the same backbone and data, which locates the accuracy cost of independence in the candidate’s blindness to the request and recovers most of it without giving up order invariance, and three controlled negative results with a diagnosis \(representation collapse\) that locate what is left; a flip rate of exactly zero in everyIrisconfiguration; latency linear inKKup to 2,048 image candidates; and reuse speedups within 5% of Proposition[2](https://arxiv.org/html/2610.33702#Thmproposition2)\(§[5](https://arxiv.org/html/2610.33702#S5)\)\. Two further comparisons placeIris\-4B against the 30B MetaEncoder and the 27B OpenJev on their typed\-decision benchmarks \(§[5\.6](https://arxiv.org/html/2610.33702#S5.SS6)\)\.
5. 5\.A systems notethat affects every model on this backbone family: the vision tower’sConv3dpatch embedding takes seconds per image under bf16 cuDNN on Ampere; its exact matrix\-product form takes milliseconds \(§[3\.6](https://arxiv.org/html/2610.33702#S3.SS6)\)\.
state \(text\)KKoptions \(text\)text encodertext encodersharedz0z\_\{0\}option memory\{ui\}\\\{u\_\{i\}\\\}decision block×N\\times NChoice⋅\\cdotNoul⋅\\cdotScoreJeva: text candidatesstate \(text \+\)KKoptions \(or text\)VL encoderVL encodershared;vision tower frozenz0z\_\{0\}option memory\{ui\}\\\{u\_\{i\}\\\}keyed by text \+ image digestdecision block×N\\times N\(unchanged\)Choice⋅\\cdotNoul⋅\\cdotScoreIris: visual candidatesnull\-aware“none of the above”has a probabilityorder\-invariantsame choicein any orderoption\-scalablethousands ofimage candidatescacheableencode once,reuse across requestsFigure 1:Jevaencodes the request and each text candidate independently and lets the state read a candidate memory\.Iriskeeps that decision module and the four properties it guarantees, and lets the state and every candidate carry images: a screenshot crop, a chart, a product photo\. The vision tower thatJevaloads and discards is used; nothing in the decision path changes\.
## 2Typed decisions over visual candidates
#### Interface\.
A System One request carries a statexx, a questionι\\iota, a decision typett\(choice,noulorscore\) and a candidate setC=\{c1,…,cK\}C=\\\{c\_\{1\},\\dots,c\_\{K\}\\\}\. The model returns a distribution: overC∪\{⊥\}C\\cup\\\{\\bot\\\}forchoice\(where⊥\\botis “none of the above”\), a probability of truth fornoul, and an expectation over ordered levels forscore\.Jevafixes the state and the candidates to be strings;Irischanges that one word\.
###### Definition 1\(Segment\)\.
A segment is a pair\(s,𝐈\)\(s,\\mathbf\{I\}\)of a text stringssand an ordered tuple of images𝐈=\(I1,…,Im\)\\mathbf\{I\}=\(I\_\{1\},\\dots,I\_\{m\}\),m≥0m\\geq 0, with each image referenced once inssby a placeholder<image:n\>\. A*visual\-candidate request*is a request whose state and candidates are segments\.
A text request is the special casem=0m\{=\}0everywhere\. A screenshot crop is\(“button”,\(I\)\)\(\\text\{\`\`button''\},\(I\)\)or simply\(∅,\(I\)\)\(\\varnothing,\(I\)\); a chart is\(∅,\(I\)\)\(\\varnothing,\(I\)\); a product listing is\(title,\(I1,I2\)\)\(\\text\{title\},\(I\_\{1\},I\_\{2\}\)\)\.
#### Why letter slots cannot express it\.
Joint\-encoding System One models render the candidates as “A\. …B\. …” inside the prompt and read the probability of each letter\. To admit image candidates one would place each candidate’s vision block after its letter\. Three consequences are immediate\. \(i\) The sequence now containsKKimage blocks ofnimgn\_\{\\text\{img\}\}tokens each; withnimg≈256n\_\{\\text\{img\}\}\{\\approx\}256andK=16K\{=\}16the candidates alone occupy 4k tokens, and the 256\-slot limit becomes a token\-budget limit far below it\. \(ii\) Causal attention with positional encoding makes each letter’s logit depend on where its image sits in the sequence, so the answer is a function of the order\. \(iii\) Every request re\-encodes every candidate image, so a page’s crops are re\-encoded at every step of the task that uses that page\. These are preciselyJeva’s four costs, each multiplied by the token cost of an image\.OneJevavoids them by not admitting image candidates\.
#### Why a bi\-encoder is not enough either\.
The other way to admit visual candidates with caching is a bi\-encoder: embed the request and each candidate with the same network and score by cosine similarity, as MetaEncoder\[[4](https://arxiv.org/html/2610.33702#bib.bib4)\]does at 30B scale\. Candidates are then cacheable and the pool can be millions\. But the request vector must anticipate every candidate it might be compared against, and MetaEncoder reports that for closed\-set decisions this is not enough: it has to*list the candidate options inside the request prompt*to reach competitive accuracy \(\+18 points on MMLU, its §4\.3\.1\), which makes the request representation a function of the candidate set and gives up request\-side reuse; it still trails the joint\-encoding OpenJev on decision tasks, which its authors attribute to the single\-dot\-product bottleneck\. There is also no null output: a cosine score is not a probability that any candidate applies\.Jeva’s decision block sits between these two designs, and that is whyIriskeeps it: the state reads the whole candidate set through attention, so set\-dependent preferences are expressible without putting the candidates in the request, and both sides stay cacheable\.
#### Two recent alternatives\.
Two concurrent works address parts of the problem\. Runoff\[[8](https://arxiv.org/html/2610.33702#bib.bib8)\]removes order dependence at inference time without training: it scores each option alone \(pointwise, hence order\-free\) to form a small consideration set, then compares the set’smmmembers in allmmcyclic listings and averages\. The answer is order\-invariant by construction, but the model underneath is not: every request costsK\+m2K\+m^\{2\}option encodings, each pointwise pass re\-encodes the candidate together with the state \(so nothing is cacheable\), and there is no null output\. Its authors’ own finding is the clearest statement of why structure matters: five open models fine\-tuned for System One decisions still change 12–30% of their answers under shuffling—“training a model for decisions does not make it order\-invariant”\. Liu et al\.\[[9](https://arxiv.org/html/2610.33702#bib.bib9)\]place the top\-16*images*of a retriever into a letter\-slot prompt and read the label logits of a 27B VLM, which beats a dedicated 2B reranker zero\-shot\. This is exactly the design of §[2](https://arxiv.org/html/2610.33702#S2), and it shows the costs in practice:KKis capped at 16 by context \(16 images at 1,800 visual tokens each\), every request re\-encodes every candidate, and order dependence is not measured\. Table[1](https://arxiv.org/html/2610.33702#S2.T1)places the designs side by side\.
Table 1:How System One designs handle visual candidates\.rr: fraction of candidates already cached\.∗With the candidate list inside the request \(needed for closed\-set accuracy\) the request itself is not reusable\. The state\-conditionedIrisencoder \(§[3\.5](https://arxiv.org/html/2610.33702#S3.SS5)\) shares the state pass across a request’s candidates and questions but not across requests\.
#### Requirements\.
We therefore require of a visual\-candidate System One model exactly whatJevarequires, with “candidate” read as “segment”: \(R1\)p\(⊥\)p\(\\bot\)is an explicit output; \(R2\) the output is invariant to the order ofCC; \(R3\) cost per request is linear inKKwith no fixed upper bound; \(R4\) a candidate’s computation is a function of the candidate alone and can be cached across requests\. Section[3](https://arxiv.org/html/2610.33702#S3)shows thatJeva’s construction satisfies R1–R4 for segments without modification to the decision path, and §[5](https://arxiv.org/html/2610.33702#S5)measures the consequences\.
## 3Iris
### 3\.1Encoder: the vision towerJevadiscards
Jeva\-4B loads Qwen3\.5\-4B, which is a vision–language checkpoint, and keeps only its language model\.Iriskeeps the whole model\. A segment is rendered to a token sequence in which each<image:n\>becomes the backbone’s vision block; the processor expands the block into the image’s merged patch tokens, the vision tower encodes the patches, and the language model reads the mixed sequence\. Last\-token pooling followed by a linear projection yieldsz0=ϕs\(x,ι,t\)∈ℝdz\_\{0\}=\\phi\_\{\\mathrm\{s\}\}\(x,\\iota,t\)\\in\\mathbb\{R\}^\{d\}for the state andui=ϕc\(ci,t\)∈ℝdu\_\{i\}=\\phi\_\{\\mathrm\{c\}\}\(c\_\{i\},t\)\\in\\mathbb\{R\}^\{d\}for each candidate,d=768d\{=\}768\. The two templates areJeva’s: the state template containstt,ι\\iotaandxx; the candidate template containsttand the candidate’s own segment and nothing else—no question, no state, no index, no other candidate\. A text\-only segment renders byte\-for\-byte as inJeva, which is what allows aJevacheckpoint to initialiseIriswith no change in behaviour on text \(§[5\.1](https://arxiv.org/html/2610.33702#S5.SS1)\)\.
The vision tower is frozen\. The language model carries a rank\-64 LoRA initialised fromJeva\-4B’s adapter, whose parameter keys are remapped from the text\-only module layout to the vision–language layout; the two projections and the decision block are initialised fromJeva\-4B’s head\. The trainable parameters are therefore exactlyJeva\-4B’s: the LoRA, the two projections and the decision block; the vision tower and the base language model are frozen\.
### 3\.2Decision module \(unchanged\)
Write𝒟\\mathcal\{D\}forJeva’s decision stack\. Each of itsNNblocks performs a multi\-head attention read of the candidate memory with queries from the current state and keys/values from the fixed\{ui\}\\\{u\_\{i\}\\\}\(keysℓ2\\ell\_\{2\}\-normalised, temperatureτset\\tau\_\{\\text\{set\}\}\), adds the message to the state through a learned gate, and applies a SwiGLU feed\-forward\. Only the state evolves; noK×KK\\times Kcandidate interaction is formed\. The read\-out scoressi=⟨zN,u^i⟩s\_\{i\}=\\langle z\_\{N\},\\hat\{u\}\_\{i\}\\ranglegive the conditional distributionq=softmax\(s/τdec\)q=\\mathrm\{softmax\}\(s/\\tau\_\{\\text\{dec\}\}\)over candidates, and a coverage gateρ=σ\(\(maxisi−b\)/τcov\)\\rho=\\sigma\\big\(\(\\max\_\{i\}s\_\{i\}\-b\)/\\tau\_\{\\text\{cov\}\}\\big\)givesp\(⊥\)=1−ρp\(\\bot\)=1\-\\rhoandpi=ρqip\_\{i\}=\\rho\\,q\_\{i\}\.choicereadspp;noulreadsqqof the positive candidate;scoretakes the expectation of level values underqq\. We useN=1N\{=\}1and 8 heads, asJeva\-4B does\.
### 3\.3Guarantees carry over
Jeva’s Proposition 3 establishes permutation invariance and exactness of cached candidate entries for text\. The proof uses two facts and only two:𝒟\\mathcal\{D\}accesses\{ui\}\\\{u\_\{i\}\\\}through permutation\-equivariant operations \(attention over a set, a maximum, a softmax\), anduiu\_\{i\}is a function of candidateiialone\. Neither fact mentions what a candidate is\.
###### Proposition 1\(Modality\-agnostic invariance and exact reuse\)\.
Letϕc\\phi\_\{\\mathrm\{c\}\}be any function from segments toℝd\\mathbb\{R\}^\{d\}and let𝒟\\mathcal\{D\}be the decision stack above with fixed weights, evaluated exactly\. For any permutationπ\\piof\{1,…,K\}\\\{1,\\dots,K\\\}and any request, \(a\) the state trajectoryz1,…,zNz\_\{1\},\\dots,z\_\{N\}, the coverageρ\\rho, and thenoulandscoreoutputs are unchanged underC↦πCC\\mapsto\\pi C, andqπ\(i\)\(πC\)=qi\(C\)q\_\{\\pi\(i\)\}\(\\pi C\)=q\_\{i\}\(C\); \(b\) replacing any subset of\{ui\}\\\{u\_\{i\}\\\}and their per\-layer key/value projections by entries computed earlier from the same segments leaves every output unchanged\.
###### Proof\.
\(a\) Each block computessoftmaxi\(⟨Wq\(z\),k^i⟩/τ\)\\mathrm\{softmax\}\_\{i\}\(\\langle Wq\(z\),\\hat\{k\}\_\{i\}\\rangle/\\tau\)and a weighted sum ofviv\_\{i\}; both are invariant to relabellingii\. The read\-out max and the softmax oversis\_\{i\}are likewise invariant;qqfollows the relabelling\. \(b\) By assumptionui=ϕc\(ci,t\)u\_\{i\}=\\phi\_\{\\mathrm\{c\}\}\(c\_\{i\},t\)depends oncic\_\{i\}only, and the key/value projections are deterministic functions ofuiu\_\{i\}; an entry computed earlier from an identical segment is identical\. ∎
The second proposition makes the reuse argument of §[1](https://arxiv.org/html/2610.33702#S1)quantitative\. Letaabe the cost of encoding the state,ccandc\_\{\\text\{cand\}\}the cost of encoding one candidate,δ\\deltathe per\-candidate cost of the decision read \(a projection and an attention row;δ≪ccand\\delta\\ll c\_\{\\text\{cand\}\}\), andr∈\[0,1\]r\\in\[0,1\]the fraction of candidates found in the cache\.
###### Proposition 2\(Latency under reuse\)\.
Per\-request cost isT\(r\)=a\+\(1−r\)Kccand\+KδT\(r\)=a\+\(1\-r\)\\,K\\,c\_\{\\text\{cand\}\}\+K\\delta, and the speedup over no reuse is
S\(r\)=a\+Kccand\+Kδa\+\(1−r\)Kccand\+Kδ→r→11\+Kccanda\+Kδ\.S\(r\)=\\frac\{a\+Kc\_\{\\text\{cand\}\}\+K\\delta\}\{a\+\(1\-r\)Kc\_\{\\text\{cand\}\}\+K\\delta\}\\;\\xrightarrow\{\\;r\\to 1\\;\}\\;1\+\\frac\{Kc\_\{\\text\{cand\}\}\}\{a\+K\\delta\}\.
The limit is an increasing function ofccandc\_\{\\text\{cand\}\}\. For a text candidateccandc\_\{\\text\{cand\}\}is a short language\-model pass; for an image candidate it is a vision\-tower pass followed by a language\-model pass overnimgn\_\{\\text\{img\}\}tokens, which is 2\.4–3\.2 times larger for the small Mind2Web crops and roughly 10 times for a 256\-token photo \(measured in §[5\.10](https://arxiv.org/html/2610.33702#S5.SS10)\)\.JevameasuredS\(1\)≈28S\(1\)\\approx 28for text on a document\-retrieval workload; Proposition[2](https://arxiv.org/html/2610.33702#Thmproposition2)predicts that the same workload with image candidates reaches a proportionally larger limit, which §[5\.10](https://arxiv.org/html/2610.33702#S5.SS10)confirms\.
### 3\.4Candidate memory for images
A candidate’s memory entry—its normalised read vector and the per\-layer key/value projections—is keyed by the content of its segment: the rendered text and a SHA\-256 digest of each image’s bytes\. Two candidates with the same text and pixels share an entry whatever their source \(path, URL, inline data\)\.Jeva’s set cache and per\-candidate cache therefore apply unchanged, and the hybrid policy \(assemble a set from cached candidates, encode only the missing ones\) is what Proposition[2](https://arxiv.org/html/2610.33702#Thmproposition2)assumes\.
Image preprocessing \(resize, normalise, patchify\) runs per image on a thread pool with an LRU of preprocessed patch tensors, and<\|image\_pad\|\>expansion is performed byIrisfrom the patch grid; we verify against the reference processor that this reproduces its joint output exactly \(all five tensors equal on mixed text/image batches\)\. The per\-image token count is bounded by a pixel budget passed to the processor’s resize; we use200,704200\{,\}704px \(≈256\\approx 256tokens\) throughout; Mind2Web crops \(longest side 336 px\) and MMEB\-V2 images fall below it, so the budget is not binding in our experiments\.
### 3\.5Two candidate encoders: independent and state\-conditioned
statec1c\_\{1\}c2c\_\{2\}⋯\\cdotscKc\_\{K\}one sequence; letters A–Z read outp\(A\),p\(B\),…p\(\\text\{A\}\),\\,p\(\\text\{B\}\),\\dots\(a\) joint \(OneJev, Liu et al\.\)every candidate sees everythingstatec1c\_\{1\}c2c\_\{2\}⋯\\cdotscKc\_\{K\}z0z\_\{0\}u1u\_\{1\}u2u\_\{2\}uKu\_\{K\}option memory: reused across requests\(b\) independent \(Jeva,Iris\)a candidate sees only itselfstatestate cache\(computed once\)c1c\_\{1\}c2c\_\{2\}⋮\\vdotscKc\_\{K\}u1u\_\{1\}u2u\_\{2\}uKu\_\{K\}forked, never joined\(c\) state\-conditioned \(Iris\)a candidate sees the state onlyu1u\_\{1\}u2u\_\{2\}⋮\\vdotsuKu\_\{K\}setattention /multi\-vector\(§[5\.5](https://arxiv.org/html/2610.33702#S5.SS5)\)equivariant, no gain\(d\) readouts over\{ui\}\\\{u\_\{i\}\\\}pooled candidates see each other
Figure 2:What a candidate’s vector may depend on\. \(a\) Joint encoding: the answer depends on the order and number of candidates and nothing is reusable\. \(b\) Independent encoding:uiu\_\{i\}is a function ofcic\_\{i\}alone, so the decision is order\-invariant, unbounded inKKand cacheable across requests \(Proposition[1](https://arxiv.org/html/2610.33702#Thmproposition1)\)\. \(c\) State\-conditioned encoding: each candidate continues from a fork of the state’s cache—order invariance and null handling are unchanged, the state pass is shared within a request, and cross\-request reuse is given up\. \(d\) Readouts that let the pooled candidate vectors see each other keep every guarantee of \(c\) and, in our experiments, add nothing \(§[5\.5](https://arxiv.org/html/2610.33702#S5.SS5)\)\.Jeva’s four properties come from one commitment: a candidate’s vector is computed from the candidate alone\.Iriskeeps this as its default \(*independent*encoding\), and it is what every guarantee above assumes\. It has a cost that text candidates hide and visual ones expose: a crop scored without the task description and the page cannot know which of two similar buttons the instruction refers to, while a joint encoder can compare them inside one attention pass\. Between the two sits a third design point, whichIrisalso implements \(Figure[2](https://arxiv.org/html/2610.33702#S3.F2)\)\. Encode each candidate*after*the state—the sequence\[state;candidatei\]\[\\,\\text\{state\};\\,\\text\{candidate\}\_\{i\}\\,\], pooled at its last token—but never after another candidate\. The candidate vectoruiu\_\{i\}now depends on the request, so it cannot be reused across requests \(the fourth property is given up\), but it still depends on no other candidate, so Proposition[1](https://arxiv.org/html/2610.33702#Thmproposition1)\(a\) holds unchanged: the decision is exactly invariant to candidate order, byte\-identical candidates receive identical probabilities, the candidate count is unbounded, and the coverage gate is untouched\. Reuse*within*a request survives: the state’s cached activations are shared by all its candidates and by every question asked about the same state\.
Naively this costsKKpasses over the state\. We avoid it by prefix sharing: the state is run once with its key/value and recurrent caches retained \(Qwen3\.5 mixes full attention with gated linear attention; both kinds of layer have a cache\), and each candidate continues from a fork of that cache—an index selection, so during training the gradients of allKKcandidates flow back into the one state pass\. Per request the cost is one state pass plusKKcandidate\-length continuations, the same token count as independent encoding; each candidate token additionally attends over the state’s cached keys\. The state is left\-padded so that every row’s cache ends at the fork point, and positions continue from the state’s last M\-RoPE position, so the result equals the concatenated sequence up to bf16 rounding \(we verify this against a concatenation implementation\)\. Section[5\.4](https://arxiv.org/html/2610.33702#S5.SS4)measures what the request buys\. Three further readouts on the candidate side—set attention among the option vectors, a token\-level read of each candidate by the state, and a multi\-vector option memory—are permutation\-equivariant extensions of the same module and are defined and tested in §[5\.5](https://arxiv.org/html/2610.33702#S5.SS5)\.
### 3\.6Patch embedding as a matrix product
Profiling the first image requests showed a single448×448448\{\\times\}448image taking5\.25\.2s in the vision tower on an A800 \(bf16, SDPA attention, noflash\_attn\), with the time linear in the number of patches and spent entirely in the patch\-embeddingConv3d\. The convolution has kernel equal to stride, so on the flattened patch tensorX∈ℝP×\(C⋅T⋅h⋅w\)X\\in\\mathbb\{R\}^\{P\\times\(C\\cdot T\\cdot h\\cdot w\)\}it equalsXW⊤\+bXW^\{\\top\}\+bwithWWreshaped to\(dout,C⋅T⋅h⋅w\)\(d\_\{\\text\{out\}\},\\,C\\cdot T\\cdot h\\cdot w\)\. Replacing the module’s forward by this product—weights and state dictionary untouched; maximum absolute difference2×10−62\{\\times\}10^\{\-6\}—brings the pass to1515ms, a350×350\\timesreduction\. Every multimodal System One model built on this backbone family \(OneJev, Jev\-Omni, OmniMed\-Jev\) pays this cost on Ampere\-class hardware unless it is removed; we report it because it would otherwise dominate every latency number in §[5](https://arxiv.org/html/2610.33702#S5)\.
### 3\.7Training
The objective isJeva’s joint cross\-entropy over\{⊥\}∪C\\\{\\bot\\\}\\cup C, which decomposes into a binary cross\-entropy on the coverage gate \(only for records that allow⊥\\bot\) and a cross\-entropy onqq\. Records are JSONL with a state segment, a question, a decision type, candidate segments and one label; images are referenced by path\.
#### Two stages\.
Iris\-4B starts fromJeva\-4B and is trained in two stages that separate two different things the model has to learn\.*Stage 1: multimodal states\.*One epoch over OneJev\-Data \(§[4](https://arxiv.org/html/2610.33702#S4)\), where images appear in the state and candidates are text\. This teaches the language model to read vision blocks underJeva’s templates and gives thenoul/scoreheads and the coverage gate multimodal training signal; it also makes the comparison withOneJev\-4B a same\-data one\. It does not, by itself, teach anything about image*candidates*: no record in OneJev\-Data has one\.*Stage 2: visual candidates\.*Starting from the stage\-1 checkpoint, two epochs over the 7\.7k Mind2Web steps with crop candidates\. This is the only stage in which the candidate projection and the decision block see vectors produced from pixels on the candidate side\. We report both checkpoints in Table[2](https://arxiv.org/html/2610.33702#S5.T2): the stage\-1 row isolates what multimodal*state*training does for visual candidates, and the stage\-2 row what candidate\-side training adds\.
Training runs undertorchrunwith gradient averaging across ranks; image preprocessing runs in data\-loader workers so that the vision tower, not the CPU, is the bottleneck\. Hyper\-parameters are listed in Appendix[A](https://arxiv.org/html/2610.33702#A1)\.
## 4A visual\-candidate benchmark from Mind2Web
Mind2Web\[[5](https://arxiv.org/html/2610.33702#bib.bib5)\]records 2,350 tasks on 137 real websites as sequences of actions; at each step the agent must select one element of the page\. Its multimodal release\[[6](https://arxiv.org/html/2610.33702#bib.bib6)\]adds the full\-page screenshot and, for every candidate element, its bounding box\.Jevaevaluates on the three test splits—cross\-task, cross\-website, cross\-domain—withK=16K\{=\}16*text*candidates \(the element’s HTML\)\. We keep the splits, theKKand the positives, and change one thing: each candidate becomes the element’s crop from the screenshot \(6 px padding, minimum side 48 px, longest side 336 px\) with a short text label consisting of the tag and salient attributes \(Figure[3](https://arxiv.org/html/2610.33702#S4.F3)\)\. Negatives are sampled from the step’s own candidate set with a seed derived from the step id, so the construction is reproducible and independent of the number of worker processes\.
Two details decide whether order invariance can be measured at all\. First, pages often contain several elements with identical appearance and markup \(two “Select Truck” buttons\); their crops are identical, their scores are identical, and an argmax over them is a coin flip decided by position\. We deduplicate candidates by \(text, image bytes\), keeping the positive\. Second, our construction places the positive first; we then shuffle candidate order per record with a seed derived from the record id, so the gold position is uniform\. The second step is immaterial toIris\(Proposition[1](https://arxiv.org/html/2610.33702#Thmproposition1)\) but essential for any joint\-encoding baseline, which would otherwise learn that the answer is the first slot\. The result is 7,751 / 1,337 / 1,017 / 4,042 steps for train / cross\-task / cross\-website / cross\-domain \(official: 7,775 / 1,339 / 1,019 / 4,060\), with 7\.7% / 7\.8% of records \(cross\-task / cross\-website\) containing at least one duplicate and 0\.5% of candidates removed\. ForIristhe deduplicated numbers can be obtained from a run on the raw set without re\-running the model: since each candidate’s score depends on that candidate alone \(Proposition[1](https://arxiv.org/html/2610.33702#Thmproposition1)\), dropping a duplicate’s probability mass and renormalising yields exactly the distribution the model produces on the deduplicated set \(scripts/rescore\_dedup\.py\); we verified on both splits that the only effect is the removal of ties\. Steps whose gold element is absent from the cleaned HTML \(6\.1% of cross\-task, 4\.3% of cross\-website, 5\.5% of cross\-domain, 5\.3% of train\) are kept as*null*targets: the correct answer is “none of the listed candidates”\. Accuracy counts them;Irisanswers them through its coverage gate, andOneJevis given an appended “none of the above” slot, the best a letter\-slot model can do\. The typed null\-detection metrics \(§[5\.9](https://arxiv.org/html/2610.33702#S5.SS9)\) are measured on OneJev\-Data, whose null rows are more numerous and carry graded targets\.
Figure 3:A Multimodal\-Mind2Web step asIrissees it\. Left: the task, the last previous actions and the question form the text state\. Right: each candidate \(14 here, after deduplication\) is the element’s own crop with a short label; the gold element is outlined in red, at a shuffled position\.#### Full\-page pools\.
For the scaling and reuse experiments we build a second version of the cross\-task split in which a step’s candidates are*all*elements of its page rather than 16 sampled ones\. After deduplication the 1,337 steps carry 658,639 candidates, a median of 353 and a maximum of 3,270 per step, of which 298,328 are distinct crops: 55% of the candidates an agent is shown on this benchmark are elements it has been shown before\. Within a task, the median step shares 61% of its candidates with earlier steps of the same task \(upper quartile 89%\), so a per\-task candidate cache would avoid 45% of all candidate encodings before any cross\-task sharing is counted\. These are properties of the workload, independent of the model; §[5\.10](https://arxiv.org/html/2610.33702#S5.SS10)measures whatIrismakes of them\.
#### OneJev\-Data\.
For multimodal*states*with text candidates, and for null detection and thenoul/scoretypes, we use the 94,707 released rows ofOneJev’s training data \(34,622noul, 45,507choice, 14,578score; 65,643 with media; videos expanded into four evenly spaced stills\), holding out 2,000 rows\. This is the dataOneJev\-4B was trained on, so it supports a same\-data comparison between joint and independent encoding\.
## 5Experiments
The experiments answer six questions in turn\. DoesIrischange anything on text? \(No: bit\-for\-bit\.\) Does a decision head trained only on text vectors transfer to image candidates? What does training on visual candidates achieve against a joint\-encoding model trained on the same data, and which of the two things independent encoding withholds from a candidate—the request or the other candidates—is what costs accuracy? How does a 4BIriscompare with 27–30B System One models on their own typed\-decision benchmarks? Do the four properties hold empirically with images, and at whatKK? And what does reuse buy, and does it follow Proposition[2](https://arxiv.org/html/2610.33702#Thmproposition2)?
#### Setup\.
All models use Qwen3\.5\-4B\. Baselines areOneJev\-4B \(released weights, and retrained on our data where noted\) andJeva\-4B’s reported numbers\. Latency is measured on one A800\-80GB with synchronous timing\. Order invariance followsJeva’s protocol: each record is evaluated in its original order, reversed, and three seeded random orders; the*flip rate*is the fraction of records whose argmax differs across orders, and*all\-order accuracy*requires correctness in every order\. Two candidates can be indistinguishable to a model—two identical links on a page whose crops differ by a pixel and become the same tensor after resizing—and then receive identical probabilities; the argmax between them is a tie broken by position, not order dependence, so a change of answer within a set of candidates whose probabilities agree to10−610^\{\-6\}in the original order is not counted as a flip\. This affectsIrisonly \(a joint encoder never produces exact ties\); the number of such records is reported in Appendix[B](https://arxiv.org/html/2610.33702#A2), and the raw rate is in the released summaries\. Caches are cleared before every request unless the experiment is about reuse\.
### 5\.1Exact equivalence on text
LoadingJeva\-4B intoIris\(full backbone, remapped adapter, same head\) and comparing on text input, tokenisation, the pooled state and candidate vectors, the scores, the coverage logit and all probabilities are identical to the last bit \(maximum absolute difference00, cosine1\.0000001\.000000\)\. Every resultJevareports on text is therefore a result forIrisbefore any training, and every difference we report below is attributable to the candidates being images\.
### 5\.2Zero\-shot transfer to visual candidates
We first evaluateIriswithJeva\-4B’s weights and no training on images\. The decision head has never seen a vector produced from pixels\. Table[2](https://arxiv.org/html/2610.33702#S5.T2)\(row “zero\-shot”\) shows 31\.11% cross\-task, 25\.07% cross\-website and 32\.73% cross\-domain against a chance level of1/16=6\.251/16=6\.25%, with a flip rate of exactly zero on all 6,396 records\. Two things are notable\. First, a decision head trained only on text vectors reads image\-candidate vectors well above chance without adaptation: the language model’s last\-token representation of an image\-bearing candidate lands, after the candidate projection, where the text\-trained state can already act on it\. The zero\-shot accuracy is within two to twelve points ofOneJev\-4B, which was trained on 95k multimodal rows and is given the same crops \(37\.85 / 37\.46 / 34\.83%\); on cross\-domain, the split with the least overlap with Mind2Web’s training sites, the gap is smallest\. Second, the flip rate is zero not because the model is confident but because it is structural: the probabilities are identical under reordering to floating\-point precision \(Proposition[1](https://arxiv.org/html/2610.33702#Thmproposition1)\), whereasOneJevchanges its answer on 51–54% of records when the same crops are listed in a different order, and on 60–70% when it sees only labels\.
### 5\.3Training on visual candidates
Table 2:Element selection on Multimodal\-Mind2Web withK=16K\{=\}16: first\-choice accuracy and decision flip rate over five candidate orders \(original, reversed, three seeded random\), on the cross\-task / cross\-website / cross\-domain splits\.Jeva’s row uses text candidates and is the reference point for the same positives\.OneJevcannot take image candidates: “labels” gives it each candidate’s text label with the page screenshot in the state \(its native setting\); “crops in state” lists every candidate’s crop inside the state and keeps letter slots for the candidates, the only way a letter\-slot model can look at the crops; “retrained” fine\-tunesOneJev\-4B with LoRA on the same 7,751 training steps in that format \(Appendix[A](https://arxiv.org/html/2610.33702#A1)\)\. Trained rows report the final checkpoint; the “selected” row is the periodic checkpoint with the best cross\-task accuracy \(epoch 2, step 50; Appendix[C\.2](https://arxiv.org/html/2610.33702#A3.SS2)\), so its cross\-task number \(†\\dagger\) is a selection\-split number, not a test number; the “abstention stage” row continues that checkpoint for one epoch on a null\-oversampled subset of the training steps, and the released row applies to it an abstention margin selected on cross\-task \(§[5\.4](https://arxiv.org/html/2610.33702#S5.SS4)\); the last three rows add candidate\-side readouts to these models and are discussed in §[5\.5](https://arxiv.org/html/2610.33702#S5.SS5)\. Chance is 6\.25%\. ForIris, all\-order accuracy equals first\-order accuracy on every split: a record answered correctly is answered correctly in every order\.The baseline rows already say two things\. GivingOneJevthe crops raises its accuracy by 10–13 points over labels alone, so the pictures carry the decision andOneJevcan read them; what it cannot do is read them stably\. Its flip rate rises with the difficulty of the split \(50\.6→\\to52\.8→\\to54\.3%\): the less certain the model, the more its answer is decided by where the gold crop happened to be listed\. With labels only, where the candidates are often indistinguishable \(“a”, “div”\), it flips on up to 70% of records—it is largely answering by position\.
#### Trained rows\.
Stage 1 \(80k OneJev\-Data rows, no Mind2Web\) movesIrisfrom 31\.11 / 25\.07 / 32\.73 to 33\.88 / 31\.47 / 41\.54%: training on multimodal*states*with text candidates already helps visual*candidates*, most on the two generalisation splits, and on cross\-domain the model passesOneJev\(34\.83%\) by 6\.7 points before it has seen a single screenshot crop as a candidate, while trailing it by 4–6 points on cross\-task and cross\-website\. \(An earlier checkpoint of the same run, at 64k rows, gave 35\.30 / 33\.92 / 40\.77; the two generalisation splits move by±2\\pm 2points between checkpoints that never saw Mind2Web, which bounds the noise of these rows\.\) Stage 2, two epochs over the 7,751 crop steps, is where the candidate\-side representation is learned: 78\.38 / 72\.07 / 74\.84%, a gain of 44 / 41 / 33 points over stage 1 and 40\.5 / 34\.6 / 40\.0 points overOneJev\-4B as released, which shares the backbone and the pre\-training data and is given the same crops but has not been trained on them\. The flip rate stays at exactly zero on all 6,396 records; all\-order accuracy equals first\-order accuracy\. Two readings of these numbers\. First, againstJeva’s text candidates \(79\.99 / 62\.25 / 66\.23\), the crops are 1\.6 points behind on cross\-task and 9\.8 / 8\.6 points ahead on cross\-website and cross\-domain: the HTML of an element is specific to the site that wrote it, its appearance is not, so visual candidates generalise where textual ones overfit\. Second, the stage\-1→\\tostage\-2 gap says that the decision head does not transfer to a new candidate modality by itself; it needs candidate\-side training, which is 7\.7k rows and 47 minutes on four GPUs here\. The same lesson returns on the retrieval benchmarks \(§[5\.7](https://arxiv.org/html/2610.33702#S5.SS7)\)\.
#### The retrained baseline\.
The comparison that matters is againstOneJevgiven the same training steps\. Fine\-tuned with LoRA on the 7,751 crop steps in its own crops\-in\-state format,OneJev\-4B reaches 90\.58 / 89\.48 / 91\.59%—12\.2 / 17\.4 / 16\.8 points aboveIrisstage 2, and aboveJeva’s text\-candidate numbers on every split\. Training does not remove its order dependence, it only shrinks it: the flip rate falls from 50–54% to 7\.6 / 10\.1 / 8\.0%, and all\-order accuracy \(a record counts only if every one of the five orders is right\) is 84\.4% on cross\-website and 87\.8% on cross\-domain, 5\.1 and 3\.8 points below its first\-order accuracy\. So on this benchmark the two designs trade accuracy against stability: joint encoding, which lets each crop be compared with the others and with the screenshot inside one attention pass, is more accurate once trained; independent encoding is exactly stable and reusable but scores every crop without seeing the state\. The gap is the price of candidates that never see the request\. Section[5\.4](https://arxiv.org/html/2610.33702#S5.SS4)closes most of it with a third design point—candidates encoded*after*the state, but never after each other—which keeps order invariance exactly and gives up only cross\-request reuse\.
### 5\.4State\-conditioned candidates
The retrainedOneJevrow of Table[2](https://arxiv.org/html/2610.33702#S5.T2)shows what independent encoding costs on Mind2Web\. The state\-conditioned encoder of §[3\.5](https://arxiv.org/html/2610.33702#S3.SS5)is the controlled test of whether that cost is the candidate not seeing the request or the candidate not seeing the other candidates: it adds the first and withholds the second\. It is trained with the same two stages from the same stage\-1 checkpoint; the conditioned stage 2 runs the same 7,751 steps for the same two epochs as the retrainedOneJev, and we report the final checkpoint of both, without selection\.
Figure 4:Accuracy against order dependence on Mind2Web, one marker per model and split\. The two releasedIrismodels sit at a flip rate of exactly zero; the retrainedOneJevbuys 1–3 points of accuracy on two splits with an 8–10% flip rate, and the releasedOneJevanswers largely by position\.The conditioned model reaches 89\.60 / 84\.46 / 87\.48% \(Table[2](https://arxiv.org/html/2610.33702#S5.T2); Figure[4](https://arxiv.org/html/2610.33702#S5.F4)\): 11\.2 / 12\.4 / 12\.6 points above independent encoding, and 1\.0 / 5\.0 / 4\.1 points below the retrainedOneJev, with the flip rate still exactly zero on all 6,396 records \(two records contain pixel\-identical candidates and tie exactly, as Proposition[1](https://arxiv.org/html/2610.33702#Thmproposition1)requires\)\. Most of the gap to joint encoding, then, was the candidate not seeing the request; what remains is the candidate not seeing the other candidates\. Two further observations\. First, the 4–6% of null steps \(§[4](https://arxiv.org/html/2610.33702#S4)\) account for a disproportionate share of the remaining errors: on cross\-website the model is right on 86\.3% of steps with a positive but abstains correctly on only 43% of the null steps, while the null probability ranks them well \(AUROC 0\.92\)—the abstention threshold, not the ranking, is what is left to learn, and the training set holds few examples of it\. Second, cost: a request withK=16K\{=\}16crops takes 254 ms on one A800 against 737 ms for the retrainedOneJevthrough its server, because the state is encoded once and each crop only continues it; the five orders of one record share the state’s cached prefix, which is why the evaluation over five orders runs in about the time of two\. Appendix[C\.2](https://arxiv.org/html/2610.33702#A3.SS2)gives the cross\-task accuracy of every periodic checkpoint: from 1\.2 epochs on it moves within 88\.1–89\.8%, with accuracy on steps with a positive stable at 91–93% and the abstention rate on the 81 null steps swinging between 25 and 65% from one save to the next—the null threshold is the part of the model that has not settled\. Using this split to select a checkpoint picks epoch 2, step 50 \(1\.2 epochs\), which scores 85\.74% on cross\-website and 90\.13% on cross\-domain against the final checkpoint’s 84\.46 / 87\.48% \(Table[2](https://arxiv.org/html/2610.33702#S5.T2)\); the cross\-domain difference is 107 records and is not noise, and it comes from both components: on cross\-domain the selected checkpoint is right on 92\.3% of steps with a positive and abstains correctly on 52\.3% of the 222 null steps, against 90\.6 and 33\.8% for the final one \(cross\-website: 87\.6 / 45\.5 vs\. 86\.3 / 43\.2%\)\. With that checkpoint the gap to the retrainedOneJevis 0\.8 / 3\.7 / 1\.5 points\. We keep the unselected final checkpoint as the main row because it is the protocol under whichOneJevwas trained and reported\.
#### An abstention stage\.
The null threshold is the part of the conditioned model that training on 412 null steps \(5\.3% of the training set\) leaves unsettled\. We therefore continue the selected checkpoint for one epoch, at a fifth of the learning rate, on a 5,005\-row subset in which every null step appears three times and half of the steps with a positive are kept \(24\.7% null\)\. The abstention rate rises to 79 / 77 / 77% on the three splits \(from 48 / 45 / 52%\), accuracy on steps with a positive moves by\+0\.1\+0\.1/−0\.7\-0\.7/−1\.6\-1\.6points, and the totals become 91\.70 / 86\.53 / 89\.96%: above the retrainedOneJevon cross\-task, 3\.0 and 1\.6 points below it on cross\-website and cross\-domain, with the flip rate at zero throughout\. This is the released conditioned checkpoint\. Of the errors this model makes on steps with a positive, about half are abstentions \(on a 300\-record cross\-website sample: 19 wrong picks, 20 wrong abstentions\), so the decision rule matters as much as the ranking\. Predicting⊥\\botonly whenp\(⊥\)p\(\\bot\)exceeds the best candidate’s probability by a marginδ\\delta, withδ\\deltachosen on cross\-task \(δ=0\.24\\delta\{=\}0\.24\), gives 92\.07 / 87\.02 / 90\.20%; this is the released decision rule, and the cross\-task number is a selection\-split number\. The remaining gap to the retrainedOneJevis 3 points on cross\-website and 1\.4 on cross\-domain; Section[5\.5](https://arxiv.org/html/2610.33702#S5.SS5)asks what it is made of\.
### 5\.5What the remaining gap is not
The conditioned encoder adds the request to what a candidate may see\. The obvious next step on the axis of Figure[2](https://arxiv.org/html/2610.33702#S3.F2)is to let candidates see*each other*without giving up order invariance, and we tried it three ways, all permutation\-equivariant and all leaving Proposition[1](https://arxiv.org/html/2610.33702#Thmproposition1)\(a\) intact: \(i\) a*candidate set attention*block over theKKoption vectors before the decision stack \(one pre\-norm transformer layer without positions, key\-padded; added to a trained head with zero\-initialised output projections\), on both the independent and the conditioned encoder; \(ii\) a*token\-level read*, in which the state vector attends over each candidate’s token states and the read is added to the candidate’s vector \(per candidate, so still cacheable\); \(iii\) a*multi\-vector memory*, four vectors per candidate read by learned queries, with the decision stack attending over4K4Kentries and an option’s logit a log\-sum\-exp over its slots \(exactly the single\-vector head at initialisation\)\. Each was trained on the Mind2Web steps from the released conditioned checkpoint \(the first also from the released independent one\), with the new modules at ten to twenty times the learning rate\.
None of them moved accuracy on steps with a positive beyond the±1\\pm 1\-point noise of the splits \(Table[2](https://arxiv.org/html/2610.33702#S5.T2), last rows; the token\-level read was evaluated at 3,200 and 6,400 training rows, 87\.7 and 87\.5% on cross\-website positives against 86\.9 before, and its run was stopped\), and all three disturbed the abstention rate, which is coupled to the score scale through the coverage gate\. The diagnosis is the same in every case\. The set\-attention block learns almost nothing: its output projections stay near zero, it changes the option vectors by 0\.3% in norm, and its attention rows have normalised entropy 0\.975 \(1 is uniform\)\. The reason is that there is nothing for a set function to see: on cross\-website the cosine between the gold candidate’s vector and its*hardest negative*is 0\.993 on records the model gets right and 0\.999 on records it gets wrong, and on every wrong record the chosen candidate is within cosine 0\.994 of the gold\. The candidate vectors of one request occupy a cone a few thousandths wide, and the decision stack works on those thousandths through its temperature\. The crops themselves are not alike: the pixel RMSE between the gold and the chosen crop on wrong records has median 0\.165 \(on 65 errors, 4 are pixel twins and 20 share the label text\), and the records the retrainedOneJevgets right where we are wrong have median 0\.213\. Nor is the information recoverable from the token states by similarity: a ColBERT\-style MaxSim between the state’s and each candidate’s token states, with no training, prefers the gold over the chosen candidate on 5 of 19 wrong records and ranks the gold first on 18% of correct ones\. The multi\-vector memory confirms it from the other side: 86–99% of the energy of its extra slots is a direction common to all candidates\.
Figure 5:The collapse diagnosis on cross\-website \(released conditioned model\)\. Left: cosine between the gold candidate’s option vector and its hardest negative, by outcome \(bars: 10th–90th percentile\)\. Right: pixel RMSE between the gold crop and the chosen crop on wrong records, and to the nearest negative on correct ones \(bars: quartiles\)\. The crops differ; the vectors do not\.What is left, then, is*representation collapse*in the candidate encoder \(Figure[5](https://arxiv.org/html/2610.33702#S5.F5)\), not a missing interaction: a frozen vision tower and a language model pooled at one token map visually distinct elements of a page to nearly one point, and no readout on top of that point—set, token\-level, or multi\-vector—can separate what the encoder did not\. The joint encoder does not pool: its answer\-letter logits are computed by attention over the candidate tokens themselves, inside the backbone, which is where its last three points on cross\-website come from\. The two ways to recover them are to change what the encoder produces \(adapting the vision tower, or giving the crop more of its surroundings\) or to score without pooling, and both are beyond this paper\. We record the negative results because they are what makes the axis of Figure[2](https://arxiv.org/html/2610.33702#S3.F2)a finding rather than a menu: letting candidates see the request buys 11–13 points; letting pooled candidates see each other buys nothing\.
### 5\.6Typed decisions: JevBench and ImaJev\-Bench
MetaEncoder evaluates on two small, public typed\-decision benchmarks: JevBench\[[10](https://arxiv.org/html/2610.33702#bib.bib10)\]\(231 text rows in three splits;choice,noulandscorewith row\-specific criteria\) and ImaJev\-Bench\[[11](https://arxiv.org/html/2610.33702#bib.bib11)\]\(multimodal states: a rule must be applied to values that appear only in a photo\)\. Table[3](https://arxiv.org/html/2610.33702#S5.T3)placesIris\-4B next to the 30B MetaEncoder and the 27B joint\-encoding OpenJev\. On JevBench*original*and*easy*,Iris\-4B withJeva\-4B’s weights and no further training is at 100%, above both larger models; on*hard*and on ImaJev\-Bench it trails by 13–15 points; these are the rows that need multi\-step rule application, where parameter count is expected to matter most\. The flip rate is zero on every split\. The trained rows show what each stage does to text\-side competence\. Stage 1 raises ImaJev\-Bench by 4\.6 points \(OneJev\-Data is its distribution\) and costs 4 and 12 points on JevBench original and hard—splits of 72 and 111 rows, where one record is 1\.4 and 0\.9 points, so the original\-split change is three records\. Stage 2, trained on Mind2Web crops alone, loses much more \(25 and 19 points on original and hard, 9 on ImaJev\): a narrow candidate\-side stage specialises the decision head and forgets text decisions\. This is the expected cost of single\-task fine\-tuning and the reason the released model is trained on a mixture \(§[5\.8](https://arxiv.org/html/2610.33702#S5.SS8)\); the Mind2Web\-only checkpoint is kept in Table[2](https://arxiv.org/html/2610.33702#S5.T2)as the upper bound for that benchmark\. The mixture row shows how much of it 10k replayed OneJev\-Data rows \(15% of the mixture\) buy back: half of the loss on*hard*\(29\.7→\\to44\.1%, against 48\.7 after stage 1\) and on ImaJev \(61\.0→\\to65\.6%, against 74\.7\), nothing on*original*\(73\.6%, one record below the Mind2Web\-only checkpoint\) and one record on*easy*\. Replaying the stage\-1 data protects the multimodal\-state rows it resembles; the text\-only JevBench rows come fromJeva’s own curriculum, which is not public and is not in the mixture, and they are not protected by it\. A released model that must keepJeva’s text competence needs that curriculum, or a replay set drawn from the same distribution, in the mixture\.
Table 3:Accuracy \(%\) on the typed\-decision benchmarks used by MetaEncoder\. Reported numbers are from\[[4](https://arxiv.org/html/2610.33702#bib.bib4)\], Table 2\. ImaJev\-Bench: the 154 dev rows with public labels \(of 173\)\.Iris’s flip rate is 0\.00 on every split\.
### 5\.7Reranking retrieval candidates: MMEB\-V2
Liu et al\.\[[9](https://arxiv.org/html/2610.33702#bib.bib9)\]evaluate System One reranking on the 12 image\-retrieval tasks of MMEB\-V2: the top 16 candidates of Qwen3\-VL\-Embedding\-2B for each of 1,000 queries per task, hit@1 after reranking, with each image allowed up to 1,800 visual tokens\. We reproduce the first stage with Qwen’s evaluation code \(mean hit@1 74\.88 against their 74\.85\) and giveIristhe same 16 candidates as achoicewith the task instruction as the question; candidates are text \(captions\), images, or both, and the query is text, an image, or both, so the twelve tasks cover every direction of the modality pairing\. Table[4](https://arxiv.org/html/2610.33702#S5.T4)reports hit@1\.
Table 4:Reranking the top 16 of Qwen3\-VL\-Embedding\-2B on MMEB\-V2 image retrieval \(hit@1, 1,000 queries per task\)\.Iris’s flip rate is 0\.00 on every task\. The zero\-shot row has never seen a retrieval candidate; the tuned row is the released mixture model \(§[5\.8](https://arxiv.org/html/2610.33702#S5.SS8)\), trained on 4,000 M\-BEIR train queries of each of ten tasks \(all but VisDial and Wiki\-SS\-NQ, which measure transfer\) with hard negatives from the same first stage\.Figure 6:MMEB\-V2 reranking per task\. Retrieval tuning helps wherever the query or the candidate is text and does nothing where both are images: a per\-candidate vector cannot carry a comparison with the query image\.Zero\-shot, the stage\-1 model is far below the first stage \(24\.4 against 74\.9\) and near chance on the three image\-to\-image tasks \(Figure[6](https://arxiv.org/html/2610.33702#S5.F6)\)\. This is the Mind2Web stage\-1 result in a harsher form: a decision head trained on agent decisions over text candidates does not know what makes a caption match a photograph or one product photo match another\. Retrieval tuning—40k records, ten tasks, the retriever’s own hard negatives—raises the mean to 40\.3 and every task but the three with an image\-only or composed query \(CIRR, NIGHTS, FashionIQ stay at 4–6%, below the 6\.25% of a uniform guess\); the two held\-out tasks move as much as the trained ones \(VisDial 15\.4→\\to30\.4, Wiki\-SS\-NQ 13\.5→\\to48\.8\), so what is learned is the reranking task, not the ten datasets\. But the tuned model does not reach its own first stage on any task, let alone the 27B zero\-shot reranker or the supervised Reranker\-8B\. The pattern across tasks explains why\. Independent encoding scores a candidate image from a vector computed without the query; the decision block can compare that vector with the query’s, which is a bi\-encoder’s computation, and a 4B decoder tuned on 40k examples does not become a better bi\-encoder than the 2B embedding model trained for it on millions\. Where the query is itself an image plus an edit \(CIRR, FashionIQ\) or an image alone \(NIGHTS\), the candidate must be compared*with the query image*, and no per\-candidate vector can carry that comparison; the model is at chance\. This is precisely the operation the state\-conditioned encoder of §[3\.5](https://arxiv.org/html/2610.33702#S3.SS5)supplies—every candidate is encoded after the query, image included—and reranking is the setting where the loss of cross\-request reuse costs nothing, since each query brings its own top\-16\. We report the independent result as it stands and leave the conditioned reranker to a revision\.
### 5\.8The released checkpoints
Two checkpoints are released\.*Iris\-4B*\(independent encoding\) is the stage\-1 model trained for one epoch on a 65,502\-row mixture: the 7,751 Mind2Web crop steps twice, 40,000 reranking records mined from the M\-BEIR training splits of ten MMEB\-V2 tasks with the first\-stage retriever’s own hard negatives \(§[5\.7](https://arxiv.org/html/2610.33702#S5.SS7)\), and 10,000 replayed OneJev\-Data rows\. On Mind2Web it matches the Mind2Web\-only stage 2 \(78\.91 / 74\.04 / 75\.06 against 78\.38 / 72\.07 / 74\.84, Table[2](https://arxiv.org/html/2610.33702#S5.T2)\), so the retrieval and replay data cost nothing there; its MMEB\-V2 and typed\-decision numbers are the “tuned” and “mixture” rows of Tables[4](https://arxiv.org/html/2610.33702#S5.T4)and[3](https://arxiv.org/html/2610.33702#S5.T3)\.*Iris\-4B\-conditioned*is the state\-conditioned stage\-2 model of §[5\.4](https://arxiv.org/html/2610.33702#S5.SS4)after a short third stage on abstention \(§[5\.9](https://arxiv.org/html/2610.33702#S5.SS9)\); it is the model to use when candidates are not shared across requests\.
### 5\.9Null detection and typed outputs
*Null detection*\(R1\) is measured on the null steps of the three Mind2Web splits \(81 / 44 / 222 steps whose gold element is not among the candidates, §[4](https://arxiv.org/html/2610.33702#S4)\): the AUROC ofp\(⊥\)p\(\\bot\)for separating them from steps with a positive, and the abstention rate, the share of null steps on which the model’s answer is⊥\\bot\(i\.e\.p\(⊥\)p\(\\bot\)exceeds every candidate’s probability\)\. Table[5](https://arxiv.org/html/2610.33702#S5.T5)gives both for the released independent model and for the conditioned model before and after its abstention stage\. Two things stand out\. The ranking is good in every conditioned model \(AUROC 0\.92–0\.97\) and the abstention rate is what training moves: 34–43% after stage 2, 77–79% after one epoch on null\-oversampled steps, with the AUROC itself rising by 0\.01–0\.03\. And the independent model is much weaker at both \(AUROC 0\.78–0\.87, abstention 11–14%\): deciding that*no*crop matches the instruction requires the instruction, and a candidate vector computed without it leaves that decision to the state alone\.OneJev’s letter\-slot interface yields a probability for an appended “none” slot but no principled null probability; we do not report an AUROC for it\.
Table 5:Null detection on the Mind2Web null steps \(81 / 44 / 222 steps per split\)\.*Typed outputs*are measured on 2,000 held\-out OneJev\-Data rows \(961choice, 740noul, 299score; all with images in the state\): accuracy over all rows, and fornoulthe MAE and Brier score of the predicted probability of truth, forscorethe MAE of the expected level \(Table[6](https://arxiv.org/html/2610.33702#S5.T6)\)\. Stage 1, trained on this distribution, is the reference; the released mixture model gives back part of it \(accuracy 74\.1→\\to67\.5%,noulMAE 0\.263→\\to0\.312,scoreMAE 0\.60→\\to0\.65\), the same partial protection by 10k replayed rows that Table[3](https://arxiv.org/html/2610.33702#S5.T3)shows; both remain well above the zero\-shot model \(53\.0%, 0\.386, 0\.934\), whose decision head has never seen an image in a state\.
Table 6:Typed outputs on 2,000 held\-out OneJev\-Data rows\.
### 5\.10Scaling and reusing image candidates
R3 and R4 are measured together on one A800 with the released independent model, on cross\-task steps whose candidate pools are grown toK∈\{16,64,256,1024,2048\}K\\in\\\{16,64,256,1024,2048\\\}crops drawn from the split \(the gold element is always present; we measure cost, not accuracy, at the largerKK—the sampledK=16K\{=\}16build does not define a harder task atK=2,048K\{=\}2\{,\}048\)\.*Constants\.*The state encoding costsa=52\.8a=52\.8ms; one crop \(69–75 tokens at our pixel budget, after theConv3dfix of §[3\.6](https://arxiv.org/html/2610.33702#S3.SS6)\) costscimg=8\.7c\_\{\\text\{img\}\}=8\.7–11\.611\.6ms and its text label \(7–12 tokens\)ctxt=3\.6c\_\{\\text\{txt\}\}=3\.6ms, a ratio of 2\.4–3\.2; the per\-candidate decision read isδ=54μ\\delta=54\\,\\mus atK=16K\{=\}16and0\.4μ0\.4\\,\\mus atK=2,048K\{=\}2\{,\}048\(the read is one batched attention row\)\.*Scaling\.*With caches cleared, latency is linear inKKas Proposition[2](https://arxiv.org/html/2610.33702#Thmproposition2)says: 208 ms atK=16K\{=\}16, 652 at 64, 2\.3 s at 256, 12\.1 s at 1,024 and 23\.9 s at 2,048, a slope of 11\.6 ms per crop; candidates are encoded in chunks, so memory does not grow withKK\. A joint encoder would placeK×69K\\times 69image tokens in one sequence—141k tokens atK=2,048K\{=\}2\{,\}048—andOneJev’s letter alphabet stops at 256\.*Reuse\.*Figure[7](https://arxiv.org/html/2610.33702#S5.F7)and Table[7](https://arxiv.org/html/2610.33702#S5.T7)compare measured p50 latency againstT\(r\)T\(r\)for reuse ratiosr∈\{0,14,12,34,1\}r\\in\\\{0,\\tfrac\{1\}\{4\},\\tfrac\{1\}\{2\},\\tfrac\{3\}\{4\},1\\\}, where exactly⌊rK⌉\\lfloor rK\\rceilof the crops are in the hybrid cache before a request with a fresh state\. Measured and predicted agree within 5% everywhere exceptr=1r\{=\}1at largeKK, where the residual is host\-side assembly of the cached entries \(71 ms atK=2,048K\{=\}2\{,\}048\) rather than GPU work\. The speedup at full reuse is3\.6×3\.6\\timesatK=16K\{=\}16,11×11\\timesat 64,37×37\\timesat 256,133×133\\timesat 1,024 and191×191\\timesat 2,048: it grows withKKbecauseaais paid once, and the limit1\+Kcimg/\(a\+Kδ\)1\+Kc\_\{\\text\{img\}\}/\(a\+K\\delta\)of Proposition[2](https://arxiv.org/html/2610.33702#Thmproposition2)is≈450\\approx 450atK=2,048K\{=\}2\{,\}048, so a third of it is realised\. A repeated identical request, where the candidate set itself is cached, takes 2–62 ms across the range ofKK\.
Figure 7:Latency againstKKwith none, half, or all of the image candidates already cached \(solid: measured; dashed: Proposition[2](https://arxiv.org/html/2610.33702#Thmproposition2)with the measured constants\)\. At full reuse a request costs the state pass plus host\-side assembly whateverKKis\.Table 7:Latency under candidate reuse:KKimage candidates of which a fractionrris already in the hybrid cache, fresh state every request; one A800, 5 repetitions\. Predicted isT\(r\)T\(r\)of Proposition[2](https://arxiv.org/html/2610.33702#Thmproposition2)with the measured constants\.S\(1\)S\(1\)is the measured speedup at full reuse\.One implementation detail decides whetherδ\\deltais small in practice\. A cache hit must cost no host\-side work proportional to the candidate’s content: our first implementation re\-hashed every candidate’s image bytes and re\-tokenised its text on every request, which atK=2,048K\{=\}2\{,\}048added five seconds to a request whose GPU work was 50 ms\. Keying digests by file identity and memoising token counts per content key removes it; we mention this because it is where “cacheable” is most easily lost\. The small\-KKsweep shows the same effect at the other end: atK=16K\{=\}16andr=0\.75r\{=\}0\.75the measured 135 ms exceeds the predicted 90 because assembling a request from twelve cached entries and four fresh ones costs a fixed few tens of milliseconds of host work that the model does not see\.
Two caveats on these numbers\. The encoding\-cost ratio between a crop and its label is 2\.4–3\.2 here, not the “tens of times” one might expect, because Mind2Web crops are small \(69 tokens\) and the vision tower is fast once its patch embedding is a matrix product; a448×448448\{\\times\}448photo at 256 tokens would move the ratio to roughly 10\. And the workload replay \(consecutive steps of one task sharing a page\) is uninformative on the sampledK=16K\{=\}16build—consecutive steps share 4% of their candidates—so the per\-site reuse ratio that an agent would see in practice is not measured here; Proposition[2](https://arxiv.org/html/2610.33702#Thmproposition2)and Table[7](https://arxiv.org/html/2610.33702#S5.T7)give the speedup for whatever ratio it turns out to be\.
## 6Related work
#### System One models\.
Jev\[[3](https://arxiv.org/html/2610.33702#bib.bib3)\]introduced thechoice/noul/scoreinterface and calibrated it with RLCD\. Open re\-implementations read option probabilities from answer\-token logits \(SemIf, JevK5\), from a decision token \(Intern\-Decision\), from a pointer head over option positions \(KEV\), or from a bi\-encoder with a decision head \(Laya\); ReFlex and AnyJev aggregate predictions over several candidate orders, which treats the symptom of order dependence at sampled orO\(K2\)O\(K^\{2\}\)cost; Runoff\[[8](https://arxiv.org/html/2610.33702#bib.bib8)\]does so more cheaply through a pointwise consideration set and shows that fine\-tuning for decisions does not remove the dependence \(§[2](https://arxiv.org/html/2610.33702#S2)\)\. Chinese\-Jev transfers the interface to Chinese tasks including finance\.Jeva\[[1](https://arxiv.org/html/2610.33702#bib.bib1)\]derives the architecture from the four requirements instead;Irisinherits its decision module and is the first to admit visual candidates\.
#### Multimodal System One models\.
OneJev\[[2](https://arxiv.org/html/2610.33702#bib.bib2)\]fine\-tunes Qwen3\.5 \(0\.8B–27B\) with the vision tower frozen to answer typed questions about screenshots and video; Jev\-Omni and OmniMed\-Jev are in the same family, the latter for medical imaging\. All three keep candidates textual\. Liu et al\.\[[9](https://arxiv.org/html/2610.33702#bib.bib9)\]rerank the top\-16 images or pages of a retriever as one letter\-slot choice over a 27B VLM, zero\-shot; it is the strongest joint\-encoding treatment of visual candidates we know of, and bounded by the same context and order limits\. MetaEncoder\[[4](https://arxiv.org/html/2610.33702#bib.bib4)\]\(Meta AI\) fine\-tunes a 30B multimodal decoder into a bi\-encoder with a natural\-language interface and evaluates on 190 tasks across decision making, understanding and retrieval; its candidates may carry images, which makes it the closest system toIris\. The difference is the decision path: a single cosine similarity, with closed\-set competence recovered by listing the options inside the request \(§[2](https://arxiv.org/html/2610.33702#S2)\)\. It reports being robust to option order and lagging joint encoders on decision tasks\.Iriskeeps the request free of candidates and recovers set dependence in the decision block instead, at 4B parameters\.
#### Retrieval and set functions\.
Encoding candidates independently and precomputing them is standard in dense retrieval \(DPR, ColBERT\) and in universal multimodal retrievers \(UniIR/M\-BEIR\[[7](https://arxiv.org/html/2610.33702#bib.bib7)\]\); whatIrisadds, throughJeva’s block, is interaction among the candidates in the decision without giving up the precomputation\. Deep Sets and Set Transformer provide the permutation\-invariant machinery\.
#### Web agents\.
Mind2Web\[[5](https://arxiv.org/html/2610.33702#bib.bib5)\]and SeeAct\[[6](https://arxiv.org/html/2610.33702#bib.bib6)\]select elements by ranking DOM candidates or by grounding a VLM’s description on the page; recent GUI agents ground actions directly in pixels\. Our use of Mind2Web is different in kind: the candidates are given as images and the task is a typed decision over them, which lets a web agent’s element choice be served by a cacheable, order\-invariant System One call\.
## 7Limitations
Irishandles images only; video is reduced to stills, and audio is not addressed\. The vision tower is frozen, so gains come from the language model and the decision module adapting to visual candidate vectors; whether tuning the tower helps is not tested here\. We also do not ablate stage 1, the text label on the crop, or the pixel budget on Mind2Web; the one pixel\-budget comparison we ran \(MMEB\-V2, §[5\.7](https://arxiv.org/html/2610.33702#S5.SS7)\) was uninformative because its images are already below the budget\. Mind2Web has few steps without a positive \(4–6%\), so null detection with visual candidates is only coarsely measured there; the typed metrics use OneJev\-Data\.Jeva’s curriculum data are not public, soIrisis trained from the releasedJeva\-4B checkpoint rather than from scratch, andJeva’s text\-candidate numbers in Table[2](https://arxiv.org/html/2610.33702#S5.T2)are a reference point rather than a controlled comparison: the crop and the HTML carry different information about the same element\.
## 8Conclusion
Jevashowed that null\-awareness, order invariance, scalability and reuse are properties of a decision module that reads a memory of independently encoded candidates\.Irisshows that this remains true when the candidates are pictures—by proof, because nothing in the module depends on what a candidate is; and by measurement, with a flip rate of zero against 8–54% for the joint\-encoding alternative, latency linear inKKto two thousand image candidates, and reuse speedups within 5% of the closed form\. It also shows what independence costs\. Against a joint encoder fine\-tuned on the same steps, independently encoded crops lose 12–17 points on Mind2Web; the controlled third design—candidates that see the request but not each other—recovers all of it on one split and most of it on the other two while keeping every guarantee except cross\-request reuse; and three further readouts that let pooled candidates see each other recover none of the rest, because the encoder has already collapsed the candidates to one point\. The boundary of the per\-candidate design is therefore not where intuition puts it \(candidates must compare themselves to each other\) but earlier: at the pooling of a candidate to a vector\. The choice between the twoIrisencoders is therefore a workload question, not a modelling one: when candidates exist long before the request does—the elements of a page, the products of a catalogue, the charts of a market—encode them once and let each request read them; when every request brings its own candidates, let them read the request\.
## Reproducibility
Code, the benchmark construction scripts, the deduplication and shuffling scripts, training configurations and evaluation outputs are at[https://github\.com/lllfx/Iris](https://github.com/lllfx/Iris)\. The decision module is used verbatim fromJeva; the checkpoint initialisation script reproduces the exact\-equivalence check of §[5\.1](https://arxiv.org/html/2610.33702#S5.SS1)\.
## References
- \[1\]Q\. Li and X\. Wang\. Jeva: System One Models from First Principles\. arXiv:2610\.18773, 2026\.
- \[2\]OmniJev\. OneJev: A Multimodal System One Decision Model\.[https://github\.com/OmniJev/OneJev](https://github.com/OmniJev/OneJev), 2026\.
- \[3\]TypeSafe AI\. Introducing System One Models and Jev\. 2026\.
- \[4\]J\. Cheng, G\. Sun, A\. Singh, B\. Zhang, H\. Dai, H\. Mansour, J\. Zhang, S\. K\. Mishra, W\. Sun, X\. Cui, Y\. Liu, Q\. Guo, M\. X\. Fan, and J\. Xiao \(Meta AI\)\. MetaEncoder: Exploring the Limit of Bi\-Encoders for Multimodal System One Decision Making with Natural Language Interface\. arXiv:2610\.11316, 2026\.
- \[5\]X\. Deng et al\. Mind2Web: Towards a Generalist Agent for the Web\. NeurIPS, 2023\.
- \[6\]B\. Zheng et al\. GPT\-4V\(ision\) is a Generalist Web Agent, if Grounded\. ICML, 2024\.
- \[7\]C\. Wei et al\. UniIR: Training and Benchmarking Universal Multimodal Information Retrievers\. ECCV, 2024\.
- \[8\]J\. Huang, Y\. L\. Teng, Y\. Deng, and B\. An\. Consider, Then Choose: Order\-Invariant Decisions in System One Models\. arXiv:2610\.18233, 2026\.
- \[9\]Z\. Liu, Y\. Zhang, and Y\. Xiao\. Multimodal Reranking Is a System One Decision\. arXiv:2610\.28435, 2026\.
- \[10\]F\. Standhartinger and contributors\. JevBench: a benchmark and leaderboard for AI decision models\.[https://github\.com/fstandhartinger/jevbench](https://github.com/fstandhartinger/jevbench), 2026\.
- \[11\]Mohit and contributors\. ImaJev\-Bench\.[https://huggingface\.co/datasets/mohit67890/imajev\-bench](https://huggingface.co/datasets/mohit67890/imajev-bench), 2026\.
## Appendix AImplementation and hyper\-parameters
Table 8:Settings\. Everything not listed isJeva\-4B’s default\.
## Appendix BBenchmark construction details
Crops are taken from the full\-page screenshot with the element’sbounding\_box\_rect, padded by 6 px, grown symmetrically to a minimum side of 48 px, and downscaled to a longest side of 336 px\. The label is the tag followed by the first non\-empty ofaria\-label,alt,title,placeholder,name,value,type, each truncated to 60 characters; for examplebutton type=submit,select aria\_label=Pick Up Time,a alt=Follow Budget on instagram\. Negatives are drawn from the step’sneg\_candidateswithrandom\.Random\(f"\{seed\}:\{action\_uid\}"\)\. Steps dropped: one with no screenshot in cross\-task, ten in cross\-domain; one to eight per split whose gold crop fell outside the screenshot bounds\. Duplicates removed: 109 candidates in 103 of 1,337 cross\-task steps, 89 in 79 of 1,017 cross\-website steps and 400 in 330 of 4,042 cross\-domain steps, and 714 in 603 of 7,751 training steps\. Where two candidates are byte\-identical the model assigns them identical probabilities \(Proposition[1](https://arxiv.org/html/2610.33702#Thmproposition1)\), so the duplicate is removed from the saved distribution offline and the renormalised distribution is exactly what the model produces on the deduplicated set\. Candidate order is shuffled withrandom\.Random\(f"\{seed\}:\{id\}"\); the gold position is at index 0 in 7\.3 / 6\.9 / 7\.0% of the cross\-task / cross\-website / cross\-domain steps with a positive \(uniform expectation 6\.25%; records with fewer than 16 candidates after deduplication raise it slightly\)\.
## Appendix CAdditional results
### C\.1Abstention margin
The released conditioned model predicts⊥\\botonly whenp\(⊥\)≥maxipi\+δp\(\\bot\)\\geq\\max\_\{i\}p\_\{i\}\+\\delta\. Table[9](https://arxiv.org/html/2610.33702#A3.T9)sweepsδ\\deltaon cross\-task \(original order, offline on the saved distributions; the rule is applied identically in every order, so order invariance is untouched\) and applies the selected value to the other splits\.
Table 9:Abstention margin for the released conditioned model \(%\)\.
### C\.2Training trajectory of the state\-conditioned model
Figure 8:Cross\-task accuracy of the conditioned stage\-2 checkpoints: total, on steps with a positive, and correct abstention on the 81 null steps\.Table[10](https://arxiv.org/html/2610.33702#A3.T10)and Figure[8](https://arxiv.org/html/2610.33702#A3.F8)evaluate every periodic checkpoint of the conditioned stage 2 \(one save per 50 optimizer steps of 32 rows\) on cross\-task, original candidate order only\. “Positive” is accuracy on steps whose gold element is among the candidates, “null” the share of null steps on which the model correctly abstains \(81 of 1,337 steps\)\.
Table 10:Cross\-task accuracy \(%\) of the conditioned stage\-2 checkpoints, original order\. From 1\.2 epochs on, accuracy on steps with a positive is stable and the total is driven by the volatile abstention rate on the 81 null steps\.相似文章
Intern-Decision:基于自回归掩码语言建模的高效多模态决策
Intern-Decision 引入了一系列紧凑型(0.8B/2B/4B)多模态决策模型,采用自回归掩码语言建模目标,在单次因果前向传播中输出带概率的结构化选择,在七个基准上达到 90.02% 的平均准确率,并具有低延迟,适用于交互式智能体。
DMV-Bench: 通过偶然线索注入诊断长周期多模态智能体的视觉记忆
介绍DMV-Bench,一个用于评估多模态智能体视觉记忆的交互式基准测试,该测试利用产品图像中的偶然视觉线索,并提出了DualMem,一种双编码记忆架构,在各种链长度上优于纯文本和其他多模态基线。
参数化多模态用户记忆:存储文字描述无法传达的信息
本文介绍了一种参数化多模态用户记忆系统,通过整合语音和外貌等感知数据,利用视觉语言模型和专用编码器,提升AI智能体回忆用户的能力,从而超越基于文本的方法。
超越视觉思维链:内化视觉思维的主动视频推理
本文介绍了内化视觉思维(IVT),一个后训练框架,该框架训练多模态模型预测未来帧嵌入,从而无需合成中间图像即可直接生成答案,将主动视频推理的延迟降低5倍以上。
See2Think:多模态模型真的会使用中间视觉状态吗?
本文介绍了See2Think,一个统一的评估框架,用于测试多模态模型在推理过程中是否真正依赖中间视觉状态。研究发现,视觉推理高度依赖模型和环境,而忠实的渲染是主要瓶颈。