Are there any plans for <A2A> integration with sof...
# questions
l
Are there any plans for A2A integration with software-agent-sdk
g
No exact plans as of yet. I definitely encourage you to create a github issue feature request so others can discuss and interact with it: https://github.com/OpenHands/OpenHands/issues?q=is%3Aissue%20state%3Aopen Also would love to learn the use case you're building that needs this type of support!
c
We have looked at it at some point, though it wasn’t clear it’s very useful https://github.com/OpenHands/software-agent-sdk/issues/1060
At first we thought it would be an emerging standard, but I’m not sure if that actually happened. Either way please do add your thoughts!
l
Yeah, further we support ACP, and that seems to be enough for most use cases: https://docs.openhands.dev/openhands/usage/cli/ide/overview
l
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.
👍 2
🤔 2
l
Sorry, just to clarify, why would the current SDK not be able to support this mechanism? It seems like it’d actually be reasonably straightforward to do this
l
These are few timing diagrams of my agentic system. As you can see, the librarian agent in the system is not a simple slave agent. It has to have direct access to ANA and Archy agents(Even though Archy is hierarchically the owner of both ANA and Librarian). Archy has to talk with HIL, and all other agents in the system. I'm aware of delegate(spawn and delegate) pattern in agent-sdk. But it seems too restrictive for this purpose. Can I implement the MAS explained using current agent-sdk framework? If yes, what are your suggestions on the approach? (Sorry for late reply.. I was(am) stuck with deployment tasks)
l
Hmm, interesting, good question. @modern-fireman-99755 has been working on subagents, he might have opinions. But at the same time maybe A2A would be good to implement for these use cases
❤️ 1
m
Hey @late-queen-51746 I’ve been looking into your system and I think if you try to build it using only subagents, you'll end up having to "hack" several components, meaning you won't be able to fully leverage the SDK. It might be a better idea to implement the A2A protocol instead. I researched the differences and use cases for subagents vs. A2A vs. ACP; you can find my notes in the attached
.md
file. It seems all three are quite distinct and support different scenarios. @limited-student-10747, let me know if I should open an issue to implement the A2A protocol in the SDK.
❤️ 1
l
Thanks @modern-fireman-99755, Let me go through the document in detail..
c
I think we already have an issue to support this protocol https://github.com/OpenHands/software-agent-sdk/issues/1060
👍 1