The Human Is an Async API — Melanie Warrick, Temporal

Melanie Warrick demonstrates how Temporal enables durable, fault-tolerant orchestration of multi-agent workflows by treating humans as asynchronous participants within automated loops, using primitives like workflows, activities, and signals to manage state and handle failures seamlessly. She highlights Temporal’s integration with frameworks like LangChain and 80K, emphasizing its framework-agnostic design that supports scalable human-in-the-loop processes while balancing autonomy and necessary human oversight.

In this presentation, Melanie Warrick introduces an ice cream delivery demo to showcase the capabilities of Temporal, a platform designed for durable state management in distributed systems. The demo features multiple agents coordinating the delivery process for Ziggy’s Ice Cream, including fleet, customer, and dispatch agents. These agents work together using Google’s 80K solution integrated with Temporal to orchestrate activities and track the state of deliveries in real-time. Temporal provides a UI that displays event histories and workflow states, enabling seamless coordination even when human intervention is required, such as when a customer requests an order change.

Melanie emphasizes the concept of the human as an asynchronous API within agentic loops, where agents reason, act, and observe continuously. She discusses the importance of a “harness”—a structured framework that helps deploy autonomous agents reliably in production. While the harness’s exact components are debated, durability is a key feature, ensuring that systems remain operational despite failures. Temporal supports this by standardizing failure handling and state management through three core primitives: workers (which run code), workflows (which track process steps), and activities (which handle external interactions). These primitives help maintain system state and resilience.

A significant focus is placed on integrating humans into these automated loops without causing blocking or system failures. Instead of direct blocking calls to humans, Temporal uses wait conditions and signals within workflows to pause and resume processes asynchronously. This design allows workflows to be durable and fault-tolerant, surviving crashes and downtime. Melanie demonstrates this with code examples and a live demo where a high-value order triggers a human approval step. Even if the system goes offline during this pause, it can recover and continue processing once back online, showcasing Temporal’s robustness.

Melanie also explains how Temporal integrates with other frameworks like LangChain and 80K, highlighting its framework-agnostic nature. In these setups, workflows represent steps in the process, while activities correspond to model or tool calls. The use of interrupts and signals allows workflows to pause for human input and resume seamlessly. This flexibility enables complex multi-agent systems to operate efficiently, with Temporal managing state and durability across different tools and languages such as Python, TypeScript, and Rust.

Finally, Melanie addresses the critical question of when to involve humans in the loop. She advises evaluating the cost of errors and the reliability of autonomous models, balancing the need for human oversight against alert fatigue and operational efficiency. While striving for full autonomy is the goal, probabilistic models still require human judgment in high-stakes scenarios. Temporal’s primitives for wait conditions and signals provide a scalable, durable way to incorporate human input without compromising system stability. Melanie concludes by inviting questions and sharing resources for further exploration of Temporal and agent-based systems.