Introducing Strands Agents, an Open Source AI Agents SDK — Suman Debnath, AWS

Introducing Strands Agents SDK 00:19

  • Strands is an open-source SDK designed to simplify AI agent creation by minimizing scaffolding, requiring only a tool and a model.
  • The SDK leverages the increasing intelligence of models to handle reasoning, reducing the need for extensive prompts or system prompts.
  • Strands integrates with various third-party providers like Langfuse and LiteLLM, allowing users to choose any model, including Bedrock hosted models, LiteLLM, or local LLaMA instances.
  • The core agentic loop in Strands revolves around models and tools, which are represented by the two strands in its logo.

Demo 1: File and Speech Operations 01:50

  • A simple demo showcased reading a file from disk, generating a summary, writing the summary to a local drive, and having the agent speak the result.
  • This demo utilized Strands' default tools for file reading, file writing, and speech generation, eliminating the need for custom tool development.
  • Installation of Strands agents and tools is done via pip install, providing a set of default tools, though custom tools can also be created.
  • By default, Strands uses the Bedrock model (Cloud 3.7), but users can define and use any other model of their choice, such as Ollama.
  • Agent creation involves providing a model ID, an optional system prompt (as the model can reason independently), and the required tools.

Demo 2: Manim Video Generation with MCP 05:14

  • A second demo illustrated Strands' integration with an MCP (Multi-Agent Communication Protocol) server to generate animated videos using the Manim library, inspired by the "Three Blue One Brown" YouTube channel.
  • The setup assumes an existing MCP server capable of generating these videos, which the Strands agent then interacts with via an MCP client.
  • The Strands agent's tool in this scenario is the MCP server itself, with the manim_client.list_tool_sync function broadcasting the server's available tools to the agent.
  • The agent was prompted to create a visualization for a cubic equation within a specified range (x=-3 to x=3) without explicit scaffolding or system prompts, relying on the model's reasoning.
  • The process requires the MCP server to be running before the Strands agent is initiated, demonstrating how the agent automates the generation of complex Manim code and animations.
  • The MCP server code defines tools by decorating Python functions with @mcp.decorator, allowing them to be exposed and used by the Strands agent.

Custom Tool Creation and Resources 11:59

  • Users can create custom tools by simply decorating any Python function with @tools from the Strands library, making that function available for use by an agent.
  • These custom tools can be combined with Strands' default tools (e.g., read file, write file, speak) when defining an agent.
  • Resources for learning more about Strands include its GitHub repository, launch blog, and documentation available at strandsagent.com.
  • Strands is an open-source project that encourages community contributions, including raising PRs for sample code and providing feedback.