Agent System¶
The system uses a Factory Pattern + Registry for agent creation.
Location: src/cs_copilot/agents/
Key Files¶
factories.py— 8 factory classes (7 runtime agents plus the robustness evaluation agent)registry.py— Dynamic agent registry with auto-discoveryteams.py— Multi-agent team coordination using the Agno frameworkprompts.py— Agent instructions and system prompts
Runtime Team Agents¶
| Agent | Role |
|---|---|
| ChEMBL Downloader | Downloads and filters bioactivity data from the ChEMBL database |
| GTM Agent | Unified GTM workflows: build, load, density, activity, projection, and GTM sampling support |
| Chemoinformatician | Downstream chemoinformatics analysis including scaffold, similarity, clustering, and SAR workflows |
| Report Generator | Formats analysis outputs into reports and visual artifacts |
| Autoencoder | Small-molecule generation via LSTM autoencoders, including standalone and GTM-guided modes |
| Peptide WAE | Peptide generation, latent-space GTM workflows, and DBAASP-backed peptide activity landscapes |
| SynPlanner | Retrosynthetic planning and route visualization for target molecules |
Separate Evaluation Agent¶
| Agent | Role |
|---|---|
| Robustness Evaluation | Analyzes robustness test runs, score distributions, failures, and trends |
Adding a New Agent¶
- Create a factory in
src/cs_copilot/agents/factories.py:
class MyNewAgentFactory(BaseAgentFactory):
def create_agent(self, model, **kwargs):
config = AgentConfig(
name="my_new_agent",
description="What this agent does",
instructions="Detailed instructions here",
tools=[MyToolkit(), ...],
model=model,
**kwargs
)
return self._create_agent(config)
- The registry auto-discovers it via
AgentRegistry.auto_register() - Add to the team in
teams.pyif needed