<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://zavis.chat/feed.xml" rel="self" type="application/atom+xml"/><link href="https://zavis.chat/" rel="alternate" type="text/html" hreflang="en"/><updated>2026-09-23T15:09:13+00:00</updated><id>https://zavis.chat/feed.xml</id><title type="html">blank</title><subtitle>Seonghyun — research on AI-agent architectures, reinforcement learning, and risk modeling for human–AI interaction. </subtitle><entry><title type="html">Multi-Agent Orchestration Patterns: A Map</title><link href="https://zavis.chat/blog/2026/orchestration-patterns-landscape/" rel="alternate" type="text/html" title="Multi-Agent Orchestration Patterns: A Map"/><published>2026-09-22T14:00:00+00:00</published><updated>2026-09-22T14:00:00+00:00</updated><id>https://zavis.chat/blog/2026/orchestration-patterns-landscape</id><content type="html" xml:base="https://zavis.chat/blog/2026/orchestration-patterns-landscape/"><![CDATA[<blockquote> <p>Tone: clean-academic, survey register — a map to sit next to the deeper theoretical and applied posts, not a replacement for either.</p> </blockquote> <blockquote> <p><strong>Original.</strong> “Composition does not preserve reliability… Multi-agent systems are often <em>less</em> reliable than the single loop they replaced, and the failure is located in the seams — task specification and result fusion — not in the workers.” — from <a href="/blog/2026/the-agent-loop-field-guide/">the agent-loop field guide</a>, Sub-problem 4.</p> <p><strong>Essence.</strong> The field guide proved <em>why</em> naive multi-agent composition can hurt more than it helps (reliability compounds as roughly $p^n$ across dependent steps, before you even add the orchestrator’s own decomposition/fusion error). What it didn’t do — deliberately, it’s a theory post — is catalogue the actual patterns people use once they compose loops anyway. This post is that catalogue: four real patterns, compared on the one thing the reliability math says matters — where the seams are, and what each pattern does to keep them from being the weak point.</p> </blockquote> <h2 id="0-the-seam-is-the-point">0. The seam is the point</h2> <p>Every multi-agent pattern below is, underneath its name, a different answer to one question: <strong>when you split a task across multiple LLM calls, what exactly gets passed across the seam?</strong> Full reasoning traces? Final answers only? A shared draft everyone edits? The answer determines both the pattern’s failure mode and its cost.</p> <h2 id="1-four-real-patterns">1. Four real patterns</h2> <ul> <li><strong>Orchestrator–Workers</strong> — a controller decomposes a task and dispatches sub-tasks to specialized workers, then fuses their results. The seam carries <em>task specifications going out</em> and <em>results coming back</em>; workers don’t see each other. This is the pattern named (and formally cited only informally, via Anthropic’s own engineering writeup) in the <a href="/blog/2026/orchestrator-workers-augfc-agent-loop/">gap post</a> and worked out concretely in the <a href="/blog/2026/sector-specialized-financial-llms/">financial-LLM post</a>.</li> <li><strong>Multi-Agent Debate</strong> <a class="citation" href="#du2023debate">(Du et al., 2024)</a> (2023, ICML 2024) — multiple instances of a model propose answers, see each other’s full reasoning, and revise over several rounds toward a common answer. The seam carries <em>complete reasoning traces</em>, not just conclusions — the mechanism the paper credits for reducing hallucination and improving factuality.</li> <li><strong>Mixture-of-Agents</strong> <a class="citation" href="#wang2024moa">(Wang et al., 2024)</a> (2024) — a layered architecture: each layer of agents takes <em>every</em> prior layer’s outputs as auxiliary context and produces a refined response, repeated for several layers. The seam carries full prior-layer outputs forward, never backward — no debate, no revision of earlier layers, only synthesis going up.</li> <li><strong>Reflexion</strong> <a class="citation" href="#shinn2023reflexion">(Shinn et al., 2023)</a> (2023) — technically a single agent, not multiple, but the same seam question applies across <em>time</em> instead of across agents: the agent critiques its own attempt in natural language, stores that verbal feedback, and retries. Included because it’s the degenerate case (n=1) that the multi-agent patterns generalize — worth knowing what composition adds over self-critique alone.</li> </ul> <h2 id="2-comparison-table">2. Comparison table</h2> <table> <thead> <tr> <th> </th> <th>What crosses the seam</th> <th>Direction</th> <th>Failure mode targeted</th> </tr> </thead> <tbody> <tr> <td>Orchestrator–Workers</td> <td>task spec out, result back</td> <td>controller ↔ each worker (star)</td> <td>task decomposition reliability — the field guide’s $p^n$ problem</td> </tr> <tr> <td>Multi-Agent Debate</td> <td>full reasoning traces</td> <td>all-to-all, multi-round</td> <td>hallucination / factual error, via disagreement surfacing bad reasoning</td> </tr> <tr> <td>Mixture-of-Agents</td> <td>full prior-layer outputs</td> <td>strictly forward, layer to layer</td> <td>output quality/diversity — no single model’s weaknesses dominate</td> </tr> <tr> <td>Reflexion</td> <td>verbal self-critique</td> <td>agent to itself, across time</td> <td>single-attempt failure, via retry informed by stated failure reason</td> </tr> </tbody> </table> <h2 id="3-what-the-field-guides-math-predicts-for-each">3. What the field guide’s math predicts for each</h2> <p>Going back to the $p^n$ reliability-composition result: <strong>Orchestrator–Workers is the pattern most exposed to it</strong> — a genuine dependency chain (decompose → delegate → fuse), so the compounding failure the field guide warns about is a real risk, not a theoretical one. <strong>Debate and Mixture-of-Agents are structurally different</strong>: they’re not a dependency chain toward one answer but multiple independent-ish attempts reconciled at the end, which is closer to an ensemble than a pipeline — a different reliability story the $p^n$ formula doesn’t directly describe. This is a genuine open question this survey doesn’t resolve: none of the four papers analyzes its own reliability composition the way the field guide’s theory post does for the general case.</p> <h2 id="4-open-questions">4. Open questions</h2> <ul> <li>Does Multi-Agent Debate’s “expose disagreement” mechanism still help once all debating agents are instances of the <em>same</em> model (shared blind spots), or does it need genuine model heterogeneity to work?</li> <li>Mixture-of-Agents never lets a later layer correct an earlier one’s mistake it didn’t propagate forward cleanly — is that a real limitation, or does synthesis-only composition avoid a different failure mode (infinite revision loops) that debate is exposed to?</li> <li>The kmux-observer post’s actual question — when should a <em>human’s</em> attention get pulled into any of these four patterns, not just when should the system escalate to a bigger model — isn’t answered by any of the four papers here. That’s still open.</li> </ul> <details> <summary>Formal cited bibliography (auto-generated)</summary> <h2 class="bibliography">2024</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="du2023debate" class="col-sm-8"> <div class="title">Improving Factuality and Reasoning in Language Models through Multiagent Debate</div> <div class="author"> Yilun Du, Shuang Li, Antonio Torralba, and <span class="more-authors" title="click to view 2 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '2 more authors' ? 'Joshua B. Tenenbaum, Igor Mordatch' : '2 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">2 more authors</span> </div> <div class="periodical"> <em>In International Conference on Machine Learning (ICML)</em>, 2024 </div> <div class="periodical"> arXiv May 2023; ICML 2024. Verify fields before relying on them </div> <div class="links"> <a href="http://arxiv.org/abs/2305.14325" class="btn btn-sm z-depth-0" role="button">arXiv</a> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="wang2024moa" class="col-sm-8"> <div class="title">Mixture-of-Agents Enhances Large Language Model Capabilities</div> <div class="author"> Junlin Wang, Jue Wang, Ben Athiwaratkun, and <span class="more-authors" title="click to view 2 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '2 more authors' ? 'Ce Zhang, James Zou' : '2 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">2 more authors</span> </div> <div class="periodical"> <em>arXiv preprint</em>, 2024 </div> <div class="periodical"> MoA. Verify fields before relying on them </div> <div class="links"> <a href="http://arxiv.org/abs/2406.04692" class="btn btn-sm z-depth-0" role="button">arXiv</a> </div> </div> </div> </li></ol> <h2 class="bibliography">2023</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="shinn2023reflexion" class="col-sm-8"> <div class="title">Reflexion: Language Agents with Verbal Reinforcement Learning</div> <div class="author"> Noah Shinn, Federico Cassano, Edward Berman, and <span class="more-authors" title="click to view 3 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '3 more authors' ? 'Ashwin Gopinath, Karthik Narasimhan, Shunyu Yao' : '3 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">3 more authors</span> </div> <div class="periodical"> <em>In Advances in Neural Information Processing Systems (NeurIPS)</em>, 2023 </div> <div class="periodical"> Verify fields before relying on them </div> <div class="links"> <a href="http://arxiv.org/abs/2303.11366" class="btn btn-sm z-depth-0" role="button">arXiv</a> </div> </div> </div> </li></ol> </details>]]></content><author><name></name></author><category term="llm"/><category term="ai-agents"/><category term="agent-loop"/><category term="orchestrator-workers"/><category term="multi-agent"/><category term="survey"/><category term="vertical"/><summary type="html"><![CDATA[The field guide named orchestration as a sub-problem and gave you the reliability math; this post gives you the taxonomy the math was missing — Orchestrator-Workers, Multi-Agent Debate, Mixture-of-Agents, and Reflexion, compared on who talks to whom and which failure mode each actually targets.]]></summary></entry><entry><title type="html">The Latent / Continuous Reasoning Landscape: A Map</title><link href="https://zavis.chat/blog/2026/latent-reasoning-landscape/" rel="alternate" type="text/html" title="The Latent / Continuous Reasoning Landscape: A Map"/><published>2026-09-22T13:00:00+00:00</published><updated>2026-09-22T13:00:00+00:00</updated><id>https://zavis.chat/blog/2026/latent-reasoning-landscape</id><content type="html" xml:base="https://zavis.chat/blog/2026/latent-reasoning-landscape/"><![CDATA[<blockquote> <p>Tone: clean-academic, survey register — this post is a map, not an essay. Depth on any one paradigm lives in the linked deep-dive posts; this one is for orientation and comparison.</p> </blockquote> <blockquote> <p><strong>Original.</strong> “We propose training and performing inference on language models with a learnable pause token… delaying the model’s answer generation by manually appending dummy tokens.” — <a class="citation" href="#goyal2023pause">(Goyal et al., 2024)</a>, the earliest of the five papers below, and the most modest version of the idea.</p> <p><strong>Essence.</strong> Every paper on this page is answering the same question with a different amount of ambition: if forcing a model through a discrete vocabulary token at every reasoning step is a constraint, not a law of nature, how far can you loosen it — from “just give it more time” (2023) to “let it reason in full continuous hidden-state space” (2024)? This post maps the five real answers, compared on what they actually do, not just what they’re called.</p> </blockquote> <h2 id="0-why-leave-the-discrete-token-space">0. Why leave the discrete-token space?</h2> <p>Standard chain-of-thought <a class="citation" href="#wei2022cot">(Wei et al., 2022)</a> forces every intermediate reasoning step through the same bottleneck the final answer goes through: collapse a continuous hidden state down to one vocabulary token, then re-embed that token to continue. Two things follow from that constraint, independent of any single paper: it’s expensive (each step is a full generation step), and it’s a lossy compression (everything the hidden state was representing except the argmax winner is discarded). Five real papers, in roughly chronological order, each relax a different piece of that constraint.</p> <h2 id="1-five-ways-to-not-quite-verbalize-a-step">1. Five ways to not-quite-verbalize a step</h2> <ul> <li><strong>Pause Tokens</strong> <a class="citation" href="#goyal2023pause">(Goyal et al., 2024)</a> (Oct 2023) — the smallest move: insert learnable “pause” tokens the model must process before it’s allowed to answer, buying extra computation without asking for a specific reasoning trace. Still fully discrete — the pause token is a real vocabulary token, just an uninformative one.</li> <li><strong>CoCoMix</strong> <a class="citation" href="#tack2025cocomix">(Tack et al., 2026)</a> (Feb 2025) — moves the intervention to <em>pretraining</em>: predict continuous concepts (extracted via a pretrained sparse autoencoder) and interleave them into the hidden-state sequence alongside ordinary token representations, rather than reasoning in continuous space only at inference time.</li> <li><strong>Soft Thinking</strong> <a class="citation" href="#zhang2025softthinking">(Zhang et al., 2025)</a> (May 2025) — training-free: at inference, generate a probability-weighted mixture over the token embedding table instead of committing to one argmax token, so a single “soft” step can encode several plausible continuations at once.</li> <li><strong>Coconut</strong> <a class="citation" href="#hao2024coconut">(Hao et al., 2024)</a> (Dec 2024, deep-dive <a href="/blog/2026/coconut-continuous-latent-reasoning/">here</a>) — the most direct version: skip decoding entirely, feed the model’s own last hidden state back as the next input embedding, in a dedicated “latent mode” the model switches into and out of.</li> <li><strong>CoGHP</strong> <a class="citation" href="#choi2026coghp">(Choi et al., 2026)</a> (2026, deep-dive <a href="/blog/2026/coghp-latent-chain-of-thought/">here</a>) — the same underlying bet in a domain that was never made of tokens to begin with: an offline RL control policy that generates a chain of latent subgoals, not language, before an action. Proof the idea isn’t LLM-specific.</li> </ul> <h2 id="2-comparison-table">2. Comparison table</h2> <table> <thead> <tr> <th> </th> <th>What it actually generates</th> <th>Needs training?</th> <th>Inspectable?</th> <th>Applied at</th> </tr> </thead> <tbody> <tr> <td>Pause Tokens</td> <td>a real (but content-free) vocabulary token</td> <td>Yes — full pretrain + finetune</td> <td>Yes (it’s a token) but tells you nothing</td> <td>Pretrain + inference</td> </tr> <tr> <td>CoCoMix</td> <td>continuous SAE-derived concept vectors, interleaved</td> <td>Yes — pretraining-level</td> <td>Partially — concepts are individually inspectable/steerable via the SAE</td> <td>Pretraining</td> </tr> <tr> <td>Soft Thinking</td> <td>probability-weighted mixture over token embeddings</td> <td><strong>No</strong> — training-free</td> <td>Partially — still lives in token-embedding space, nearest-neighbor decodable</td> <td>Inference only</td> </tr> <tr> <td>Coconut</td> <td>the raw last hidden state, fed back directly</td> <td>Yes — needs a training curriculum</td> <td>No — opaque hidden-state vector</td> <td>Inference (after special training)</td> </tr> <tr> <td>CoGHP</td> <td>a latent subgoal in a learned goal-embedding space</td> <td>Yes — offline RL training</td> <td>No — opaque latent point</td> <td>Inference (after special training)</td> </tr> </tbody> </table> <p>The two axes that actually separate these five: <strong>does it need training at all</strong> (only Soft Thinking says no), and <strong>does “continuous” mean a mixture over a fixed vocabulary or a genuinely free hidden-state vector</strong> (CoCoMix/Soft Thinking stay anchored to the token embedding table; Coconut/CoGHP don’t).</p> <h2 id="3-read-the-deep-dives-for-mechanism">3. Read the deep dives for mechanism</h2> <p>This page is the map, not the territory — for the actual mechanism, worked examples, and honest limitations of any one paradigm:</p> <ul> <li><a href="/blog/2026/coconut-continuous-latent-reasoning/">Coconut: what it actually looks like to reason without words</a> — typed pseudocode for the hidden-state feedback loop, the implicit-BFS finding, the honest interpretability cost.</li> <li><a href="/blog/2026/cot-faithfulness/">Does the chain of thought say what the model actually did?</a> — Turpin and Lanham’s results, the actual empirical case that verbalized CoT can silently diverge from the real computation — the problem this whole landscape exists to route around.</li> <li><a href="/blog/2026/coghp-latent-chain-of-thought/">CoGHP: latent chain-of-thought for long-horizon offline RL</a> — the same idea worked out fully outside language.</li> </ul> <h2 id="4-tradeoffs-and-open-problems">4. Tradeoffs and open problems</h2> <ul> <li><strong>The interpretability gradient is real and it’s steep.</strong> Pause Tokens is fully legible (it’s a token) but says nothing. CoCoMix and Soft Thinking stay tethered to the token vocabulary, so there’s at least a nearest-neighbor decoding available. Coconut and CoGHP give up that anchor entirely for the largest capability gain (Coconut’s implicit BFS). Nobody has found a way to get both.</li> <li><strong>“Training-free” is a bigger deal than it sounds.</strong> Four of the five paradigms need dedicated training; only Soft Thinking doesn’t. That makes it the only one of the five that could plausibly be applied to an existing deployed model without a retraining cycle — worth weighing against the fact that it also produces the mildest capability change.</li> <li><strong>No paper here compares against another paper here.</strong> Each of the five was benchmarked against classic CoT or task-specific baselines, not against the other four paradigms on this page. The comparison table above is this post’s own synthesis, not a result any of the five papers reports.</li> </ul> <h2 id="5-one-line-thesis">5. One-line thesis</h2> <p>The field isn’t converging on one mechanism for “reasoning without words” — it’s exploring a real spectrum from <em>token-anchored-but-free</em> (Soft Thinking, CoCoMix) to <em>fully unmoored from the vocabulary</em> (Coconut, CoGHP), and the honest interpretability cost rises the further along that spectrum you go.</p> <details> <summary>Formal cited bibliography (auto-generated)</summary> <h2 class="bibliography">2026</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="tack2025cocomix" class="col-sm-8"> <div class="title">LLM Pretraining with Continuous Concepts</div> <div class="author"> Jihoon Tack, Jack Lanchantin, Jane Yu, and <span class="more-authors" title="click to view 7 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '7 more authors' ? 'Andrew Cohen, Ilia Kulikov, Janice Lan, Shibo Hao, Yuandong Tian, Jason Weston, Xian Li' : '7 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">7 more authors</span> </div> <div class="periodical"> <em>In International Conference on Learning Representations (ICLR)</em>, 2026 </div> <div class="periodical"> CoCoMix. Verify fields before relying on them </div> <div class="links"> <a href="http://arxiv.org/abs/2502.08524" class="btn btn-sm z-depth-0" role="button">arXiv</a> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="choi2026coghp" class="col-sm-8"> <div class="title">Chain-of-Goals Hierarchical Policy for Long-Horizon Offline Goal-Conditioned RL</div> <div class="author"> Jinwoo Choi, Sang-Hyun Lee, and Seung-Woo Seo </div> <div class="periodical"> <em>arXiv preprint arXiv:2602.03389</em>, 2026 </div> <div class="periodical"> </div> <div class="links"> </div> </div> </div> </li></ol> <h2 class="bibliography">2025</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="zhang2025softthinking" class="col-sm-8"> <div class="title">Soft Thinking: Unlocking the Reasoning Potential of LLMs in Continuous Concept Space</div> <div class="author"> Zhen Zhang, Xuehai He, Weixiang Yan, and <span class="more-authors" title="click to view 5 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '5 more authors' ? 'Ao Shen, Chenyang Zhao, Shuohang Wang, Yelong Shen, Xin Eric Wang' : '5 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">5 more authors</span> </div> <div class="periodical"> <em>arXiv preprint</em>, 2025 </div> <div class="periodical"> NeurIPS 2025. Training-free. Verify fields before relying on them </div> <div class="links"> <a href="http://arxiv.org/abs/2505.15778" class="btn btn-sm z-depth-0" role="button">arXiv</a> </div> </div> </div> </li></ol> <h2 class="bibliography">2024</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="goyal2023pause" class="col-sm-8"> <div class="title">Think Before You Speak: Training Language Models With Pause Tokens</div> <div class="author"> Sachin Goyal, Ziwei Ji, Ankit Singh Rawat, and <span class="more-authors" title="click to view 3 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '3 more authors' ? 'Aditya Krishna Menon, Sanjiv Kumar, Vaishnavh Nagarajan' : '3 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">3 more authors</span> </div> <div class="periodical"> <em>In International Conference on Learning Representations (ICLR)</em>, 2024 </div> <div class="periodical"> arXiv Oct 2023; ICLR 2024. Verify fields before relying on them </div> <div class="links"> <a href="http://arxiv.org/abs/2310.02226" class="btn btn-sm z-depth-0" role="button">arXiv</a> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="hao2024coconut" class="col-sm-8"> <div class="title">Training Large Language Models to Reason in a Continuous Latent Space</div> <div class="author"> Shibo Hao, Sainbayar Sukhbaatar, DiJia Su, and <span class="more-authors" title="click to view 4 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '4 more authors' ? 'Xian Li, Zhiting Hu, Jason Weston, Yuandong Tian' : '4 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">4 more authors</span> </div> <div class="periodical"> <em>arXiv preprint</em>, 2024 </div> <div class="periodical"> Coconut; FAIR at Meta + UC San Diego. Verify fields before relying on them </div> <div class="links"> <a href="http://arxiv.org/abs/2412.06769" class="btn btn-sm z-depth-0" role="button">arXiv</a> </div> </div> </div> </li></ol> <h2 class="bibliography">2022</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="wei2022cot" class="col-sm-8"> <div class="title">Chain-of-Thought Prompting Elicits Reasoning in Large Language Models</div> <div class="author"> Jason Wei, Xuezhi Wang, Dale Schuurmans, and <span class="more-authors" title="click to view 2 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '2 more authors' ? 'Maarten Bosma, others' : '2 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">2 more authors</span> </div> <div class="periodical"> <em>In Advances in Neural Information Processing Systems (NeurIPS)</em>, 2022 </div> <div class="periodical"> arXiv:2201.11903 </div> <div class="links"> </div> </div> </div> </li></ol> </details>]]></content><author><name></name></author><category term="llm"/><category term="ai-agents"/><category term="chain-of-thought"/><category term="latent-reasoning"/><category term="survey"/><category term="interpretability"/><category term="llm"/><summary type="html"><![CDATA[Five real papers, one question: what do you do instead of verbalizing a reasoning step? A survey-style map (comparison table, tradeoffs, one-line thesis) to sit alongside the deep-dive posts — Pause Tokens, CoCoMix, Soft Thinking, Coconut, and CoGHP, compared on what each actually generates, whether it needs training, and whether it's inspectable.]]></summary></entry><entry><title type="html">Coconut: What It Actually Looks Like to Reason Without Words</title><link href="https://zavis.chat/blog/2026/coconut-continuous-latent-reasoning/" rel="alternate" type="text/html" title="Coconut: What It Actually Looks Like to Reason Without Words"/><published>2026-09-20T13:00:00+00:00</published><updated>2026-09-20T13:00:00+00:00</updated><id>https://zavis.chat/blog/2026/coconut-continuous-latent-reasoning</id><content type="html" xml:base="https://zavis.chat/blog/2026/coconut-continuous-latent-reasoning/"><![CDATA[<blockquote> <p>Tone: clean-academic body, professor-cautious on the limitations section. Third post in the reasoning series — read alongside the <a href="/blog/2026/cot-faithfulness/">CoT-faithfulness post</a> and <a href="/blog/2026/coghp-latent-chain-of-thought/">CoGHP</a>.</p> </blockquote> <blockquote> <p><strong>Original.</strong> “Large language models (LLMs) are typically constrained to reason in the language space, where they express the reasoning process through a chain-of-thought (CoT) to solve complex problems. However, the language space may not always be optimal for reasoning.” — <a class="citation" href="#hao2024coconut">(Hao et al., 2024)</a>, opening lines of the abstract.</p> <p><strong>Essence.</strong> The paper’s whole bet is contained in that second sentence: language was built for communication, not necessarily for the model’s own internal reasoning, so forcing every intermediate step through it may be a self-imposed constraint rather than a necessity. Coconut tests that bet directly by letting the model reason in its native continuous representation space instead, and finds a concrete capability gain (implicit breadth-first search) where the language bottleneck would have forced an early, possibly wrong, commitment to one path.</p> </blockquote> <h2 id="0-where-this-sits-in-the-series">0. Where this sits in the series</h2> <p>The <a href="/blog/2026/cot-faithfulness/">faithfulness post</a> made a structural argument: if verbalized chain-of-thought can silently diverge from the actual computation <a class="citation" href="#turpin2023unfaithful">(Turpin et al., 2023)</a> <a class="citation" href="#lanham2023measuring">(Lanham et al., 2023)</a>, the <em>verbalization step itself</em> is where things go wrong — not the reasoning underneath it. <a href="/blog/2026/coghp-latent-chain-of-thought/">CoGHP</a> <a class="citation" href="#choi2026coghp">(Choi et al., 2026)</a> showed one instance of removing that step, in a control domain: latent subgoals instead of language. <strong>Coconut</strong> <a class="citation" href="#hao2024coconut">(Hao et al., 2024)</a> is the general-purpose version of the same move, built directly into an LLM’s own reasoning process.</p> <h2 id="1-the-mechanism">1. The mechanism</h2> <p>Standard chain-of-thought <a class="citation" href="#wei2022cot">(Wei et al., 2022)</a>: at each reasoning step, the model’s hidden state gets <strong>decoded into a token</strong>, that token gets re-embedded, and the next step conditions on the embedding of that decoded word. Coconut’s change is precisely to skip the decode-then-re-embed round trip: the model’s <strong>last hidden state is fed back directly as the next input embedding</strong>, no token in between. The paper calls this a “continuous thought.”</p> <p>The model switches between two modes:</p> <ul> <li><strong>Language mode</strong> — ordinary autoregressive generation, decoding hidden states to tokens as usual (used for the final answer, and for problem input).</li> <li><strong>Latent mode</strong> — the hidden state is reused directly as the next input embedding; nothing is decoded to words during this phase.</li> </ul> <blockquote> <p><strong>The one-sentence version.</strong> Chain-of-thought normally forces reasoning through a vocabulary-sized bottleneck at every step (the hidden state must collapse to <em>one</em> discrete token). Coconut removes the bottleneck — reasoning can stay in the model’s full continuous representation space for as many steps as the latent phase runs.</p> </blockquote> <p><strong>Worked example — what the two modes actually pass around, typed:</strong></p> <pre style="white-space:pre-wrap;background:rgba(127,127,127,0.08);padding:0.9rem;border-radius:6px;font-size:0.85em;">
# Language mode (standard CoT) — one step
token_t:        int                          # discrete vocabulary index
hidden_t:       Tensor[d_model]               # last hidden state at step t
logits_t        = lm_head(hidden_t)           # Tensor[vocab_size]
token_t+1       = argmax_or_sample(logits_t)  # COLLAPSES to one discrete choice
embed_t+1       = embedding_table[token_t+1]  # Tensor[d_model], looked up by id
# embed_t+1 is what conditions the next step — information not in the
# top token is discarded at the argmax/sample step.

