Skip to content

feat: add A2A multi-agent graph router research assistant sample#1162

Open
johngiles12345 wants to merge 3 commits intoawslabs:mainfrom
johngiles12345:feat/a2a-multi-agent-graph-router
Open

feat: add A2A multi-agent graph router research assistant sample#1162
johngiles12345 wants to merge 3 commits intoawslabs:mainfrom
johngiles12345:feat/a2a-multi-agent-graph-router

Conversation

@johngiles12345
Copy link

Summary

  • Adds a new use-case sample demonstrating the router-supervisor pattern using Strands Agents GraphBuilder with conditional edges, parallel dispatch, and AND-join semantics
  • The router agent classifies requests and dynamically decides which sub-agents (research, analysis, writer) to invoke — supporting 4 distinct dispatch paths
  • Includes both a local demo (single-process graph) and distributed deployment to Amazon Bedrock AgentCore using the A2A protocol

Architecture

Router → conditional dispatch → parallel workers → AND-join → synthesizer
  • Router: Classifies request, outputs structured DISPATCH line (Claude Haiku 4.5)
  • Research: Gathers information via search tools (Claude Haiku 4.5)
  • Analysis: Analyzes data, compares sources (Claude Haiku 4.5)
  • Writer/Synthesizer: Produces final report with AND-join guard (Claude Sonnet 4.6)

Key patterns demonstrated

  • Conditional edge functions parsing structured router output
  • AND-join semantics on Strands GraphBuilder (OR-native graph)
  • A2A protocol sub-agents with SigV4-signed cross-runtime invocation
  • Deployment via bedrock-agentcore-starter-toolkit Python SDK (no CDK/CloudFormation)

Test plan

  • uv run python -m demo.run_demo --prompt "Research the impact of AI on healthcare and analyze the trends" runs successfully
  • uv run python -m demo.run_demo --prompt "What are the latest developments in quantum computing?" (research-only path)
  • uv run python -m demo.run_demo --prompt "Write a brief summary of cloud computing" (writer-only path)
  • Deployment to AgentCore via uv run python -m deployment.deploy
  • Cleanup via uv run python -m deployment.cleanup

John Giles added 3 commits March 22, 2026 05:53
Router-supervisor pattern using Strands Agents GraphBuilder with
conditional edges, parallel dispatch, and AND-join semantics.
Supports local demo and distributed deployment to AgentCore.
Remove aws-opentelemetry-distro from requirements.txt to fix AgentCore
runtime initialization exceeding the 30s timeout. Pin chardet<6 to
suppress RequestsDependencyWarning from requests library.
Replace internal GitLab clone URL with the public awslabs GitHub
repository path in the setup instructions.
@github-actions github-actions bot added the 02-use-cases 02-use-cases label Mar 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

02-use-cases 02-use-cases

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant