Edition 2026-09-02 latest · digest built 2026-09-02T12:12:07+00:00
Anthropic's RAG Fix, Agent Tool-Call Guardrails, and Why LLM Judges Miss What's Missing
Today's most useful signal is about retrieval and agent safety rather than new model releases: Anthropic's own numbers show hybrid keyword search plus reranking beats a better embedding model for fixing RAG failures, while a cluster of open-source tools (toolwall, PromptGuard, Harness Arena) tackle the growing problem of giving agents real tool access without giving up control. On the local-inference side there's hard data on llama.cpp batching, a costly gotcha in Ollama Cloud's new pricing, and open-weight video generation running on an AMD iGPU. A fresh arXiv paper is also a useful reality check for anyone leaning on LLM judges to grade agent output.
Retrieval and prompt engineering that actually move the needle
The standout item today is Anthropic's own breakdown of RAG failure causes: prepending a generated context sentence to each chunk cut retrieval failures 35%, adding keyword search on top took it to 49%, and adding a reranking pass took it to 67% — with reranking contributing the single biggest jump, ahead of any embedding-model swap. Paired with that, a solid writeup on Anthropic/OpenAI prompt caching lays out the exact structural rules (deterministic prefix ordering, explicit cache_control breakpoints) that determine whether you actually get the up-to-90% cost savings caching promises, and a smaller tip shows how to auto-generate tool-call schemas straight from Python function signatures instead of hand-writing JSON or pulling in Pydantic.
Securing and evaluating agents with real tool access
As agents get real filesystem, database, and deploy access, several open-source projects landed to put guardrails around that: toolwall is a dependency-free, fail-closed authorization layer for tool calls with a published test report (155 tests, 28/28 attacks blocked); PromptGuard Multilingual is a free Hugging Face classifier for catching prompt injection in Catalan/Spanish/English; and Harness Arena is a blind, MIT-licensed benchmark that pits Claude Code against Codex and other harnesses on identical tasks with anonymized judging. A companion piece demystifying how Claude Skills and MCP actually work under the hood is worth reading before writing your next internal skill. Meanwhile, a new arXiv paper on "omission blindness" found LLM judges reliably catch wrong content but systematically miss content that's silently missing — a real gap for anyone using an LLM judge as their eval layer.
Local inference: costs, benchmarks, and hardware notes
A 50-day usage audit found Ollama Cloud's new credit-based pricing delivers roughly a third of the tokens the old flat-rate Pro plan gave for the same $20 — worth checking your own usage before switching. A week-long llama.cpp benchmark quantified how batch/ubatch size affects throughput once a model outgrows RAM and starts reloading from SSD, and the successor to the popular Automated-AI-Web-Researcher-Ollama now grounds its research in actual literature instead of the open web to cut down on confidently-cited nonsense. On the media side, MiniMax-H3's official 8-step acceleration LoRA is now running fully locally on an AMD integrated GPU, lowering the hardware bar for teams prototyping local video generation.
Today's findings
-
#1 Anthropic's RAG data: keyword search + reranking beat a better embedding modeltechnique
Anthropic's own numbers show contextual chunk summaries + keyword search + reranking cut RAG retrieval failures by 67%, with reranking alone contributing the biggest single jump.
Retrieval · Anthropic dataThree cheap additions cut RAG retrieval failures by 67%1Context prefixOne-line source summary per chunk2Keyword searchBM25 alongside vectors3RerankScore the merged candidatesBiggest single jumpStack these in order before reaching for a better embedding model.Why it matters: Most teams treat RAG failures as an embedding-model problem, but this breakdown shows plain keyword search and a cheap reranking pass close far more of the gap than a better embedding model would — a low-effort fix for the most common complaint about internal search/RAG tools.
How to apply: Before swapping embedding models, add a generated one-sentence context prefix to each chunk describing its source (contextual retrieval), pair vector search with BM25/keyword search, and add a reranking step on the merged candidates — in that order, matching where the biggest gains showed up.
ragretrievalanthropic
Read more: The Chunking Change That Cut Retrieval Failures by 67%
-
#2 The structural rules that actually make Claude/OpenAI prompt caching hittechnique
Reliable prompt-cache hits come down to three rules: deterministic prefix ordering, explicit cache_control breakpoints, and never letting dynamic content leak into the "static" prefix.
PROMPT CACHINGThe cached prefix ends where you put the breakpoint — everything dynamic goes below itSystem promptByte-identical wording every callTool definitionsDeterministic order, never re-sortedBase RAG contextStable docs only, no per-user splicescache_controlExplicit breakpoint closes the static prefixPer-request inputUser turn, timestamps, IDs — always below the lineOne dynamic byte above the breakpoint silently voids the hit — and the up-to-90% cost cut with it.Why it matters: Prompt caching can cut API costs up to 90% and slash time-to-first-token, but subtle payload-ordering mistakes silently kill the hit rate — teams building Claude-backed tools are likely leaving real savings on the table without realizing it.
How to apply: Restructure prompts so static content (system prompt, tool defs, base RAG context) sits at a fixed prefix before any per-request content, add explicit cache_control breakpoints on those blocks for Anthropic calls, and audit your payload builder for anything that reorders or interpolates into that prefix.
prompt-cachinganthropiccost-optimization
Read more: How to reliably trigger Anthropic & OpenAI prompt caching without boilerplate mess
-
#3 toolwall: a fail-closed authorization gate for agent tool callstool
toolwall is a small, dependency-free Python library that fail-closed gates every agent tool call — unknown tools, bad args, leaked secrets, and budget overruns all block by default — with a published report of 155 tests including 28/28 attacks blocked.
toolwall · open-source PythonAgent tool calls run only inside the gate — 28/28 attack tests blockedbounded capabilityAgent tool callscope Allow-listed toolsscope Validated argsmonitor Secret scanlimit Budget caprevoke Default denymonitor Verdict logPublished report: 155 tests, 28/28 attacks blocked; anything unrecognised denies.Why it matters: As teams give Claude Code and other agent harnesses real tool access to databases, shells, and deploy pipelines, "the model decided not to" isn't a security boundary — a fail-closed authorization layer is the guardrail most homegrown agent setups are currently missing.
How to apply: Drop toolwall (or the same fail-closed pattern) between your agent loop and its tool executor, explicitly allow-list callable tools/args instead of trusting the model's schema-valid output, and log every allow/deny verdict for audit.
agentssecurityopen-source
-
#4 How Claude Skills and MCP actually work under the hoodtip
A harness-level writeup demystifies how Claude Skills and MCP work in practice — what gets injected into context, how tool discovery happens, and what production harnesses do to make both more reliable.
Under the hoodTwo ways a harness tells the model what it can doSkills- Only name + description sit in context
- Full instructions read once it fires
- Extra files and scripts pulled on demand
MCP- Tool schemas injected up front
- Every connected tool costs context
- Model chooses from descriptions alone
Progressive disclosure vs eager injection — but both hinge on the descriptionWrite the description as the trigger, not as documentation.Why it matters: Most teams copy example Skill/MCP configs without understanding the mechanics; knowing how progressive disclosure and tool-schema injection actually work is what separates a skill that reliably fires from one the model ignores.
How to apply: Read the writeup before authoring your next internal Skill or MCP server, and structure skill instructions and tool descriptions the way effective harnesses do rather than guessing from minimal docs.
mcpagentsclaude
Read more: How skills and MCPs actually work
-
#5 Ollama Cloud's new credit pricing is ~3x worse for heavy users than the old Pro plantip
A 50-day usage audit shows Ollama Cloud's new $20 credit-based plan delivers roughly a third of the tokens the old flat-rate Pro plan gave for the same money.
Ollama Cloud · repricingThe same $20 now buys about a third of the tokens~3xworse value for heavy usersvs. the old flat-rate Pro plan$20Monthly price, unchanged~1/3Of the tokens the Pro plan gave50 daysOf real usage auditedPrice your own month of token volume against the credit rates before switching.Why it matters: If your team relies on Ollama Cloud for hosted inference, this is a quantified cost regression hiding behind a "based on feedback" repricing announcement — worth checking before anyone clicks switch.
How to apply: Before migrating off a legacy Ollama Pro subscription, log a month of real request volume/token usage and price it against the new credit plan's published per-token rates; heavy users should stay on the old plan as long as it's offered.
ollamapricinglocal-llm
Read more: Value analysis of the old Ollama Pro sub model vs the new per-token model (from 50 days of real usage) · PSA: If you’re on the old Ollama Pro plan, don’t switch - ~67% LESS usage
-
#6 Auto-generate tool-call schemas straight from Python function signaturestechnique
You can generate Anthropic/OpenAI-compatible tool-call JSON schemas directly from plain Python function signatures and docstrings, skipping both hand-written schema dicts and a full Pydantic dependency.
Python tool callingStop hand-writing tool schemas — derive them from the signatureHand-maintained schema- JSON dict written by hand
- Pydantic pulled in for types
- Drifts as code changes
- Two places to edit
Generated from the function- Type hints + docstring
- No extra dependency
- Built at import time
- Edit the signature only
Anthropic/OpenAI-compatible schemas, introspected from plain Python.Why it matters: Manually maintained tool schemas drift from actual function signatures as code changes, and pulling in Pydantic just for type introspection is heavy for a lightweight microservice or serverless tool handler.
How to apply: For simple internal tools, generate schemas from type hints/docstrings at import time instead of hand-maintaining JSON, so a signature change automatically updates what the model sees.
tool-callinganthropicpython
Read more: Auto-generate Anthropic/OpenAI Tool Schemas directly from Python functions without Pydantic
-
#7 llama.cpp batch/ubatch size matters a lot once a model outgrows RAMtip
A week-long benchmark on llama.cpp shows batch/ubatch size materially changes throughput once weights have to reload from SSD (tested with DeepSeek V4 Flash on a 128GB DGX Spark).
Why it matters: Anyone running local models that don't comfortably fit in RAM/VRAM is leaving throughput on the table with default batch settings — this is a rare case of someone actually measuring the tradeoff instead of guessing.
How to apply: If you're serving a large local GGUF model that spills to disk, sweep -batch/-ubatch values on your own hardware and prompt-length profile rather than trusting llama.cpp defaults; gains are hardware- and workload-specific so replicate the test rather than copying one number.
llama.cpplocal-llmperformance
Read more: [Benchmark] llama.cpp batch/ubatch impacts on PP and TG
-
#8 PromptGuard Multilingual: an open classifier for prompt injection and jailbreakstool
CiberIA released an open, multilingual (Catalan/Spanish/English) prompt-injection and jailbreak classifier on Hugging Face, hitting 94.87% accuracy and 100% attack recall on its held-out test set.
Why it matters: A free, drop-in classifier for prompt-injection detection is a cheap first line of defense for any agent ingesting untrusted web or document content — a real gap for teams working outside English-only deployments.
How to apply: Run untrusted input (retrieved docs, tool outputs, user uploads) through the classifier before it reaches your agent's context, and treat flagged content as needing extra scrutiny or sandboxing rather than blind trust.
prompt-injectionsecurityopen-source
Read more: PromptGuard Multilingual v1
-
#9 A hallucination-resistant successor to Automated-AI-Web-Researcher-Ollamarepo
The author of the 3k-star Automated-AI-Web-Researcher-Ollama shipped Academic-AI-Literature-Reviewer-Ollama, which grounds a local model's research in actual scientific literature instead of the open web.
Why it matters: Local-model web research tools inherit the web's own unreliability; grounding retrieval in the literature instead is a concrete, reusable pattern for building an internal research/summarization agent whose citations actually hold up.
How to apply: Point the Ollama-backed tool at a research question needing literature grounding, and borrow its literature-vs-web retrieval split for any internal research agent you build that needs to avoid confidently-cited nonsense.
ollamaagentsopen-source
Read more: I made an Automated Academic AI researcher which is hallucination proof. · I made an Automated Academic AI researcher which is hallucination proof.
-
#10 Harness Arena: a blind benchmark for Claude Code vs. other agent harnessestool
Harness Arena is a new open-source, MIT-licensed blind benchmark that runs Claude Code, Codex, and other agent harnesses on identical tasks with anonymized judging.
Why it matters: Picking an agent harness is currently mostly vibes and marketing; a blind, task-based comparison methodology is a more honest way to evaluate Claude Code against alternatives for your team's actual workload.
How to apply: Run your own representative coding tasks through Harness Arena's methodology (or fork it) to get an apples-to-apples read on Claude Code vs. other harnesses before standardizing tooling across the team.
agentsbenchmarkopen-source
Read more: I built an open-source blind benchmark for AI agent harnesses - how would you make the comparison fair? · Harness Arena - open-source blind benchmark for agent harnesses
-
#11 MiniMax-H3's 8-step LoRA runs full local video gen on an AMD iGPUtechnique
MiniMax-H3's official 8-step PDD acceleration LoRA runs entirely locally on an AMD Radeon 8060S integrated GPU, producing a 5-second video with synced stereo audio and no CFG needed.
Why it matters: Open-weight video generation running acceptably on integrated, non-discrete graphics substantially lowers the hardware bar for teams wanting to prototype local video-gen features without a dedicated GPU rig.
How to apply: If evaluating local video generation, start with MiniMax-H3 plus the official 8-step PDD LoRA rather than full-step inference — it's the fastest path to a usable local baseline on modest hardware.
video-generationcomfyuilocal
-
#12 LLM judges catch wrong content but miss what's silently missingpaper
A new paper finds LLM-as-judge setups reliably flag incorrect content but systematically fail to notice when required content is simply absent — "omission blindness," tested on AI-generated clinical notes.
Why it matters: Anyone using an LLM judge to grade agent outputs, RAG answers, or generated docs should assume it's blind to missing information by default — a false sense of eval coverage is worse than no eval at all.
How to apply: If you run an LLM-as-judge eval pipeline, add an explicit completeness/checklist pass (did the output include every required element?) instead of relying on the judge to notice omissions on its own.
evaluationllm-judgepaper
Read more: LLM Judges Verify Presence, Not Absence: Omission Blindness in AI Clinical Notes