Part 17 of DEV Track Spotlight features DEV330, where Olivier Leplus and Tiffany Souterre (both Senior Developer Advocates at AWS) delivered an engaging session that combined tabletop gaming with cutting-edge AI agent technology. The session demonstrated how to build a multi-agent AI Game Master using Strands Agents SDK, complete with live coding that brought the concepts to life in real-time.
The premise was compelling: Game Masters in tabletop role-playing games like Dungeons & Dragons face tremendous challenges. They must weave together player stories, control NPCs, manage complex rules, and improvise scenarios on the fly. As Tiffany explained, "It's really hard to be a Game Master, actually. You need to know all of the rules of the game. You need to know a lot of things to be able to drive your players into a campaign." This session explored how AI can support Game Masters with rule checking, scenario improvisation, and on-the-fly content creation.
Watch the Full Session:
Why Multi-Agent Systems Matter for Complex Tasks
The session began with a fundamental shift in how we think about AI. Tiffany noted that three years ago, when ChatGPT launched, "generative AI became very public... you could chat with those LLMs. You can have a conversation with them, but this is about it." The limitation was clear: LLMs could converse but couldn't take action.
This is where agents come into play. Agents have agency - they can perform actions through access to tools. These tools can be APIs, functions, databases, or even other agents. The power multiplies when multiple specialized agents work together, typically coordinated by an orchestrator that routes requests to the appropriate expert agent.
Tiffany provided a relatable analogy: "One example that I like to give sometimes is when you want, for example, a coach, a studying coach for a student, you'll have the coach that might be connected to a team of different agents that are all experts in different fields, in math, in physics, in history, in geographics." The orchestrator redirects questions to the right expert agent to answer the query.
Understanding MCP and A2A Protocols
Two critical protocols enable modern multi-agent systems:
Model Context Protocol (MCP) standardizes how agents discover and connect to tools. As Tiffany explained, "This protocol standardizes the way your agents can discover tools, basically. It's like REST for AI agents." Before MCP, connecting agents to tools was complex and non-standardized. Now, if someone builds a tool and puts it on an MCP server, any agent can connect to that tool. This has created an ecosystem where developers can share and reuse tools across different agent implementations.
Agent-to-Agent (A2A) protocol standardizes how agents communicate with each other. This differs from MCP because agents need to have conversations - they both have thought processes and planning capabilities. As Tiffany clarified, "Between agents, you need to be able to build a conversation. They both have a thought process. They both have planning, and so they need to be able to have this conversation." Tools, by contrast, simply perform actions or return information without this conversational layer.
The AI Game Master Architecture
The demo showcased a multi-agent architecture with three main components:
Character Manager Agent handles all character-related operations. It can create characters on the fly, retrieve characters from a database, and manage character information throughout the campaign. This specialization allows the orchestrator to delegate all character management tasks to an expert agent.
Rules Agent functions as a RAG (Retrieval Augmented Generation) system with access to the complete Dungeons & Dragons rulebook. When players attempt actions, the orchestrator can query the rules agent to verify whether something is possible within the game mechanics. During the demo, when asked to fly to the moon with a rocket, the rules agent responded: "Steve, you're still bleeding in a dark alley facing a dangerous bandit. There's no rocket in the medieval fantasy world of DnD... No sci-fi technology, sorry."
MCP Server with Dice Rolling Tool provides a simple but essential function - rolling dice. As Olivier demonstrated, this tool can handle requests like "roll 3D20" (three 20-sided dice) and return results that the Game Master uses to determine outcomes.
Live Coding: Building Agents in Minutes
The live coding demonstration showcased the simplicity of Strands Agents SDK. Olivier started with just three lines of code to create a basic agent, then progressively added capabilities.
Creating a Basic Agent required minimal code. After importing the agent class and creating an agent object, the system defaulted to using Amazon Bedrock with Claude Sonnet 4. However, Strands is model-agnostic and provider-agnostic. Olivier demonstrated switching between Amazon Nova Premier, Anthropic models, Mistral, and even local models running through Ollama.
Adding Tools transformed the LLM into an agent with capabilities. When asked "what time is it," a basic LLM couldn't answer. But after adding the current_time tool from the strands-tools package, the agent could call the tool and provide accurate time information. Olivier showed how any Python function can become a tool simply by adding a decorator.
Creating MCP Servers externalized tools for reuse. Using FastMCP, Olivier created an MCP server for the dice rolling function, running it on [IP_ADDRESS]:8081. The main agent then connected to this MCP server using an MCP client, allowing it to discover and use the dice rolling tool through the standardized protocol.
Building Agent-to-Agent Communication demonstrated the A2A protocol in action. Olivier created a character management agent running on its own server ([IP_ADDRESS]:[IP_ADDRESS]), then configured the main Game Master agent to communicate with it using an A2A client provider. When asked to create a character named Steve, the orchestrator called the character agent, which used its tools to generate characteristics and save the character to a file.
Production Best Practices
Throughout the session, the speakers shared valuable insights for building production-ready agents:
Docstrings are Critical for tool discovery. Agents use docstrings to understand what tools do, what parameters they accept, and when to use them. Tiffany recommended: "What I would recommend for you is not to write it on your own, but rather give the example to your AI code assistant... and they will write a perfect docstrings for you."
System Prompts Guide Behavior especially when agents have access to multiple tools and other agents. The demo included detailed system prompts that specified the agent's role, available capabilities, and instructions like "never answer by yourself, always use the tools and/or agents."
Prompt Engineering Still Matters even with sophisticated agent frameworks. Tiffany noted: "As you iterate through your tests, prompt engineering is still a thing. You still need to make sure that your prompt is actually describes well the different actions that the agents can do." The team went through several iterations to achieve satisfactory outputs.
Standardized Output Formats become important when integrating with applications. The Game Master agent was configured to return responses in a specific JSON format with fields for the narrative response, suggested actions, and dice roll details, making it easy to integrate with the web frontend.
Safeguards for Sensitive Operations protect users from unintended actions. When tools perform operations like writing files or executing code, Strands includes safeguards that ask for confirmation (though these can be bypassed in CI/CD environments using environment variables).
Key Takeaways
Strands Agents SDK simplifies multi-agent development - What previously required complex custom code can now be built in just a few lines using the Strands SDK. The framework handles the complexity of agent orchestration, tool discovery, and inter-agent communication.
MCP and A2A protocols enable ecosystem growth - Standardized protocols mean developers can share tools and agents across projects. If someone creates an MCP server with useful tools, anyone can connect their agents to use those tools.
Model flexibility matters - Strands supports multiple model providers including Amazon Bedrock, Anthropic, Google Gemini, Mistral, and local models through Ollama. This flexibility allows developers to choose the right model for their use case and budget.
Specialization improves performance - Rather than building one monolithic agent, creating specialized agents for specific tasks (character management, rule checking) leads to better results and easier maintenance.
Real-world applications extend beyond gaming - While the demo focused on a Game Master, the patterns apply to any domain requiring multiple specialized agents working together: customer support, troubleshooting, research, and more.
About This Series
This post is part of DEV Track Spotlight, a series highlighting the incredible sessions from the AWS re:Invent 2025 Developer Community (DEV) track.
The DEV track featured 60 unique sessions delivered by 93 speakers from the AWS Community - including AWS Heroes, AWS Community Builders, and AWS User Group Leaders - alongside speakers from AWS and Amazon. These sessions covered cutting-edge topics including:
- π€ GenAI & Agentic AI - Multi-agent systems, Strands Agents SDK, Amazon Bedrock
- π οΈ Developer Tools - Kiro, Kiro CLI, Amazon Q Developer, AI-driven development
- π Security - AI agent security, container security, automated remediation
- ποΈ Infrastructure - Serverless, containers, edge computing, observability
- β‘ Modernization - Legacy app transformation, CI/CD, feature flags
- π Data - Amazon Aurora DSQL, real-time processing, vector databases
Each post in this series dives deep into one session, sharing key insights, practical takeaways, and links to the full recordings. Whether you attended re:Invent or are catching up remotely, these sessions represent the best of our developer community sharing real code, real demos, and real learnings.
Follow along as we spotlight these amazing sessions and celebrate the speakers who made the DEV track what it was!
Top comments (0)