ChatPharo includes a Director/Team subsystem for complex tasks that benefit from role specialization (research, coding, summarization).
A ChatPharoDirector coordinates an agent team:
ChatPharoDirector
├── analyzeRequest: -> task list
├── assignTask: -> select agent by role
├── executeTasks -> run tasks (currently sequential)
└── mergeResults -> synthesize response
ChatPharoAgentTeam
├── members (Role -> Agent)
└── agentForRole:
ChatPharoTask
├── description / priority / dependencies
└── status + result
Roles: ChatPharoCoderRole / ChatPharoResearcherRole / ChatPharoSummarizerRole