Hi Team,
I’m working on a project where I need to retrieve participants from a support ticket as well as from several other data sources. The challenge is that the required information is spread across multiple systems, so it has to be orchestrated through map/reduce-style operations.
My Deep Agent design is largely prompt-driven. The main conversational Deep Agent is intentionally very lightweight: almost all of the orchestration logic lives in AGENTS.md and SKILL.md files. I split the workflow into multiple subagents, each with its own SKILL.md.
My use case is roughly 60–70% deterministic and 30–40% LLM-driven.
I rely on the LLM for tasks such as:
- generating the execution plan,
- extracting participants from unstructured text,
- composing the final response.
Everything else is deterministic and mainly consists of calling APIs and processing structured data.
After reviewing several Deep Agent examples shared by my team, I noticed that almost everything is prompt-based, including the agent’s state, which is maintained in the conversation context. The main agent delegates work to subagents, each subagent performs API calls or LLM reasoning, returns its result, and the main agent orchestrates the overall workflow. As a consequence, the shared state also lives in the conversation context.
What I’m struggling with is that there doesn’t seem to be an equivalent of the strongly typed shared state you would normally build with LangGraph.
I experimented with storing the intermediate state in the filesystem, for example:
/work/<ticket_number>/
participants.json
emails.json
...
This approach works technically, but I’m concerned about isolation. What guarantees are there that an LLM won’t accidentally read files belonging to another ticket if they’re accessible through the filesystem?
In this workflow, one subagent produces part of the state and another consumes it. Since map/reduce operations don’t naturally fit a traditional LangGraph execution graph, it feels like additional orchestration logic is needed to implement them cleanly.
I also built an alternative solution based on compiled LangGraph graphs with a Pydantic state model. From a technical perspective, this approach works much better because it provides explicit state management. However, the architecture team considers it too rigid and prefers a pure Deep Agent approach.
This leads me to a few questions:
- Am I using Deep Agents in the wrong way for this type of orchestration?
- Is there a recommended pattern for sharing structured state across multiple cooperating subagents?
- Does Deep Agent support true parallel execution through prompting? If so, what is the recommended approach to execute multiple subagents concurrently to reduce latency?
- Are there any reference implementations or GitHub repositories demonstrating a Deep Agent orchestrating multiple subagents, where each contributes a portion of the overall state and the main agent aggregates the final result?
I’d really appreciate any guidance, best practices, or examples.
Thanks in advance!
PS
I looked at deep agent documentation and I’ve already built my deep agent, however, the prompt driven approach doesn’t satisfy me with data reliability and performance are really bad (but today everything is sequence and I am trying to figure out how to do parallelism of subagents).