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. #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%.

    measured
    Three harnesses scored 0% — text parsing hit 39%
    1
    Text-parsing CLI agent
    39%
    2
    pi
    0%
    3
    Hermes Agent
    0%
    4
    Goose
    0%
    Task completion, 6-task pass/fail harnessOllama · qwen2.5-coder 7b/14b — all three native-tool-calling agents made zero tool calls

    Why 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

    Read more: I benchmarked tool-call reliability on qwen2.5-coder against pi, Hermes, and Goose - all three got 0%

  2. #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 model
    An agent gatekeeper trained for dinner money
    $30
    one-time GPU training cost
    one-time spend, not per-call
    4B
    parameters
    8 GB
    GPU to run it
    3
    query types: yes/no, choice, score
    Answers 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. #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 Code
    Write your setup once, never re-prompt
    vs
    Re-prompting
    Hooks + CLAUDE.md
    Setup instructions
    Retyped each session
    Written once in CLAUDE.md
    Dev server start
    Asked every time
    Pre-turn hook fires it
    Context budget
    Burned by repeats
    Freed for real work
    Re-prompting wins the row Hooks + CLAUDE.md wins the row
    Works 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

    Read more: USE HOOKS (and keep your settings up to date)

  4. #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 DRIFT
    Every message passed. The thread didn't.
    Benign openerTurn 1 Context buildingTurn 2 Small nudgeTurn 3 Gray-area askTurn 4 Policy crossedFinal turn
    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

    Read more: We red teamed our own support agent with a long slow conversation. No single message was malicious, it still broke.

  5. #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 checks
    Two definitions of 'success'
    Run didn't crash
    Artifact exists
    Assert 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

    Read more: A green pipeline that produced nothing for two months — the success flag was measuring the wrong thing

  6. #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 GraphRAG
    A swappable brain on top of any graph database
    System-1 model
    Swappable: Laya (local) or Jev (cloud)
    GraphRAG layer
    4-phase pipeline · custom A* traversal
    Graph database
    Any backend — stays untouched
    Swap 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. #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

    Read more: Qwen3.8-27B on 2× RTX 5070 Ti (16 GB, no P2P) with a tensor-parallel NInfer fork vs an RTX 5090, same weights: 94-96% plain decode, 79-87% MTP3

  8. #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. #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. #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. #11 Agentic CUDA Kernel Optimizerrepo

    A Show HN repo uses an agent loop to iteratively optimize CUDA kernels.

    Show HN repo
    The agentic kernel-optimization loop
    1
    Propose
    new kernel variant
    2
    Benchmark
    vs baseline
    3
    Select
    fastest wins
    not faster → iterate
    Compresses 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. #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

Looking for topic trends and crawl volume over time? See Trends.