LlamaIndex Workflows + ReActAgent
Event-driven workflows with durable execution — context serialized at every step, human-in-the-loop runs that park at zero cost and resume on approval.
Durable by construction
Research workflows here (multi-step runs over the corpus — company benchmarks,
cross-corpus briefs) are LlamaIndex Workflow subclasses, and their execution
is durable: after every non-terminal step the workflow context is serialized
(ctx.to_dict(JsonSerializer())) into a run store. A crash, deploy, or
restart loses nothing — the run rebuilds from its last step and continues.
Steps are the natural checkpoint boundary: events in, events out, state in
Context. Serialize at the seams and durability is a property of the design
rather than a bolted-on retry layer.
Human-in-the-loop that costs nothing while it waits
When a workflow needs a person, it emits InputRequiredEvent and parks —
the run sits in a waiting_human state consuming zero compute. A
HumanResponseEvent resumes it exactly where it paused
(ctx.wait_for_event). The interrupt happens before the sensitive action,
not after: HITL as a guardrail on autonomy, not an afterthought. A demo
workflow exercises the full pause → approve → resume cycle end to end in the
runs console.
ReAct with real tools — and the lab
A ReActAgent runs over the platform's actual toolbox (the paper-triage tools,
wrapped as LlamaIndex FunctionTools). Around it, the
agents lab implements the major orchestration patterns from
scratch — ReAct, LATS, ReWOO, Reflexion, LLM-Compiler, plan-and-execute,
tree-of-thoughts, self-refine, debate, supervisor — each one runnable, not a
diagram.
Testing agents deterministically
Live-LLM agents hide their trajectory, which makes them untestable. The knowledge-graph lane runs a scripted ReAct loop — same thought/action/observation structure, deterministic trajectory — so agent behavior is assertable in CI. Non-determinism is confined to the outermost layer and judged there (evals); everything inside is exact.
The same ideas appear in the LangGraph curriculum here — durable checkpointers, HITL interrupts, multi-agent supervision — grounded in a real 60+ subgraph production case study rather than toy examples; the Agents & Workflows guide walks that system end to end.
Numbers
- Context serialized after every non-terminal step — a crash or deploy loses nothing.
- A parked
waiting_humanrun consumes zero compute until itsHumanResponseEventarrives. - Ten orchestration patterns implemented runnable-from-scratch in the agents lab.
- The companion LangGraph case study spans a 60+ subgraph production system.