Building with AI

Strands Agents

5 min readintermediateUpdated 28 Sept 2026
1 · In one line

Strands Agents is a free AWS toolkit, released as open source under Apache 2.0, for making AI agents with Python or TypeScript, where the model itself plans the steps and picks the tools.

1 · What it is

Strands Agents is a free toolkit from AWS for making AI agents in Python or TypeScript. An AI agent is a program where a language model (the AI that reads and writes text) can also take actions, such as reading a file or asking another service for data through an API (a set of rules programs use to talk to each other). Then it looks at what happened. Strands is open source under the Apache 2.0 licence, so anyone can read and reuse the code. AWS announced it on 16 May 2025.

Strands says an agent needs three things: a model, some tools and a prompt (your written instruction). Some frameworks make you define complex workflows for the agent. With Strands you mostly write the prompt and list the tools. The model plans its own steps and picks which tools to use. AWS says newer models can already reason and use tools. That is why it chose this “model-driven” style.

Under the hood is the agent loop. Strands sends the model the prompt, the conversation so far and a short description of each tool. The model either answers in plain text or asks for tools. Strands runs them, adds the results to the conversation and calls the model again. Because the history grows each pass, the model can see what it has already done. The loop stops when the model says it is finished. It can also stop earlier if it hits a limit, such as a cap on turns.

The official quickstart shows this with a small puzzle. You write a Python function, letter_counter, and put @tool above it to make it a tool. You also add file_editor, a tool that comes with Strands. Then you ask how many letter R’s are in “strawberry” and to save the answer in answer.txt. The model gives letter_counter the job of counting and gives file_editor the job of saving. Nobody wrote that choice in code.

Tools can be your own functions, prebuilt tools, or any MCP server (a program that offers tools through the Model Context Protocol). The same agent code can run on Amazon Bedrock (the default), Anthropic, OpenAI, Google, or Ollama, which runs a model on your own computer with no API key. Built-in controls such as turn limits and token budgets (a cap on how much text the model may read and write) cap how much one request can use.

There are limits. The model can still pick the wrong tool, usually because a tool’s description is unclear. Tools run with the same permissions as your program, so check what each one can touch. Strands is a library inside your own code, not a hosted service, so you still deploy and run it yourself.

2 · Why it exists

Building an agent by hand means writing a lot of plumbing around the model.

Rigid step listsSome frameworks require developers to set up complex agent workflows.
A loop to writeSomeone has to call the model, run the tools it asks for, and feed the results back until the job is done.
Locked to one modelStrands keeps the same agent code across supported providers.
3 · How it works

Follow one request through the Strands agent loop.

The model chooses each next step. Strands runs the tools and loops until the model says it is done.
  1. 1 · defineYou write the model, a list of tools and a prompt in code.
  2. 2 · askStrands sends the prompt, the conversation so far and the tool descriptions to the model.
  3. 3 · decideThe model either answers in plain text or asks for one or more tools.
  4. 4 · runStrands runs the chosen tools, adds the results to the history and calls the model again.
  5. 5 · finishThe loop ends when the model reports it has nothing more to do, or a limit is reached.

In Strands, the model decides the next step; your code supplies the tools and the limits.

4 · Where it's used
WhoWhat they askWhat it works with
App developer“Can my assistant look up data through our API before it replies?”A Python function marked with @tool so it becomes a tool
Platform team“Can we reuse the tools other teams already publish over MCP?”An MCP server connected as a tool source
Prototyper“Can I try this agent on a local model before paying for an API?”The Ollama model provider running on the laptop
5 · What it solves, and what it doesn't
solves
  • It gives you a ready-made agent loop, so you do not write the call, run, repeat cycle yourself.
  • Any Python function can become a tool with a single decorator.
  • The same agent code can run on different model providers.
  • It ships controls such as turn limits, token budgets, cancellation and stop reasons.
doesn't solve
  • It does not stop the model picking the wrong tool; unclear tool descriptions are the usual cause.
  • Tools run with the permissions of the program that hosts them, so you still have to audit what each tool can touch.
  • It is a library that runs in your own process, not a hosted service, so you still have to deploy and operate it.
6 · Go deeper

Sources used

This explainer is written in original language. The links below support its factual claims.

  1. officialIntroducing Strands Agents, an Open Source AI Agents SDK, AWS Open Source Blog · read 28 Sept 2026
  2. repostrands-agents/harness-sdk, GitHub (Strands Agents) · read 28 Sept 2026
  3. docsAgent Loop, Strands Agents · read 28 Sept 2026
  4. docsPython Quickstart, Strands Agents · read 28 Sept 2026
  5. docsAdd tools to your agent, Strands Agents · read 28 Sept 2026
  6. docsModel Providers, Strands Agents · read 28 Sept 2026