Skip to content

Create a Core MainAgent for ChemGraph Workflows #140

Description

@tdpham2

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.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions