Edition 2026-09-25 latest · digest built 2026-09-25T12:06:24+00:00 · ⚙ ollama:deepseek-v4.1-flash:cloud
Text Parsing Beats Native Tool Calls, Plus a $30 Decision Model and Guardrail Drift
Today's strongest signals are about making local and agentic systems more reliable. A hands-on benchmark shows native tool-calling failing outright on several local stacks, while open System-1 decision models like Mica v0.1 4B and Nagi-ENORMOUS offer cheap routing and gating. On the safety side, teams documented multi-turn guardrail drift and success flags that lie. Claude Code hooks, a database-agnostic GraphRAG framework, and tensor-parallel serving notes round out the practical picks.
Local Agents Get Honest Numbers
The day's most useful signal is a benchmark that punctures a common assumption: on qwen2.5-coder via Ollama, three popular agent harnesses completed 0% of tasks because they never emitted a tool call, while a text-parsing CLI agent hit 39%. If you're building local agents, that's a reminder to test your harness, not just your model. Alongside it, two serving notes: tensor-parallel Qwen3.8-27B on two 16 GB cards reaches 94-96% of a 5090's decode, and M5Ultra users can set prefill step to 8192 for large prompt-throughput gains.
Decision Models Go Open
A cluster of small 'System-1' decision models landed today. Mica v0.1 4B is an open yes/no/choice/score model that runs on an 8 GB GPU and was trained for under $30; Nagi-ENORMOUS picks from a closed option list in 20-120 ms and tops Jev, Semif, and Laya on Game Arena. Both point at the same pattern: stop paying frontier prices for routing, gating, and classification steps. On the research side, eleven experiments on Qwen2.5-7B argue that activation-steering directions that correlate with a concept aren't necessarily the right vectors to steer it.
Guardrails and Reliability
Two reliability writeups are worth reading in full. A red-team exercise showed a support agent drifting past its policy over a long, benign-looking conversation — no single message tripped a guardrail. And a pipeline reported success for two months while producing nothing, because 'finished without raising' was treated as success. Both are cheap to fix and expensive to miss. A database-agnostic GraphRAG framework with swappable System-1 models rounds out the retrieval side.
Claude and MCP Tooling
For Claude users, two practical additions: Claude Code hooks plus an up-to-date settings file let you encode recurring instructions once instead of re-prompting, and a read-only Google Ads MCP connector shows how to give Claude analysis access without write access. The Show HN agentic CUDA kernel optimizer is also worth a look if you have hot kernels to tune.
Today's findings
-
#1 Native Tool-Calling Fails on Local Models; Parse Text Insteadtechnique
A benchmark of qwen2.5-coder:7b/14b on Ollama found pi, Hermes Agent, and Goose completed 0% of tasks because they made zero tool calls, while a text-parsing CLI agent hit 39%.
measuredThree harnesses scored 0% — text parsing hit 39%1Text-parsing CLI agent39%2pi0%3Hermes Agent0%4Goose0%Task completion, 6-task pass/fail harnessOllama · qwen2.5-coder 7b/14b — all three native-tool-calling agents made zero tool callsWhy it matters: If you're building local agents, trusting native function-calling can silently produce zero tool calls and zero task completion — a failure mode that looks like model weakness but is really harness fragility.
How to apply: Run the same 6-task pass/fail harness against your stack before shipping; consider parsing tool calls out of plain-text output as a fallback rather than relying solely on native function-calling.
agentstool-callingollamaevals
-
#2 Mica v0.1 4B: Open Decision Model for Agent Gates and Routersrepo
A 4B open decision model that answers yes/no, choice, and score queries runs on an 8 GB GPU and was trained for under $30 of GPU time.
Mica v0.1 · Open decision modelAn agent gatekeeper trained for dinner money$30one-time GPU training costone-time spend, not per-call4Bparameters8 GBGPU to run it3query types: yes/no, choice, scoreAnswers gates and tool routing locally, reserving big-model calls for real work.Why it matters: Agent loops waste expensive model calls on trivial gates and routing decisions; a small local decision model can handle those at a fraction of the cost.
How to apply: Download Mica v0.1 4B and wire it in front of your agent loop for 'should I ask the user or just proceed' gates and tool routing; benchmark it against your current prompt-based router.
agentslocal-llmroutingdecision-models
Read more: Mica v0.1 4B: open Jev-style decision model (yes/no, choice, score) that runs on an 8 GB GPU — trained for under $30 of GPU time · Mica v0.1 4B: open Jev-style decision model (yes/no, choice, score) that runs on an 8 GB GPU — trained for under $30 of GPU time
-
#3 Use Claude Code Hooks to Stop Repeating Yourselftip
Claude Code hooks plus an up-to-date settings file let you encode recurring instructions (like 'start the dev server') once instead of re-prompting every session.
Claude CodeWrite your setup once, never re-promptvsRe-promptingHooks + CLAUDE.mdSetup instructionsRetyped each sessionWritten once in CLAUDE.mdDev server startAsked every timePre-turn hook fires itContext budgetBurned by repeatsFreed for real workRe-prompting wins the row Hooks + CLAUDE.md wins the rowWorks only with a current settings file — stale config, hooks never fire.Why it matters: Most Claude Code users underuse hooks and CLAUDE.md, leaving repetitive setup instructions in every prompt and burning context.
How to apply: Audit your recurring prompts, move stable ones into CLAUDE.md, and add hooks for deterministic pre/post actions; keep settings current so hooks actually fire.
claudeclaude-codeworkflowhooks
-
#4 Long Conversations Quietly Break Agent Guardrailstechnique
A red-team exercise showed a support agent drifting past its policy over a long, benign-looking thread — no single message triggered a guardrail.
MULTI-TURN DRIFTEvery message passed. The thread didn't.No single message tripped the guardrail — only conversation-level checks see this drift.Why it matters: Per-message guardrails miss slow multi-turn drift, which is exactly how production agents get talked into policy violations.
How to apply: Add conversation-level policy checks (re-evaluate intent against the original policy every N turns), and red-team with long incremental threads rather than single malicious prompts.
agentsguardrailssecurityred-teaming
-
#5 Your Success Flag Is Probably Measuring the Wrong Thingtip
A pipeline reported success for two months while producing nothing because 'run finished without raising' was treated as success.
Pipeline health checksTwo definitions of 'success'Run didn't crashArtifact existsAssert on the artifact, not the exit code.Two months of green runs, zero output.Why it matters: Agent and pipeline health checks that key off process completion rather than artifact production hide silent failures indefinitely.
How to apply: Define success by the artifact or side effect you actually need (rows emitted, tickets filed), assert on it explicitly, and alert when the count is zero.
agentsobservabilityreliabilitypipelines
-
#6 Database-Agnostic Agentic GraphRAG with Swappable System-1 Modelsrepo
A plug-and-play GraphRAG layer uses local Laya or cloud Jev as swappable System-1 models, with a 4-phase pipeline and custom A* traversal over any graph database.
Agentic GraphRAGA swappable brain on top of any graph databaseSystem-1 modelSwappable: Laya (local) or Jev (cloud)GraphRAG layer4-phase pipeline · custom A* traversalGraph databaseAny backend — stays untouchedSwap the decision model without touching the layer or the store.Why it matters: It offers a concrete alternative to bolting heavy agentic loops onto existing graph DBs, and lets you keep the decision model local.
How to apply: Evaluate the repo against your graph store; swap in a local decision model for traversal decisions and measure latency versus your current agentic GraphRAG.
raggraphragagentslocal-llm
Read more: Graph Rag and databases just got smarter—and dangerously fast
-
#7 Tensor-Parallel Qwen3.8-27B on Two 16 GB Cards Hits 94-96% of a 5090technique
A C++/CUDA NInfer fork runs Qwen3.8-27B tensor-parallel across two RTX 5070 Ti cards with no P2P, reaching 94-96% of a single 5090's plain decode.
Why it matters: It shows you can serve a 27B model that doesn't fit on one 16 GB card by splitting across two consumer GPUs without exotic interconnect.
How to apply: If you have two 16 GB cards, try the NInfer fork with the official NVFP4 weights and benchmark against your current single-GPU setup; expect MTP3 decode to drop more than plain decode.
local-llminferencetensor-parallelcuda
-
#8 Set Prefill Step to 8192 on M5Ultra for Big Local Speedupstip
On M5Ultra, raising --prefill-step-size to 8192 gave large prompt-throughput gains on GLM-flash-4bit with MTP under mlx-vlm.
Why it matters: Prefill step size is an easy-to-miss knob that affects both prompt processing and drafter logit fetching; the wrong value leaves cores idle or over-dispatches.
How to apply: If you run MLX-based local inference on M5Ultra, set prefill step to 8192 and re-measure prompt_tps; patch mlx-vlm for chunked prefill if you use dflash.
local-llmmlxperformanceapple-silicon
Read more: PSA for M5Ultra owners running LLMs: set your prefill step to 8192
-
#9 Nagi-ENORMOUS: Fast Decision Model Beats Jev, Semif, Laya on Game Arenarepo
An indie 'fast decision' model picks one of a closed list of options in a single forward pass at 20-120 ms per decision and tops Jev, Semif, and Laya on the Game Arena benchmark.
Why it matters: Latency-bound agent loops need sub-100ms decisions; a model that only picks from a closed option list is a better fit than a general LLM for those steps.
How to apply: Try Nagi-ENORMOUS for classification, routing, and gating steps where the answer space is closed; benchmark its latency against your current small-model router.
agentsdecision-modelslocal-llmlatency
Read more: Nagi-ENORMOUS beats Jev, Semif, Laya on Game Arena Benchmark · Nagi-ENORMOUS beats Jev, Semif, Laya on Game Arena Benchmark
-
#10 Activation Steering Has Been Measuring the Wrong Geometrypaper
Eleven experiments on Qwen2.5-7B-Instruct separate representation, transport, and causal-actuator geometry, arguing a direction that correlates with a concept isn't necessarily the right direction to steer it.
Why it matters: Teams using activation steering for control or safety may be steering along the wrong vector, producing unreliable interventions.
How to apply: Before shipping a steering vector, validate it causally (does it change behavior?) rather than only by correlation; the AkbasCore 3.2 writeup documents the test protocol.
interpretabilityactivation-steeringqwenresearch
Read more: Activation steering has been measuring the wrong geometry: 11 experiments on Qwen2.5-7B separated representation, transport and causal control and led to AkbasCore 3.2 · Activation steering has been measuring the wrong geometry: 11 experiments on Qwen2.5-7B separated representation, transport and causal control and led to AkbasCore 3.2
-
#11 Agentic CUDA Kernel Optimizerrepo
A Show HN repo uses an agent loop to iteratively optimize CUDA kernels.
Show HN repoThe agentic kernel-optimization loop1Proposenew kernel variant2Benchmarkvs baseline3Selectfastest winsnot faster → iterateCompresses a high-effort expert cycle — keep the best variant, but review correctness before merging.Why it matters: Kernel optimization is a high-value, high-effort task; an agentic loop that proposes and benchmarks variants can compress that cycle.
How to apply: Point it at a hot kernel in your codebase, run the loop, and keep the best variant; review generated kernels for correctness before merging.
cudaagentsperformancerepo
Read more: Show HN: Agentic CUDA Kernel Optimizer
-
#12 Read-Only Google Ads MCP Connector for Claudetool
A Claude MCP connector for Google Ads that never edits campaigns and skips the usual developer-token/manager-account setup.
Why it matters: Most Google Ads MCP setups require heavy setup and can mutate campaigns; a read-only connector is a safer default for analysis workflows.
How to apply: Wire it into Claude for reporting and analysis tasks, keeping write access out of the agent's reach; use it as a template for other read-only MCP connectors.
mcpclaudetoolingads
Read more: I built a Google Ads connector for Claude that never touches your campaigns