AI Engineering Digest

Anthropic opens OpenTelemetry tracing for Claude agents.

Thursday, October 15, 2026
Issue 39 · sourced briefing
Sources: Anthropic · Google · MLX · llama.cpp · Meta · xAI · Liquid AI · Databricks
Lead Story

Claude agents now emit standard OpenTelemetry traces into the observability stack you already run

On Wednesday (Oct 14), Anthropic put OpenTelemetry export into public beta on the Claude Platform. Messages API requests, Claude Managed Agents sessions, and the Claude SDKs can now send traces—model calls, tool uses, agent turns, latency, tokens, and IDs—to any OTLP endpoint.

There are two halves. SDK tracing is code-side: register a tracer provider and the SDK emits spans in Python, TypeScript, C#, Go, Java, PHP, and Ruby, including client tools your app runs and tools in a self-hosted sandbox. API tracing is server-side: an admin adds a destination in the Claude Console, and the API emits spans for each model run inside a request, server tools, MCP connector tools, and every Managed Agents turn. Run both and you get one trace from your POST /chat handler down to the agent’s tool calls.

Spans follow the OpenTelemetry GenAI semantic conventions, and Anthropic names a dozen partner targets (Datadog, Grafana Cloud, Honeycomb, Langfuse, LangSmith, Sentry, Splunk, Braintrust, Arize, New Relic, PostHog, Databricks Unity Gateway). The default content mode is metadata only; Full content adds prompts, responses, and tool arguments. Organizations under HIPAA, FERPA, or K-12 data-handling restrictions only export metadata from the API, whatever the destination says.

Two fine-print lines matter for operators. Delivery is best effort, so spans are not a billing record—Anthropic points you to the Usage API for per-key usage. And token counting needs care: sum one source per request (server spans if you have both) or you will double-count. Same day, Managed Agents scheduled deployments also arrived on Claude Platform on AWS (where API spans land in their own traces).

What to do: wire one destination in metadata-only mode first, check retention and access on your observability side before you flip to Full content, and use traces to decide how much tool access an agent earns—exactly the pattern Anthropic’s launch post describes.

Sources: Claude Platform release notes (Oct 14) · Claude blog · OpenTelemetry docs

By the Numbers
7
Claude SDK languages that emit spans · Claude release notes
12
Named OTLP partner platforms · Claude blog
0.75 MB
Default content per span in Full content mode (≈200k English tokens; ~4 MB for a full 1M window) · Claude docs
1.7–2.5×
llama.cpp Metal flash-attention speedup with BF16 KV cache · contributor-reported on M5 Pro

Quiet lanes

OpenAI API changelog still Oct 8 · vLLM advisories still the Oct 6 batch (v0.31.0) · SGLang 0.5.21 · Transformers 5.19.0 · Ray 2.59.0 · DeepSeek API notes Sep 10 · Nemotron 3.5 Bolt 74B-A9B posted on Hugging Face and Ollama after press time


Commentary

Wednesday through Thursday morning (Oct 14–15 ET). ASTGL / Fraser takes, sourced.

Traces are the new permission slip

Anthropic’s own framing is the right one: trust an agent with more access after you have watched its traces. For most teams, until yesterday, that meant hand-rolled wrappers around the SDK and a blind spot for anything the API ran server-side. Now the Managed Agents turn, the server tool call, and the MCP hop show up as spans next to your own services. My take: this is the most useful agent-ops launch of the month, and the defaults are sane. Start metadata-only, never treat spans as your billing ledger, and make “we can see it” a precondition for widening tool scopes.

Sources: Claude blog · OTel docs

Gateways are learning to carry the trace, too

Same day, Google said Apigee hybrid 1.17.0 runs the MCP data plane inside your own Kubernetes cluster, filters tools/list by API product, and lifts W3C trace context out of the MCP _meta field into ordinary traceparent headers so backends join the trace without code changes. My take: put the two launches together and you can follow one agent request from model to gateway to database. Standardize on traceparent across your MCP servers now, before every vendor invents its own correlation ID.

Sources: Google Developers Blog

MLX 0.32.4 finally tags the fixes we have been chasing on main

For two weeks we have been telling you “it’s on main, not in a wheel.” Last night Apple tagged MLX 0.32.4: 1-bit affine quantization on Metal, STFT/ISTFT, new gradients for attention and gated delta nets, a Metal fence deadlock fix, M1/M2 attention threadgroup fixes, and lower memory for wide attention heads on pre-M5 chips. My take: this is a pin-and-retest release for every Mac Studio running mlx-lm or mlx-vlm. Upgrade, rerun your quantized smoke tests, and drop the nightly-wheel workaround.

