A minimal agent needs a model, instructions, an agentic loop, conversational history, and tools.
2
Amazon Bedrock Agents manages the loop and history, while action groups connect the agent to Lambda-based tools.
3
A local Python dice-rolling agent can be moved into a managed AWS environment, with aliases supporting the software development life cycle.
Summary
Mike Chambers builds a small tabletop RPG agent that rolls dice, first as a single Python file running a Llama 3.1 8B model on his laptop, then as a managed Amazon Bedrock Agent. The example shows how natural language is converted into a tool call and how the result is returned to the user. Chambers breaks an agent into a model, instructions, an agentic loop, conversational history, and tools. Bedrock Agents handles the loop and history, while action groups connect tools to AWS Lambda. He also shows how descriptions and parameter schemas help the model decide when and how to use a tool. The console demo creates the agent, adds a Lambda action group, edits the function, deploys it, and prepares an alias. Chambers is clear that console clicks are only for demonstration. The same setup can be managed with Terraform, Pulumi, CloudFormation, the SDK, or SAM.
A local Python agent can turn natural language into a tool call
Chambers starts with a single Python file containing a dice-rolling tool and an agent. It uses the Llama 3.1 8 billion parameter model on his laptop, without a framework. The system prompt describes the available tool, and examples help the small model understand how to use it. When he enters "roll for initiative and add a dexterity modifier of five," the model interprets the request, calls the dice tool, receives 10 from a D20 roll, adds five, and returns 15. The example is intentionally simple, but it gives a concrete view of the agent loop.
Chambers describes the minimum components as a model, a prompt, a loop, history, and tools. The prompt explains why the agent exists and what it can do, including its personality. The loop processes input, chooses a tool, evaluates the result, and decides whether another tool call is needed. He describes this as roughly a while statement with strings flowing through it. History includes the reasoning steps, tool calls, and results from the current interaction, so each next step has the context of what happened before. Tools give the agent a way to act outside the model.
Bedrock provides the model layer and managed agent runtime
AWS offers models from providers including Anthropic, Amazon, Meta, Mistral, and AI21 Labs through Amazon Bedrock. Chambers calls model selection the easy part for an application builder because the models already exist. Amazon Bedrock Agents provides a fully managed environment for the agent itself. Its configuration includes instructions, which are combined with a prompt template to create the actual prompt. The service takes care of the agentic loop and conversational history, so the developer does not have to host those parts separately.
Action groups connect agent decisions to executable tools
An action group is a collection of tools connected to the agent. In Chambers's example, the action group uses AWS Lambda to host the dice-rolling logic. Lambda handles the function execution and scaling, while the tool can also reach other AWS services or the outside world. The model reads the natural-language descriptions of the action group, tool, and parameters to decide whether the tool applies and what values to provide. The dice tool requires an integer specifying the number of sides.
Tool descriptions and parameter schemas are part of the programming interface
While configuring the action group, Chambers repeatedly adds names and descriptions for the group, the tool, and its parameters. These descriptions are read by the large language model. The tool description explains that it rolls a die with a specified number of sides. The parameter is named, described, typed as an integer, and marked as required. This gives the model enough information to select the tool and provide the expected input. The example shows how natural-language definitions become part of an agent's interface.
The console is a demonstration path, not the deployment method
Chambers uses the AWS console because it is easier to show on stage, but he rejects ClickOps as a production workflow. He says the same resources can be created with Terraform, Pulumi, CloudFormation, the AWS SDK, SAM, or another infrastructure-as-code framework. The console's quick-start option creates the Lambda function, sets up permissions, and connects it to the agent. That makes it useful for getting the example running, while production teams can reproduce the setup through code.
Managed agents include publishing controls for the software life cycle
After deploying the Lambda function, Chambers prepares the agent before testing it. He points out that the environment includes the agent and alias IDs, allowing different aliases to be used as agents are published. The final test sends a more elaborate natural-language request and gets a dice result of 15. His point is that the agent is now hosted in a managed environment rather than on his laptop, while the publishing structure supports moving versions through a software development life cycle.
"It really is nothing much more than a while statement, if while, whatever with some strings flowing around."05:56
Who should watch
You have a small Python agent and need to understand which parts must move into managed infrastructure before deployment.
You are evaluating Amazon Bedrock Agents and want to see how action groups, Lambda, prompts, and tool schemas fit together.
Your team uses infrastructure as code and wants a quick example of the console workflow that can later be reproduced with Terraform, Pulumi, CloudFormation, the SDK, or SAM.