Strands

🧬 AWS开源多模型Agent框架

AWS开源的Python AI Agent开发框架,支持11种模型提供商、MCP协议、多智能体编排,适合构建企业级自主代理工作流。

收藏
9.1k
安装
2.1k
版本
1.0.0
CLS 安全性认证2026-08-12
点击查看完整报告 >

使用说明

核心用法

Strands Agents SDK 是 AWS 推出的 Apache-2.0 开源 Python 框架,用于构建自主 AI Agent。核心组件为 Agent 类,默认集成 Amazon Bedrock(Claude Sonnet 4),同时支持 Ollama、Anthropic、OpenAI、Gemini 等 11 种模型提供商。

基础调用模式:

  • 极简初始化:Agent() 自动使用 Bedrock,无需配置模型参数
  • 显式模型指定:Agent(model=OllamaModel(...)) 或 Agent(model=AnthropicModel(...))

核心能力:

  • 工具系统:@tool 装饰器自动从类型提示生成 JSON Schema,支持 ToolContext 状态共享
  • 46个内置工具:文件操作、Shell、HTTP、代码执行、记忆存储、图像生成、Slack 集成等
  • MCP 集成:原生支持 Model Context Protocol,可连接任意 MCP 服务器(stdio/SSE 传输)
  • 多智能体模式:Swarm(自组织团队)、Graph(DAG 工作流)、A2A(Agent-to-Agent 协议)
  • 会话持久化:File/S3 存储,支持跨运行状态保持
  • 可观测性:内置 OpenTelemetry 链路追踪

显著优点

  • 企业级默认:Bedrock 原生集成,支持 Guardrails 内容过滤、缓存点优化成本、跨区域推理
  • 多提供商灵活:11 种模型后端,非 Bedrock 延迟加载,避免依赖膨胀
  • 开发体验:热重载工具目录、脚手架脚本快速生成 Agent 模板
  • 协议兼容:A2A 协议实现跨进程/跨网络标准化通信,MCP 生态无缝接入
  • 实验特性:双向流式语音交互(Nova Sonic、Gemini Live、OpenAI Realtime)

潜在局限

  • API 演进快:SDK 版本较新(v2.0.0),建议固定版本号避免破坏性变更
  • Bedrock 强绑定:无模型参数时强制 AWS 凭证,非 AWS 用户需显式配置
  • Ollama 工具调用限制:精简/abliterated 模型常丢失 function calling 能力
  • Anthropic 必填参数:max_tokens 为 Required[int],遗漏即运行时错误
  • 实验功能不稳定:Bidi 流式 API 明确标记为实验性,接口可能变动

适合人群

  • 企业开发者:需 AWS 原生集成、合规审查、成本优化的生产级 Agent
  • 多智能体架构师:Swarm/Graph/A2A 模式支持复杂协作工作流
  • 工具生态整合者:MCP 协议兼容,可接入庞大工具服务器生态
  • 本地优先用户:Ollama 支持 + 46 个内置工具,适合离线原型开发

常规风险

  • 凭证管理:Bedrock/Anthropic/OpenAI 均需环境变量或配置文件,存在密钥泄露风险
  • 代码执行安全:shell、python_repl 等工具默认可用,需沙箱隔离
  • 无限循环:Swarm max_handoffs 默认 20 次,配置不当可能导致资源耗尽
  • 模型成本失控:Bedrock 缓存点、流式输出需监控,多智能体场景调用链复杂

安全解读

核心用法

Strands Agents SDK 是 AWS 开源的 Python Agent 开发框架封装技能,提供从单 Agent 到多 Agent 协作的完整工具链。核心使用场景包括:

单 Agent 开发:通过 Agent(model=...) 快速创建智能体,支持 Amazon Bedrock(默认)、Ollama、Anthropic、OpenAI 等 11 种模型提供商。使用 @tool 装饰器可将任意 Python 函数转换为 Agent 工具,类型提示自动生成 JSON Schema。

工具生态:内置 46 个预置工具(strands-agents-tools),涵盖文件操作、Shell 执行、HTTP 请求、图像生成、向量检索、Slack 集成等。支持热重载(load_tools_from_directory=True)和 MCP 协议集成,可无缝对接外部工具服务。

多 Agent 模式:提供三种编排范式——Agents as Tools(嵌套调用)、Swarm(自组织智能体群,支持自主 handoff)、Graph(DAG 确定性执行,支持循环依赖)。同时支持 Google A2A 协议,实现跨进程/跨网络的标准化 Agent 通信。

工程化能力:包含脚手架生成(create-agent.py)、会话持久化(File/S3 SessionManager)、OpenTelemetry 可观测性、双向流式语音交互(实验性)等生产级特性。

显著优点

模型中立性:唯一同时原生支持 Bedrock、Ollama、Anthropic、OpenAI、Gemini、LiteLLM 等主流提供商的 Python Agent 框架,切换模型仅需修改 model= 参数。

AWS 原生集成:深度整合 Amazon Bedrock(默认模型)、Guardrails 内容过滤、跨区域推理、缓存优化等企业级特性,适合已有 AWS 基础设施的用户。

协议先进性:首批原生支持 MCP(Model Context Protocol)和 Google A2A 协议的框架,工具生态可无缝迁移,避免供应商锁定。

开发效率:@tool 装饰器实现零配置工具注册,类型提示即文档;Swarm/Graph 模式将多 Agent 复杂度封装为声明式 API,大幅降低协调逻辑编写成本。

潜在缺点与局限性

版本迭代风险:SDK 处于快速迭代期(当前验证版本 1.23.0),API 可能在版本间发生破坏性变更,需严格锁定依赖版本。

本地模型限制:Ollama 等开源模型存在工具调用能力不稳定问题(abliterated 模型常丢失 function calling),生产环境建议使用 Claude/GPT 等商业模型。

权限边界模糊:生成代码默认包含任意文件读写和 Shell 执行能力,虽提供安全提示但缺乏内置沙箱机制,需用户自行隔离。

生态成熟度:相比 LangChain/LangGraph,第三方集成和社区资源较少,部分高级功能(如双向流式)仍为实验性 API。

适合的目标群体

  • AWS 云原生开发者:已使用 Bedrock/Guardrails 的企业工程团队
  • 多模型策略团队:需要灵活切换模型提供商或混合使用本地/云端模型的场景
  • Agent 协议先行者:希望采用 MCP/A2A 标准构建可互操作工具生态的架构师
  • Python 后端工程师:偏好原生 Python 而非 Node.js/TypeScript 技术栈的开发者

使用风险

代码执行风险:生成的 Agent 模板包含 subprocess.run(shell=True) 和任意路径文件写入,建议在 Docker 容器或专用虚拟机中运行,避免在含敏感凭证(~/.aws、~/.ssh)的目录执行。

密钥管理风险:依赖 ANTHROPIC_API_KEY、OPENAI_API_KEY 等环境变量,需使用 AWS Secrets Manager 或类似方案替代明文存储,防止意外提交至版本控制。

供应链风险:虽依赖包(strands-agents)来自 AWS 官方,但快速版本迭代可能引入未预见的破坏性变更,建议 CI/CD 中锁定版本并设置自动化回归测试。

MCP 服务风险:连接外部 MCP 服务时需审查其权限范围,避免代理执行未授权的数据访问操作。

Strands 内容

references文件夹
scripts文件夹
tests文件夹
手动下载zip · 14.7 kB
cheatsheet.mdtext/markdown
请选择文件