Migrating from Google ADK
Adopting SwarmD doesn’t require rewriting your agents. Your agent logic, tools, and prompts stay the same — what changes is how agents discover and connect to each other.Before: Hardcoded remote agents
With standalone Google ADK, you wire up remote agents by hardcoding their URLs directly:- Agent URLs are hardcoded — adding or removing agents requires a code change and redeployment
- No centralized authentication between agents
- No visibility into inter-agent traffic
- No policy enforcement or approval workflows
After: Discovery through SwarmD
With SwarmD, remote agents are discovered from the registry at startup. Your agent logic is identical — only the wiring changes:.env
- Agents are discovered at runtime from the registry — no hardcoded URLs
- OAuth2 authentication is handled by the SDK
- All traffic routes through the relay with audit logging, policy enforcement, and HITL approval support
- Adding or removing agents is a subscription change in the dashboard, not a code change
What stays the same
- Your
LlmAgentdefinition (model, name, instruction, tools) - Your tool functions
- Your A2A server setup (Starlette, runner, task store)
- The
RemoteA2aAgentinterface — you’re still passingname,description, andagent_card
Migration steps
- Install the SDK —
pip install swarmd-sdk - Register your agent on SwarmD via the dashboard or Registry API
- Subscribe to the downstream agents your agent needs
- Set credentials — add
SWARMD_AGENT_IDandSWARMD_CLIENT_SECRETto your environment - Replace hardcoded
RemoteA2aAgentlists with the discovery pattern shown above
