BlogsAblyAI Transport Durable Execution

AI Transport Durable Execution

AI Transport Durable Execution

11
posts
2026

AI Transport now supports durable execution frameworks like Temporal and Vercel WDK, enabling agents to run reliably across process restarts and network disruptions. This is achieved through a new 'Steps' concept, which provides stable IDs for publishable units of output, ensuring idempotency during retries. Clients continue to receive a seamless, consistent stream regardless of the underlying execution durability. This post introduces 'steering', allowing clients to redirect an agent mid-run by enabling the delivery model for AI responses, which requires resumable streams, guaranteed ordering, and delivery across device switches, contrasting with the older signaling model. Fin migrated from their in-house Nexus system to Ably AI Transport to handle these new requirements, achieving 99.9999% delivery reliability, 18M+ peak concurrent connections, and an 80% drop in HTTP GET requests.

2026

AI Transport v0.6.0: mid-run steering

7/22/2026

Introduces the 'steering' capability to AI Transport, allowing clients to redirect an agent mid-run. Implements the `steer(...)` method on active Runs for sending follow-up prompts and the `onSteer(...)` hook in `session.createRun` to abort in-flight model calls. The agent's loop is modified to check `run.hasInput()` for steering messages and to use `AbortSignal.any` with a new `stepAbort` controller to interrupt model calls. The client-side `consumed` flag is updated to reflect whether the steering message was acted upon.

Does Temporal Workflow Streams replace a durable session layer?

7/22/2026

This post analyzes Temporal Workflow Streams, comparing its capabilities to a durable session layer. It details how Workflow Streams provides exactly-once, ordered delivery via long-polling updates and handles Workflow restarts (Continue-As-New) by snapshotting stream logs. It explicitly states that Workflow Streams does not replace a durable session layer because it is one-way, uses long-polling instead of persistent connections, and does not support multi-participant visibility or offline delivery. The post concludes by reiterating the necessity of a durable session layer for features like realtime push, bidirectional communication, multi-participant visibility, offline delivery, conversation branching, and human handover, positioning Ably AI Transport as an implementation of such a layer.

Build or buy: how AI changed whether your in-house realtime system is still worth it

7/13/2026

This post details how AI conversations have shifted the requirements for realtime infrastructure from a signaling model to a delivery model. It highlights the need for resumable streams, guaranteed ordering, and cross-device delivery, which are critical for AI agent responses. The post uses Fin's migration from their in-house Nexus system to Ably AI Transport as a case study, demonstrating the benefits of a managed solution for these new demands, including improved reliability, scale, and reduced operational costs. It also discusses the opportunity cost of maintaining in-house realtime systems and the challenges of migrating from existing infrastructure.

Introducing AI Transport v0.5.0: durable execution with Steps

7/10/2026

Introduced the 'Steps' concept for AI Transport, providing stable `stepId`s to ensure idempotency for publishable units of output during retries in durable execution frameworks. Added `run.adoptRun()` and `run.load()` to allow new processes to seamlessly join and continue an existing run. Provided specific integrations for Temporal (`stepIdFor`) and Vercel Workflows (using `getStepMetadata`) to leverage their retry mechanisms and stable step IDs.

Why AI agents need a durable session layer - and why HTTP isn't enough

7/9/2026

This post elaborates on the need for a durable session layer for AI agents, highlighting the limitations of HTTP for long-running, complex interactions. It introduces 'durable sessions' as a distinct category of durability that sits between the agent and the user, complementing durable memory and durable execution. The post details the architectural pattern of decoupled pub/sub, explaining how it provides connection reliability, bidirectional communication, and state synchronization by decoupling the agent from the client. It emphasizes that AI Transport is scoped to agent-to-user sessions and not backend agent-to-agent orchestration.

Introducing AI Transport v0.4.0

7/3/2026

Introduced database hydration to AI Transport, allowing applications to persist completed AI conversation runs to an external store (e.g., a database). This enables reconciliation of stored history with live activity, providing realtime visibility and supporting multi-device continuity, resumable streaming, and bidirectional control. The implementation involves persisting immutable completed runs and using `loadUntil` to fetch messages newer than the latest stored one for both agent and client hydration.

AI chat stream resumption: when Redis is enough, and when you need durable sessions

6/30/2026

This post details the limitations of Redis-based stream resumption for AI chat applications, particularly concerning write amplification, cancellation ambiguity, multi-device support, and enterprise network delivery. It contrasts this with the benefits of a durable session layer provided by Ably AI Transport, which handles stream resumption, multi-device synchronization, and security as inherent properties of the transport. The post also provides a code snippet demonstrating the integration of Ably AI Transport with Vercel's useChat hook.

How durable sessions unify human-to-human and human-to-agent messages

6/26/2026

This post introduces the concept of 'durable sessions' as a shared medium for agents and humans to exchange messages, enabling multi-user and multi-agent collaboration. It details how Ably AI Transport implements this primitive on top of Ably channels, providing explicit control over agent invocation separate from message sending. The post highlights features such as resumable streaming, session continuity across devices, agent presence, human handover, bidirectional control, and multi-agent coordination, extending the capabilities of the AI Transport SDK.

Your Vercel AI SDK app is missing a session layer

6/25/2026

This post details the integration of Ably AI Transport with the Vercel AI SDK's `useChat` hook, showcasing how a shared, durable session layer enables advanced features such as multi-device fan-out, multi-user conversations, resumable streams, conversation branching, history compaction, and agent control (stop/approve). It highlights the client-side code changes required and the underlying mechanisms provided by the Ably AI Transport for achieving these capabilities.

Stop vs disconnect - why canceling AI streaming is harder than it looks

6/25/2026

This post details the challenges of implementing a reliable 'stop' functionality in AI streaming applications using HTTP streaming, contrasting it with the capabilities of Ably AI Transport. It explains that HTTP streaming's one-way nature makes distinguishing intentional stops from network drops difficult, requiring dedicated stop endpoints with idempotency checks and backend-specific cancellation logic. Ably AI Transport, built on a bidirectional session model, offers a native 'cancel' signal, simplifying this process and eliminating the need for complex stop endpoint implementations. It provides server-side code examples for cancellation using Ably's abortSignal and discusses the trade-offs between HTTP streaming stop endpoints and Ably's session-based cancellation.

Agentic apps that go beyond chat

6/24/2026

This post details the integration of Ably AI Transport with the Vercel AI SDK to build collaborative AI applications. It showcases how Ably's durable sessions, LiveObjects, and Presence provide a unified layer for handling real-time events, shared state (itinerary, budget), and collaborator awareness, eliminating the need for separate stream stores, sync layers, or presence services. Key technical aspects include using Ably's custom transport for `useChat`, server-side streaming of model output to Ably channels, conflict-free updates via LiveObjects, and presence management for multi-user visibility.