The system I'm working on(VHL) is slowly evolving into a "Peer-to-Peer" multi agent framework where autonomous agents would be first class citizens.
Existing Master-Slave like delegation architecture present in OH Agent-SDK seems insufficient to support such an architecture, where authority of each agent is defined through Agent System Prompts and Deterministic guardrails(some kind of permissions enforced at the system level). At present I'm leaning towards an Orchestrator based design pattern, but the responsibilities are assigned through system prompt, not through agentic framework. If I try to use delegation functionality(from current oh agent sdk) directly, I would be enforcing this from agent-sdk framework level by making the orchestrator as main agent spawning other sub agents. I don't want this lock-in.
Here's my design space:
I've 4 agents in the system. I should be able to trigger them sequentially through a deterministic state machine to serve a sequential pipeline. There's one orchestrator agent which knows the entire system. This node act as the random access point to the entire MAS. In the sequential scenario, state machine overrides the orchestrator for initial system bootstrap, but once everything is up and running, control is handed over to the orchestrator. From this point onwards, orchestrator should be able to route user requests(based on reasoning) to any other agent in the system. Any agent in the system should be able to communicate with any other agent, freely in the system.
To my understanding, ACP solve entirely different set of problems.