Orchestrating multiple agents without losing state, how are you handling this?

I’ve been building a few things with multi-agent setups (planner → executor → reviewer, sometimes with tools in the loop), and the biggest challenge hasn’t been model quality, it’s keeping state and decisions consistent across steps.

Once workflows span multiple turns or retries, context ends up split between prompts, intermediate outputs, and application code. When something goes wrong, debugging often turns into reading logs instead of understanding why an agent behaved a certain way.

I started experimenting with an explicit orchestration-style approach where agents reference a shared spec/state instead of passing context implicitly. I’ve been testing a tool called Zenflow for this to keep workflows more inspectable and predictable, especially for longer-running tasks.

Curious how others in the OpenAI community are handling this today. Are you managing state directly in code, leaning on function calling, or using some form of external state machine?