# Latent mode (Coconut "continuous thought") — one step
hidden_t:       Tensor[d_model]               # last hidden state at step t
embed_t+1       = hidden_t                    # NO lm_head, NO argmax, NO lookup
# embed_t+1 is the full continuous vector — every direction the model was
# weighing survives into the next step, not just the single argmax winner.

# Mode switch (per-step, decided by the model / a control token)
if mode == "language":
    next_input = embedding_table[argmax(lm_head(hidden_t))]
elif mode == "latent":
    next_input = hidden_t   # direct feedback, the whole point of Coconut
</pre> <p>The entire mechanism is that one branch: whether <code class="language-plaintext highlighter-rouge">next_input</code> comes from a <strong>lookup table indexed by an argmax</strong> (language mode — necessarily one winner) or from the <strong>hidden state itself, untouched</strong> (latent mode — everything the argmax would have discarded stays in play). Nothing else about the transformer changes.</p> <h2 id="2-why-this-isnt-just-faster-cot--the-bfs-finding">2. Why this isn’t just “faster CoT” — the BFS finding</h2> <p>The efficiency angle (skip token generation, save compute) is real but not the interesting result. The actual finding: because a continuous hidden state isn’t forced to commit to one discrete token, it can <strong>encode more than one plausible next reasoning step at once</strong> — a superposition over candidate continuations rather than a single committed path. On a logical reasoning task (ProsQA) designed so that greedy, single-path search fails but breadth-first exploration of multiple branches succeeds, Coconut’s continuous thoughts show behavior consistent with <strong>implicit breadth-first search</strong> — higher accuracy than language-based CoT, with fewer generated tokens, on exactly the task shape where committing early to one path is the failure mode.</p> <p>This is the mechanistic version of the faithfulness argument: language CoT is forced to pick one discrete next step and narrate it, even when the right move is to keep several hypotheses alive. Continuous thought doesn’t have that forcing function.</p> <h2 id="3-the-honest-cost">3. The honest cost</h2> <p>Three things this doesn’t solve, stated plainly rather than glossed over:</p> <ul> <li><strong>You can’t read out what a continuous thought means.</strong> This is the direct trade the <a href="/blog/2026/cot-faithfulness/">faithfulness post</a> named: language CoT can lie to you, but at least it’s <em>checkable in principle</em>. A continuous thought is a vector in hidden-state space — there’s no natural decoding back to “here is what the model was considering,” short of interpretability tooling that doesn’t exist yet for this specific mechanism.</li> <li><strong>Training isn’t a drop-in change.</strong> Getting a model to use latent mode well is not free — it requires a training curriculum that teaches the model when and how to use continuous thoughts, not just architectural plumbing.</li> <li><strong>Tested on structured reasoning tasks, not open-ended ones.</strong> The strongest results (including the BFS behavior) are on tasks like ProsQA with clean, checkable logical structure. Whether the same mechanism helps on messier, open-ended reasoning is not the thing this paper demonstrates.</li> </ul> <h2 id="4-open-questions">4. Open questions</h2> <ul> <li>Does the implicit-BFS behavior generalize past clean logical-structure tasks like ProsQA, or is it specific to problems with an explicit branching structure to search over?</li> <li>Is there any way to get partial interpretability of a continuous thought without fully solving mechanistic interpretability — e.g., projecting it back toward the nearest discrete tokens as a lossy approximation, purely for auditing?</li> <li>CoGHP and Coconut arrived at structurally similar mechanisms (latent intermediate states instead of verbalized ones) from completely different starting points — offline RL and LLM reasoning. Is that convergence a coincidence, or is “skip the discrete bottleneck” the actually-general idea underneath both?</li> </ul> <details> <summary>Formal cited bibliography (auto-generated)</summary> <h2 class="bibliography">2026</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="choi2026coghp" class="col-sm-8"> <div class="title">Chain-of-Goals Hierarchical Policy for Long-Horizon Offline Goal-Conditioned RL</div> <div class="author"> Jinwoo Choi, Sang-Hyun Lee, and Seung-Woo Seo </div> <div class="periodical"> <em>arXiv preprint arXiv:2602.03389</em>, 2026 </div> <div class="periodical"> </div> <div class="links"> </div> </div> </div> </li></ol> <h2 class="bibliography">2024</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="hao2024coconut" class="col-sm-8"> <div class="title">Training Large Language Models to Reason in a Continuous Latent Space</div> <div class="author"> Shibo Hao, Sainbayar Sukhbaatar, DiJia Su, and <span class="more-authors" title="click to view 4 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '4 more authors' ? 'Xian Li, Zhiting Hu, Jason Weston, Yuandong Tian' : '4 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">4 more authors</span> </div> <div class="periodical"> <em>arXiv preprint</em>, 2024 </div> <div class="periodical"> Coconut; FAIR at Meta + UC San Diego. Verify fields before relying on them </div> <div class="links"> <a href="http://arxiv.org/abs/2412.06769" class="btn btn-sm z-depth-0" role="button">arXiv</a> </div> </div> </div> </li></ol> <h2 class="bibliography">2023</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="turpin2023unfaithful" class="col-sm-8"> <div class="title">Language Models Don’t Always Say What They Think: Unfaithful Explanations in Chain-of-Thought Prompting</div> <div class="author"> Miles Turpin, Julian Michael, Ethan Perez, and <span class="more-authors" title="click to view 1 more author" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '1 more author' ? 'Samuel R. Bowman' : '1 more author'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">1 more author</span> </div> <div class="periodical"> <em>arXiv preprint</em>, 2023 </div> <div class="periodical"> Verify fields before relying on them </div> <div class="links"> <a href="http://arxiv.org/abs/2305.04388" class="btn btn-sm z-depth-0" role="button">arXiv</a> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="lanham2023measuring" class="col-sm-8"> <div class="title">Measuring Faithfulness in Chain-of-Thought Reasoning</div> <div class="author"> Tamera Lanham, Anna Chen, Ansh Radhakrishnan, and <span class="more-authors" title="click to view 3 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '3 more authors' ? 'Benoit Steiner, Carson Denison, others' : '3 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">3 more authors</span> </div> <div class="periodical"> <em>arXiv preprint</em>, 2023 </div> <div class="periodical"> Anthropic; 30 authors, truncated. Verify fields before relying on them </div> <div class="links"> <a href="http://arxiv.org/abs/2307.13702" class="btn btn-sm z-depth-0" role="button">arXiv</a> </div> </div> </div> </li></ol> <h2 class="bibliography">2022</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="wei2022cot" class="col-sm-8"> <div class="title">Chain-of-Thought Prompting Elicits Reasoning in Large Language Models</div> <div class="author"> Jason Wei, Xuezhi Wang, Dale Schuurmans, and <span class="more-authors" title="click to view 2 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '2 more authors' ? 'Maarten Bosma, others' : '2 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">2 more authors</span> </div> <div class="periodical"> <em>In Advances in Neural Information Processing Systems (NeurIPS)</em>, 2022 </div> <div class="periodical"> arXiv:2201.11903 </div> <div class="links"> </div> </div> </div> </li></ol> </details>]]></content><author><name></name></author><category term="llm"/><category term="ai-agents"/><category term="chain-of-thought"/><category term="latent-reasoning"/><category term="interpretability"/><category term="paper-review"/><category term="llm"/><category term="vertical"/><summary type="html"><![CDATA[CoGHP showed latent chain-of-thought works in a control domain; the faithfulness post argued verbalized CoT is a real liability. Coconut is the LLM-native mechanism that closes the loop — reasoning as fed-back hidden states instead of decoded tokens — plus the honest cost: what you give up to get there.]]></summary></entry><entry><title type="html">Does the Chain of Thought Say What the Model Actually Did? The Faithfulness Problem</title><link href="https://zavis.chat/blog/2026/cot-faithfulness/" rel="alternate" type="text/html" title="Does the Chain of Thought Say What the Model Actually Did? The Faithfulness Problem"/><published>2026-09-20T12:00:00+00:00</published><updated>2026-09-20T12:00:00+00:00</updated><id>https://zavis.chat/blog/2026/cot-faithfulness</id><content type="html" xml:base="https://zavis.chat/blog/2026/cot-faithfulness/"><![CDATA[<blockquote> <p>Tone: clean-academic body, professor-cautious throughout — this is a “here’s what two specific papers actually showed” post, not a broad claim about all chain-of-thought.</p> </blockquote> <h2 id="0-what-faithful-means-here">0. What “faithful” means here</h2> <p>Chain-of-thought prompting <a class="citation" href="#wei2022cot">(Wei et al., 2022)</a> produces text that <em>looks like</em> a reasoning trace — intermediate steps before an answer. The question this post is about: <strong>does that text actually describe the computation that produced the answer, or is it a plausible-sounding story generated after the fact?</strong> A CoT is <strong>faithful</strong> if the stated reasoning is what actually determined the output; it’s <strong>unfaithful</strong> if the model would have reached the same answer for reasons it never mentions — sometimes reasons it couldn’t or wouldn’t state.</p> <p>This isn’t a philosophical question. It has a direct empirical answer, and two papers answer it in ways that should change how much you trust a CoT trace at face value.</p> <h2 id="1-turpin-et-al--the-model-doesnt-mention-the-real-cause">1. Turpin et al. — the model doesn’t mention the real cause</h2> <p><a class="citation" href="#turpin2023unfaithful">(Turpin et al., 2023)</a> runs a simple, sharp experiment: take a multiple-choice task, and <strong>bias</strong> the model toward a wrong answer in a way it’s never asked to justify — for example, silently reordering the answer choices so the correct answer is always option (A) in the few-shot examples the model sees. Models pick up on this bias and their accuracy drops — by as much as 36% across a 13-task suite from BIG-Bench Hard — but the chain-of-thought they generate <strong>never mentions the biasing feature</strong>. It produces a fluent, plausible-sounding justification for whatever answer the bias pushed it toward, as if that were the real reason all along.</p> <blockquote> <p><strong>The core result, stated plainly.</strong> The explanation and the actual cause of the answer can come apart, and the model gives no sign that this has happened. A reader of the CoT alone has no way to detect the unfaithfulness from the trace itself.</p> </blockquote> <p>This is the sharpest possible counterexample to “the CoT shows you the reasoning”: here, it demonstrably doesn’t — it shows you a reasoning-shaped artifact.</p> <h2 id="2-lanham-et-al--faithfulness-varies-and-scale-doesnt-obviously-help">2. Lanham et al. — faithfulness varies, and scale doesn’t obviously help</h2> <p><a class="citation" href="#lanham2023measuring">(Lanham et al., 2023)</a> takes a broader, more systematic approach: several interventions on the CoT itself (truncating it early, paraphrasing it, adding mistakes into it) to see how much the <em>final answer</em> actually depends on the specific stated reasoning, across many tasks.</p> <p>Two findings matter most:</p> <ul> <li><strong>Faithfulness varies a lot by task.</strong> Some tasks show CoT that’s load-bearing — change the reasoning, change the answer, consistent with the trace being real computation. Others show large amounts of post-hoc reasoning — the answer barely moves no matter what the stated steps say.</li> <li><strong>Bigger, more capable models are not more faithful — often the opposite.</strong> Larger models in the study tended to produce <em>less</em> faithful reasoning on most of the tasks examined. This cuts against the comfortable assumption that faithfulness is a capability that scales up for free.</li> </ul> <p>Between the two papers, the honest picture is: faithfulness isn’t a fixed property of “using chain-of-thought” — it’s task-dependent, model-dependent, and not guaranteed to improve as models get better.</p> <h2 id="3-why-this-is-the-real-argument-for-latent-reasoning">3. Why this is the real argument for latent reasoning</h2> <p>The instinct these results should <em>not</em> produce is “so don’t trust CoT, use free-text reasoning less.” The more interesting move is the one explored in the <a href="/blog/2026/coghp-latent-chain-of-thought/">CoGHP post</a>: if a verbalized chain can silently diverge from the real computation, then the verbalization itself is the vulnerable step — not the reasoning process underneath it. <strong>Reasoning that happens in latent space and is never asked to justify itself in words can’t be “unfaithful” in Turpin’s sense</strong>, because there’s no separate narrative layer to diverge from the computation. That doesn’t make latent reasoning <em>trustworthy</em> — it makes a different, arguably harder problem: you’ve traded “the explanation might be lying” for “there’s no explanation to check at all.” Which problem you’d rather have depends on what you actually need — legibility, or correctness with an opaque mechanism.</p> <h2 id="4-open-questions">4. Open questions</h2> <ul> <li>Turpin’s bias-reordering trick is one specific intervention. How broad is the class of biasing features a model will silently pick up on without reporting?</li> <li>Lanham’s finding that scale doesn’t help faithfulness is the more uncomfortable result of the two — is that still true for the current generation of models, or was it specific to the models tested in 2023?</li> <li>If verbalized CoT can’t be trusted at face value and latent reasoning can’t be inspected at all, what would an actual faithfulness <em>test</em> for a black-box reasoning process look like — something short of full mechanistic interpretability?</li> </ul> <details> <summary>Formal cited bibliography (auto-generated)</summary> <h2 class="bibliography">2023</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="turpin2023unfaithful" class="col-sm-8"> <div class="title">Language Models Don’t Always Say What They Think: Unfaithful Explanations in Chain-of-Thought Prompting</div> <div class="author"> Miles Turpin, Julian Michael, Ethan Perez, and <span class="more-authors" title="click to view 1 more author" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '1 more author' ? 'Samuel R. Bowman' : '1 more author'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">1 more author</span> </div> <div class="periodical"> <em>arXiv preprint</em>, 2023 </div> <div class="periodical"> Verify fields before relying on them </div> <div class="links"> <a href="http://arxiv.org/abs/2305.04388" class="btn btn-sm z-depth-0" role="button">arXiv</a> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="lanham2023measuring" class="col-sm-8"> <div class="title">Measuring Faithfulness in Chain-of-Thought Reasoning</div> <div class="author"> Tamera Lanham, Anna Chen, Ansh Radhakrishnan, and <span class="more-authors" title="click to view 3 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '3 more authors' ? 'Benoit Steiner, Carson Denison, others' : '3 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">3 more authors</span> </div> <div class="periodical"> <em>arXiv preprint</em>, 2023 </div> <div class="periodical"> Anthropic; 30 authors, truncated. Verify fields before relying on them </div> <div class="links"> <a href="http://arxiv.org/abs/2307.13702" class="btn btn-sm z-depth-0" role="button">arXiv</a> </div> </div> </div> </li></ol> <h2 class="bibliography">2022</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="wei2022cot" class="col-sm-8"> <div class="title">Chain-of-Thought Prompting Elicits Reasoning in Large Language Models</div> <div class="author"> Jason Wei, Xuezhi Wang, Dale Schuurmans, and <span class="more-authors" title="click to view 2 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '2 more authors' ? 'Maarten Bosma, others' : '2 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">2 more authors</span> </div> <div class="periodical"> <em>In Advances in Neural Information Processing Systems (NeurIPS)</em>, 2022 </div> <div class="periodical"> arXiv:2201.11903 </div> <div class="links"> </div> </div> </div> </li></ol> </details>]]></content><author><name></name></author><category term="llm"/><category term="ai-agents"/><category term="chain-of-thought"/><category term="faithfulness"/><category term="interpretability"/><category term="latent-reasoning"/><category term="paper-review"/><category term="vertical"/><summary type="html"><![CDATA[Explicit chain-of-thought reads as a reasoning trace, but two papers show it can be a post-hoc story instead — and, more troublingly, that more capable models tend to produce less faithful explanations. What 'faithful' means, the two core results, and why this is the real argument for latent reasoning.]]></summary></entry><entry><title type="html">Ambient Attention for Long-Running Agent Sessions: kmux-observer</title><link href="https://zavis.chat/blog/2026/kmux-observer-ambient-agent-attention/" rel="alternate" type="text/html" title="Ambient Attention for Long-Running Agent Sessions: kmux-observer"/><published>2026-09-16T21:00:00+00:00</published><updated>2026-09-16T21:00:00+00:00</updated><id>https://zavis.chat/blog/2026/kmux-observer-ambient-agent-attention</id><content type="html" xml:base="https://zavis.chat/blog/2026/kmux-observer-ambient-agent-attention/"><![CDATA[<blockquote> <p>Tone: clean-academic framing, project-note detail level. This documents a real, small, working v0.1 — status claims are checked against the actual source, not aspirational.</p> </blockquote> <h2 id="0-the-problem">0. The problem</h2> <p>Running several long-lived AI agent sessions in parallel creates a genuine attention problem: which session needs you right now? The obvious answer — build a dashboard — has a specific, recurring failure mode. A dashboard is a <em>summary</em>, one step removed from the thing it summarizes: by the time you notice a row, the underlying session has often moved on, the summary is stale, and switching from “the dashboard” to “the actual session” is itself a context switch with its own cost. Enough sessions and the dashboard becomes noise you learn to ignore — which defeats the purpose.</p> <h2 id="1-the-insight">1. The insight</h2> <p>A browser tab isn’t a dashboard row. Each tab is a full, self-contained, <em>actionable</em> context — you don’t read a summary of a tab and then go find the real thing, the tab <em>is</em> the real thing, and its favicon/title already carries a compressed signal (spinner = still loading, a notification badge = needs you) without being a separate artifact you have to cross-reference. The bet behind kmux-observer: apply that model to AI agent sessions instead of building a traditional dashboard.</p> <h2 id="2-the-system">2. The system</h2> <p>What’s actually there, in <code class="language-plaintext highlighter-rouge">src/cli.ts</code> (476 lines, Bun):</p> <ul> <li><strong>Five states</strong>, not a free-text status field: <code class="language-plaintext highlighter-rouge">in_progress</code>, <code class="language-plaintext highlighter-rouge">blocked</code>, <code class="language-plaintext highlighter-rouge">finished</code>, <code class="language-plaintext highlighter-rouge">error</code>, <code class="language-plaintext highlighter-rouge">idle</code> — each with a fixed icon and color, so the signal is glanceable rather than something you have to read.</li> <li><strong>A hook, not a poller.</strong> Claude Code’s own hook events (<code class="language-plaintext highlighter-rouge">kmux hook &lt;event&gt;</code>) push state changes as they happen — the tool doesn’t scrape or guess at session state.</li> <li><strong>Delegates the actual UI to cmux.</strong> Rather than building a separate window, it calls <code class="language-plaintext highlighter-rouge">cmux set-status</code> to push each session’s state into cmux.app’s existing sidebar — so there’s exactly one place you’re already looking, not a second app competing for attention. This matters for the browser-tab framing: the tabs need to live somewhere you’d already be.</li> <li><strong>Per-session event log.</strong> Every event is appended as JSON Lines under <code class="language-plaintext highlighter-rouge">~/.kmux/events/</code> — a durable trail, not just current state, so a session’s history survives past the live view.</li> </ul> <h2 id="3-honest-status">3. Honest status</h2> <ul> <li><strong>v0.1 — done.</strong> Smoke-tested: cards render in the cmux sidebar with the right icon/color per state. Not yet wired into the user’s actual <code class="language-plaintext highlighter-rouge">~/.claude/settings.json</code> — that’s a deliberate, separate approval step, not an oversight.</li> <li><strong>v0.2 — planned, not built.</strong> Richer per-tool-call detail (file reads, web fetches, MCP calls) surfaced per session; an idle column driven by a timer rather than an explicit event; a “drift detector” subagent that flags a session that’s wandered from its stated task.</li> <li><strong>v0.3 — planned, not built.</strong> An automatic post-mortem report generated at session end — its own subagent, deliberately kept separate from the mux/observer core rather than folded in as a feature.</li> <li><strong>Explicitly deferred:</strong> a headless mode (sessions surviving <code class="language-plaintext highlighter-rouge">cmux.app</code> quitting) would require forking cmux itself in Swift — shelved until actual dogfooding of the sidecar shows it’s needed, not built speculatively ahead of that evidence.</li> </ul> <h2 id="4-where-this-connects">4. Where this connects</h2> <p>The <a href="/blog/2026/orchestrator-workers-augfc-agent-loop/">agent-loop post</a> asks whether a model can be trained to know <em>when it should escalate itself</em> — a model-facing question. kmux-observer is the human-facing mirror of the same underlying problem: an agent loop, however well it escalates internally, still eventually needs a human’s attention at some point, and the interface for <em>that</em> handoff has its own design question, separate from what happens inside the loop. Neither half is solved by the other.</p> <h2 id="5-open-questions">5. Open questions</h2> <ul> <li>Does the five-state model actually hold up as sessions get longer and more varied, or does it collapse into “in_progress” being overloaded (everything that isn’t obviously blocked/finished/erroring gets lumped there, hiding real distinctions)?</li> <li>The planned “drift detector” is the more interesting piece architecturally — what would it actually take to notice a session has wandered, without just re-implementing a second, slower agent loop watching the first one?</li> </ul>]]></content><author><name></name></author><category term="llm"/><category term="ai-agents"/><category term="agent-observability"/><category term="multi-agent"/><category term="developer-tooling"/><category term="agent-loop"/><category term="vertical"/><summary type="html"><![CDATA[Dashboards fail for watching multiple long-running AI agent sessions — context-switch cost, staleness, visual noise, disconnection from the actual session. kmux-observer's answer: treat sessions like browser tabs, not dashboard rows. What it is, what's actually built (v0.1) vs. planned, and how it connects to the agent-loop escalation question.]]></summary></entry><entry><title type="html">Orchestrator-Workers + Augmented Function-Calling + Agent Loop: The Combination Nobody’s Tried</title><link href="https://zavis.chat/blog/2026/orchestrator-workers-augfc-agent-loop/" rel="alternate" type="text/html" title="Orchestrator-Workers + Augmented Function-Calling + Agent Loop: The Combination Nobody’s Tried"/><published>2026-09-14T04:00:00+00:00</published><updated>2026-09-14T04:00:00+00:00</updated><id>https://zavis.chat/blog/2026/orchestrator-workers-augfc-agent-loop</id><content type="html" xml:base="https://zavis.chat/blog/2026/orchestrator-workers-augfc-agent-loop/"><![CDATA[<blockquote> <p>Tone: clean-academic framing + professor-cautious limitations. General framing post — the financial-LLM post applies this to one domain; this one asks what’s true about the pattern independent of domain.</p> </blockquote> <h2 id="0-three-patterns-one-gap">0. Three patterns, one gap</h2> <p>Modern agent systems draw on three ideas that show up constantly, almost always separately:</p> <ul> <li><strong>Orchestrator–Workers</strong> — a controller LLM decomposes a task and dispatches subtasks to specialized worker LLMs, then synthesizes their results. Anthropic’s own engineering writeup on agent design describes this as the pattern of choice “for complex tasks where you can’t predict the subtasks needed” (<a href="https://www.anthropic.com/engineering/building-effective-agents" target="_blank" rel="noopener">Building Effective Agents</a>).</li> <li><strong>Augmented function-calling</strong> — a model interleaves reasoning with real tool invocations instead of doing everything in free text (<a class="citation" href="#yao2022react">(Yao et al., 2023)</a>, <a class="citation" href="#schick2023toolformer">(Schick et al., 2023)</a>).</li> <li><strong>The agent loop, with escalation</strong> — iterate, verify the result, retry on failure, and escalate — to a bigger model, a different strategy, or a human — rather than looping forever or silently giving a wrong answer.</li> </ul> <p>Each pattern has its own literature. What’s missing is treating them as one system: <strong>fine-tuning a model specifically to operate inside a loop that can escalate</strong>, rather than bolting tool-calling and looping onto a frozen general-purpose model as inference-time scaffolding. That’s the actual gap.</p> <h2 id="1-why-just-add-scaffolding-isnt-the-same-thing">1. Why “just add scaffolding” isn’t the same thing</h2> <p>The default way people build agents today: take a strong general-purpose model, give it tools via function-calling, wrap it in a loop, done. This works, but it means the model was never trained to <em>know</em> it’s operating inside a loop — it doesn’t have a learned sense of “this looks like a case where I should escalate rather than retry the same approach,” because escalation-awareness was never part of its training signal, only its prompt.</p> <p>Fine-tuning <strong>inside</strong> the loop — where the training data itself includes retry/escalate decisions and their outcomes, not just single-shot tool-use traces — is a different regime. It’s the difference between a model that can call a calculator when told to, and a model that has learned <em>when its own confidence doesn’t warrant answering directly</em>.</p> <h2 id="2-what-the-combination-would-need-to-show">2. What the combination would need to show</h2> <p>For this to be more than a restatement of three known ideas, it needs a testable claim: a model fine-tuned with loop-and-escalation-aware training data should out-perform the same model with the identical tool/loop scaffolding bolted on at inference time only — on tasks where escalation actually matters (ambiguous evidence, conflicting sources, genuinely hard sub-problems), not on tasks any reasonable scaffold already solves. That ablation — same tools, same loop, fine-tuned vs. not — is the whole point; without it, “fine-tuning helps” is just an assertion.</p> <h2 id="3-a-worked-instance">3. A worked instance</h2> <p>Financial-filing question-answering is one domain where this is concrete rather than abstract: sector-specialized workers, tool-grounded calculation, and an explicit escalation policy when a computed answer can’t be verified against cited evidence. See the related post below for the full worked treatment — evidence-citation CoT format, the dataset-generation pipeline, and the honest limitations.</p> <h2 id="4-open-questions">4. Open questions</h2> <ul> <li>What does escalation-aware training data actually look like — synthetic loop trajectories with injected failures, or mined from real multi-turn agent logs?</li> <li>Is the gain from fine-tuning-for-escalation separable from the gain of just having <em>more</em> loop iterations at inference time (a cheaper alternative worth ruling out first)?</li> <li>Does this generalize across domains, or is “when to escalate” domain-specific enough that a single fine-tuned escalation policy doesn’t transfer?</li> </ul>]]></content><author><name></name></author><category term="llm"/><category term="ai-agents"/><category term="agent-loop"/><category term="orchestrator-workers"/><category term="tool-use"/><category term="fine-tuning"/><category term="escalation"/><category term="multi-agent"/><category term="vertical"/><summary type="html"><![CDATA[Three agent-design patterns exist separately in the literature — task-decomposing orchestrators, tool-augmented reasoning, and iterative loops with escalation. Nobody has combined all three with fine-tuning specifically for working inside that loop. This is the general framing; the financial-LLM post is one worked instance of it.]]></summary></entry><entry><title type="html">Sector-Specialized Financial LLMs: Filing Evidence, Calculation Tools, and Verifiable Reasoning</title><link href="https://zavis.chat/blog/2026/sector-specialized-financial-llms/" rel="alternate" type="text/html" title="Sector-Specialized Financial LLMs: Filing Evidence, Calculation Tools, and Verifiable Reasoning"/><published>2026-09-14T03:00:00+00:00</published><updated>2026-09-14T03:00:00+00:00</updated><id>https://zavis.chat/blog/2026/sector-specialized-financial-llms</id><content type="html" xml:base="https://zavis.chat/blog/2026/sector-specialized-financial-llms/"><![CDATA[<blockquote> <p>Tone: clean-academic framing + professor-cautious limitations. This is a research-idea post, not a product writeup — implementation names and proprietary specifics are deliberately left out; the architecture and open questions are what’s real here.</p> </blockquote> <p>Financial filings are full of numbers a general-purpose LLM can compute but not reliably <em>prove</em> — operating margin, growth rates, leverage ratios — because nothing forces the model’s reasoning to correspond to the evidence it’s citing. This post asks what a sector-specialized, tool-grounded, verifiably-reasoning financial LLM would actually require: the research gap, the two open questions, the proposed architecture, and the honest limitations.</p> <div id="fx-llm-gate" style="border:1px solid var(--global-divider-color, #ccc);border-radius:8px;padding:1.25rem;margin:2rem 0;"> <p id="fx-llm-teaser-note"> <strong>Free (login required):</strong> the research gap, the problem, and both open questions (§0–4).<br/> <strong>Members ($30/month):</strong> the above, plus the proposed architecture, evaluation design, and limitations (§5–8). </p> <p> <a href="https://buy.polar.sh/polar_cl_5wY0a1FkMnaZW2PjhSWaMIjB0JD4uwgXeLhDm2pzmnj" target="_blank" rel="noopener">Free login</a> &nbsp;|&nbsp; <a href="https://buy.polar.sh/polar_cl_EqK1dtzQf8Egi1AKRSWxoySCfM0PU5N7bF9iX4YXrk0" target="_blank" rel="noopener">Become a member — $30/month</a> &nbsp;|&nbsp; Already have a key? </p> <div id="fx-llm-key-row"> <input type="text" id="fx-llm-key" placeholder="Enter your license key" style="padding:0.4rem;width:60%;max-width:320px;"/> <button id="fx-llm-unlock">Unlock</button> </div> <button id="fx-llm-logout" style="display:none;">Log out</button> <div id="fx-llm-status" style="margin-top:0.5rem;font-size:0.9em;opacity:0.7;"></div> <div id="fx-llm-content" style="margin-top:1.5rem;"></div> </div> <script>
(function () {
  var SLUG = 'sector-specialized-financial-llms';
  var STORAGE_KEY = 'fx_llm_key_' + SLUG;
  var btn = document.getElementById('fx-llm-unlock');
  var logoutBtn = document.getElementById('fx-llm-logout');
  var input = document.getElementById('fx-llm-key');
  var status = document.getElementById('fx-llm-status');
  var content = document.getElementById('fx-llm-content');
  var note = document.getElementById('fx-llm-teaser-note');
  var keyRow = document.getElementById('fx-llm-key-row');

  function savedKey() {
    try { return localStorage.getItem(STORAGE_KEY) || ''; } catch (e) { return ''; }
  }
  function saveKey(key) {
    try { localStorage.setItem(STORAGE_KEY, key); } catch (e) {}
  }
  function clearKey() {
    try { localStorage.removeItem(STORAGE_KEY); } catch (e) {}
  }

  function unlock(key, opts) {
    opts = opts || {};
    status.textContent = opts.silent ? 'Signed in — checking…' : 'Checking…';
    fetch('https://gate.zavis.chat/unlock', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({ slug: SLUG, license_key: key })
    }).then(function (r) { return r.json(); }).then(function (data) {
      if (data.ok) {
        saveKey(key);
        status.textContent = (data.tier === 'paid' ? 'Full access unlocked.' : 'Free tier unlocked.') + ' You\'ll stay signed in on this browser.';
        content.innerHTML = data.content;
        if (note) note.style.display = 'none';
        keyRow.style.display = 'none';
        logoutBtn.style.display = 'inline-block';
      } else {
        clearKey();
        status.textContent = data.error || 'Could not verify that key.';
      }
    }).catch(function () {
      if (!opts.silent) status.textContent = 'Network error — try again.';
    });
  }

  btn.addEventListener('click', function () {
    var key = input.value.trim();
    if (!key) { status.textContent = 'Enter a license key first.'; return; }
    unlock(key);
  });

  logoutBtn.addEventListener('click', function () {
    clearKey();
    input.value = '';
    content.innerHTML = '';
    status.textContent = 'Logged out on this browser.';
    keyRow.style.display = '';
    logoutBtn.style.display = 'none';
    if (note) note.style.display = '';
  });

  var existing = savedKey();
  if (existing) { input.value = existing; unlock(existing, { silent: true }); }
})();
</script>]]></content><author><name></name></author><category term="llm"/><category term="ai-agents"/><category term="math"/><category term="probability-finance"/><category term="finance"/><category term="financial-llm"/><category term="chain-of-thought"/><category term="tool-use"/><category term="agent-loop"/><category term="orchestrator-workers"/><category term="retrieval-augmentation"/><category term="vertical"/><summary type="html"><![CDATA[A research-framing post: why nobody has combined fine-tuning, an agent loop, and escalation for evidence-grounded financial reasoning — and the two open questions that matter most (a chain-of-thought method for tool-verifiable calculation, and how to generate training data for it).]]></summary></entry><entry><title type="html">Chain-of-Goals: latent chain-of-thought for long-horizon offline RL</title><link href="https://zavis.chat/blog/2026/coghp-latent-chain-of-thought/" rel="alternate" type="text/html" title="Chain-of-Goals: latent chain-of-thought for long-horizon offline RL"/><published>2026-07-26T02:00:00+00:00</published><updated>2026-07-26T02:00:00+00:00</updated><id>https://zavis.chat/blog/2026/coghp-latent-chain-of-thought</id><content type="html" xml:base="https://zavis.chat/blog/2026/coghp-latent-chain-of-thought/"><![CDATA[\[\newcommand{\st}{s} \newcommand{\goal}{g} \newcommand{\act}{a} \newcommand{\adv}{A}\] <blockquote> <p>Tone: clean-academic body + mechanism-heavy method sections + professor-cautious limitations. Numbers are quoted from the paper’s Table 1 (verified against the arXiv full text, not a secondary review).</p> </blockquote> <h2 id="0-the-big-problem--what-is-a-chain-of-thought-really">0. The big problem — what is a “chain of thought,” really?</h2> <p>Chain-of-thought <a class="citation" href="#wei2022cot">(Wei et al., 2022)</a> made one idea famous: a model solves a hard problem better when it <strong>generates intermediate steps</strong> before the answer, instead of emitting the answer in one shot. But that framing hides a fork:</p> <ul> <li><strong>Explicit CoT</strong> — the steps are <em>human-readable tokens</em> (words, equations). Legible, but not necessarily <em>faithful</em> to the computation.</li> <li><strong>Internal / latent CoT</strong> — the steps live in a <em>latent space</em>, never verbalized. Less interpretable, but the “reasoning” is a real intermediate structure the model conditions on.</li> </ul> <blockquote> <p><strong>The big problem.</strong> Is a chain of thought a <em>narrative</em> the model tells after the fact, or the actual <em>computation</em> that produces the answer? And if it is real computation, does it have to be words at all?</p> </blockquote> <p><strong>CoGHP</strong> <a class="citation" href="#choi2026coghp">(Choi et al., 2026)</a> is a sharp instance of the <em>latent</em> side of that fork — in a domain far from language. It reformulates a long-horizon control policy so that it first generates a <strong>chain of latent subgoals</strong>, then an action. The subgoals are not language; they are points in a learned goal space. But their <em>function</em> is exactly a chain of thought: each intermediate structure conditions the next prediction. Reading CoGHP is a way to ask the big problem in a setting where “reasoning” can be measured by task success, not vibes.</p> <p><strong>TL;DR.</strong> CoGHP turns hierarchical RL into one autoregressive sequence — state, final goal, several latent subgoals, action — generated by a single MLP-Mixer network, and it wins on exactly the tasks where you’d expect a reasoning chain to help: hard, multi-step, long-horizon ones.</p> <h2 id="1-problem">1. Problem</h2> <h3 id="1-1-offline-goal-conditioned-rl-long-horizon">1-1. Offline goal-conditioned RL, long horizon</h3> <p>In <strong>goal-conditioned RL (GCRL)</strong> the agent is given a goal $\goal$ and must reach it. <strong>Offline</strong> means it learns only from a fixed dataset of trajectories — no new environment interaction (crucial where real interaction is costly or unsafe: robot manipulation, navigation, industrial control). The headache is the <strong>horizon</strong>: the farther $\goal$ is from the current state $\st$, the sparser the reward signal, the more Bellman-backup value error accumulates, and the harder it is to attribute a single action to a distant outcome.</p> <p>Hierarchy is the natural response: split “reach the far goal” into <em>high-level subgoal selection</em> + <em>low-level control</em>, so each policy faces a shorter horizon.</p> <h3 id="1-2-why-prior-hierarchical-methods-fall-short">1-2. Why prior hierarchical methods fall short</h3> <p>CoGHP names three structural limits of existing offline hierarchical RL (e.g. HIQL <a class="citation" href="#park2023hiql">(Park et al., 2023)</a>):</p> <ol> <li><strong>Single subgoal.</strong> Most methods emit <em>one</em> intermediate goal at a time; long-horizon tasks need several coordinated intermediate decisions (open → move → place → close).</li> <li><strong>Loss of final-goal awareness.</strong> If the high level’s subgoal is wrong, a low level that only sees the subgoal drifts from the true final goal.</li> <li><strong>Fragmented optimization.</strong> Separate high/low networks block the error signal from flowing through the whole hierarchy.</li> </ol> <h2 id="2-core-idea">2. Core idea</h2> <h3 id="2-1-main-contribution">2-1. Main contribution</h3> <p>Redefine the hierarchy as <strong>one unified autoregressive sequence model</strong>. Input: current state + final goal. Output: a sequence of <strong>latent subgoals</strong> followed by the primitive action. Each subgoal conditions the next prediction — one network, one computational graph.</p> <h3 id="2-2-design-intuition-the-cot-link-stated-carefully">2-2. Design intuition (the CoT link, stated carefully)</h3> <p>The analogy to language CoT is <em>structural, not literal</em>: in both, the final output is <strong>not</strong> produced in one shot — an intermediate structure is built first to condition what comes next. The difference: CoGHP’s subgoals are <strong>latent future-state points</strong>, not words, and the <strong>final goal is kept as a condition across the entire sequence</strong>, so awareness can’t leak away. Generation is <strong>far-to-near</strong>: the farthest subgoal first, a coarse plan, then refined toward the nearest control target.</p> <h2 id="3-architecture--method">3. Architecture / method</h2> <table> <thead> <tr> <th>Piece</th> <th>Choice</th> </tr> </thead> <tbody> <tr> <td>Token sequence</td> <td><code class="language-plaintext highlighter-rouge">[state] [goal] [subgoal₁ … subgoal_k] [action]</code>, each token a fixed semantic role</td> </tr> <tr> <td>Backbone</td> <td><strong>MLP-Mixer</strong> <a class="citation" href="#tolstikhin2021mlpmixer">(Tolstikhin et al., 2021)</a> (token-mixing + channel-mixing)</td> </tr> <tr> <td>Autoregression</td> <td>a <strong>causal mixer</strong> — a learnable lower-triangular matrix over stacked tokens</td> </tr> <tr> <td>Value</td> <td>goal-conditioned <strong>IQL</strong> <a class="citation" href="#kostrikov2022iql">(Kostrikov et al., 2022)</a></td> </tr> <tr> <td>Policy objective</td> <td><strong>AWR</strong> <a class="citation" href="#peng2019awr">(Peng et al., 2019)</a> (advantage-weighted regression)</td> </tr> </tbody> </table> <p>Why MLP-Mixer over a Transformer? The token roles are <em>fixed</em> (position = meaning) and the sequence is short, so feed-forward token-mixing is stable where attention’s dynamic interaction is overkill. The shared value function is the quiet key: because latent subgoals and the final goal live in the <em>same</em> embedded goal space, one IQL value gives training signal to <strong>both</strong> subgoals and actions.</p> <h2 id="4-training--data--recipe">4. Training / data / recipe</h2> <ul> <li><strong>Data.</strong> Offline only; evaluated on <strong>OGBench</strong> <a class="citation" href="#park2024ogbench">(Park et al., 2025)</a> (pointmaze/antmaze navigation; cube/scene manipulation). Subgoal targets = future states sampled at a fixed interval from dataset trajectories.</li> <li><strong>Two-part training.</strong> (i) goal-conditioned IQL value (TD error, no OOD-action query); (ii) hierarchical policy via AWR on both subgoal and action, merged into one end-to-end loss.</li> <li><strong>Teacher forcing</strong> during training (ground-truth subgoal embeddings) → stable, but a train/eval <strong>exposure mismatch</strong> remains (rollout uses <em>predicted</em> subgoals).</li> <li><strong>Knobs that matter:</strong> subgoal interval (hierarchy granularity) and subgoal count (hierarchy depth).</li> </ul> <h2 id="5-evaluation">5. Evaluation</h2> <p>Reported success rates (OGBench, Table 1 — quoted from the paper):</p> <table> <thead> <tr> <th>Task</th> <th>CoGHP</th> <th>HIQL</th> <th>OTA</th> <th>SAW</th> <th>note</th> </tr> </thead> <tbody> <tr> <td>pointmaze-giant</td> <td><strong>79 ± 8</strong></td> <td>46 ± 9</td> <td>72 ± 6</td> <td>68 ± 8</td> <td>long nav</td> </tr> <tr> <td>antmaze-giant</td> <td><strong>78 ± 8</strong></td> <td>65 ± 5</td> <td>77 ± 4</td> <td>73 ± 4</td> <td>long nav</td> </tr> <tr> <td>cube-single</td> <td>97 ± 3</td> <td>41 ± 6</td> <td>33 ± 4</td> <td>77 ± 4</td> <td><strong>GCIQL 99 ± 1 edges it</strong></td> </tr> <tr> <td>cube-triple</td> <td><strong>42 ± 3</strong></td> <td>2 ± 1</td> <td>2 ± 1</td> <td>17 ± 3</td> <td>hard multi-object</td> </tr> <tr> <td>scene</td> <td><strong>78 ± 7</strong></td> <td>38 ± 3</td> <td>20 ± 4</td> <td>63 ± 6</td> <td>sequential (unlock→open→place→close)</td> </tr> </tbody> </table> <p><em>(Professor-cautious read.)</em> The honest signal is <strong>complexity scaling</strong>, not the average. On easy tasks the architecture barely matters — on <code class="language-plaintext highlighter-rouge">cube-single</code> a flat GCIQL (99) actually <em>beats</em> CoGHP (97). The chain pays off precisely where reasoning should: <code class="language-plaintext highlighter-rouge">cube-triple</code> (42 vs HIQL’s 2) and <code class="language-plaintext highlighter-rouge">scene</code> (78 vs 38), the tasks that demand several coordinated intermediate decisions. That is the claim doing honest work: CoGHP is not a universal upgrade; it is a <strong>long-horizon, multi-decision</strong> upgrade.</p> <h2 id="6-limitations">6. Limitations</h2> <ul> <li><strong>Latent subgoals aren’t legible.</strong> They approximate future states, not a human-readable plan — so this is <em>internal</em> CoT: you cannot inspect the reasoning the way you can read a language chain.</li> <li><strong>Offline-data sensitivity.</strong> Subgoal supervision is future states from the dataset; poor trajectory coverage weakens both subgoal and generalization.</li> <li><strong>Teacher-forcing mismatch.</strong> Train on ground-truth subgoals, roll out on predicted ones — error can re-accumulate at evaluation.</li> <li><strong>Backbone conclusion is task-dependent.</strong> MLP-Mixer wins <em>here</em> (fixed roles, short sequence); longer sequences, image tokens, or language conditioning may flip it.</li> <li><strong>Hyperparameters.</strong> Subgoal interval/count need tuning per task; auto-selecting them in a real robot setting is unsolved.</li> </ul> <h2 id="7-my-take">7. My take</h2> <p>Read against §0’s big problem, CoGHP is evidence for a strong claim: <strong>a chain of thought does not have to be words to be real.</strong> Its subgoals are latent, un-verbalized, and yet they measurably improve long-horizon control — the “reasoning” is validated by task success, not by how convincing the narrative reads. That is the cleanest rebuttal I know to “CoT is just post-hoc storytelling”: here the chain <em>is</em> the computation, because there is no language layer to narrate anything.</p> <p>Reusable ideas: (1) collapse planner + controller into <strong>one</strong> goal→subgoal→action sequence model; (2) for <strong>fixed-role</strong> control tokens, a simple MLP-Mixer can beat a Transformer; (3) treat intermediate latent states as reasoning tokens — a bridge to multi-step <strong>agent planning</strong>, where plan/tool/action need not be separate networks.</p> <h2 id="8-summary">8. Summary</h2> <p>CoGHP recasts long-horizon offline GCRL as autoregressive generation of latent subgoals</p> <ul> <li>action in one MLP-Mixer policy, sharing an IQL value across the hierarchy and keeping the final goal as a global condition. It shines as task difficulty rises — the signature of a method whose latent “chain of thought” earns its keep only when the horizon is long and the decisions are many.</li> </ul> <h2 id="reference-map">Reference map</h2> <p><em>Clustered + cross-linked — follow the <strong>→</strong> edges. [arXiv] = formal, [code]/[blog] = informal.</em></p> <h3 id="-the-paper">① The paper</h3> <ul> <li><a id="cg-coghp"></a><strong>CoGHP</strong> · <a href="https://arxiv.org/abs/2602.03389">arXiv</a> · <a href="https://openreview.net/forum?id=ePycZoAvYQ">OpenReview</a> — the review’s subject. → sits on <a href="#cg-hiql">HIQL</a>, scored on <a href="#cg-ogbench">OGBench</a>, built from <a href="#cg-iql">IQL</a>+<a href="#cg-awr">AWR</a>+<a href="#cg-mixer">MLP-Mixer</a>; reframed via <a href="#cg-cot">CoT</a>.</li> </ul> <h3 id="-benchmark--closest-baseline">② Benchmark &amp; closest baseline</h3> <ul> <li><a id="cg-ogbench"></a><strong>OGBench</strong> · <a href="https://arxiv.org/abs/2410.20092">arXiv</a> · <a href="https://github.com/seohongpark/ogbench">code</a> — the offline-GCRL benchmark CoGHP runs on.</li> <li><a id="cg-hiql"></a><strong>HIQL</strong> · <a href="https://arxiv.org/abs/2307.11949">arXiv</a> — the single-subgoal hierarchical baseline CoGHP most directly improves on. → value method <a href="#cg-iql">IQL</a></li> </ul> <h3 id="-method-primitives">③ Method primitives</h3> <ul> <li><a id="cg-iql"></a><strong>IQL</strong> · <a href="https://arxiv.org/abs/2110.06169">arXiv</a> — implicit Q-learning; the shared value learner (no OOD-action query).</li> <li><a id="cg-awr"></a><strong>AWR</strong> · <a href="https://arxiv.org/abs/1910.00177">arXiv</a> — advantage-weighted regression; the policy objective.</li> <li><a id="cg-mixer"></a><strong>MLP-Mixer</strong> · <a href="https://arxiv.org/abs/2105.01601">arXiv</a> — the fixed-role token backbone (vs a Transformer).</li> </ul> <h3 id="-the-cot-lineage-why-this-is-a-reasoning-paper">④ The CoT lineage (why this is a reasoning paper)</h3> <ul> <li><a id="cg-cot"></a><strong>Chain-of-Thought</strong> · <a href="https://arxiv.org/abs/2201.11903">arXiv</a> — the explicit, verbalized ancestor. CoGHP is its <em>latent</em> cousin: reasoning steps that are never words. (Latent-space reasoning à la “Coconut” is the closest LLM analog — named in prose, not formally cited pending verification.)</li> </ul> <h3 id="-informal--another-review">⑤ Informal — another review</h3> <ul> <li><strong>DimensionSTP review</strong> · <a href="https://dimensionstp.github.io/study-concept/coghp/">blog</a> — an independent write-up of the same paper (structure inspiration; read for a second angle).</li> </ul> <details> <summary>Formal cited bibliography (auto-generated)</summary> <h2 class="bibliography">2026</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="choi2026coghp" class="col-sm-8"> <div class="title">Chain-of-Goals Hierarchical Policy for Long-Horizon Offline Goal-Conditioned RL</div> <div class="author"> Jinwoo Choi, Sang-Hyun Lee, and Seung-Woo Seo </div> <div class="periodical"> <em>arXiv preprint arXiv:2602.03389</em>, 2026 </div> <div class="periodical"> </div> <div class="links"> </div> </div> </div> </li></ol> <h2 class="bibliography">2025</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="park2024ogbench" class="col-sm-8"> <div class="title">OGBench: Benchmarking Offline Goal-Conditioned RL</div> <div class="author"> Seohong Park, Kevin Frans, Benjamin Eysenbach, and <span class="more-authors" title="click to view 1 more author" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '1 more author' ? 'Sergey Levine' : '1 more author'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">1 more author</span> </div> <div class="periodical"> <em>In International Conference on Learning Representations (ICLR)</em>, 2025 </div> <div class="periodical"> arXiv:2410.20092 </div> <div class="links"> </div> </div> </div> </li></ol> <h2 class="bibliography">2023</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="park2023hiql" class="col-sm-8"> <div class="title">HIQL: Offline Goal-Conditioned RL with Latent States as Actions</div> <div class="author"> Seohong Park, Dibya Ghosh, Benjamin Eysenbach, and <span class="more-authors" title="click to view 1 more author" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '1 more author' ? 'Sergey Levine' : '1 more author'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">1 more author</span> </div> <div class="periodical"> <em>In Advances in Neural Information Processing Systems (NeurIPS)</em>, 2023 </div> <div class="periodical"> arXiv:2307.11949 </div> <div class="links"> </div> </div> </div> </li></ol> <h2 class="bibliography">2022</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="wei2022cot" class="col-sm-8"> <div class="title">Chain-of-Thought Prompting Elicits Reasoning in Large Language Models</div> <div class="author"> Jason Wei, Xuezhi Wang, Dale Schuurmans, and <span class="more-authors" title="click to view 2 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '2 more authors' ? 'Maarten Bosma, others' : '2 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">2 more authors</span> </div> <div class="periodical"> <em>In Advances in Neural Information Processing Systems (NeurIPS)</em>, 2022 </div> <div class="periodical"> arXiv:2201.11903 </div> <div class="links"> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="kostrikov2022iql" class="col-sm-8"> <div class="title">Offline Reinforcement Learning with Implicit Q-Learning</div> <div class="author"> Ilya Kostrikov, Ashvin Nair, and Sergey Levine </div> <div class="periodical"> <em>In International Conference on Learning Representations (ICLR)</em>, 2022 </div> <div class="periodical"> IQL; arXiv:2110.06169 </div> <div class="links"> </div> </div> </div> </li></ol> <h2 class="bibliography">2021</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="tolstikhin2021mlpmixer" class="col-sm-8"> <div class="title">MLP-Mixer: An All-MLP Architecture for Vision</div> <div class="author"> Ilya Tolstikhin, Neil Houlsby, Alexander Kolesnikov, and <span class="more-authors" title="click to view 2 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '2 more authors' ? 'Lucas Beyer, others' : '2 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">2 more authors</span> </div> <div class="periodical"> <em>In Advances in Neural Information Processing Systems (NeurIPS)</em>, 2021 </div> <div class="periodical"> arXiv:2105.01601 </div> <div class="links"> </div> </div> </div> </li></ol> <h2 class="bibliography">2019</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="peng2019awr" class="col-sm-8"> <div class="title">Advantage-Weighted Regression: Simple and Scalable Off-Policy Reinforcement Learning</div> <div class="author"> Xue Bin Peng, Aviral Kumar, Grace Zhang, and <span class="more-authors" title="click to view 1 more author" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '1 more author' ? 'Sergey Levine' : '1 more author'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">1 more author</span> </div> <div class="periodical"> <em>arXiv preprint arXiv:1910.00177</em>, 2019 </div> <div class="periodical"> </div> <div class="links"> </div> </div> </div> </li></ol> </details> <p><em>Numbers quoted from arXiv:2602.03389 (v2) Table 1. All cited works have verified arXiv identifiers.</em></p>]]></content><author><name></name></author><category term="reading"/><category term="papers"/><category term="reinforcement-learning"/><category term="offline-gcrl"/><category term="chain-of-thought"/><category term="latent-reasoning"/><category term="offline-rl"/><category term="goal-conditioned-rl"/><category term="hierarchical-rl"/><category term="mlp-mixer"/><category term="paper-review"/><category term="vertical"/><summary type="html"><![CDATA[A review of CoGHP (arXiv 2602.03389), read as a case study in *internal* chain-of-thought: latent subgoals as reasoning steps inside a single autoregressive control policy — the big problem, the method, the honest numbers, and where it points.]]></summary></entry><entry><title type="html">VLA models through the lens of adaptation</title><link href="https://zavis.chat/blog/2026/vla-adaptation/" rel="alternate" type="text/html" title="VLA models through the lens of adaptation"/><published>2026-07-17T01:00:00+00:00</published><updated>2026-07-17T01:00:00+00:00</updated><id>https://zavis.chat/blog/2026/vla-adaptation</id><content type="html" xml:base="https://zavis.chat/blog/2026/vla-adaptation/"><![CDATA[\[\newcommand{\obs}{o} \newcommand{\act}{a} \newcommand{\policy}{\pi} \newcommand{\R}{\mathbb{R}}\] <blockquote> <p>This is a survey-first note: <strong>map the field and its sub-problems before any one system takes the stage.</strong> <a href="/blog/2026/qwen-vla/">Qwen-VLA</a> <a class="citation" href="#qwen2026vla">(Qwen Team, 2026)</a> appears only as <em>one point</em> in a design space that exists with or without it. Numbers attributed to a paper are stated as that paper reports them; my own judgment is quarantined to §D.</p> </blockquote> <h2 id="a-the-field-first">A. The field first</h2> <h3 id="a1-what-a-vision-language-action-model-is">A.1 What a vision-language-action model is</h3> <p>A <strong>vision-language-action (VLA)</strong> model is a policy that maps visual observations $\obs_t$ and a natural-language instruction $\ell$ to robot actions $\act_t$:</p> \[\policy_\theta:\; (\obs_{1:t},\, \ell)\; \longmapsto\; \act_t \in \mathcal{A}.\] <p>The lineage is short and fast. RT-1 <a class="citation" href="#brohan2022rt1">(Brohan et al., 2023)</a> showed a single transformer absorbing large-scale real-robot data; RT-2 <a class="citation" href="#brohan2023rt2">(Brohan et al., 2023)</a> made the decisive move of <em>reusing a vision-language model’s web knowledge</em> by emitting actions as text tokens; PaLM-E <a class="citation" href="#driess2023palme">(Driess et al., 2023)</a> folded continuous sensor states into the language model itself. OpenVLA <a class="citation" href="#kim2024openvla">(Kim et al., 2024)</a> and Octo <a class="citation" href="#ghosh2024octo">(Octo Model Team et al., 2024)</a> opened the recipe; RoboFlamingo <a class="citation" href="#li2023roboflamingo">(Li et al., 2024)</a> showed a VLM backbone is an effective imitator; $\pi_0$ <a class="citation" href="#black2024pi0">(Black et al., 2024)</a> replaced discrete action tokens with a <strong>flow-matching</strong> continuous decoder.</p> <h3 id="a2-why-adaptation-is-the-right-axis">A.2 Why <em>adaptation</em> is the right axis</h3> <p>It is tempting to rank VLAs by a headline success rate. That is the wrong axis. A policy that scores 97% on one benchmark suite and collapses on a new robot, a new task family, or a mildly shifted environment has not demonstrated a <em>foundation model</em> — it has demonstrated overfitting at scale.</p> <blockquote> <p><strong>Claim (the axis).</strong> The quantity that separates a benchmark policy from an embodied foundation model is <strong>adaptation</strong>: how cheaply one set of weights survives a change of <em>body</em>, <em>task</em>, <em>action space</em>, or <em>distribution</em>.</p> </blockquote> <p>The rest of this note is organized around those four changes.</p> <h2 id="b-the-four-adaptations">B. The four adaptations</h2> <h3 id="b1-embodiment-adaptation--one-policy-many-bodies">B.1 Embodiment adaptation — one policy, many bodies</h3> <p>Different robots have different kinematics, sensors, and control conventions. The naive fix is a per-robot output head; it does not scale and it forbids transfer. Two lines attack this. Open X-Embodiment <a class="citation" href="#padalkar2024openx">(Open X-Embodiment Collaboration et al., 2024)</a> pooled 22 robots into one dataset and trained RT-X models that transfer across bodies; CrossFormer <a class="citation" href="#doshi2024crossformer">(Doshi et al., 2024)</a> pushed further — a <em>single</em> transformer across manipulation, navigation, locomotion, and aviation with no manual action/observation-space alignment. On the navigation side, ViNT <a class="citation" href="#shah2023vint">(Shah et al., 2023)</a> is a cross-robot navigation foundation model with positive transfer to unseen platforms.</p> <p>The newest lever is to describe the body <strong>in language</strong>. Instead of a learned embodiment embedding, a textual description of the current robot and its control convention is placed in the prompt — so the <em>same</em> weights specialize at inference by reading who they are driving. This is the “tool-schema” pattern from software agents, imported into robotics.</p> <h3 id="b2-task-adaptation--manipulation-navigation-and-trajectory-in-one-model">B.2 Task adaptation — manipulation, navigation, and trajectory in one model</h3> <p>Manipulation, navigation, and trajectory prediction are historically three fields with three benchmark cultures. The generalist bet is that they are one problem — conditional sequence generation over actions — and that joint training transfers. GATO <a class="citation" href="#reed2022gato">(Reed et al., 2022)</a> made the maximalist version of this bet (one network, 600+ tasks across modalities). In robotics specifically, the unification is now concrete: navigation is cast as action-and-trajectory prediction over the same interface as manipulation, evaluated on VLN benchmarks R2R <a class="citation" href="#anderson2018r2r">(Anderson et al., 2018)</a> and RxR <a class="citation" href="#ku2020rxr">(Ku et al., 2020)</a> alongside manipulation suites.</p> <h3 id="b3-action-space-adaptation--discrete-tokens-vs-continuous-flow">B.3 Action-space adaptation — discrete tokens vs continuous flow</h3> <p>How a VLA <em>emits</em> an action is a real design axis, not an implementation detail.</p> <ul> <li><strong>Discrete tokens.</strong> RT-2 <a class="citation" href="#brohan2023rt2">(Brohan et al., 2023)</a> bins each action dimension into integer tokens in the VLM vocabulary. Simple, reuses the LM head — but quantization caps precision and control rate. FAST <a class="citation" href="#pertsch2025fast">(Pertsch et al., 2025)</a> improves this with frequency-space (DCT) tokenization for autoregressive VLAs.</li> <li><strong>Continuous generative decoding.</strong> Diffusion Policy <a class="citation" href="#chi2023diffusion">(Chi et al., 2023)</a> models an action chunk as a conditional denoising process; ACT <a class="citation" href="#zhao2023act">(Zhao et al., 2023)</a> predicts a chunk with a CVAE/transformer. The architectural enabler is the Diffusion Transformer <a class="citation" href="#peebles2023dit">(Peebles &amp; Xie, 2023)</a>, and the training objective that $\pi_0$ <a class="citation" href="#black2024pi0">(Black et al., 2024)</a> and Qwen-VLA adopt is <strong>flow matching</strong> <a class="citation" href="#lipman2023flowmatching">(Lipman et al., 2023)</a>.</li> </ul> <blockquote> <p><strong>Flow matching, in one line.</strong> Learn a velocity field $v_\theta(x,\tau\mid c)$ so that integrating the ODE $\;\dot{x}=v_\theta(x,\tau\mid c)\;$ from noise $x_0\sim \mathcal{N}(0,I)$ at $\tau{=}0$ to $\tau{=}1$ lands on a valid action chunk $x_1$, conditioned on the VLM’s language+vision tokens $c$. Continuous, high-precision, and it sidesteps action quantization — at the cost of an ODE solve per action.</p> </blockquote> <h3 id="b4-distribution--ood-adaptation--the-honest-frontier">B.4 Distribution / OOD adaptation — the honest frontier</h3> <p>The final and hardest change is distribution. SimplerEnv <a class="citation" href="#li2024simplerenv">(Li et al., 2024)</a> exists precisely to measure the sim-to-real and cross-setup gap for manipulation; LIBERO <a class="citation" href="#liu2023libero">(Liu et al., 2023)</a> probes lifelong transfer across task suites; real-world ALOHA <a class="citation" href="#zhao2023act">(Zhao et al., 2023)</a> out-of-distribution trials and <em>dynamic</em> manipulation (moving targets) are where reported numbers fall hardest. This is the axis on which “foundation model” claims should be stress-tested, not the in-distribution suites.</p> <h2 id="c-qwen-vla-as-the-worked-case">C. Qwen-VLA as the worked case</h2> <p>Qwen-VLA <a class="citation" href="#qwen2026vla">(Qwen Team, 2026)</a> threads all four axes:</p> <ul> <li><strong>Action space</strong> — a <strong>1.15B DiT flow-matching</strong> action decoder on a <strong>Qwen3.5-4B</strong> VLM backbone (continuous, §B.3).</li> <li><strong>Embodiment</strong> — <strong>embodiment-aware prompt conditioning</strong>: the body and control convention are described in text, no per-platform head (§B.1).</li> <li><strong>Task</strong> — manipulation, navigation, and trajectory folded into one action-and-trajectory objective (§B.2).</li> <li><strong>Distribution</strong> — evaluated out to real-world ALOHA OOD and dynamic manipulation (§B.4).</li> </ul> <p>Reported scores (as stated by the paper): 97.9% LIBERO, 73.7% Simpler-WidowX, 86.1/87.2% RoboTwin <a class="citation" href="#mu2025robotwin">(Mu et al., 2025)</a> Easy/Hard, 69.0% R2R OSR, 59.6% RxR SR, 76.9% avg ALOHA OOD, and <strong>26.6% zero-shot on DOMINO <a class="citation" href="#fang2026domino">(Fang et al., 2026)</a></strong> dynamic manipulation. The full reading note is <a href="/blog/2026/qwen-vla/">here</a>.</p> <h2 id="d-reading-it-critically">D. Reading it critically</h2> <p><em>(This section is deliberately cautious — hedged where the evidence is.)</em></p> <p>A benchmark table is a claim, not a proof. Five questions decide whether the numbers mean progress:</p> <ol> <li><strong>Baselines.</strong> Is each score against a specialist SOTA or a weak generalist? A high number against the wrong baseline measures nothing.</li> <li><strong>Train–test split.</strong> How much of LIBERO/R2R/RxR distribution entered the joint pretraining mix? Generalist scores are only credible if the evaluation split was genuinely held out.</li> <li><strong>Embodiment-OOD definition.</strong> “New embodiment” is meaningful only if the control convention was truly unseen — otherwise it is in-distribution wearing a costume.</li> <li><strong>Action normalization.</strong> Cross-embodiment results hinge on how joint/action spaces are normalized; a favorable normalization can manufacture transfer.</li> <li><strong>Inference latency.</strong> A flow-matching ODE solve is not free. Real-robot control rate — not just success rate — determines whether the policy is deployable.</li> </ol> <blockquote> <p><strong>The number that reads both ways.</strong> DOMINO zero-shot <strong>26.6%</strong> is simultaneously evidence that cross-task transfer to <em>dynamic</em> manipulation is non-trivially possible <strong>and</strong> evidence that dynamic manipulation remains largely unsolved. Promise and open problem in one figure — and a caution against reading the in-distribution 97.9% as the headline.</p> </blockquote> <h2 id="e-where-it-points">E. Where it points</h2> <p>The trajectory is clear even if the destination is not. The field is converging on: continuous flow/diffusion decoders over discrete tokens; language-described embodiment over learned embodiment embeddings; and joint manipulation-navigation- trajectory training over siloed policies. What remains genuinely open — and where I would place research effort — is the fourth axis: <strong>dynamic, out-of-distribution adaptation</strong>, where even the strongest current numbers are low. A VLA that is an embodied <em>foundation</em> model, rather than a very good benchmark policy, will be decided there.</p> <h2 id="reference-map">Reference map</h2> <p><em>Not a flat list — a <strong>clustered web</strong>. Each paper links to its <strong>[arXiv]</strong> (formal) and, where one exists, an <strong>[on this blog]</strong> deep-note (informal). The <strong>→</strong> edges are the spider: follow them to jump from any paper to the work it builds on or leads to.</em></p> <h3 id="-the-vla-lineage--scale--web-knowledge--open--continuous">① The VLA lineage — <em>scale → web-knowledge → open → continuous</em></h3> <blockquote> <p>RT-1 proved scale on real-robot data; <strong>RT-2</strong> turned actions into web-knowledge text tokens; <strong>OpenVLA / Octo</strong> opened the recipe; <strong>π0</strong> made the decoder continuous — the move that <strong>Qwen-VLA</strong> inherits.</p> </blockquote> <ul> <li><a id="rm-rt1"></a><strong>RT-1</strong> · <a href="https://arxiv.org/abs/2212.06817">arXiv</a> · <a href="https://robotics-transformer1.github.io/">project</a> — transformer at real-robot scale. → leads to <a href="#rm-rt2">RT-2</a></li> <li><a id="rm-rt2"></a><strong>RT-2</strong> · <a href="https://arxiv.org/abs/2307.15818">arXiv</a> · <a href="https://robotics-transformer2.github.io/">project</a> — actions as text tokens (web knowledge). → open version <a href="#rm-openvla">OpenVLA</a>; continuous successor <a href="#rm-pi0">π0</a>; token axis <a href="#b3-action-space-adaptation--discrete-tokens-vs-continuous-flow">§B.3</a></li> <li><a id="rm-palme"></a><strong>PaLM-E</strong> · <a href="https://arxiv.org/abs/2303.03378">arXiv</a> — sensor states inside the LM. → sibling <a href="#rm-rt2">RT-2</a></li> <li><a id="rm-openvla"></a><strong>OpenVLA</strong> · <a href="https://arxiv.org/abs/2406.09246">arXiv</a> · <a href="https://openvla.github.io/">project</a> — open VLA recipe. → generalist cousin <a href="#rm-octo">Octo</a></li> <li><a id="rm-octo"></a><strong>Octo</strong> · <a href="https://arxiv.org/abs/2405.12213">arXiv</a> · <a href="https://octo-models.github.io/">project</a> — open generalist policy. → cross-body <a href="#rm-crossformer">CrossFormer</a></li> <li><a id="rm-roboflamingo"></a><strong>RoboFlamingo</strong> · <a href="https://arxiv.org/abs/2311.01378">arXiv</a> — VLM backbone as imitator. → backbone idea in <a href="#rm-qwen">Qwen-VLA</a></li> <li><a id="rm-pi0"></a><strong>π0</strong> · <a href="https://arxiv.org/abs/2410.24164">arXiv</a> · <a href="https://www.physicalintelligence.company/blog/pi0">project</a> — flow-matching continuous decoder. → same decoder family as <a href="#rm-qwen">Qwen-VLA</a>; theory <a href="#rm-flow">Flow Matching</a></li> </ul> <h3 id="-how-actions-are-emitted--discrete-tokens-vs-continuous-flow">② How actions are emitted — <em>discrete tokens vs continuous flow</em></h3> <blockquote> <p>The fork of §B.3: quantize actions into tokens, or generate them continuously.</p> </blockquote> <ul> <li><a id="rm-fast"></a><strong>FAST</strong> · <a href="https://arxiv.org/abs/2501.09747">arXiv</a> — frequency-space action tokens. → discrete counterpart to <a href="#rm-dp">Diffusion Policy</a>; pairs with <a href="#rm-rt2">RT-2</a></li> <li><a id="rm-dp"></a><strong>Diffusion Policy</strong> · <a href="https://arxiv.org/abs/2303.04137">arXiv</a> · <a href="https://diffusion-policy.cs.columbia.edu/">project</a> — action chunk as denoising. → architecture <a href="#rm-dit">DiT</a>; chunking <a href="#rm-act">ACT</a></li> <li><a id="rm-act"></a><strong>ACT / ALOHA</strong> · <a href="https://arxiv.org/abs/2304.13705">arXiv</a> · <a href="https://tonyzhaozh.github.io/aloha/">project</a> — action chunking + low-cost bimanual. → also a benchmark, see <a href="#rm-aloha-bench">④</a></li> <li><a id="rm-dit"></a><strong>DiT</strong> · <a href="https://arxiv.org/abs/2212.09748">arXiv</a> — transformer diffusion backbone. → the decoder in <a href="#rm-pi0">π0</a> and <a href="#rm-qwen">Qwen-VLA</a></li> <li><a id="rm-flow"></a><strong>Flow Matching</strong> · <a href="https://arxiv.org/abs/2210.02747">arXiv</a> — the training objective. → used by <a href="#rm-pi0">π0</a>, <a href="#rm-qwen">Qwen-VLA</a></li> </ul> <h3 id="-one-policy-many-bodies--embodiment--task-unification">③ One policy, many bodies — <em>embodiment &amp; task unification</em></h3> <blockquote> <p>The §B.1–B.2 bet: pool bodies and tasks into one policy.</p> </blockquote> <ul> <li><a id="rm-openx"></a><strong>Open X-Embodiment</strong> · <a href="https://arxiv.org/abs/2310.08864">arXiv</a> · <a href="https://robotics-transformer-x.github.io/">project</a> — 22-robot pooled dataset + RT-X. → scaled by <a href="#rm-crossformer">CrossFormer</a></li> <li><a id="rm-crossformer"></a><strong>CrossFormer</strong> · <a href="https://arxiv.org/abs/2408.11812">arXiv</a> · <a href="https://crossformer-model.github.io/">project</a> — one transformer across 20 embodiments. → language-described bodies in <a href="#rm-qwen">Qwen-VLA</a></li> <li><a id="rm-vint"></a><strong>ViNT</strong> · <a href="https://arxiv.org/abs/2306.14846">arXiv</a> · <a href="https://general-navigation-models.github.io/vint/">project</a> — cross-robot navigation foundation. → navigation benchmarks <a href="#rm-r2r">R2R</a>/<a href="#rm-rxr">RxR</a></li> <li><a id="rm-navila"></a><strong>NaVILA</strong> <a class="citation" href="#cheng2024navila">(Cheng et al., 2024)</a> · <a href="https://arxiv.org/abs/2412.04453">arXiv</a> — VLA for legged-robot navigation; mid-level language actions bridge to a low-level locomotion policy. → sibling unification attempt to <a href="#rm-uninavid">Uni-NaVid</a></li> <li><a id="rm-uninavid"></a><strong>Uni-NaVid</strong> <a class="citation" href="#zhang2024uninavid">(Zhang et al., 2024)</a> · <a href="https://arxiv.org/abs/2412.06224">arXiv</a> — one video-based VLA unifying four navigation sub-tasks (instruction-following, object search, QA, tracking) instead of one model per task.</li> <li><a id="rm-gato"></a><strong>GATO</strong> · <a href="https://arxiv.org/abs/2205.06175">arXiv</a> · <a href="https://deepmind.google/discover/blog/a-generalist-agent/">blog</a> — one net, 600+ tasks. → maximalist ancestor of <a href="#rm-qwen">Qwen-VLA</a></li> <li><a id="rm-robocat"></a><strong>RoboCat</strong> <a class="citation" href="#bousmalis2023robocat">(Bousmalis et al., 2023)</a> · <a href="https://arxiv.org/abs/2306.11706">arXiv</a> · <a href="https://deepmind.google/blog/robocat-a-self-improving-robotic-agent/">blog</a> — self-improving generalist: few-shot adapt to a new embodiment, then generate more of its own training data. → same multi-embodiment bet as <a href="#rm-crossformer">CrossFormer</a></li> </ul> <h3 id="-where-we-measure--benchmarks">④ Where we measure — <em>benchmarks</em></h3> <blockquote> <p>The §B.4 proving grounds. Qwen-VLA is scored on all of these.</p> </blockquote> <ul> <li><a id="rm-libero"></a><strong>LIBERO</strong> · <a href="https://arxiv.org/abs/2306.03310">arXiv</a> · <a href="https://libero-project.github.io/main.html">project</a> — lifelong-transfer manipulation.</li> <li><a id="rm-simpler"></a><strong>SimplerEnv</strong> · <a href="https://arxiv.org/abs/2405.05941">arXiv</a> · <a href="https://simpler-env.github.io/">project</a> — real-to-sim manipulation eval.</li> <li><a id="rm-r2r"></a><strong>R2R</strong> · <a href="https://arxiv.org/abs/1711.07280">arXiv</a> — vision-and-language navigation. → multilingual scale-up <a href="#rm-rxr">RxR</a></li> <li><a id="rm-rxr"></a><strong>RxR</strong> · <a href="https://arxiv.org/abs/2010.07954">arXiv</a> — multilingual, denser VLN.</li> <li><a id="rm-aloha-bench"></a><strong>ALOHA (real-world OOD)</strong> · <a href="https://arxiv.org/abs/2304.13705">arXiv</a> · <a href="https://tonyzhaozh.github.io/aloha/">project</a> — the OOD stress test. → method side <a href="#rm-act">②</a></li> </ul> <h3 id="-the-anchor">⑤ The anchor</h3> <ul> <li><a id="rm-qwen"></a><strong>Qwen-VLA</strong> · <a href="https://arxiv.org/abs/2605.30280">arXiv</a> · <a href="/blog/2026/qwen-vla/">on this blog</a> — pulls the flow-matching decoder from <a href="#rm-flow">②</a>, language-described embodiment from <a href="#rm-crossformer">③</a>, and is scored on <a href="#rm-libero">④</a>. The worked case of §C.</li> </ul> <details> <summary>Formal cited bibliography (auto-generated)</summary> <h2 class="bibliography">2026</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="qwen2026vla" class="col-sm-8"> <div class="title">Qwen-VLA: Unifying Vision-Language-Action Modeling across Tasks, Environments, and Robot Embodiments</div> <div class="author"> Qwen Team </div> <div class="periodical"> <em>arXiv preprint arXiv:2605.30280</em>, 2026 </div> <div class="periodical"> </div> <div class="links"> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="fang2026domino" class="col-sm-8"> <div class="title">Towards Generalizable Robotic Manipulation in Dynamic Environments</div> <div class="author"> Heng Fang, Shangru Li, Shuhan Wang, and <span class="more-authors" title="click to view 3 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '3 more authors' ? 'Xuanyang Xi, Dingkang Liang, Xiang Bai' : '3 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">3 more authors</span> </div> <div class="periodical"> <em>In European Conference on Computer Vision (ECCV)</em>, 2026 </div> <div class="periodical"> DOMINO; verify fields before relying on them </div> <div class="links"> <a href="http://arxiv.org/abs/2603.15620" class="btn btn-sm z-depth-0" role="button">arXiv</a> </div> </div> </div> </li></ol> <h2 class="bibliography">2025</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="pertsch2025fast" class="col-sm-8"> <div class="title">FAST: Efficient Action Tokenization for Vision-Language-Action Models</div> <div class="author"> Karl Pertsch, Kyle Stachowicz, Brian Ichter, and <span class="more-authors" title="click to view 6 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '6 more authors' ? 'Danny Driess, Suraj Nair, Quan Vuong, Oier Mees, Chelsea Finn, Sergey Levine' : '6 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">6 more authors</span> </div> <div class="periodical"> <em>arXiv preprint arXiv:2501.09747</em>, 2025 </div> <div class="periodical"> </div> <div class="links"> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="mu2025robotwin" class="col-sm-8"> <div class="title">RoboTwin: Dual-Arm Robot Benchmark with Generative Digital Twins</div> <div class="author"> Yao Mu, Tianxing Chen, Zanxin Chen, and <span class="more-authors" title="click to view 11 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '11 more authors' ? 'Shijia Peng, Zhiqian Lan, Zeyu Gao, Zhixuan Liang, Qiaojun Yu, Yude Zou, Mingkun Xu, Lunkai Lin, Zhiqiang Xie, Mingyu Ding, Ping Luo' : '11 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">11 more authors</span> </div> <div class="periodical"> <em>arXiv preprint</em>, 2025 </div> <div class="periodical"> Verify fields before relying on them </div> <div class="links"> <a href="http://arxiv.org/abs/2504.13059" class="btn btn-sm z-depth-0" role="button">arXiv</a> </div> </div> </div> </li></ol> <h2 class="bibliography">2024</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="kim2024openvla" class="col-sm-8"> <div class="title">OpenVLA: An Open-Source Vision-Language-Action Model</div> <div class="author"> Moo Jin Kim, Karl Pertsch, Siddharth Karamcheti, and <span class="more-authors" title="click to view 2 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '2 more authors' ? 'Ted Xiao, others' : '2 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">2 more authors</span> </div> <div class="periodical"> <em>In Conference on Robot Learning (CoRL)</em>, 2024 </div> <div class="periodical"> arXiv:2406.09246 </div> <div class="links"> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="ghosh2024octo" class="col-sm-8"> <div class="title">Octo: An Open-Source Generalist Robot Policy</div> <div class="author"> Octo Model Team, Dibya Ghosh, Homer Walke, and <span class="more-authors" title="click to view 2 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '2 more authors' ? 'Karl Pertsch, others' : '2 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">2 more authors</span> </div> <div class="periodical"> <em>In Robotics: Science and Systems (RSS)</em>, 2024 </div> <div class="periodical"> arXiv:2405.12213 </div> <div class="links"> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="li2023roboflamingo" class="col-sm-8"> <div class="title">Vision-Language Foundation Models as Effective Robot Imitators</div> <div class="author"> Xinghang Li, Minghuan Liu, Hanbo Zhang, and <span class="more-authors" title="click to view 3 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '3 more authors' ? 'Cunjun Yu, Tao Kong, others' : '3 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">3 more authors</span> </div> <div class="periodical"> <em>In International Conference on Learning Representations (ICLR)</em>, 2024 </div> <div class="periodical"> arXiv:2311.01378 </div> <div class="links"> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="black2024pi0" class="col-sm-8"> <div class="title">\pi_0: A Vision-Language-Action Flow Model for General Robot Control</div> <div class="author"> Kevin Black, Noah Brown, Danny Driess, and <span class="more-authors" title="click to view 3 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '3 more authors' ? 'Chelsea Finn, Sergey Levine, others' : '3 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">3 more authors</span> </div> <div class="periodical"> <em>arXiv preprint arXiv:2410.24164</em>, 2024 </div> <div class="periodical"> Physical Intelligence technical report </div> <div class="links"> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="padalkar2024openx" class="col-sm-8"> <div class="title">Open X-Embodiment: Robotic Learning Datasets and RT-X Models</div> <div class="author"> Open X-Embodiment Collaboration, Abhishek Padalkar, and others </div> <div class="periodical"> <em>In IEEE International Conference on Robotics and Automation (ICRA)</em>, 2024 </div> <div class="periodical"> arXiv:2310.08864 </div> <div class="links"> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="doshi2024crossformer" class="col-sm-8"> <div class="title">Scaling Cross-Embodied Learning: One Policy for Manipulation, Navigation, Locomotion and Aviation</div> <div class="author"> Ria Doshi, Homer Walke, Oier Mees, and <span class="more-authors" title="click to view 2 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '2 more authors' ? 'Sudeep Dasari, Sergey Levine' : '2 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">2 more authors</span> </div> <div class="periodical"> <em>In Conference on Robot Learning (CoRL)</em>, 2024 </div> <div class="periodical"> arXiv:2408.11812 </div> <div class="links"> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="li2024simplerenv" class="col-sm-8"> <div class="title">Evaluating Real-World Robot Manipulation Policies in Simulation</div> <div class="author"> Xuanlin Li, Kyle Hsu, Jiayuan Gu, and <span class="more-authors" title="click to view 3 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '3 more authors' ? 'Karl Pertsch, Oier Mees, others' : '3 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">3 more authors</span> </div> <div class="periodical"> <em>In Conference on Robot Learning (CoRL)</em>, 2024 </div> <div class="periodical"> SimplerEnv; arXiv:2405.05941 </div> <div class="links"> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="cheng2024navila" class="col-sm-8"> <div class="title">NaVILA: Legged Robot Vision-Language-Action Model for Navigation</div> <div class="author"> An-Chieh Cheng, Yandong Ji, Zhaojing Yang, and <span class="more-authors" title="click to view 7 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '7 more authors' ? 'Zaitian Gongye, Xueyan Zou, Jan Kautz, Erdem Bıyık, Hongxu Yin, Sifei Liu, Xiaolong Wang' : '7 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">7 more authors</span> </div> <div class="periodical"> <em>arXiv preprint</em>, 2024 </div> <div class="periodical"> Verify fields before relying on them </div> <div class="links"> <a href="http://arxiv.org/abs/2412.04453" class="btn btn-sm z-depth-0" role="button">arXiv</a> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="zhang2024uninavid" class="col-sm-8"> <div class="title">Uni-NaVid: A Video-based Vision-Language-Action Model for Unifying Embodied Navigation Tasks</div> <div class="author"> Jiazhao Zhang, Kunyu Wang, Shaoan Wang, and <span class="more-authors" title="click to view 6 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '6 more authors' ? 'Minghan Li, Haoran Liu, Songlin Wei, Zhongyuan Wang, Zhizheng Zhang, He Wang' : '6 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">6 more authors</span> </div> <div class="periodical"> <em>arXiv preprint</em>, 2024 </div> <div class="periodical"> Verify fields before relying on them </div> <div class="links"> <a href="http://arxiv.org/abs/2412.06224" class="btn btn-sm z-depth-0" role="button">arXiv</a> </div> </div> </div> </li></ol> <h2 class="bibliography">2023</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="brohan2022rt1" class="col-sm-8"> <div class="title">RT-1: Robotics Transformer for Real-World Control at Scale</div> <div class="author"> Anthony Brohan, Noah Brown, Justice Carbajal, and <span class="more-authors" title="click to view 1 more author" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '1 more author' ? ' others' : '1 more author'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">1 more author</span> </div> <div class="periodical"> <em>In Robotics: Science and Systems (RSS)</em>, 2023 </div> <div class="periodical"> arXiv:2212.06817 </div> <div class="links"> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="brohan2023rt2" class="col-sm-8"> <div class="title">RT-2: Vision-Language-Action Models Transfer Web Knowledge to Robotic Control</div> <div class="author"> Anthony Brohan, Noah Brown, Danny Driess, and <span class="more-authors" title="click to view 2 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '2 more authors' ? 'Chelsea Finn, others' : '2 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">2 more authors</span> </div> <div class="periodical"> <em>In Conference on Robot Learning (CoRL)</em>, 2023 </div> <div class="periodical"> arXiv:2307.15818; proceedings lead author Zitkovich et al. </div> <div class="links"> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="driess2023palme" class="col-sm-8"> <div class="title">PaLM-E: An Embodied Multimodal Language Model</div> <div class="author"> Danny Driess, Fei Xia, Mehdi S. M. Sajjadi, and <span class="more-authors" title="click to view 2 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '2 more authors' ? 'Corey Lynch, others' : '2 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">2 more authors</span> </div> <div class="periodical"> <em>In International Conference on Machine Learning (ICML)</em>, 2023 </div> <div class="periodical"> arXiv:2303.03378 </div> <div class="links"> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="shah2023vint" class="col-sm-8"> <div class="title">ViNT: A Foundation Model for Visual Navigation</div> <div class="author"> Dhruv Shah, Ajay Sridhar, Nitish Dashora, and <span class="more-authors" title="click to view 4 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '4 more authors' ? 'Kyle Stachowicz, Kevin Black, Noriaki Hirose, Sergey Levine' : '4 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">4 more authors</span> </div> <div class="periodical"> <em>In Conference on Robot Learning (CoRL)</em>, 2023 </div> <div class="periodical"> arXiv:2306.14846 </div> <div class="links"> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="chi2023diffusion" class="col-sm-8"> <div class="title">Diffusion Policy: Visuomotor Policy Learning via Action Diffusion</div> <div class="author"> Cheng Chi, Zhenjia Xu, Siyuan Feng, and <span class="more-authors" title="click to view 5 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '5 more authors' ? 'Eric Cousineau, Yilun Du, Benjamin Burchfiel, Russ Tedrake, Shuran Song' : '5 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">5 more authors</span> </div> <div class="periodical"> <em>In Robotics: Science and Systems (RSS)</em>, 2023 </div> <div class="periodical"> arXiv:2303.04137 </div> <div class="links"> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="zhao2023act" class="col-sm-8"> <div class="title">Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware</div> <div class="author"> Tony Z. Zhao, Vikash Kumar, Sergey Levine, and <span class="more-authors" title="click to view 1 more author" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '1 more author' ? 'Chelsea Finn' : '1 more author'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">1 more author</span> </div> <div class="periodical"> <em>In Robotics: Science and Systems (RSS)</em>, 2023 </div> <div class="periodical"> ALOHA/ACT; arXiv:2304.13705 </div> <div class="links"> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="peebles2023dit" class="col-sm-8"> <div class="title">Scalable Diffusion Models with Transformers</div> <div class="author"> William Peebles and Saining Xie </div> <div class="periodical"> <em>In International Conference on Computer Vision (ICCV)</em>, 2023 </div> <div class="periodical"> arXiv:2212.09748 </div> <div class="links"> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="lipman2023flowmatching" class="col-sm-8"> <div class="title">Flow Matching for Generative Modeling</div> <div class="author"> Yaron Lipman, Ricky T. Q. Chen, Heli Ben-Hamu, and <span class="more-authors" title="click to view 2 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '2 more authors' ? 'Maximilian Nickel, Matt Le' : '2 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">2 more authors</span> </div> <div class="periodical"> <em>In International Conference on Learning Representations (ICLR)</em>, 2023 </div> <div class="periodical"> arXiv:2210.02747 </div> <div class="links"> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="liu2023libero" class="col-sm-8"> <div class="title">LIBERO: Benchmarking Knowledge Transfer for Lifelong Robot Learning</div> <div class="author"> Bo Liu, Yifeng Zhu, Chongkai Gao, and <span class="more-authors" title="click to view 4 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '4 more authors' ? 'Yihao Feng, Qiang Liu, Yuke Zhu, Peter Stone' : '4 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">4 more authors</span> </div> <div class="periodical"> <em>In NeurIPS Datasets and Benchmarks Track</em>, 2023 </div> <div class="periodical"> arXiv:2306.03310 </div> <div class="links"> </div> </div> </div> </li> <li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="bousmalis2023robocat" class="col-sm-8"> <div class="title">RoboCat: A Self-Improving Generalist Agent for Robotic Manipulation</div> <div class="author"> Konstantinos Bousmalis, Giulia Vezzani, Dushyant Rao, and <span class="more-authors" title="click to view 8 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '8 more authors' ? 'Coline Devin, Alex X. Lee, Maria Bauza, Todor Davchev, Yuxiang Zhou, Agrim Gupta, Akhil Raju, others' : '8 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">8 more authors</span> </div> <div class="periodical"> <em>arXiv preprint</em>, 2023 </div> <div class="periodical"> Verify fields before relying on them </div> <div class="links"> <a href="http://arxiv.org/abs/2306.11706" class="btn btn-sm z-depth-0" role="button">arXiv</a> </div> </div> </div> </li></ol> <h2 class="bibliography">2022</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="reed2022gato" class="col-sm-8"> <div class="title">A Generalist Agent</div> <div class="author"> Scott Reed, Konrad Zolna, Emilio Parisotto, and <span class="more-authors" title="click to view 1 more author" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '1 more author' ? ' others' : '1 more author'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">1 more author</span> </div> <div class="periodical"> <em>Transactions on Machine Learning Research (TMLR)</em>, 2022 </div> <div class="periodical"> arXiv:2205.06175 </div> <div class="links"> </div> </div> </div> </li></ol> <h2 class="bibliography">2020</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="ku2020rxr" class="col-sm-8"> <div class="title">Room-Across-Room: Multilingual Vision-and-Language Navigation with Dense Spatiotemporal Grounding</div> <div class="author"> Alexander Ku, Peter Anderson, Roma Patel, and <span class="more-authors" title="click to view 2 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '2 more authors' ? 'Eugene Ie, Jason Baldridge' : '2 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">2 more authors</span> </div> <div class="periodical"> <em>In Empirical Methods in Natural Language Processing (EMNLP)</em>, 2020 </div> <div class="periodical"> RxR; arXiv:2010.07954 </div> <div class="links"> </div> </div> </div> </li></ol> <h2 class="bibliography">2018</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="anderson2018r2r" class="col-sm-8"> <div class="title">Vision-and-Language Navigation: Interpreting Visually-Grounded Navigation Instructions in Real Environments</div> <div class="author"> Peter Anderson, Qi Wu, Damien Teney, and <span class="more-authors" title="click to view 6 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '6 more authors' ? 'Jake Bruce, Mark Johnson, Niko Sünderhauf, Ian Reid, Stephen Gould, Anton Hengel' : '6 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.html(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">6 more authors</span> </div> <div class="periodical"> <em>In IEEE Conference on Computer Vision and Pattern Recognition (CVPR)</em>, 2018 </div> <div class="periodical"> R2R; arXiv:1711.07280 </div> <div class="links"> </div> </div> </div> </li></ol> </details> <p><em>All entries are established works with verified arXiv identifiers, including RoboTwin, DOMINO, NaVILA, Uni-NaVid, and RoboCat — added 2026-09-20 (previously named in prose but not formally cited). <strong>Informal / project-page links</strong> can be layered onto each node next (verified before adding — none fabricated).</em></p>]]></content><author><name></name></author><category term="robotics-embodied"/><category term="vla"/><category term="vla"/><category term="robot-foundation-model"/><category term="embodied-ai"/><category term="diffusion-transformer"/><category term="flow-matching"/><category term="adaptation"/><category term="survey"/><summary type="html"><![CDATA[A survey-first deep dive into vision-language-action models, organized around the one axis that actually measures progress — adaptation across bodies, tasks, action spaces, and distributions — with Qwen-VLA as the worked case.]]></summary></entry><entry><title type="html">Qwen-VLA — one model for manipulation, navigation, and trajectory</title><link href="https://zavis.chat/blog/2026/qwen-vla/" rel="alternate" type="text/html" title="Qwen-VLA — one model for manipulation, navigation, and trajectory"/><published>2026-07-11T03:00:00+00:00</published><updated>2026-07-11T03:00:00+00:00</updated><id>https://zavis.chat/blog/2026/qwen-vla</id><content type="html" xml:base="https://zavis.chat/blog/2026/qwen-vla/"><![CDATA[<p>Reading note on the anchor paper for the <a href="/blog/category/ai-agents/">VLA-through-adaptation</a> series. Numbers and claims below are stated <strong>as reported by the paper</strong>; my own critique is in the “Reading it critically” section. Nothing here is fabricated — where the source is silent (e.g. released code), it says so.</p> <h2 id="metadata">Metadata</h2> <table> <thead> <tr> <th> </th> <th> </th> </tr> </thead> <tbody> <tr> <td><strong>Title</strong></td> <td>Qwen-VLA: Unifying Vision-Language-Action Modeling across Tasks, Environments, and Robot Embodiments</td> </tr> <tr> <td><strong>arXiv</strong></td> <td><a href="https://arxiv.org/abs/2605.30280">2605.30280</a> (v1, 29 May 2026)</td> </tr> <tr> <td><strong>Code</strong></td> <td><a href="https://github.com/QwenLM/Qwen-VLA">github.com/QwenLM/Qwen-VLA</a> — official repo, <strong>705★ / 24 forks</strong>. As of this note: technical report + blog + demo video only; <strong>no weights or install code released yet</strong>.</td> </tr> <tr> <td><strong>Backbone</strong></td> <td>Qwen3.5-4B (vision-language)</td> </tr> <tr> <td><strong>Action decoder</strong></td> <td>1.15B <strong>DiT</strong> (Diffusion Transformer), <strong>flow-matching</strong></td> </tr> </tbody> </table> <h2 id="super-keywords">Super-keywords</h2> <p><code class="language-plaintext highlighter-rouge">vision-language-action</code> · <code class="language-plaintext highlighter-rouge">embodied foundation model</code> · <code class="language-plaintext highlighter-rouge">DiT action decoder</code> · <code class="language-plaintext highlighter-rouge">flow matching</code> · <code class="language-plaintext highlighter-rouge">embodiment-aware prompt conditioning</code> · <code class="language-plaintext highlighter-rouge">action-and-trajectory prediction</code> · <code class="language-plaintext highlighter-rouge">cross-embodiment</code> · <code class="language-plaintext highlighter-rouge">manipulation + navigation + trajectory unification</code> · <code class="language-plaintext highlighter-rouge">no per-platform output heads</code> · <code class="language-plaintext highlighter-rouge">joint pretraining</code></p> <h2 id="the-one-paragraph-version">The one-paragraph version</h2> <p>Qwen-VLA bolts a <strong>DiT flow-matching action decoder</strong> onto the Qwen3.5-4B VLM stack, turning language + visual tokens into <strong>continuous joint trajectories</strong>. Its lever is <strong>embodiment-aware prompt conditioning</strong>: the current robot body and control convention are described <em>in text</em>, so a single set of weights serves many platforms with <strong>no per-platform output heads</strong>. It casts manipulation, navigation, and trajectory prediction into one action-and-trajectory objective and pretrains jointly over robot-manipulation trajectories, human egocentric demos, synthetic sim, vision-and- language navigation data, trajectory-centric supervision, and auxiliary VL data.</p> <h2 id="reported-results-qwen-vla-instruct">Reported results (Qwen-VLA-Instruct)</h2> <table> <thead> <tr> <th>Benchmark</th> <th>Metric</th> <th>Score</th> </tr> </thead> <tbody> <tr> <td>LIBERO</td> <td>success</td> <td><strong>97.9%</strong></td> </tr> <tr> <td>Simpler-WidowX</td> <td>success</td> <td>73.7%</td> </tr> <tr> <td>RoboTwin — Easy / Hard</td> <td>success</td> <td>86.1% / 87.2%</td> </tr> <tr> <td>R2R</td> <td>OSR</td> <td>69.0%</td> </tr> <tr> <td>RxR</td> <td>SR</td> <td>59.6%</td> </tr> <tr> <td>Real-world ALOHA (OOD)</td> <td>avg success</td> <td>76.9%</td> </tr> <tr> <td><strong>DOMINO</strong> (dynamic manip.)</td> <td><strong>zero-shot</strong></td> <td><strong>26.6%</strong></td> </tr> </tbody> </table> <h2 id="reading-it-critically">Reading it critically</h2> <p>Do <strong>not</strong> read the table alone. What actually decides whether this is progress:</p> <ul> <li><strong>Baselines</strong> — is each number vs a specialist SOTA or a weak generalist?</li> <li><strong>Train–test split</strong> — especially how much of LIBERO/R2R/RxR distribution leaked into the joint pretraining mix.</li> <li><strong>Embodiment-OOD definition</strong> — “new embodiment” is only meaningful if the control convention was genuinely unseen.</li> <li><strong>Action normalization</strong> — cross-embodiment scores hinge on how joint/action spaces are normalized.</li> <li><strong>Inference latency</strong> — a DiT flow-matching decoder is not free; real-robot control-rate matters.</li> </ul> <p>And the headline tension: <strong>DOMINO zero-shot 26.6%</strong> reads <em>both</em> ways — real zero-shot transfer to <em>dynamic</em> manipulation is non-trivial, <strong>and</strong> 26.6% says dynamic manipulation is still largely unsolved. Promise and open problem in one number.</p> <h2 id="why-it-anchors-the-series">Why it anchors the series</h2> <p>It’s the cleanest current example of <strong>adaptation as the axis</strong>: one policy adapting across bodies (embodiment-aware conditioning), across tasks (manip+nav+trajectory), across action spaces (continuous flow-matching vs discrete tokens), and across distributions (real-world + dynamic OOD). See the companion survey for the four-axis framing and the full, verified reference set.</p> <p><small>Sources: arXiv 2605.30280; official GitHub repo (QwenLM/Qwen-VLA). Repo state (stars / no-release) as observed 2026-07-11.</small></p>]]></content><author><name></name></author><category term="reading"/><category term="papers"/><category term="vla"/><category term="robot-foundation-model"/><category term="diffusion-transformer"/><category term="flow-matching"/><category term="embodiment-aware"/><category term="qwen"/><category term="manipulation"/><category term="navigation"/><category term="vertical"/><summary type="html"><![CDATA[Deep reading note on Qwen-VLA (arXiv 2605.30280): a Qwen3.5-4B VLM backbone + a 1.15B DiT flow-matching action decoder, unified across tasks, environments, and robot embodiments via embodiment-aware prompt conditioning.]]></summary></entry></feed>