We evaluated three existing workflow engines before deciding to write our own step runtime. All three were good general-purpose tools. None of them were built for the specific shape of an AI-driven automation, where a single step might call a model, wait on a human approval, or both.
The problem with generic DAG engines
Most workflow engines assume a step either succeeds or fails within seconds. An LLM call with tool use can take thirty seconds and involve multiple round trips inside what looks, from the outside, like a single step. A human-approval step can take three days. Retrofitting long-running, human-in-the-loop steps onto an engine built for short synchronous tasks meant fighting the abstraction at every layer.
So the Aigent runtime treats every step as a durable, resumable unit of work from the start. A step can suspend itself waiting on an external event, whether that is a model finishing a tool call or a person clicking approve in Slack, and the runtime picks the run back up exactly where it paused, with full context intact.
What we gave up
Building our own runtime means we do not get the community and tooling that comes with an established open-source engine. We accepted that tradeoff because the alternative was explaining, to every customer, which parts of the standard DAG model we had quietly broken to make AI steps work.

