© 2026FindAgent  · @simprr
返回列表
s

strands-agents/sdk-python

A model-driven approach to building AI agents in just a few lines of code.

agenticagentic-aiagentsaianthropicautonomous-agentsbedrockgenailitellmllamallmmachine-learningmcpmulti-agent-systemsollamaopenaiopentelemetrypythonstrands-agents
⭐

5.4k

Stars

🔱

744

Forks

👁

47

Watchers

📋

441

Issues

PythonApache-2.0创建于 2025/5/14更新于 今天
在 GitHub 上查看访问主页
README
由 Gemini 翻译整理

Strands Agents

一种以模型为驱动的方法,只需几行代码即可构建 AI Agent。

文档 ◆ 示例 ◆ Python SDK ◆ 工具 ◆ Agent 构建器 ◆ MCP Server

Strands Agents 是一个简洁而强大的 SDK,采用模型驱动的方法来构建和运行 AI Agent。从简单的对话助手到复杂的自主工作流,从本地开发到生产环境部署,Strands Agents 都能随您的需求扩展。

功能概览

  • 轻量级与灵活性:简单的 Agent 循环机制,即插即用且完全可定制。
  • 模型不可知(Model Agnostic):支持 Amazon Bedrock、Anthropic、Gemini、LiteLLM、Llama、Ollama、OpenAI、Writer 以及自定义提供商。
  • 高级功能:支持多 Agent 系统、自主 Agent 和流式传输(streaming)。
  • 内置 MCP:原生支持 Model Context Protocol (MCP) 服务器,可访问数千种预构建的工具。

快速开始

# 安装 Strands Agents
pip install strands-agents strands-agents-tools
from strands import Agent
from strands_tools import calculator
agent = Agent(tools=[calculator])
agent("What is the square root of 1764")

注意:对于默认的 Amazon Bedrock 模型提供商,你需要配置 AWS 凭证,并在 us-west-2 区域开启 Claude 3.5 Sonnet 的模型访问权限。有关配置其他模型提供商的详细信息,请参阅快速入门指南。

安装

确保已安装 Python 3.10+,然后执行:

# 创建并激活虚拟环境
python -m venv .venv
source .venv/bin/activate  # Windows 下请使用: .venv\Scripts\activate

# 安装 Strands 和工具
pip install strands-agents strands-agents-tools

功能速览

基于 Python 的工具

使用 Python 装饰器轻松构建工具:

from strands import Agent, tool

@tool
def word_count(text: str) -> int:
    """Count words in text.

    This docstring is used by the LLM to understand the tool's purpose.
    """
    return len(text.split())

agent = Agent(tools=[word_count])
response = agent("How many words are in this sentence?")

从目录热加载(Hot Reloading): 启用从 ./tools/ 目录自动加载和重载工具:

from strands import Agent

# Agent 将监控 ./tools/ 目录的变化
agent = Agent(load_tools_from_directory=True)
response = agent("Use any tools you find in the tools directory")

MCP 支持

无缝集成 Model Context Protocol (MCP) 服务器:

from strands import Agent
from strands.tools.mcp import MCPClient
from mcp import stdio_client, StdioServerParameters

aws_docs_client = MCPClient(
    lambda: stdio_client(StdioServerParameters(command="uvx", args=["awslabs.aws-documentation-mcp-server@latest"]))
)

with aws_docs_client:
   agent = Agent(tools=aws_docs_client.list_tools_sync())
   response = agent("Tell me about Amazon Bedrock and how to use it with Python")

多种模型提供商

支持各种模型提供商:

from strands import Agent
from strands.models import BedrockModel
from strands.models.ollama import OllamaModel
from strands.models.llamaapi import LlamaAPIModel
from strands.models.gemini import GeminiModel
from strands.models.llamacpp import LlamaCppModel

# Bedrock
bedrock_model = BedrockModel(
  model_id="us.amazon.nova-pro-v1:0",
  temperature=0.3,
  streaming=True, # 启用/禁用流式传输
)
agent = Agent(model=bedrock_model)
agent("Tell me about Agentic AI")

# Google Gemini
gemini_model = GeminiModel(
  client_args={
    "api_key": "your_gemini_api_key",
  },
  model_id="gemini-2.5-flash",
  params={"temperature": 0.7}
)
agent = Agent(model=gemini_model)
agent("Tell me about Agentic AI")

# Ollama
ollama_model = OllamaModel(
  host="http://localhost:11434",
  model_id="llama3"
)
agent = Agent(model=ollama_model)
agent("Tell me about Agentic AI")

# Llama API
llama_model = LlamaAPIModel(
    model_id="Llama-4-Maverick-17B-128E-Instruct-FP8",
)
agent = Agent(model=llama_model)
response = agent("Tell me about Agentic AI")

内置提供商:

  • Amazon Bedrock
  • Anthropic
  • Gemini
  • Cohere
  • LiteLLM
  • llama.cpp
  • LlamaAPI
  • MistralAI
  • Ollama
贡献者
pzUddpmaJa
项目信息
默认分支main
LicenseApache License 2.0
创建时间2025/5/14
最近更新今天
GAI 中文摘要

Strands Agents 是一款基于模型驱动的 Python 开发套件,旨在帮助开发者仅通过少量代码即可构建和运行 AI Agent。该项目有效简化了从基础对话助手到复杂自主工作流的开发过程,能够轻松实现从本地开发到生产环境的平滑部署。

支持轻量且灵活的代理循环机制,方便开发者进行高度定制化开发。

具备模型无关性,全面兼容 OpenAI、Anthropic、Ollama、Amazon Bedrock 等主流模型及自定义服务商。

内置对 Model Context Protocol (MCP) 的原生支持,可直接接入海量预构建的外部工具与生态资源。

支持多智能体协作系统与代理自主决策逻辑,并提供完善的实时流式输出支持。

该项目适用于希望快速构建高性能 AI 代理的开发人员,特别适合需要集成复杂工具、处理多智能体交互或追求生产级部署灵活性的应用场景。