Edition 2026-09-22 latest · digest built 2026-09-22T12:13:21+00:00
Local Decision Engines Go Mainstream, Plus Qwen3.8 Speed Tricks and RAG Build Notes
The dominant actionable thread today is a wave of open-source "logprob decision engine" tools (Jev-style scoring) that replace full text generation with single-token classification for agent routing, RAG search-stopping, and structured JSON output — cutting latency 2-3x in reported benchmarks. Alongside that, the LocalLLaMA/LocalLLM crowd shared concrete throughput and deployment configs for Qwen3.8-27B on both vLLM/GPU and Mac, and the RAG community converged on practical parsing/OCR tooling for production pipelines. One architecture paper (Kimi Delta Attention) and a model-grafting technique round out the research side.
Decision engines replace generation for agent logic
Several independent posts converge on the same pattern: instead of asking a model to generate JSON or prose and then parsing it, ask for one token with logprobs and read the probability distribution directly. The open-source "notjev" library implements this against any OpenAI-compatible endpoint (vLLM, llama.cpp, Ollama) with zero runtime dependencies, and a companion Mac benchmark (jevmlx) showed a 7B model beating generate-then-parse by 14 points in accuracy at 0.6s per case instead of 1.5s. The same primitive is being applied to RAG search-stopping, passage reranking, and even Claude model auto-selection, suggesting it's worth prototyping for any place your agent currently burns tokens on a yes/no or ranking decision.
Local inference tuning for Qwen3.8-27B
Concrete deployment numbers landed for the current favorite open-weight model: stock vLLM 0.29 on 2x3090s hits full 262k context with >70 tok/s single-stream decode and >10k tok/s prefill, well ahead of what most people report on similar hardware. On the Mac side, a reverse-engineered quantization format ("Splash") targeting Apple's newer inference engine gets 79-129 tok/s decode on an M5 Max, outperforming MLX by more than 2x at long context — useful if you're running this model locally and haven't tuned your serving stack yet.
RAG pipeline practicalities
Two posts distilled hard-won lessons for production RAG: prioritize parsing over prompt tuning (Docling for self-hosted table/scan extraction, LlamaParse or Unstructured as managed alternatives) before touching retrieval or reranking, and a roundup of open-source OCR models (PaddleOCR-VL, MinerU, GLM-OCR) as self-hosted replacements for AWS Textract, with tradeoffs noted by document type.
Architecture research worth a look
A close read of Kimi Delta Attention explains how its full diagonal gate lets it perform 2D rotations that Gated DeltaNet's architecture can't express in a single step — relevant if you're evaluating linear-attention variants for long-context local models. Separately, a "model grafting" technique shows how to retrofit an existing decoder-only model (applied here to Qwen3.5-4B) into a causal encoder-decoder after the fact, using identity-init adapters and self-distillation rather than training from scratch.
Today's findings
-
#1 Logprob-based decision engines (Jev-style) replace generate-then-parsetechnique
Scoring a single token's logprobs instead of generating and parsing text cuts latency roughly 2-3x and improves structured-output accuracy in reported benchmarks.
Technique · agent decision stepsDon't generate text for a choice you can simply scoreGenerate-then-parse- Writes full text for a yes/no
- Parse, validate, retry on bad format
- Latency grows with every token
- No confidence, just a string
Score the logprobs- Read one token's logprobs
- Decision is a ranked enum
- Confidence comes for free
- Any OpenAI-compatible endpoint
Reported benchmarks: ~2–3× lower latency and better structured-output accuracyFits binary or small-enum steps: keep searching? which passage? which model? — notjev runs on vLLM, llama.cpp or Ollama.Why it matters: Most agent and RAG pipelines burn tokens generating full text for what's really a classification or ranking decision (continue searching? which passage? which model?); this pattern is directly applicable and works with any local OpenAI-compatible server.
How to apply: Try the open-source "notjev" library against your existing vLLM/llama.cpp/Ollama endpoint for any binary or small-enum decision in your agent loop; the jevmlx benchmark shows the approach also beats generate-then-parse for JSON field extraction on local models.
agentslocal-llmragdecision-engines
Read more: notjev – Turn any local LLM into a Jev-style decision engine (one token + logprobs) · jevmlx update: a 7B model on a Mac beats generate-then-parse by 14 points on TypeSafe's public eval, in 0.6 s per case · notjev – Turn any local LLM into a Jev-style decision engine (one token + logprobs) · What I figured out about Jev so far. · Spent the weekend stress-testing Jev on RAG pipelines. Here's what I found. · I tested Jev for search stopping, memory reranking, and graph retrieval. The results were mixed. · Jev + coding agents: what I learned from making semantic code search fail in batches, not all at once · Jev to autoselect Claude model - co-creator of chatgpt's project · jevals: locally runnable evals for agents using Jev-style decisions
-
#2 Qwen3.8-27B hits >70 tok/s single-stream on stock vLLM with 2x3090stip
A tuned vLLM 0.29 config gets full 262k context, >70 tok/s decode, and >10k tok/s prefill on consumer 24GB cards.
Qwen3.8-27B · 2× RTX 3090 · vLLM 0.29A tuned config, not bigger GPUs, doubles local decode speed70tok/s decode, single stream≈2× what others report on identical hardware262Kfull context, no truncation10Ktok/s prefill2×24GBconsumer cards, stock vLLMThe RedHatAI quant plus the right vLLM version and flags is the whole difference.Why it matters: Many people report half this throughput on the same hardware; the specific quant and serving settings are the difference between a sluggish and a genuinely usable local coding assistant.
How to apply: Match the poster's quant (RedHatAI build) and vLLM version/flags before assuming you need more or better GPUs for this model.
local-llmquantizationvllmqwen
-
#3 Production RAG: fix parsing and chunking before touching the LLMtip
Bad parsing and weak retrieval break RAG systems far more often than prompt quality does.
Production RAGRAG breaks at the front of the chain — not at the prompt1ParseTables, scansMost failures originate here2ChunkSplit boundaries3RetrieveTop-k search4RerankReorder hits5GeneratePrompt + LLMTeams tune the last box; fix extraction first — Docling self-hosted, LlamaParse or Unstructured managed.Why it matters: Teams often tune prompts or swap models to fix RAG quality problems that actually originate in table/scan extraction — a wasted-effort trap this post explicitly warns against.
How to apply: Start any new RAG build with Docling (self-hosted) or LlamaParse/Unstructured (managed) for parsing before investing in reranking or agentic retrieval logic.
ragopen-source
Read more: If I had to build a production RAG agent from scratch today, here's what I'd actually spend time on.
-
#4 Open-source OCR models tested as Textract replacementstool
Docling, PaddleOCR-VL, MinerU and GLM-OCR each win on different document types, letting you self-host OCR instead of paying per-page Textract fees.
Self-hosted OCRFour open OCR models, four document typesMinerU Formula-heavy science PDFsPaddleOCR-VL Multilingual, modest GPUDocling Clean digital PDFsGLM-OCR General baselineScientific / formulas Multilingual Born-digital text Catch-all defaultRoute by document type to replace per-page managed OCR with a self-hosted mix.Why it matters: Managed OCR costs scale badly once tables and forms are involved; a self-hosted mix can cut that cost while staying open-source end to end.
How to apply: Route by document type: MinerU for formula-heavy scientific PDFs, PaddleOCR-VL for multilingual docs on a modest GPU, Docling for clean digital PDFs, GLM-OCR as a general baseline.
ocropen-sourcerag
Read more: Best open source OCR models to replace Textract (tested a bunch)
-
#5 Co-locating your coding agent with the LLM server is ~33% fastertip
Running the agent harness on the same machine that serves the model beat running it from a separate laptop by about a third in a controlled benchmark, even though the model itself wasn't faster.
Why it matters: It's a free, one-time infrastructure change for anyone running a local coding agent against a local model — pure overhead reduction, no accuracy tradeoff.
How to apply: If your agent harness runs on a laptop talking to a local inference box, move the harness onto the inference box itself and compare wall-clock time on a real task.
local-llmagentsperformance
-
#6 Swift-Qwen3.8-27B-Splash: reverse-engineered Mac quantization formatrepo
A 4-bit Qwen3.8-27B build for Apple's newer "Splash" inference engine gets 79-129 tok/s on an M5 Max, beating MLX by more than 2x at 64k context.
Why it matters: The engine's package format wasn't documented, so this is a working reference for anyone targeting Splash on Apple Silicon rather than sticking with MLX.
How to apply: Pull the quantized weights from Hugging Face if you're on a recent Mac and want faster long-context decode than stock MLX currently offers.
quantizationmaclocal-llm
Read more: SiliconSpecies/Swift-Qwen3.8-27B-Splash · SiliconSpecies/Swift-Qwen3.8-27B-Splash
-
#7 Model grafting: retrofit a causal encoder-decoder onto an existing decoder-only modeltechnique
Cut an existing model at depth, feed lower layers the prompt, route upper-layer residuals as prefix KV via identity-init adapters, then heal with self-distillation — no training from scratch required.
Why it matters: DeepSeek-V4.1-Flash showed this architecture works but trained it from scratch; this technique gets similar benefits on models you already have, at a fraction of the cost.
How to apply: Follow the described recipe (cut point, identity-init adapters, self-distillation from the unmodified parent) if you want encoder-decoder behavior from an existing open-weight decoder model like Qwen3.5-4B.
architecturefine-tuningqwen
Read more: Model grafting: turning Qwen3.5-4B into a causal encoder-decoder after the fact
-
#8 Cache-friendly context-compacting plugin for OpenCodetool
A plugin keeps conversation history intact and summarizes only when needed, instead of stripping tokens from the start of context and invalidating the local KV cache on every compaction.
Why it matters: OpenCode's default compaction is fine for hosted APIs but forces a full re-prefill on local models every time it trims context, which this plugin avoids.
How to apply: Install the plugin if you run OpenCode against a local model and notice repeated slow prefills after context compaction.
local-llmcontextagents
Read more: I built a cache-friendly context compacting plugin for OpenCode
-
#9 Understanding and Enhancing Kimi Delta Attentionpaper
KDA's full diagonal gate lets it perform 2D rotations in a single step that Gated DeltaNet cannot express, explaining its higher expressivity.
Why it matters: If you're choosing or fine-tuning a linear-attention architecture for long-context local inference, this clarifies a real capability gap between two popular delta-rule variants rather than just reporting benchmark deltas.
How to apply: Read the analysis before picking between KDA- and GDN-based open models for long-context or state-tracking-heavy workloads.
attentionarchitectureresearch
Read more: Understanding and Enhancing Kimi Delta Attention [R]
-
#10 Open-source pooling layer for local models, APIs, and machinesrepo
A new open-source project unifies workstations, VPSes, shared hosting, and mixed local/API models behind one interface to avoid rebuilding the same plumbing per project.
Open-source infraMixed machines and models behind one inference interfaceOne reusable pool layer instead of per-project routing glue.Why it matters: Teams juggling several local LLM boxes plus API fallbacks often hand-roll this routing layer repeatedly; a reusable open-source version saves that work.
How to apply: Evaluate it if you're maintaining more than one inference target (local + API) and want a single pool abstraction instead of custom glue code per project.
infralocal-llmopen-source