System Design and Interactions
Last updated
Last updated
Observations come from the Environment and are pulled into the system.
The Core Agent (with the help of sub-agents) reasons about the observations, consults data sources, and decides on the next actions. This is the ReAct cycle: the agent reasons on what it sees and then acts by either requesting more data, calling a tool, or providing a partial result.
Supervisors ensure tasks are delegated properly and handle coordination among sub-agents.
The Character Layer takes the Core Agent’s output and decides how to present or “characterize” the response. This could involve language style, persona adjustments, or custom formatting.
Finally, the Environment is updated (via the push() method) with the agent’s response or action outcome.
Because the entire system is designed as a modular, agent-based graph, it is easy to add new specialized agents, swap out or upgrade existing ones, and scale horizontally to handle more complex tasks or higher volumes of interactions.
Scalability: Multiple supervisors and sub-agents can run in parallel, each focusing on specialized tasks.
Modularity: Agents can be added, removed, or updated with minimal impact on the rest of the system.
Flexibility: The ReAct approach allows agents to adapt to new observations, handle dynamic requests, and reason about complex workflows.
Improved Organization: The agent graph structure helps maintain clarity of responsibilities and data flow.