Sources: MLX v0.32.4

llama.cpp closed the BF16 KV gap on Apple Silicon

Overnight, llama.cpp merged a BF16 version of its Metal tensor flash-attention kernel. The PR’s M5 Pro numbers show 1.7–2.5× faster attention with a BF16 KV cache at long context, with accuracy now close to F16. Those are contributor-reported. The same night it stopped rerank and embedding requests from filling the RAM prompt cache, and added LiliCorr speculative decoding. My take: if you picked BF16 KV for range and paid for it in speed, re-run your long-context bench this week.

Sources: #30491 · #30498 · #30506

Grok Voice 3.0 shipped under your alias

xAI put Grok Voice 3.0 in the Voice Agent API at the same $0.08 a minute and quietly moved grok-voice-latest to it. The benchmark table (Artificial Analysis Speech-to-Speech Index 86.9) is vendor-cited third-party, and the Starlink resolution rates are xAI’s own. My take: this is a good voice model release and a good reminder. If a support agent talks to customers, pin the model slug, rerun your call evals, then move the alias on your schedule.

Sources: xAI · xAI release notes

Election abuse now looks like an agent workflow

Anthropic’s midterm safeguards post has one finding every agent builder should read: outside testers found Claude refused a single harmful request but could miss a campaign split into many harmless-looking tasks. Anthropic says it added classifiers for that multi-step pattern. My take: per-request moderation is not enough once your product chains tasks. Score abuse at the session or account level, which is one more reason to have the traces from take one.

Sources: Anthropic


Today’s Stories
Frontier

Meta’s Muse Wonder arrives on the Meta Model API

Oct 12: Meta launched Muse Wonder on the Meta Model API and Muse Code at $4 input / $20 output per million tokens with a 1M-token context, and Muse Wonder Full for Muse Code subscribers only. Meta pitches both for long-running agents, coding, and computer use, with “Active Memory” and “Active Focus” behavior. Leaderboard claims (DeepSWE, SWE-Marathon) are Meta-reported or Meta-cited; a full safety report is “coming soon.” Price-wise it sits right on the frontier-model norm, so test it on your own agent evals before you route to it.

Sources: Meta AI · Meta developers

Frontier

Grok Voice 3.0 replaces 2.0 in the Voice Agent API

Oct 14: xAI released Grok Voice 3.0 for speech-to-speech at the same $0.08/min as its predecessor. The grok-voice-latest alias already points to it, and Grok Voice 2.0 is deprecated. xAI cites Artificial Analysis rankings and says the model is under one second of latency and runs Starlink support calls at scale. Those figures are vendor-cited. If you run voice agents on the alias, your production model changed this week.

Sources: xAI · Release notes

MLX

MLX 0.32.4 ships 1-bit Metal quantization and a stack of Apple Silicon fixes

Oct 14: Apple’s MLX cut its first release since late September. It brings 1-bit affine quantization on Metal, STFT/ISTFT in mlx.core.fft, gradients for scaled-dot-product attention and gated delta nets, Python 3.15 wheels, and a long list of Metal fixes: a fence deadlock, M1/M2 attention threadgroups, pre-M5 memory use for wide heads, and conv bounds. The Swift packages are still on 0.32.3.

Sources: MLX release

Local

llama.cpp speeds up BF16 attention on Metal and trims server cache waste

Oct 15: llama.cpp merged a BF16 variant of its Metal tensor flash-attention kernel. Contributor benchmarks on an M5 Pro show long-context prompt processing with a BF16 KV cache now matching F16. The server also stops caching rerank and embedding prompt states that could never be reused, turns the prompt cache off by default for decision models, and gains LiliCorr speculative decoding (a DFlash follow-on). Upgrade to today’s builds if you serve embeddings or rerankers next to chat.

Sources: #30491 · #30498 · Releases

On-device

Liquid AI’s LFM2.5-24B-A2B targets local agents with 2B active parameters

Oct 13: Liquid AI released LFM2.5-24B-A2B, an open-weight 24B mixture-of-experts reasoning model with 2B active per token, a 131K context, and training aimed at tool use inside agent harnesses. Day-one support covers llama.cpp, MLX, vLLM, SGLang, and ONNX, with official MLX quants. Liquid reports 184 tok/s decode on an M5 Max and leads on several tool-use benches but trails larger models on coding and knowledge (vendor evals). Check the LFM Open License before you ship it commercially.

Sources: Hugging Face blog · Model card

Enterprise

Apigee hybrid runs MCP tools inside your own cluster

