Currently, I am facing an issue with the interaction between a master agent and sub-agents. I want the master agent to act as a scheduler or decision-maker that coordinates sub-agents to answer queries. However, in the current implementation, sub-agents can only be invoked as "tools."
The problem with treating sub-agents as tools is that the detailed execution process cannot be fully outputted; only the final result is returned as a whole. This leads to a less smooth user experience and longer perceived waiting times.
The ideal workflow I envision is: When a user poses a question to the master agent, it autonomously decides which sub-agent should handle it. Then, the sub-agent's thinking and processing steps should be streamed back to the master agent in real-time. This allows the frontend to render the live status completely. Once the sub-agent finishes, the master agent can summarize the result and hand over the task to the next sub-agent.
Describe the solution you'd like
I would like to propose encapsulating a high-level MasterReAgent class.
This MasterReAgent should be able to:
Register local ReAgent instances or remotely register ReAgents via IP and port.
Be used similarly to a standard ReAgent, creating a seamless abstraction where the master agent feels like a single, unified agent to the end-user.
Describe alternatives you've considered
Currently, I am restricted to using the standard tool-calling mechanism, which does not support streaming the intermediate thoughts and actions of the sub-agents.
Additional context
The core goal is to achieve a smoother, more transparent multi-agent orchestration experience where the master agent can stream the sub-agents' real-time progress to the UI.
Currently, I am facing an issue with the interaction between a master agent and sub-agents. I want the master agent to act as a scheduler or decision-maker that coordinates sub-agents to answer queries. However, in the current implementation, sub-agents can only be invoked as "tools."
The problem with treating sub-agents as tools is that the detailed execution process cannot be fully outputted; only the final result is returned as a whole. This leads to a less smooth user experience and longer perceived waiting times.
The ideal workflow I envision is: When a user poses a question to the master agent, it autonomously decides which sub-agent should handle it. Then, the sub-agent's thinking and processing steps should be streamed back to the master agent in real-time. This allows the frontend to render the live status completely. Once the sub-agent finishes, the master agent can summarize the result and hand over the task to the next sub-agent.
Describe the solution you'd like
I would like to propose encapsulating a high-level MasterReAgent class.
This MasterReAgent should be able to:
Register local ReAgent instances or remotely register ReAgents via IP and port.
Be used similarly to a standard ReAgent, creating a seamless abstraction where the master agent feels like a single, unified agent to the end-user.
Describe alternatives you've considered
Currently, I am restricted to using the standard tool-calling mechanism, which does not support streaming the intermediate thoughts and actions of the sub-agents.
Additional context
The core goal is to achieve a smoother, more transparent multi-agent orchestration experience where the master agent can stream the sub-agents' real-time progress to the UI.