This orchestrator is the main component of the AgentOrg.It is task-oriented orchestrator which manages the completion of the whole task through multi-turns. It is responsible for managing the workers. The current orchetrator is implemented through graph. Take the json format / YAML config as input, reconstruct the graph, and execute the workers in the graph.
The edges represent user's intend, and each node is an worker. Depends on the worker definition, it might require different type of information from user or it might be pre-defined with some values. The worker will execute the sub-task defined in the node and return the result. The orchestrator will pass the result to the user and move onto the next worker based on the edge. The task will be completed when the orchestrator reaches the leaf node of the graph.
Each orchestrator can handle multiple tasks and the detact of the task is relied on the NLU module. The NLU module will parse the user's input and return the detacted intend edge and the connected node. Then the orchestrator will start from that node and traverse the graph to complete the task.