AI News Archive: July 16, 2026 — Part 11
Sourced from 500+ daily AI sources, scored by relevance.
- Why Every Enterprise AI Agent Needs a Rollback Strategy (Before It Becomes Your Most Expensive…
Why Every Enterprise AI Agent Needs a Rollback Strategy (Before It Becomes Your Most Expensive Employee) Your AI agent probably doesn’t need coffee breaks. Unfortunately, it also doesn’t know when it’s confidently making terrible decisions. Organizations are racing to deploy autonomous AI agents that approve requests, update records, respond to customers, and orchestrate entire workflows. The excitement is understandable, so is the risk. Cursor AI (2025): A developer reported that an AI coding agent operating in “Plan Mode”, executed destructive operations, including deleting roughly 70 files (rm -rf) and terminating processes on remote machines, despite explicit instructions to stop. GitHub Copilot (2025): A user reported that a Copilot agent executed git reset --hard HEAD and rm commands without permission while trying to fix a code freeze. This resulted in the permanent loss of uncommitted work and untracked files that were not in source control. While we often focus on making agents smarter, the most critical engineering challenge for 2026 is making them recoverable . As AI moves from chatbots to active systems triggering database updates, API calls, and financial transactions at machine speed, a single “hallucinated” action can cascade into an irreversible disaster. Gartner has predicted that a significant share of agentic AI initiatives may be abandoned over the next few years due to issues including poor governance and the capability-deployment verification gap. Translation? We got really good at building agents. We’re still figuring out how to operate them safely. When “Smart” Becomes “Destructive”: Real-World Escalations The danger is usually in the unconstrained agency rather than in the model’s ability to reason or interpret. Here are two common scenarios where a lack of oversight creates a crisis, and how to solve them. Scenario 1: The “Delete-and-Recreate” Cascade The Problem: An agent tasked with “optimizing server performance” identifies a latent bottleneck. It decides autonomously that the best path is to delete and recreate the production database schema. Within seconds, the action is committed, and critical data is gone. The Escalation: The agent, failing to see the records it just destroyed, assumes the system is now “empty” and begins “cleaning up” associated backups to save storage costs. The Solution: Plan-Execute Architecture. Never allow an agent to perform “action at a distance.” Require the agent to generate a structured JSON “intent” plan. A separate, non-AI worker process should validate this plan against a list of “irreversible actions” (like DROP TABLE or DELETE) and force a Human-in-the-Loop (HITL) approval before execution. Scenario 2: The Silent Tool-Error Loop The Problem: An agent is authorized to reconcile financial accounts via API. An intermittent network error causes the API to fail. Still, the agent, upon seeing a generic timeout, assumes the action was successful and proceeds to the next step, completing wire transfers despite bad data. The Escalation: Because the agent is in a “retry loop,” it repeats this process, compounding the error across hundreds of accounts before a human auditor notices the drift. The Solution: Idempotency & Compensating Actions. Idempotency: Ensure every tool action can be called multiple times without side effects (e.g., using transaction IDs). Compensating Actions: For every “do” action, define an “undo” action (e.g., cancel_transfer). If a step fails, the system automatically walks back through the transaction log, firing the "undo" commands in reverse order. Rollback to what, where, and when? Modern enterprise agents behave according to multiple interconnected layers: Model: Which LLM is making decisions? Prompt: What instructions is it following? Tools: What APIs and systems can it access? Knowledge: Which documents, vector stores, or memory is it using? Workflow: How does it collaborate with other agents? These needs specific safety-net techniques to reduce the blast radius. A few of them are: Implement “Safe Lanes”: A stable state with limited functionality, in which the agent operates with restricted tool access or requires mandatory approval for every action. This allows you to stop the bleeding without fully killing the business process. Version Everything Together: Use infrastructure-as-code principles for your agents. If your version control system doesn’t track prompts, tool definitions, and workflow logic as a single, immutable snapshot, you cannot perform a reliable rollback. Define “The Trigger”: During an incident, decision paralysis is your enemy. Predefine the metrics that necessitate an automatic rollback. It can be a spike in “human-intervention-required” requests or a breach of predefined cost/latency ceilings. When the threshold is hit, the team should first roll back to the old safe version. Not every incident deserves a complete shutdown. Think about how humans work. If you’ve had three hours of sleep and accidentally emailed the wrong spreadsheet, your manager probably doesn’t revoke your employee badge. They might ask someone to review your work before it goes out. Enterprise AI should behave the same way. Instead of immediately pulling the plug, agents should have a sandbox where they: Require human approval before executing actions Only on-demand access to sensitive tools Continue answering questions while avoiding high-risk operations Log every decision for review The business keeps moving while issues stay contained. Deployment Techniques Methodologies such as A/B testing and canary deployments are not only applicable to AI agents, but they are increasingly considered essential best practices for managing the risks inherent in non-deterministic systems. Canary Deployments: By routing only a small percentage of traffic to a new agent version, you limit the damage. If the new agent begins hallucinating, breaching safety guidelines, or failing tool calls, you can immediately halt the rollout and revert to the stable version before it affects your entire user base. A/B Testing: This allows you to measure the efficacy of different agent configurations (e.g., comparing a model with a new system prompt against the current version) in a real-world environment. It moves you beyond “vibe checks” and “offline evals” to prove that your changes actually improve user outcomes or business metrics. Key Adaptations for AI Agents You cannot use the same logic as traditional code deployments. Current-day techniques will be effective with the following adaptations: 1. Redefine “Success Metrics” Traditional metrics (latency, CPU, error rates) are insufficient for agents. You must monitor agent-specific signals : Semantic Drift: Is the agent’s tone or reasoning quality degrading, even if it’s technically “succeeding” at the task? Tool Usage Accuracy: Is the agent calling the correct APIs, or is it hallucinating function parameters? 2. Implement Automated “Supervisor” Agents Because humans cannot realistically monitor every agent transaction in real-time, high-maturity teams deploy monitoring agents . The Workflow: As your Canary agent runs, a secondary “Supervisor” or “Validation” agent analyzes logs, cross-references tool outputs, and monitors for safety violations. Automated Rollbacks: If this monitoring agent detects a breach of your predefined safety or performance thresholds, it can programmatically trigger a rollback, effectively acting as an automated “emergency brake”. 3. Shift from “Code” to “Configuration” In a standard app, you deploy code. For agents, you are deploying a bundle that includes: The Model Version (e.g., GPT-4o vs. GPT-4o-mini) System Instructions (The prompt Tool Definitions (The allowed actions) Retrieval Parameters (The RAG context) A successful canary deployment must treat this entire configuration bundle as an atomic unit. If you roll back, you must roll back the prompt and the tool definitions together to avoid “hybrid state” bugs. Compliance, Regulation, and Revertibility Beyond canary and A/B testing, the following techniques are essential for maintaining control, auditability, and regulatory compliance (such as the EU AI Act). 1. Context-Layer Guardrails Model or prompt-level bypass can be achieved through prompt injection. The most effective guardrails move away from the prompt level into the context layer . Access Entitlements: Ensure that an agent’s access to data is governed by the same policies that apply to human users in the source warehouse. The agent should inherit data sensitivity labels and permissions at the moment of retrieval, rather than using a separate, manually configured permission set that is prone to drift. Data Lineage: Implement machine-traversable lineage that tracks the data from the source to the agent’s final action. This is critical for regulatory audits, proving not just what the model produced, but also precisely what data it consumed to arrive at that result. 2. Identity and Governance Frameworks Enterprise agents must be treated as managed organizational resources. They must be labeled, recorded, and categorized for easy identification. Unique Agent Identity: Assign every agent a distinct identity (e.g., via Microsoft Entra Agent ID). This ensures that every action is attributable to a specific agent and subject to standard organizational identity policies. Centralized Agent Registry: Maintain an inventory of all agents, tracking their purpose, owner, platform, and access scope. If it isn’t in the registry, it shouldn’t be in production. 3. Runtime Behavioral Monitoring Static logs are insufficient for agents that make multi-step decisions. You need runtime AI analytics to observe behavior as it happens. Drift Detection: Monitor for “session drift,” where an agent gradually moves outside its intended role or starts referencing stale memory from past sessions. Execution Path Validation: Instead of just logging the output, log the “decision trace.” This allows security teams to verify whether an action was reached via an expected, safe workflow or an unapproved decision path. Tool Boundaries: Enforce “tool constraints” to prevent “excessive agency”. It is the risk that an agent uses a tool it was never meant to access, such as moving from a read-only search function to a database update function. 4. Rigorous Human-in-the-Loop (HITL) Compliance regulations such as the EU AI Act (Article 14) and NIST frameworks require demonstrable human oversight. Automation Complacency Countermeasures: Humans often over-trust systems. Implement “two-factor judgment” on critical actions, requiring an independent human review or a counter-model sanity check before the agent executes the final step. Standardized Briefings: Like aviation’s “Crew Resource Management,” human overseers should be trained to interpret the context provided by the agent. If the agent isn’t clearly providing the rationale, intent, and permissions chain, the human should be trained to default to “deny”. Final Thoughts Enterprise architecture is to build systems that fail predictably, recover quickly, and leave an auditable trail. AI agents deserve the same engineering discipline. The techniques discussed here are intended to safeguard AI-driven architectures and ensure recovery in the event of a disaster. Hope these rollback strategies give rise to situations where everyone laughs about it the next morning instead of discussing it in a board meeting. Why Every Enterprise AI Agent Needs a Rollback Strategy (Before It Becomes Your Most Expensive… was originally published in Towards AI on Medium, where people are continuing the conversation by highlighting and responding to this story.
- FT readers respond: What is the real cost of AI?
Commenters discuss the environmental impact of AI data centres and the need for greater transparency — join the debate
- Mad Street Den built the future of AI. Then its founders walked away.
They built AI long before it became fashionable. But being ahead of time and a deal they couldn’t accept left Mad Street Den’s founders with a painful choice. This is a story of ambition, vision, failure, and resilience—and why their biggest success may still lie ahead.
- Beyond the KV Cache: What Comes Next
An outlook on how input-dependent step-size updates will shape the next generation of stream-processing AI. Cover infographic visualizing the evolutionary leap from heavy, linear KV cache architectures to dynamic, input-dependent sequence streaming models. Imagine sitting in a high-density server farm in Santa Clara, listening to the industrial hum of liquid-cooling loops struggling to keep a rack of H200s from melting. A colleague points to a dashboard monitoring memory bandwidth saturation, where the throughput sits locked at a staggering 99% while the actual Tensor Cores hover in a state of lazy underutilization. We often talk about large language models as if they are abstract digital minds, but on the silicon floor, modern AI is not a compute problem; it is a brutal, exhausting logistics crisis. We are essentially running a high-speed shipping company where the cargo is too heavy, the roads are too narrow, and the tollbooth charges us exponentially for every mile we travel. 📊 Executive Summary: Deploying sub-quadratic sequence models like Mamba and hybrid architectures like Hymba resolves the O(N) Key-Value cache bottleneck, delivering up to 91.4% memory savings and an 11.67x cache size reduction. While pure State Space Models collapse to 3% accuracy on Multi-Query Associative Recall due to representation decay, next-generation Spectral Koopman Attention reframes sequence history as kernel ridge regression to achieve 100% exact retrieval across a 4,096-token distraction gap with constant O(r²) memory complexity (Dao & Gu, 2024). I. The 140-Gigabyte Tollbooth: Why Modern LLMs Are Suffocating on Their Own Memory To understand the physical reality of generative AI, we must first look at the harsh hardware math of autoregressive decoding. When deploying a 70-billion parameter model in FP16 precision, the GPU must physically haul approximately 140 gigabytes of model weights across its memory bus just to generate a single token (AMD, 2023; NVIDIA, 2024). This creates a massive imbalance because the arithmetic intensity of this process is roughly one FLOP per byte. When compared against the theoretical memory bandwidth limits of state-of-the-art accelerators — like the NVIDIA H200 at 4.8 TB/s to 5.325 TB/s or the AMD MI300X at 5.3 TB/s — it becomes clear that our processors spend far more time mechanically moving bytes than executing actual cognitive calculations. 🔍 Fact Check: Hardware analyses reveal that state-of-the-art accelerators like the NVIDIA H200 and AMD MI300X operate with memory bandwidth bounds of 4.8 TB/s to 5.325 TB/s. With an arithmetic intensity of just 1 FLOP per byte during decoding, a 70B parameter model in FP16 must physically move 140 gigabytes of weights across the memory bus to output a single token. This memory-bound bottleneck is rapidly colliding with the industry’s rush toward massive, million-token context windows. While a model can theoretically accept these massive prompts, the memory footprint of the Key-Value (KV) cache scales linearly ($\mathcal{O}(N)$) with sequence length, consuming precious High Bandwidth Memory (HBM) and reducing serving capacity. For enterprises deploying these models for long-context tasks, this memory starvation makes a batch size of one the mandatory, highly unprofitable standard. The industry is reaching a financial breaking point where hardware optimization alone cannot bridge the gap. The future of sequence modeling does not belong to standard Transformers, nor to pure first-generation State Space Models. Instead, we are on the cusp of an architectural shift toward hybrid, polarized, and spectral systems that compress sequence history without letting the model fall off a cognitive memory cliff. Visualizing the hardware memory tollbooth where massive bandwidth demands starve tensor cores during FP16 autoregressive decoding. II. The “Quadratic Tax” and the Broken Economics of Autoregressive Decoding [Prefill Phase (Prompt Ingestion)] ──> O(N²d_k) Compute Tax ──> Massive Global Attention Matrix [Decode Phase (Token Generation)] ──> O(N) Memory Tax ──> Linearly Expanding KV Cache (HBM Bound) To understand why this memory crisis occurs, we must examine the “quadratic tax” that self-attention imposes on sequence processing. This taxation operates in two distinct phases, starting with the initial prefill phase where the model ingests the prompt. During this phase, the model must construct a global attention matrix by calculating the dot product of every query vector against every key vector. This initial step demands $\mathcal{O}(N²d_k)$ operations, where $N$ represents the sequence length and $d_k$ is the hidden dimension, creating a heavily compute-bound bottleneck that taxes tensor cores exponentially as input lengths scale (Gu & Dao, 2023; Wang et al., 2020). Once the prompt is ingested, the model transitions to the autoregressive decode phase, generating text token-by-token. To avoid the mathematically prohibitive cost of recomputing the entire history of self-attention for every new token, the key and value vectors of all past tokens are preserved in HBM (Gu & Dao, 2023). This KV cache scales linearly with sequence length, steadily locking up GPU memory and restricting the model’s ability to process multiple user requests in parallel. This dynamic creates a direct, punishing trade-off between the model’s active context window and its concurrent serving capacity. Deploying long-context models for enterprise agents, multi-document synthesis, or log analysis under this architecture results in unsustainable cloud hosting bills due to memory starvation. The quadratic prefill compute tax and the linear decode memory tax represent a structural “double-taxation” on AI scaling that cannot be engineered away by silicon improvements alone; it requires a foundational shift in sequence modeling mathematics. Visualizing the double taxation of self-attention: the quadratic O(N2) prefill computation cost versus the linear O(N) HBM memory footprint of decoding. 💡 ProTip: To bypass the prefill compute tax on long documents, implement prompt chunking and flash-decoding. This decouples the initial quadratic attention calculation from the linear decode phase, preventing instant GPU memory saturation. III. The Linear Contenders: Why First-Generation Sub-Quadratic Alternatives Failed the Reasoning Test In their first attempts to break this quadratic bottleneck, researchers designed a wave of linear attention approximations. One early contender was Linformer, which attempted to achieve linear complexity by projecting the high-dimensional key and value matrices into a lower, fixed-dimensional space (Wang et al., 2020). However, because it relied on fixed projection dimensions, it struggled to adapt dynamically to varying sequence lengths, and its low-rank assumption fundamentally failed to capture the complex, high-rank global dependencies required for dense reasoning tasks. Another notable effort was the Performer, which approximated standard softmax attention using the FAVOR+ random feature algorithm (Choromanski et al., 2021). Unfortunately, applying isotropic sampling over highly anisotropic query-key distributions introduced severe Monte Carlo variance. To close the resulting performance gap — which suffered a 5% to 15% degradation at 512 random features — the model had to scale its feature count to 2048, a step that completely wiped out its initial computational savings. Retention Networks (RetNet) also tried to replace attention using a constant decay mechanism, but this rigid forgetting function limited representational expressiveness, leading to a steep drop in accuracy compared to standard Transformer baselines (Sun et al., 2023). This performance gap set the stage for State Space Models (SSMs) to emerge as a viable alternative. By translating continuous-time dynamic systems into discrete, hardware-aware recurrent operations, SSMs process sequential tokens by updating a hidden state vector $h_k$: Chronological milestone mapping the structural design and logical limitations of early sub-quadratic attention models and linear SSM precursors. $h_k = \bar{A}h_{k-1} + \bar{B}x_k$ $y_k = C h_k$ Because this state transition is linear, the training phase can be parallelized using a parallel associative scan, while maintaining $\mathcal{O}(1)$ memory complexity and $\mathcal{O}(N)$ time complexity during inference (Gu & Dao, 2023). Albert Gu and Tri Dao revolutionized this space with Mamba, making the transition parameters input-dependent to act as a selective gating mechanism that filters out noise. However, while Mamba solved the computational efficiency problem, it introduced a severe cognitive limitation: the inability to recall exact facts across vast context horizons. “We cannot compress sequence history without compromising the fidelity of memory.” — Mohit Sewak, Ph.D. IV. The Associative Recall Bottleneck: Why Pure SSMs Fall Off a “Memory Cliff” [Transformer] ── O(1) Perfect Path to Any Past Token ─────────────────> 100% Recall [Pure SSM] ── Compressed State (Memory Decay/Over-smoothing) ───> "Memory Cliff" (Drops to ~3%) To diagnose how sequence models manage long-term memory, researchers rely on synthetic retrieval benchmarks. The most fundamental of these is Associative Recall (AR), where a model is presented with a series of key-value pairs and must later retrieve a specific value when queried with its associated key. Multi-Query Associative Recall (MQAR) increases this difficulty by introducing thousands of distractor tokens and requiring the model to answer multiple queries in sequence (Arora et al., 2024). The most challenging variant is Joint Recall, where associations are conditional and depend on global contextual clues located thousands of tokens deep. While Transformers use direct, lossless $\mathcal{O}(1)$ attention paths to look up any past token instantaneously, pure SSMs rely on continuous, lossy compression to squeeze sequence history into a fixed-size state vector. When tested on MQAR, pure Mamba-2 models experience a dramatic “memory cliff,” where accuracy collapses to near-random chance (~3%) as the distance between the target fact and the query expands (Arora et al., 2024; Dao & Gu, 2024). Expecting an SSM to perfectly recall an arbitrary amount of data is like trying to run a massive relational database within a tiny CPU cache; eventually, older, critical data must be overwritten. Visualizing pure SSM memory collapse across long sequences, where the associative link breaks abruptly down a physical recall cliff. This severe retrieval collapse is driven by three distinct mathematical failure mechanisms: Recency Bias (The Decay Trap): The learned state-transition matrix $A_t$ collapses its decay values into a narrow range where the maximal elements approach zero. This near-zero ceiling causes distant tokens to decay exponentially, filtering out crucial facts as noise before the query is ever parsed (Dao & Gu, 2024). Over-Smoothing in Deep Architectures: As SSMs scale in depth, token representations passing through successive layers become increasingly uniform and indistinguishable. This blurring robs the model of the sharp, distinct boundaries required to pair a specific query to its exact key. The Gather-and-Aggregate (G&A) Bottleneck: Sequence models rely on Gather heads to scan context and Aggregate heads to compile those elements into a unified representation. Disabling a single G&A head in an 8B model like Llama-3.1–8B collapses its reasoning accuracy from 66% to a random-guessing baseline of 25%. SSMs struggle here because their recurrent pathways are naturally smooth and dispersed, lacking the mathematical capacity to construct the sharp transitions required for aggregate execution (Dao & Gu, 2024). 🔍 Fact Check: Disabling a single Gather or Aggregate head in an 8B model like Llama-3.1 collapses its reasoning accuracy on the MMLU benchmark from 66% to a random-guessing baseline of 25%, proving how concentrated sequence retrieval pathways are. Ultimately, standard SSMs lack the mathematical capacity to solve complex joint recall tasks because a finite, decaying hidden state cannot support the dynamic, context-conditioned routing that Transformers perform effortlessly. V. Structural Interventions: From Polarized Matrices to Spectral Koopman Attention To resolve this recall bottleneck without maintaining a heavy KV cache, researchers are developing sophisticated architectural interventions. The first of these is State Matrix Polarization, which directly addresses recency bias and over-smoothing by constraining the channels of the transition matrix $A$. By permanently fixing one channel’s transition value to 1, researchers create an “All-One Channel” that acts as a lossless, non-decaying pathway for long-term memory. Simultaneously, a “Zero Channel” is fixed to 0 to provide a rapid-reset short-term pathway, preserving token distinctiveness across deep layers. Visualizing advanced architectural interventions: Polarized ‘All-One’ memory channels and Spectral Koopman filtering that achieve perfect fact retrieval. Another powerful technique is Context-Dependent Sparse Attention (CDSA). This architecture introduces an auxiliary sparse attention layer that dynamically conditions its routing on the context representations themselves (Dao & Gu, 2024). By offloading high-fidelity routing to a sparse, sub-quadratic attention mechanism, CDSA restores the model’s theoretical capacity to solve multi-query joint recall while avoiding the linear growth of a global KV cache. However, the most radical departure is the Echo architecture, which introduces Spectral Koopman Attention (SKA). SKA discards traditional query-key dot-product attention entirely, reframing sequence retrieval as an exercise in kernel ridge regression (Dao & Gu, 2024). To represent sequence history, SKA maintains three fixed-size covariance matrices — the key Gram matrix, the lag-one key covariance matrix, and the value-key covariance matrix — which serve as sufficient statistics. This mathematical shift ensures a constant-memory streaming state of $\mathcal{O}(r²)$, regardless of how long the sequence becomes. “To master infinite sequences, we must tune the operators, not store the tokens.” — Mohit Sewak, Ph.D. To retrieve information, SKA applies a power spectral filter using a whitened Koopman operator ($L^{-1}ML^{-\top}$). Think of this operator as an acoustic noise-canceling filter or a radio tuner that locks onto and amplifies the resonant frequencies of persistent signals (eigenvalues near 1) while actively filtering out the chaotic noise of distractors. While Mamba-2 collapses to 3% on long MQAR tasks, an Echo model operating at a tiny 50-million parameter scale achieves 100% exact retrieval accuracy across a 4,096-token distraction gap (Arora et al., 2024; Dao & Gu, 2024). Visualizing the economic context crossovers where hybrid SSM-Transformer systems offer drastic memory savings beyond 4,000 tokens. VI. The Pragmatic Middle Ground: Hybrid Architectures and the Context Crossover Point [Tokens Processed] 0 -------- 220 (Memory Crossover) -------- 4,000 (Cloud Hybrid Crossover) --------> Unlimited [Optimal Model] [ Pure Transformer ] [ Hybrid SSM-Attention (Jamba/Hymba) ] While spectral models represent the ultimate future, the industry has embraced hybrid architectures as a highly practical middle ground for current deployments. These hybrid systems interleave attention and SSM layers to balance cost and accuracy. For example, AI21’s Jamba utilizes a striped architecture that interleaves Mamba and Transformer attention layers, boosted by a Mixture-of-Experts (MoE) routing system that keeps only 12 billion parameters active out of 52 billion total (Lieber et al., 2024). Similarly, NVIDIA’s Nemotron-H replaces up to 92% of attention layers with Mamba-2 blocks, retaining just enough attention blocks to serve as aggregate heads. NVIDIA’s Hymba further optimizes this by implementing cross-layer KV sharing, sliding-window attention, and learnable meta-tokens, resulting in an 11.67x cache size reduction and a 91.4% memory saving compared to standard small-scale models (Dong et al., 2024). To deploy these systems effectively, we must understand the economics of the context crossover point. For raw hardware performance, the micro-crossover occurs early: pure SSMs out-compete Transformers at just 220 tokens for memory and 370 tokens for latency. At 4,096 tokens, pure SSMs deliver 12.46x better memory efficiency and 10.67x faster inference. However, for practical cloud deployments, the optimal crossover point lies between 4,000 and 8,000 tokens. Under 4,000 tokens, highly optimized Transformers remain extremely competitive; beyond 8,000 tokens, the linear memory growth of the KV cache collapses throughput, forcing a shift to hybrids to avoid costly out-of-memory errors. 💡 ProTip: When deploying hybrid architectures like Jamba or Hymba in production, set your request router to dispatch prompts below 4,000 tokens to dense Transformers, and swap to hybrid paths only for larger contexts to avoid KV-cache thrashing. Let’s synthesize these architectural profiles to see how they stack up across key metrics: Visualizing the future of architectural specialization: custom, task-matched sequence topologies replacing monolithic models. Feature / Metric Pure Transformer Pure SSM (Mamba-2) Hybrid SSM (Jamba / Hymba) Computational Time $\mathcal{O}(N²)$ Quadratic $\mathcal{O}(N)$ Linear Sub-Quadratic (Interleaved) Memory Complexity $\mathcal{O}(N)$ Linearly Expanding KV Cache $\mathcal{O}(1)$ Fixed-Size Hidden State Hybrid (Small KV Cache + Fixed State) MQAR Retrieval Accuracy Near 100% across all distances Collapses to ~3% on distant tokens Near Transformer Parity Ideal Deployment Scenario Complex multi-hop logic, frontier reasoning Dense streaming tasks, continuous log analysis Long-context enterprise tasks balancing cost and precise recall VII. The Post-KV Cache Epoch: Architectural Specialization and the Future of Compute The landscape of sequence modeling is witnessing the end of the monolithic model epoch. We are moving away from a world where a single Transformer architecture is expected to handle every cognitive task. The future of enterprise AI relies on matching the computational complexity of the sequence architecture to the specific cognitive and memory demands of the workload (Lieber et al., 2024). If you are an enterprise architect, now is the time to audit your production inference spend and evaluate your typical context workloads. Transition your long-context workloads from brute-force Transformers to hybrid topologies like Hymba and Jamba to reduce your HBM footprint by up to 90% without sacrificing reasoning quality. By adopting these hybrid systems, you can achieve unprecedented throughput and scale your operations without breaking your infrastructure budget. References & Further Reading Core Concepts: Hardware Bottlenecks and Sequence Economics AMD. (2023). AMD Instinct MI300X accelerator: Memory and performance architecture . AMD Technical Publications. https://www.amd.com/en/products/accelerators/instinct/mi300/mi300x.html NVIDIA. (2024). NVIDIA H200 Tensor Core GPU architecture . NVIDIA Technical Brief. https://resources.nvidia.com/en-us-tensor-core Advanced Theory: The Quadratic Tax and Linear Approximations Choromanski, K., Likhosherstov, V., Dohan, D., Song, X., Gane, A., Sarlos, T., … & Weller, A. (2021). Rethinking attention with performers. 9th International Conference on Learning Representations (ICLR) . Sun, Y., Dong, L., Huang, S., Ma, S., Xia, Y., Xue, J., … & Wei, F. (2023). Retentive network: A successor to transformer for large language models. arXiv preprint arXiv:2307.08621 . https://doi.org/10.48550/arXiv.2307.08621 Wang, S., Li, B. Z., Khabsa, M., Fang, H., & Ma, H. (2020). Linformer: Self-attention with linear complexity. arXiv preprint arXiv:2006.04768 . https://doi.org/10.48550/arXiv.2006.04768 State Space Models and the Associative Recall Bottleneck Arora, S., Eyuboglu, S., Zhang, M., Timalsina, A., Alberti, S., Zinsley, D., … & Ré, C. (2024). Zoology: Measuring and improving recall in efficient language models. 12th International Conference on Learning Representations (ICLR) . Dao, T., & Gu, A. (2024). Transformers are SSMs: Generalized models and efficient algorithms through structured state space duality. Proceedings of the 41st International Conference on Machine Learning (ICML) . Fu, D. Y., Dao, T., Saab, K. K., Thomas, A. W., Rudra, A., & Ré, C. (2023). Hungry Hungry Hippos: Towards language modeling with state space models. 11th International Conference on Learning Representations (ICLR) . Gu, A., & Dao, T. (2023). Mamba: Linear-time sequence modeling with selective state spaces. arXiv preprint arXiv:2312.00752 . https://doi.org/10.48550/arXiv.2312.00752 Practical Applications: Hybrid Architectures and Next-Gen Solutions Dong, S., et al. (2024). Hymba: A hybrid Mamba-attention model. arXiv preprint arXiv:2411.13676 . https://doi.org/10.48550/arXiv.2411.13676 Lieber, O., Barak, O., Bata, I., et al. (2024). Jamba: A hybrid transformer-mamba language model. arXiv preprint arXiv:2403.19887 . https://doi.org/10.48550/arXiv.2403.19887 Disclaimer: The views and opinions expressed in this article are personal and do not necessarily reflect the official policy or position of any associated agencies, organizations, or the India AI Mission. AI assistance was utilized in the research, drafting, and ideation of this article. Licensed under CC BY-ND 4.0. Beyond the KV Cache: What Comes Next was originally published in Towards AI on Medium, where people are continuing the conversation by highlighting and responding to this story.
Score: 13🌐 MovesJul 16, 2026https://pub.towardsai.net/beyond-the-kv-cache-what-comes-next-90e39f3bd60d?source=rss----98111c9905da---4 - I hate paying for calorie-tracking apps, so I had Gemini analyze my food photos instead — here’s what it found
I hate paying for calorie-tracking apps, so I had Gemini analyze my food photos instead — here’s what it found Tom's Guide
- Entrepreneur Richard Aronow Argues The AI Revolution Is Cognitive, Not Technological, In New Essay
Entrepreneur Richard Aronow Argues The AI Revolution Is Cognitive, Not Technological, In New Essay USA Today
- Who are Top AI Sources to follow on LinkedIn?
Part I: I take my first preliminary look into this, for the first time in years.
Score: 12🌐 MovesJul 16, 2026https://www.ai-supremacy.com/p/top-ai-sources-to-follow-linkedin-in-ai-2026 - Agent Skills vs MCP: Which One Does Your AI Agent Actually Need?
Every team building agents in 2026 eventually hits the same fork in the road. Continue reading on Towards AI »
- Context Engineering for RAG Question Parsing: From a Raw Question to Typed Fields That Steer Retrieval and Generation
Enterprise Document Intelligence [Vol.1 #6quater] - Question parsing takes one messy string and writes four typed pieces, each read by a different downstream call The post Context Engineering for RAG Question Parsing: From a Raw Question to Typed Fields That Steer Retrieval and Generation appeared first on Towards Data Science .
- Founders Fund hires former OpenAI exec Ryan Beiermeister (and not because of her ‘Mafia’ skills)
Ryan Beiermeister, who demonstrated cool analysis in the Founders Fund YouTube series "Mafia," has joined the firm as a partner.
- #5 Claude Loops: Run Claude Like Production
The final step is turning local agent work into a harness with triggers, budgets, approvals, logs, rollback, and handoff. Production loop chart: local Claude session becomes an operating harness A local Claude session can feel magical because you are sitting beside it. You see the prompt, the tool call, the hesitation, the diff, and the final receipt. Production removes that comfort. The loop may start from a schedule, a ticket, a CI event, or another agent. If the harness cannot stop it, explain it, and hand it off, the loop is not ready. Local Loops Have a Human in the Chair Why does the same Claude workflow feel safe on your machine and scary when it runs without you watching? Because local work cheats. In Part 1, we stopped treating Claude like a chat box. In Part 2, we treated context as the loop's working memory. In Part 3, we scoped the tool surface. In Part 4, we made Claude prove the work with evidence. All of that still assumes a human can look over the loop's shoulder. That is why a local Claude Code session feels more forgiving than it really is. You notice when the model reads the wrong file. You reject a risky command. You ask for a smaller diff. You decide whether the test output actually means what Claude says it means. Production takes that chair away. The loop now needs an operator surface. Something has to decide what starts the run, what tools are allowed, how much budget the run can burn, when a human must approve, what evidence gets saved, and what happens when the run cannot prove success. A production Claude loop is not a smarter prompt; it is a local loop with memory, meters, gates, and a way to stop. A Harness Is the System Around the Model What changes when Claude moves from a session to a harness? The model stops being the whole story. Anthropic's agent writing frames a harness as the system that lets a model act as an agent: it processes inputs, orchestrates tool calls, and returns results. Claude Code gives you a rich local harness. The Agent SDK gives developers primitives for building more explicit ones. Hooks, settings, tools, permissions, transcripts, and informational messages become the machinery around the loop. That machinery matters because long-running agents fail in boring ways. They try to do too much at once. They lose coherence as context fills. They hand the next session an unclear state. They keep going because nobody taught the harness what "too far" means. So production is not the place to say, "Claude can probably handle it." Production is where you ask: what does the loop see, what can it touch, how long can it continue, and what artifact proves what happened? Triggers Are Not Just Convenience What should be allowed to start a production loop? Only events you are willing to treat as work orders. A local loop starts because you typed a request. A production loop can start from a GitHub issue, a scheduled maintenance window, a CI failure, a support ticket, a Slack message, or another agent handing off state. That trigger carries assumptions. It tells the loop what the task is, what context matters, and what authority might be needed. This is where many agent systems get sloppy. They wire Claude to a queue and call it automation. But a trigger without a contract is just a prompt with better plumbing. A useful trigger says five things: why this run exists what evidence should be loaded first which tools are in scope what budget applies who owns the final decision That last item is not bureaucracy. It is how you avoid orphaned autonomy. Every production loop should know whether it is a helper, a drafter, a fixer, a reviewer, or an operator with permission to act. If the trigger cannot answer that, the loop should not start yet. Budgets Are a Safety Feature Why should a production loop have a budget before it has ambition? Because agents can turn uncertainty into activity. A vague local task wastes your afternoon. A vague production loop can burn tokens, touch tools, spam logs, keep retrying, and leave behind a pile of almost-useful artifacts. The harm is not always one dramatic failure. Sometimes the failure is a system that keeps doing plausible work after the useful path has disappeared. Budgets give the loop friction. Budget can mean max turns. It can mean token ceiling. It can mean runtime. It can mean tool-call count. It can mean model tier. It can also mean scope: one file, one branch, one issue, one customer record, one environment. The point is not to make Claude timid. The point is to make exploration visible. When the loop spends half its budget reading files and still cannot name the failing boundary, the harness should notice. When the loop hits its tool-call cap, it should leave a handoff instead of improvising a heroic finish. Budget is not an accounting detail. It is the loop's first stop sign. Production dashboard GIF: trigger, budget, tool calls, approvals, logs, rollback, and handoff change state Approval Gates Protect the Expensive Moves Where should a human step back into the loop? At the point where the action becomes hard to undo. Claude Code's hook and permission systems are useful because they separate observation from action. Reading a file is not the same class of move as editing a file. Running a local test is not the same class of move as deploying. Calling an internal read-only tool is not the same class of move as sending data to an external system. Production loops need that distinction in their bones. You do not need a human approval for every harmless step. That turns the loop into a very expensive form. But you do need gates around writes, deletes, deploys, external API calls, permission expansion, customer-facing communication, and anything that crosses a trust boundary. The important detail is timing. A gate after the tool runs is a log. A gate before the tool runs is a control. That is why hooks and permission modes belong in the design discussion, not at the end as implementation trivia. They decide where the loop can be autonomous and where it must ask. Logs Are the Production Version of Memory What does the next human need when they inspect a loop that already ran? Not a beautiful summary. They need a trace. A production loop should save the trigger, the loaded context, the tool calls, the tool results, the approval decisions, the final evidence, and the reason it stopped. Claude can write a summary too, but the summary should sit on top of the trace, not replace it. Anthropic's Agent SDK reference includes message shapes for things like compaction boundaries and informational messages. Claude Code hooks also pass structured event context. Those details matter because production work needs correlation. If a hook blocked a command, a reviewer should be able to connect that block to the prompt, the tool call, and the final status. Logs should answer practical questions: what started this loop what did Claude inspect what did Claude change what did the tools return what did the harness block what evidence ended the run what should happen next If the log cannot answer those questions, the next session has to guess. Guessing is how production loops become haunted by their own history. Rollback Is Part of the Prompt Why should rollback be designed before Claude edits anything? But here is the thing: rollback is not a disaster plan for after the loop fails. It is part of the loop contract before the first risky action. For code, rollback might be a branch, a patch file, or a clean revert path. For config, it might be the previous value and the environment where it was read. For data, it might be a backup, a dry run, or a read-only query that confirms the affected rows. For external systems, it might be a no-send mode until a human approves. The harness should force Claude to name the recovery path before it touches the production surface. This does two useful things. First, it makes the action more reviewable. Second, it changes Claude's behavior. A loop that has to explain rollback before acting is less likely to treat production like a scratchpad. The phrase "smallest safe step" only means something if the system knows how to undo the step. Production guardrail board: budgets, approvals, rollback, logs, failure, and handoff Failure Needs a First-Class Path What happens when the production loop cannot prove success? It should stop in a useful shape. This is the difference between a production harness and a long prompt. A prompt asks Claude to keep trying. A harness decides when trying is no longer the right move. Failure paths should be boring and explicit: budget exhausted verification failed approval denied tool unavailable context insufficient risky action requested rollback unclear Each failure should produce a specific artifact. A failed verification should include the command and output. A denied approval should include the requested action and reason. A budget stop should include what was tried and what remains unknown. A context stop should include the missing information. This is how you keep failed loops useful. The next human or agent should inherit a map, not a mystery. Long-running agent work needs this discipline more than short work. Anthropic's harness writing emphasizes decomposition, structured handoff, and evaluator style checks because long tasks drift when state is not carried cleanly. The production lesson is simple: when a loop cannot finish, it should still improve the next loop. Handoff Is the Product of the Loop What should a production Claude loop leave behind? An artifact that lets the next operator continue without rereading the whole session. That artifact does not need to be fancy. It needs to be structured. Trigger. Goal. Scope. Files or systems touched. Evidence collected. Decisions made. Budget used. Approval state. Rollback path. Open questions. Next safe action. This is where production loops become cumulative. One loop can inspect and stop. Another can edit and verify. Another can package the change for review. Another can monitor the result. The point is not to make one agent do everything. It is to make each loop leave enough state for the next loop to be less confused. That is also why compaction alone is not a production strategy. Compaction helps a session continue across context pressure. It does not automatically create a clean operational handoff. The harness has to ask for one. The final message of a production loop should read less like a victory speech and more like a work order that has been closed, paused, or escalated. The Production Loop Contract How do you know the fifth loop is ready? You can ask one boring question: could someone else review this run tomorrow? If the answer is no, you do not have a production loop yet. You have a local Claude session with better plumbing. The production loop contract is simple: every run starts from a named trigger every trigger carries scope and owner every loop has a budget every powerful action has a gate every tool call leaves a trace every risky edit has a rollback path every failure produces a useful artifact every successful run ends with a handoff This is the end of the Claude Loops series, but it is also where the real work starts. The beginner move is asking Claude for answers. The advanced move is designing the loop around the answer: context, tools, verification, and production boundaries. Claude gets interesting when it can act. Claude gets useful when the system around it knows when to stop. Until then... — Sage 🍓 PS: Pick one Claude workflow you already trust locally. Before automating it, write down the trigger, budget, approval gate, log artifact, rollback path, and handoff shape. If any one of those is missing, keep it local for one more week. Reference Notes Effective harnesses for long-running agents Harness design for long-running application development Hooks reference Claude Code settings Claude Code common workflows Agent SDK TypeScript reference #5 Claude Loops: Run Claude Like Production was originally published in Towards AI on Medium, where people are continuing the conversation by highlighting and responding to this story.
Score: 11🌐 MovesJul 16, 2026https://pub.towardsai.net/5-claude-loops-run-claude-like-production-e9164959273a?source=rss----98111c9905da---4 - How to Get the Most Out of Claude Fable 5
Maximize your Claude Fable 5 usage The post How to Get the Most Out of Claude Fable 5 appeared first on Towards Data Science .
Score: 11🌐 MovesJul 16, 2026https://towardsdatascience.com/how-to-get-the-most-out-of-claude-fable-5/ - For Meitu, the next AI product may come from data, passion, or both
Products that grow organically tend to have stronger staying power.
Score: 11🌐 MovesJul 16, 2026https://kr-asia.com/for-meitu-the-next-ai-product-may-come-from-data-passion-or-both - Send Invoices in Seconds for Life with AI Invoice Maker for $19.99
Send Invoices in Seconds for Life with AI Invoice Maker for $19.99 entrepreneur.com
- 15 Metrics You Should Be Measuring If You Are Building a Conversational AI Assistant
Image generated with ChatGPT. A chat interface along with a few dashboards each showing a different metric. Conversational AI assistants are everywhere now. Customer support, internal tools, sales, onboarding, there is hardly a product category left that hasn’t bolted one on. And yet, for how widespread they have become, most of them are still falling significantly short of what they could be. The reasons vary, but one pattern I keep running into is consistent: teams are not measuring the right things . They ship the assistant, they watch a handful of numbers go up, and they convince themselves the product is working. Meanwhile, users are quietly having a terrible experience. I ran into this firsthand with a startup I was consulting with. Their support assistant looked great on paper, ticket closure rate was high, escalations to human agents were low. The dashboard was green across the board. But their NPS scores told a completely different story. When we dug into why, the answer was hiding in metrics they had never thought to track: conversation length, number of back-and-forths, how long it was taking the assistant to actually resolve anything. The bot was closing tickets, but only after exhausting the user with five or six unnecessary exchanges . It lacked context, so it kept asking questions it should have already known the answers to. That investigation changed how I think about measuring conversational AI. What follows are the metrics that in my opinion actually matter, the ones that tell you whether your assistant is genuinely working, not just technically responding. 1. Net Promoter Score (NPS) What it is NPS measures how likely users are to recommend your product after interacting with the assistant. It is collected via a simple post-conversation survey: “How likely are you to recommend us to a friend or colleague?” on a scale of 0 to 10. Scores of 9–10 are promoters, 7–8 are passives, and 0–6 are detractors. Your NPS is the percentage of promoters minus the percentage of detractors. Why it matters NPS is the single metric that ties your assistant’s performance to actual business outcome. A support bot that closes tickets but leaves users frustrated will show up in your NPS before it shows up anywhere else. It is also one of the few metrics that captures the full arc of the interaction, not just whether the assistant answered, but whether the experience was good enough to talk about. How to measure it The model detects when the conversation has naturally ended and triggers an NPS survey dialog in the UI. Segment responses by conversation type, user cohort, and assistant version so you can isolate what is driving scores up or down. The following code is a simple demonstration of collecting user feedback based on the conversation’s status. Please avoid using it in production, as it is far from AI engineering best practices.. import gradio as gr from openai import OpenAI from pydantic import BaseModel client = OpenAI() class AssistantResponse(BaseModel): response: str conversation_ended: bool def chat(message: str, history: list) -> tuple: messages = [ {"role": "system", "content": "You are a helpful support assistant."} ] + history + [{"role": "user", "content": message}] completion = client.beta.chat.completions.parse( model="gpt-4o", messages=messages, response_format=AssistantResponse ) parsed = completion.choices[0].message.parsed show_nps = parsed.conversation_ended return parsed.response, gr.update(visible=show_nps) def submit_nps(score: int, history: list) -> dict: if score >= 9: category = "promoter" elif score >= 7: category = "passive" else: category = "detractor" nps_result = { "nps_score": score, "category": category, "conversation_length": len(history) } print(f"NPS recorded: {nps_result}") return gr.update(visible=False) with gr.Blocks() as demo: gr.Markdown("# Support Assistant") with gr.Column(visible=False) as nps_panel: gr.Markdown("### How likely are you to recommend our assistant?") nps_score = gr.Slider(minimum=0, maximum=10, step=1, label="Score (0-10)") submit_btn = gr.Button("Submit") chatbot = gr.Chatbot(type="messages") gr.ChatInterface( fn=chat, chatbot=chatbot, additional_outputs=[nps_panel] ) demo.launch() 2. Implicit User Satisfaction What it is Unlike NPS, which you ask for directly, implicit satisfaction is inferred from user behavior during the conversation. Signals like whether the user rephrased the same question, expressed frustration, or dropped off mid-conversation all tell you something about how satisfied they were, without ever asking. Why it matters Not every user will fill in your NPS survey. Implicit signals give you satisfaction data on 100% of your conversations, not just the ones where someone bothered to rate you. It also helps you spot patterns across sessions, which flows consistently frustrate users, which ones resolve cleanly, and where your assistant is quietly losing people. How to measure it Run a nightly batch job over all conversations from the day. For each conversation, send the full transcript to a lightweight model with a carefully designed rubric. The rubric matters more than you’d think, a vague instruction like “was the user satisfied?” will return inconsistent scores. Be explicit: define what satisfied, neutral, and frustrated look like in terms of observable signals in the conversation. You can find the full batch job implementation at the end of this article. 3. Conversion to Business Metric / Containment Rate What it is This is the metric that connects your assistant directly to business outcomes. Conversion measures whether the assistant successfully moved the user toward a meaningful business goal, a completed purchase, a ticket closed without human escalation, a booking confirmed, a payment page reached. Containment rate is the support-specific version: what percentage of conversations were fully resolved by the assistant without involving a human agent. Why it matters This is the metric that exposes the gap between “ the assistant responded ” and “ the assistant was useful .” A high containment rate with a low NPS, as we saw earlier, means your assistant is technically closing tickets but leaving users exhausted. Tracked together, conversion and containment give you the clearest picture of whether your assistant is actually delivering value or just occupying the space where value should be. How to measure it For conversion, instrument the key downstream actions, payment page visits, booking confirmations, form submissions, and tag every link your assistant sends to users with UTM parameters. Something as simple as ?utm_source=chatbot&utm_medium=assistant&utm_campaign=support on every outbound link makes all the difference when you are trying to attribute what the assistant is actually driving. Without it, those conversions are invisible in your analytics. For containment and outcome classification, you do not need a separate pipeline. In the same nightly batch job you are already running for implicit satisfaction, extend the rubric to also ask the model whether the conversation ended in a conversion, a clean containment, an escalation, or an abandonment. One job, one model call per conversation, two metrics out. You can find the full implementation at the end of this article. 4. Average Conversation Length What it is Average conversation length measures the number of turns, a turn being one user message and one assistant response, it takes to reach a resolution. Turns are more useful than time because they are independent of how fast the user types. Why it matters This was the metric that cracked open the problem I described in the intro. The ticket closure rate looked fine, but conversation length told a different story, users were going through five or six exchanges to resolve something that should have taken two. Long conversations are not always bad; some tasks are genuinely complex. But when average length is high on conversations that should be simple, it is almost always a signal that the assistant is missing context, asking questions it should already know the answers to, or failing to understand the user’s intent on the first pass. How to measure it Store each message in your database with a conversation ID , a role field (user or assistant), and a timestamp . From there, measuring average turn count per conversation is a simple query, count user messages grouped by conversation ID, then average across the day. If you are already using Metabase or a similar BI tool, this becomes a dashboard you can monitor without writing any additional code. Segment by intent category if possible, because a billing question and a complex technical issue should not share the same benchmark. The signal is in the per-intent average, not the overall one. There is no universal number that defines a normal conversation length. It depends entirely on the category and the type of business you are running. What matters is that you track it consistently over time. After a while a pattern will emerge, and that pattern will either seem rational given the complexity of your use case, or it won’t. If it doesn’t, you investigate and adjust. If it does, that pattern becomes your baseline, and any meaningful deviation from it becomes the signal worth paying attention to. 5. Average Number of Tool Calls What it is If your assistant uses tools, querying a database, calling an API, searching a knowledge base, looking up a user’s order; this metric tracks how many tool calls are made per conversation on average. Why it matters Tool calls are one of the clearest indicators of how efficiently your assistant is operating. Too many tool calls on a simple request means the assistant is either poorly prompted, lacking the right context upfront, or making redundant calls it should not need to make. Each unnecessary tool call adds latency, increases cost, and quietly degrades the user experience. Like conversation length, this metric rarely tells you something is wrong on its own, but tracked alongside turn count and NPS, it becomes a powerful diagnostic. When we looked at this metric alongside conversation length at the startup I mentioned earlier, the two told the same story from different angles. How to measure it If you are already using LangSmith , you already have this. LangSmith traces every run and logs each tool call within it, so you can see the exact number of tool calls per conversation, which tools were called, and in what order, without any additional instrumentation. If you are not using LangSmith, log each tool call with a conversation ID and tool name, and run the same kind of daily aggregation query you are already using for conversation length. The same Metabase dashboard can surface average tool calls per conversation alongside turn count, which makes it easy to spot when the two are moving together, a reliable sign that your assistant is working harder than it should. 6. Average Cost Per Conversation What it is Average cost per conversation measures how much each session with your assistant costs in terms of API usage, input tokens, output tokens, and tool calls combined. It is usually expressed as a cost per conversation or cost per resolved conversation, the latter being more meaningful since it accounts for whether the session actually delivered value. Why it matters This is the metric that keeps your unit economics honest. An assistant that costs $0.50 per conversation to run but only resolves 40% of tickets is effectively costing you $1.25 per resolution, and that changes the business case significantly. Tracking cost per conversation also surfaces inefficiencies that are invisible in quality metrics: unnecessarily long system prompts, redundant tool calls, or using a large expensive model for tasks a smaller one could handle just as well. How to measure it Every OpenAI API response includes a usage object with prompt_tokens and completion_tokens. Store both fields alongside the conversation ID and the model used in your messages table. From there, the cost calculation is straightforward: multiply token counts by the per-token price of the model, sum across all turns in a conversation, and you have your cost per session. With those fields in your database, Metabase can do the rest. A simple calculated column — (prompt_tokens * input_price + completion_tokens * output_price) / 1,000,000 — gives you cost per turn, and averaging that grouped by conversation ID gives you cost per conversation. You can then cross-reference it with your resolution data from metric 3 to get cost per resolved conversation, which is the number that actually matters for your unit economics . If you are using multiple models, a larger one for the assistant and a smaller one for the nightly batch jobs, track the model name per message so you can split costs cleanly in your dashboard. 7. Fallback Rate What it is Fallback rate measures how often your assistant fails to handle a request and falls back to a default response, something like “I’m not sure I understand, could you rephrase that?” or “I don’t have enough information to help with that.” It is the percentage of conversations that contain at least one fallback response out of all conversations. Why it matters A fallback is a small failure. One or two in a complex conversation might be acceptable, but a high fallback rate across your sessions is a direct signal that your assistant is encountering requests it was not designed or trained to handle. It could mean your intent coverage is too narrow, your system prompt is too restrictive, or users are coming in with expectations your assistant simply cannot meet. Left unmonitored, a high fallback rate quietly erodes user trust, users who hit a wall once are less likely to try again and it will simply increase your churn rate. How to measure it The most reliable way is to have the model explicitly signal when it is falling back, rather than trying to detect it from the text of the response after the fact. Add a boolean field to your structured response, similar to the conversation_ended field from metric 1 — called is_fallback. When the assistant cannot handle a request confidently, it sets that field to true alongside whatever response it gives the user. Store that field per message in your database and the rest is a simple Metabase query: count conversations with at least one is_fallback = true message, divide by total conversations, track over time. Segment fallbacks by the user’s message that triggered them. That is where the real value is, not the rate itself, but the list of inputs your assistant keeps failing on. That list is your next product backlog . 8. Retry Rate What it is Retry rate measures how often a user rephrases or repeats the same question within a conversation after receiving an unsatisfactory response. It is distinct from fallback rate, a fallback is the assistant explicitly failing, a retry is the user implicitly signaling that the response did not land, even when the assistant thought it did. Why it matters Retries are one of the most honest signals you have. The user is not filling in a survey or triggering a fallback, they are just trying again, which means they have not given up yet but they are not satisfied either. A high retry rate on a specific intent category usually means one of two things: the assistant is misunderstanding the request, or it is understanding it correctly but the response is not useful enough to act on. Those are two very different problems and they have different fixes, which is why tracking the retry rate alongside the actual retried messages is important. How to measure it This one is best detected in the nightly batch job. Add it to the rubric you are already using for implicit satisfaction and outcome classification, ask the model to flag whether the user repeated or rephrased the same request at any point in the conversation, and if so, how many times. Store the result as a retry_count field per conversation in your database. From there, Metabase gives you retry rate over time, average retries per conversation, and most usefully the conversations with the highest retry counts, which are the ones worth reading manually. You can find the full batch job implementation at the end of this article. 9. Drop-off Point What it is Drop-off point tracks where in a conversation users abandon the session without reaching a resolution. Unlike abandonment rate, which tells you that users left, drop-off point tells you where they left, which turn, which topic, which assistant response was the last thing they saw before they gave up. Why it matters Knowing that users are abandoning conversations is useful. Knowing exactly which assistant response is consistently the last one before they leave is actionable. A high drop-off on turn 2 across a specific intent category almost always points to a single broken response, fix that response and the drop-off moves. It is one of those metrics that sounds like a nice-to-have until you actually look at it, and then it becomes obvious why you should have been tracking it from day one. How to measure it Store a timestamp on every message. A conversation is considered abandoned when it ends without a resolution signal and the last message was from the assistant, meaning the user received a response and did not reply. In your nightly batch job, add a field to your rubric asking the model to identify whether the conversation was abandoned and what the assistant’s last message was before the user stopped responding. Cross-reference that with turn count to see at which point in the conversation the drop-off happened. In Metabase, grouping abandoned conversations by their last assistant message topic will surface the patterns quickly . You can find the full batch job implementation at the end of this article. 10. Return Rate What it is Return rate measures how often users come back to your assistant after their first session. It is the percentage of users who initiated more than one conversation over a given time window. Why it matters Return rate is a proxy for trust. A user who comes back has decided the assistant is worth trying again, which means their previous experience was good enough to not put them off. A low return rate is not always a problem; some assistants are designed for one-off interactions like booking a flight or filing a complaint. But for assistants built around ongoing engagement, like a support bot, an internal tool, or a product assistant, a low return rate is a quiet signal that the first experience did not leave users with enough confidence to come back. It is also one of the few metrics that captures long-term value rather than just session-level performance. How to measure it Store a user ID alongside every conversation in your database. Return rate is then a straightforward query: count users with more than one conversation divided by total unique users, over whatever time window makes sense for your product. Track it weekly rather than daily to smooth out noise, and segment by acquisition channel if you can — users who came in through different entry points often have very different return patterns. 11. Latency Per Response What it is Latency per response measures the time between a user sending a message and the assistant returning a response. It is usually tracked as an average and a p95 (the 95th percentile), because averages hide the tail cases that frustrate users the most. Why it matters Latency is one of the few metrics that affects perceived quality independently of actual quality. A correct answer that takes 8 seconds feels worse than a slightly less complete answer that arrives in 2. In conversational interfaces especially, where the expectation is something close to real-time, high latency breaks the flow of the interaction and signals to the user that something is wrong even when it isn’t. Track p95 in addition to average, your average might look fine while a significant portion of your users are waiting uncomfortably long on every message. How to measure it Store a sent_at timestamp on every user message and a responded_at timestamp on every assistant message. Latency per turn is the difference between the two. Average and p95 across all turns gives you your baseline. In Metabase, plotting this over time makes it easy to spot when a model update, a new tool, or an infrastructure change introduced a latency regression. Operational Health Token Efficiency Token efficiency measures how many tokens your assistant consumes relative to the quality and length of its output. An assistant that produces verbose, padded responses is burning tokens and money without adding value. Track average output tokens per response alongside your resolution rate. If output tokens are climbing but resolution rate is flat or falling, your assistant is getting wordier without getting better. The fix is usually in the system prompt, tightening the instruction around response length and format. Error Rate Error rate tracks how often your assistant fails at the infrastructure level, API timeouts, failed tool calls, malformed responses, or any exception that prevents the assistant from returning a response at all. These are distinct from fallbacks, which are semantic failures. Error rate is operational. Even a small error rate compounds quickly at scale: a 2% error rate across 10,000 daily conversations means 200 users hitting a broken experience every day, and when you care enough about your users to not to turn them into numbers even a single failure matters. Log every exception with a conversation ID, error type, and timestamp. Track it in Metabase alongside fallback rate so you can distinguish between the assistant not knowing something and the assistant simply not working. Trust Signals Correction Rate Correction rate measures how often users explicitly correct the assistant mid-conversation, telling it that its response was wrong, that it misunderstood, or that the information it provided was inaccurate. It is a strong signal of hallucination or knowledge gaps . Detect it in the nightly batch job by asking the model to flag any turn where the user corrected or contradicted the assistant’s previous response. A rising correction rate on a specific topic is usually a sign that your knowledge base or system prompt needs updating in that area. You can find the full batch job implementation below. Override Rate Override rate measures how often users ignore the assistant’s response and take a different action, asking to speak to a human, navigating away from a suggested link, or explicitly saying they will handle something themselves. It is the trust signal that is hardest to detect but most valuable when you do. A user who overrides the assistant has made a judgment call that the assistant cannot be trusted with this particular request. Detect it in the nightly batch job by looking for explicit override signals in the conversation, requests for human handoff, expressions of intent to act independently, or abrupt topic changes after a recommendation. You can find the full batch job implementation below. The Nightly Batch Job All the metrics flagged for nightly detection throughout this article, implicit satisfaction, outcome classification, retry rate, drop-off point, correction rate, and override rate, can be computed in a single batch job. One model call per conversation, all metrics out. The following code is a simple demonstration of collecting user feedback based on the conversation’s status. Please avoid using it in production, as it is far from AI engineering best practices. In production, instead of measuring all metrics in a single request, you may want to better engineer your context and divide the analysis into multiple separate requests. This is usually a tradeoff between cost and precision, there is no universal answer, and you should experiment on your own data, evaluate the results, and decide what works best for your use case. Additionally, the rubric included in the prompt below is not complete and is purely for demonstration purposes. In practice, rubrics vary significantly from business to business and should be carefully designed and validated against your specific data and goals. from openai import OpenAI from pydantic import BaseModel from enum import Enum client = OpenAI() class SatisfactionLevel(str, Enum): SATISFIED = "satisfied" NEUTRAL = "neutral" FRUSTRATED = "frustrated" class ConversationOutcome(str, Enum): CONVERTED = "converted" CONTAINED = "contained" ESCALATED = "escalated" ABANDONED = "abandoned" class NightlyAnalysis(BaseModel): # Metric 2: Implicit satisfaction satisfaction: SatisfactionLevel satisfaction_reason: str satisfaction_confidence: float # Metric 3: Outcome outcome: ConversationOutcome outcome_reason: str outcome_confidence: float # Metric 4: Conversation length intent_category: str # Metric 8: Retry rate retry_count: int retry_detected: bool # Metric 9: Drop-off abandoned: bool last_assistant_message_topic: str # Trust signals correction_detected: bool correction_count: int override_detected: bool override_count: int NIGHTLY_RUBRIC = """ You are analyzing a support conversation. Return a structured analysis covering the following dimensions: SATISFACTION: Classify overall user satisfaction as satisfied, neutral, or frustrated. - SATISFIED: Issue resolved, user confirmed positively, no repeated questions - NEUTRAL: Ambiguous outcome, no clear signal - FRUSTRATED: Repeated questions, explicit dissatisfaction, requested human, abrupt exit OUTCOME: Classify the conversation outcome. - CONVERTED: User completed a target business action - CONTAINED: Issue resolved without human escalation - ESCALATED: Handed off to a human agent - ABANDONED: User left without resolution or escalation INTENT CATEGORY: Classify the user's primary intent as one of: billing, technical, account, shipping, general. RETRY: Did the user rephrase or repeat the same question after receiving a response? If yes, how many times? DROP-OFF: Did the user abandon the conversation without resolution? If yes, what was the topic of the last assistant message before they left? CORRECTIONS: Did the user explicitly correct the assistant at any point? If yes, how many times? OVERRIDES: Did the user ignore the assistant's suggestion and indicate they would handle something themselves, request a human, or navigate away? If yes, how many times? Return a confidence score between 0.0 and 1.0 for satisfaction and outcome. """ def run_nightly_analysis(conversation_id: str, history: list) -> NightlyAnalysis: transcript = "\n".join( f"{msg['role'].upper()}: {msg['content']}" for msg in history ) completion = client.beta.chat.completions.parse( model="gpt-4o-mini", messages=[ {"role": "system", "content": NIGHTLY_RUBRIC}, {"role": "user", "content": f"Conversation transcript:\n{transcript}"} ], response_format=NightlyAnalysis ) return completion.choices[0].message.parsed def run_nightly_batch(conversations: list[dict]) -> list[NightlyAnalysis]: results = [] for conv in conversations: result = run_nightly_analysis(conv["id"], conv["history"]) results.append(result) print(f"[{conv['id']}] " f"satisfaction={result.satisfaction} | " f"outcome={result.outcome} | " f"intent={result.intent_category} | " f"retries={result.retry_count} | " f"corrections={result.correction_count} | " f"overrides={result.override_count}") return results if __name__ == "__main__": conversations = [ { "id": "conv_001", "history": [ {"role": "user", "content": "I can't log into my account"}, {"role": "assistant", "content": "Try resetting your password."}, {"role": "user", "content": "I already tried that"}, {"role": "assistant", "content": "Let me look into your account."}, {"role": "user", "content": "Finally, it's working. Thanks"} ] }, { "id": "conv_002", "history": [ {"role": "user", "content": "Where is my refund?"}, {"role": "assistant", "content": "Refunds take 5-7 business days."}, {"role": "user", "content": "That's wrong, I was told 3 days"}, {"role": "assistant", "content": "I apologize for the confusion."}, {"role": "user", "content": "I'll just call support directly"} ] } ] results = run_nightly_batch(conversations) Closing Thoughts These metrics will not all matter equally for every product . A one-off booking assistant has no use for return rate. A support bot with no tool integrations does not need to track tool call counts. Start with the metrics that map directly to your use case, NPS, implicit satisfaction, and conversion rate are a safe starting point for almost everyone, and add the diagnostic ones as you mature. What matters most is that you have a clear picture of what your assistant is actually doing in production, not just what it does in your test suite. The gap between those two things is where most assistants quietly fail. These metrics are how you close it. 15 Metrics You Should Be Measuring If You Are Building a Conversational AI Assistant was originally published in Towards AI on Medium, where people are continuing the conversation by highlighting and responding to this story.
- 20 People to Know in AI: Shermiah Holland
Shermiah Holland, of Elevar/The Corporate Corner/EnVue Health, is among our 20 People to Know in Artificial Intelligence.
- Prepare These 5 Assets Before Your AI Agents Take On More Work
How to define recurring work, give AI the right context, explain what high-quality work looks like, and decide where human judgment is still needed. The post Prepare These 5 Assets Before Your AI Agents Take On More Work appeared first on Towards Data Science .
Score: 10🌐 MovesJul 16, 2026https://towardsdatascience.com/prepare-these-5-assets-before-your-ai-agents-take-on-more-work/ - 20 People to Know in AI: Jahan Taila
Jahan Taila, of Derby Digital, is among our 20 People to Know in Artificial Intelligence.
Score: 10🌐 MovesJul 16, 2026https://www.bizjournals.com/louisville/news/2026/07/16/20-people-to-know-in-ai-jahan-taila.html?ana=brss_6150 - 20 People to Know in AI: Akhil Suresh Nair
Akhil Suresh Nair, of Xena Intelligence, is among our 20 People to Know in Artificial Intelligence.
- A college grad said AI has made her feel underprepared for a software engineering job
A college grad said AI has made her feel underprepared for a software engineering job Business Insider
Score: 10🌐 MovesJul 16, 2026https://www.businessinsider.com/college-grad-pivots-from-software-engineering-to-data-analytics-2026-7 - 20 People to Know in AI: Kyle Miller
Kyle Miller, of Dentons, is among our 20 People to Know in Artificial Intelligence.
Score: 10🌐 MovesJul 16, 2026https://www.bizjournals.com/louisville/news/2026/07/16/20-people-to-know-in-ai-kyle-miller.html?ana=brss_6150 - 20 People to Know in AI: Pamela McKnight
Pamela McKnight, of Louisville Metro Government, is among our 20 People to Know in Artificial Intelligence.
- 20 People to Know in AI: Drew McChesney
Drew McChesney, of Relay Design Co., is among our 20 People to Know in Artificial Intelligence.
Score: 10🌐 MovesJul 16, 2026https://www.bizjournals.com/louisville/news/2026/07/16/20-people-to-know-in-ai-drew-mcchesney.html?ana=brss_6150 - 20 People to Know in AI: Annie Likins
Annie Likins, of Bamboo Health, is among our 20 People to Know in Artificial Intelligence.
Score: 10🌐 MovesJul 16, 2026https://www.bizjournals.com/louisville/news/2026/07/16/20-people-to-know-in-ai-annie-likins.html?ana=brss_6150 - 20 People to Know in AI: Todd Krise
Todd Krise, of MercenaryMarketing.ai, is among our 20 People to Know in Artificial Intelligence.
Score: 10🌐 MovesJul 16, 2026https://www.bizjournals.com/louisville/news/2026/07/16/20-people-to-know-in-ai-todd-krise.html?ana=brss_6150 - 20 People to Know in AI: Alp Kayabasi
Alp Kayabasi, of UPS, is among our 20 People to Know in Artificial Intelligence.
Score: 10🌐 MovesJul 16, 2026https://www.bizjournals.com/louisville/news/2026/07/16/20-people-to-know-in-ai-alp-kayabasi.html?ana=brss_6150 - 20 People to Know in AI: Bill Henderson
Bill Henderson, of RedTag, is among our 20 People to Know in Artificial Intelligence.
Score: 10🌐 MovesJul 16, 2026https://www.bizjournals.com/louisville/news/2026/07/16/20-people-to-know-in-ai-bill-henderson.html?ana=brss_6150 - 20 People to Know in AI: Kate Hatter
Kate Hatter, of High10, is among our 20 People to Know in Artificial Intelligence.
Score: 10🌐 MovesJul 16, 2026https://www.bizjournals.com/louisville/news/2026/07/16/20-people-to-know-in-ai-kate-hatter.html?ana=brss_6150 - 20 People to Know in AI: Jeff Guan
Jeff Guan, of University of Louisville, is among our 20 People to Know in Artificial Intelligence.
Score: 10🌐 MovesJul 16, 2026https://www.bizjournals.com/louisville/news/2026/07/16/20-people-to-know-in-ai-jeff-guan.html?ana=brss_6150 - 20 People to Know in AI: Garrett French
Garrett French, of Xofu.com, is among our 20 People to Know in Artificial Intelligence.
Score: 10🌐 MovesJul 16, 2026https://www.bizjournals.com/louisville/news/2026/07/16/20-people-to-know-in-ai-garrett-french.html?ana=brss_6150 - 20 People to Know in AI: Madison Fearneyhough
Madison Fearneyhough, of IBM Technology, is among our 20 People to Know in Artificial Intelligence.
- 20 People to Know in AI: Todd Earwood
Todd Earwood, of Betra Works, is among our 20 People to Know in Artificial Intelligence.
Score: 10🌐 MovesJul 16, 2026https://www.bizjournals.com/louisville/news/2026/07/16/20-people-to-know-in-ai-todd-earwood.html?ana=brss_6150 - 20 People to Know in AI: Matt Duvall
Matt Duvall, of Volta Inc., is among our 20 People to Know in Artificial Intelligence.
Score: 10🌐 MovesJul 16, 2026https://www.bizjournals.com/louisville/news/2026/07/16/20-people-to-know-in-ai-matt-duvall.html?ana=brss_6150 - 20 People to Know in AI: Amit Parulekar
Amit Parulekar, of Brown-Forman Corp., is among our 20 People to Know in Artificial Intelligence.
Score: 10🌐 MovesJul 16, 2026https://www.bizjournals.com/louisville/news/2026/07/16/20-people-to-know-in-ai-amit-parulekar.html?ana=brss_6150 - 20 People to Know in AI: Mandar Madhukar Deo
Mandar Madhukar Deo, of GE Appliances, a Haier Company, is among our 20 People to Know in Artificial Intelligence.
- 20 People to Know in AI: Doug Compton
Doug Compton, of Slingshot, is among our 20 People to Know in Artificial Intelligence.
Score: 10🌐 MovesJul 16, 2026https://www.bizjournals.com/louisville/news/2026/07/16/20-people-to-know-in-ai-doug-compton.html?ana=brss_6150 - Jose Zuma Releases AI Visible: A Guide to AI Search Visibility
Jose Zuma Releases AI Visible: A Guide to AI Search Visibility azcentral.com and The Arizona Republic
- 20 People to Know in AI: Clay Turner
Clay Turner, of Soaring Titan Inc. and Maximum Automotive Intelligence Inc., is among our 20 People to Know in Artificial Intelligence.
Score: 10🌐 MovesJul 16, 2026https://www.bizjournals.com/louisville/news/2026/07/16/20-people-to-know-in-ai-clay-turner.html?ana=brss_6150 - I Tried to Run “GLM” Locally Nobody Warned Me it’s Actually Six Different Hardware Requirements…
GLM-4.7-Flash struggled on my 16GB Mac. Then I found out the flagship GLM model needs more memory than my entire house has RAM for… Continue reading on Towards AI »
- Humans are making games for AI to play. Is it madness or kindness?
An influential designer says games show us how our minds operate — and could also give us a deeper insight into the ‘mind’ of an LLM
- The AI burn book: Decoding the cat fights between Sam Altman, Elon Musk, and Anthropic
The AI burn book: Decoding the cat fights between Sam Altman, Elon Musk, and Anthropic Business Insider
Score: 08🌐 MovesJul 16, 2026https://www.businessinsider.com/sam-altman-elon-musk-anthropic-online-fights-decoded-2026-7 - Take $200 off the Roborock Qrevo Curv 2 robot vacuum and mop, and forget that floor cleaning was ever a chore
The Roborock Qrevo Curv 2 robot vacuum and mop is on sale for $799.99, down from the list price of $999.99. That's a 20% discount.
- Pool looking grubby? The Aiper Scuba S1 robot pool cleaner is $200 off at Amazon.
Find the best robot pool cleaner deal. Save 29% on the Aiper Scuba S1 at Amazon.
- ⚡️ Why AI gets it wrong
Dan Klein explains why today's AI models prioritize plausibility over truth, and what comes next.
- Bigger Scares: Home Depot's 12-Foot Skeleton Is a Halloween Hit and Now It Can Talk, Too
Creep out the neighborhood kids with this cool upgrade to one of the most popular holiday haunts around.
Score: 06🌐 MovesJul 16, 2026https://www.cnet.com/deals/home-depot-skelly-giant-skeleton-halloween-2026-07-16/ - Roborocks premium RockMow X120H lawn mower has launched with a huge discount — save $700 at Amazon
Roborock’s RockMow X120H robot lawn mower is now available with a $700 launch discount. It uses LiDAR, AI obstacle avoidance, and 4WD for smarter mowing.
- I asked ChatGPT how to avoid explosive diarrhea this summer — here's the advice I'm actually following
I asked ChatGPT how to avoid explosive diarrhea this summer — here's the advice I'm actually following Tom's Guide
- Siri AI Helped Me Avoid Eating Diarrhea Lettuce
The iPhone's virtual assistant got a glow-up with iOS 27 and finally lives up to Apple's 2011 promise. In my early testing, Siri is just here to get things done.
Score: 05🌐 MovesJul 16, 2026https://www.cnet.com/tech/services-and-software/siri-ai-ios-27-early-review/ - 😺 🎙️ Watch: Opening AI’s black box
Eric Ho of Goodfire explains why models may think in shapes, how interpretability can reduce hallucinations, and what Goodfire is building.
Score: 05🌐 MovesJul 16, 2026https://www.theneurondaily.com/p/watch-goodfire-is-opening-ais-black-box - AI Reviews From Our Experts
AI Reviews From Our Experts PCMag