Jiaru Zou and colleagues build HybridAgent, a language-model agent that alternates between internal vectors and ordinary text. It uses vectors for intermediate computation, then writes text to call Python, search the web, or present an answer.
A small adapter called HybridLink feeds the model’s output states back into its input space. The model keeps its KV cache, the stored working memory for its context, across tool calls. That preserves intermediate vectors that a text transcript would lose. Mapping each vector to its nearest token produces readable “pseudo-text” for inspection.
Training first teaches those transitions and exposes the model to its own generated vectors. Reinforcement learning then rewards correct answers, valid formatting, and multi-tool use. Mode choice is learned within enforced limits on each vector-based span.
What the tests show
- Better search results against matched training baselines. The 14-billion-parameter model scores 52.4% on GAIA versus 43.7% for ARPO, a text-based training method. On WebWalker, it scores 49.5% versus 40.5%.
- Less generation work. Figure 6 counts both text tokens and internal vector steps. It shows roughly 35%–54% fewer total steps against matched text agents. Figure 7 reports pooled answer-generation time of 63 seconds versus 134 seconds.
- Lower estimated generation cost. At 14B, Table 9 estimates 25.1 versus 66.9 trillion floating-point operations per question, a 2.7× reduction.
Caveat: the cost estimate excludes initial prompt processing, context-dependent attention, and external tools. It is not a measured end-to-end bill.
The inspection tests are narrower than a safety guarantee. Readable vector projections and model-graded math traces do not establish faithful access to every internal computation.
The public code includes a custom generation engine, training stages, and a latent-trace inspector. Its vector feedback and cross-turn memory handling matter when running the released weights.
What the thread adds
- SwellJoe reports looping when running the 14B weights in llama.cpp, including: “Edit: Same looping in BF16.” This is a compatibility report, not a test of the paper’s custom engine.
- octoberfranklin questions the novelty: “what makes this an improvement over continuous chain of thought”. The paper’s specific contribution combines learned vector alignment, multi-turn memory, and tool use.
- amluto proposes feeding vectors alongside text: “why not let it latently reason at the same time?” That alternative is not among the reported architecture comparisons.
- cannonpalms asks: “This results in lower volume or less accurate text reasoning traces, right?” The paper tests compact visible traces on math problems; broader oversight remains an open question.
From a 155-comment thread, in HN’s own order.