Create a Core MainAgent for ChemGraph Workflows
Motivation
As ChemGraph continues to expand and support more workflows, we need a scalable and maintainable agent architecture. Currently, different workflows may rely on separate agent entry points, such as multi_agent, xanes_agent, and single_agent. As more collaborators contribute new workflows, this structure may become harder to maintain and scale.
To address this, we should introduce a core MainAgent that serves as the central entry point for all ChemGraph workflows.
Proposed Design
The MainAgent would act as a high-level router and coordinator. Based on the user request, workflow type, and task requirements, it would delegate execution to the appropriate specialized subagent.
Example routing structure:
MainAgent
├── multi_agent
├── xanes_agent
├── single_agent
└── future specialized agents
The MainAgent should be responsible for:
- Interpreting the initial user request
- Determining which subagent or workflow is most appropriate
- Routing the request to the selected subagent
- Supporting future extensions as new ChemGraph workflows are added
- Providing a consistent entry point for users and collaborators
Expected Benefits
This would improve the scalability of ChemGraph by making it easier to add new workflows without changing the user-facing interface. It would also make collaboration easier by allowing contributors to develop specialized agents while relying on a shared MainAgent entry point for orchestration.
Initial Scope
-
Add a core MainAgent class or module
-
Define a routing interface between MainAgent and existing agents
-
Support routing to at least:
multi_agent
single_agent
xanes_agent
-
Design the routing logic so future subagents can be registered or added cleanly
Long-Term Goal
The long-term goal is to make MainAgent the default entry point for ChemGraph workflows. As ChemGraph grows, users should interact with one main interface, while the internal agent system routes requests to the appropriate specialized workflow.
Create a Core
MainAgentfor ChemGraph WorkflowsMotivation
As ChemGraph continues to expand and support more workflows, we need a scalable and maintainable agent architecture. Currently, different workflows may rely on separate agent entry points, such as
multi_agent,xanes_agent, andsingle_agent. As more collaborators contribute new workflows, this structure may become harder to maintain and scale.To address this, we should introduce a core
MainAgentthat serves as the central entry point for all ChemGraph workflows.Proposed Design
The
MainAgentwould act as a high-level router and coordinator. Based on the user request, workflow type, and task requirements, it would delegate execution to the appropriate specialized subagent.Example routing structure:
The
MainAgentshould be responsible for:Expected Benefits
This would improve the scalability of ChemGraph by making it easier to add new workflows without changing the user-facing interface. It would also make collaboration easier by allowing contributors to develop specialized agents while relying on a shared
MainAgententry point for orchestration.Initial Scope
Add a core
MainAgentclass or moduleDefine a routing interface between
MainAgentand existing agentsSupport routing to at least:
multi_agentsingle_agentxanes_agentDesign the routing logic so future subagents can be registered or added cleanly
Long-Term Goal
The long-term goal is to make
MainAgentthe default entry point for ChemGraph workflows. As ChemGraph grows, users should interact with one main interface, while the internal agent system routes requests to the appropriate specialized workflow.