Oct 14: Google detailed MCP support in Apigee hybrid 1.17.0. Your OpenAPI specs become MCP tools, the MCP data plane runs in your Kubernetes cluster, and request traffic never crosses to Google Cloud. Config is pulled, not pushed, so there is no inbound path. Tool access follows existing API products, so agents only discover tools they are allowed to call. W3C trace context is forwarded from MCP calls to your backends. MCP is off by default and is enabled with a Helm upgrade.

Sources: Google Developers Blog

Enterprise

Databricks gives serverless agents one private path into your network

Oct 14: Databricks Private Network Gateway (public preview on Azure, private preview on AWS, Google Cloud coming) connects serverless compute to your network through one delegated subnet instead of a private endpoint and load balancer per resource. Databricks names agents calling a private MCP server, installs from a private PyPI, and egress through your own firewall as use cases. Your routes, DNS, and firewall rules still decide what is reachable.

Sources: Databricks blog


Other news in AI

OpenAI published an EU agentic-adoption report: Codex and ChatGPT Work produce more than half of output tokens in its EU enterprise sample, and SMB weekly users grew eightfold since May (OpenAI-reported). OpenAI

NVIDIA pledged a five-year, $250 million compute donation for UK agentic safety and security research, alongside a run of European ecosystem posts ahead of GTC Berlin. NVIDIA Newsroom

Anthropic opened a Singapore office and signed an MOU with the Government of Singapore. Anthropic


Signal tables

Model & runtime releases

ItemDateBadge
Claude OTel export (Messages API, Managed Agents, SDKs)Oct 14Cloud
Managed Agents scheduled deployments on Claude Platform on AWSOct 14Cloud
Muse Wonder on Meta Model API ($4 / $20, 1M)Oct 12Cloud
Grok Voice 3.0 (grok-voice-latest repointed)Oct 14Voice
MLX v0.32.4Oct 14Open
llama.cpp Metal BF16 flash attention + server cache fixOct 15Open
LFM2.5-24B-A2B (GGUF / MLX / ONNX)Oct 13On-device
Ollama v0.40.5-rc0 (MLX kernels on CUDA; prerelease)Oct 14Watch
Nemotron 3.5 Bolt 74B-A9B (HF + Ollama nemotron-3.5-bolt; GGUF/LiLiCorr)Oct 15Open

Security / policy / access

ItemDateBadge
Claude OTel: metadata-only default; HIPAA/FERPA/K-12 orgs export metadata onlyOct 14Active
Anthropic midterm safeguards: classifiers for multi-step misuseOct 14Active
Apigee hybrid MCP: in-cluster data plane, per-product tool filteringOct 14Cloud
Databricks PNG: serverless egress through your firewallOct 14Preview
Pinecone BYOC on-demand mode (zero-access model kept)Oct 15Cloud
vLLM Oct 6 advisory batch — still patch to v0.31.0Oct 6Active
No new vLLM / llama.cpp / Ollama / MLX / SGLang advisoriesOct 14–15Quiet

Industry shorts

Critical

Full-content Claude traces put prompts, responses, and tool arguments in your observability vendor. Check that vendor’s retention and access before you switch off metadata-only, and remember the Usage API, not spans, is the record for key-level spend.

Watch

Nemotron 3.5 Bolt 74B-A9B is on Hugging Face and Ollama (nemotron-3.5-bolt), with GGUF and LiLiCorr drafts. It is a 74B/9B-active VLM natively IQ2 for ~24GB, aimed at RTX Spark (due Oct 16) and other NVIDIA boxes; OpenMDW-1.1. Mac path is Ollama/llama.cpp, not a claimed MLX day-one. Ollama 0.40.5 is still in rc.

Opportunity

LFM2.5-24B-A2B with official MLX quants is a cheap always-on local agent candidate for a Mac Studio. Apple’s research note on “Minions,” a virtual GPU cloud built from idle Apple Silicon Macs, hints at where fleets of desks could go next.


Try this

Send Claude traces to Langfuse or Grafana

Add one OTel destination in the Claude Console in metadata-only mode, run a Managed Agents session, and group spans by anthropic.session.id. When you total tokens, count server spans only, so you don’t double-count.

Upgrade to MLX 0.32.4 and run a local agent

pip install -U mlx mlx-lm (MLX 0.32.4 is on PyPI), then serve LiquidAI/LFM2.5-24B-A2B-MLX-4bit on port 8080 and point your agent harness at it. Rerun your quantized smoke tests either way.

Bench BF16 KV on Metal

On a current llama.cpp build, run llama-bench -fa 1 -ctk bf16 -ctv bf16 against your F16 KV baseline at 8K and 32K depth. If the gap is gone on your chip, BF16 KV is now a free choice.