strands

🧬 企业级多模型AI代理开发框架

AWS开源Strands SDK技能,支持Bedrock/Anthropic/OpenAI等11种模型构建自主代理与多智能体工作流,提供46种内置工具及MCP/A2A协议集成能力。

收藏
2.1k
安装
965
版本
v2.0.3
CLS 安全性认证2026-05-17
点击查看完整报告 >

使用说明

核心用法

Strands Agents SDK 是一个基于 Python 的 AI Agent 开发框架,支持通过简洁的 API 快速构建自主代理。核心使用方式围绕 Agent 类展开,开发者可通过 Agent(model=..., tools=[...]) 模式配置代理。框架默认集成 Amazon Bedrock(Claude Sonnet 4),同时支持 Ollama 本地模型、Anthropic、OpenAI、Gemini 等共 11 种模型提供商。

工具创建采用装饰器模式,使用 @tool 即可将函数转换为代理可用工具,类型提示自动生成 JSON Schema。框架内置 46 种预置工具(文件操作、Shell 命令、HTTP 请求、图像生成等),并支持 MCP(Model Context Protocol)协议集成,可连接任意 MCP 服务器扩展能力。多 Agent 架构提供三种模式:嵌套代理(Agents as Tools)、Swarm 模式(自主协调的多代理团队)和 Graph 模式(基于 DAG 的确定性执行流)。

显著优点

多模型生态支持:涵盖从本地 Ollama 到企业级 Bedrock 的全谱系模型,支持跨云部署和模型降级策略。Apache-2.0 开源协议确保商业友好性。

丰富的工具生态:46 种内置工具覆盖计算、文件系统、网络、数据库、向量存储等场景,支持热重载(hot reload)开发模式,无需重启即可更新工具代码。

标准化协议集成:原生支持 MCP 协议连接外部工具服务,以及 Google A2A(Agent-to-Agent)协议实现跨进程代理通信,便于构建分布式智能体系统。

企业级特性:内置 OpenTelemetry 可观测性追踪、Bedrock Guardrails 内容过滤、跨区域推理支持,以及基于 S3/File 的会话持久化机制。

潜在缺点与局限性

安全风险显著run_command 工具使用 shell=True 执行命令,存在命令注入漏洞;文件操作工具缺乏路径验证,可能导致目录遍历攻击。作为 T3 来源(个人开发者维护)而非 AWS 官方直接分发,代码审计责任需用户自行承担。

实验性功能不稳定:双向流式语音对话(BidiAgent)标记为实验性,API 可能变更;Swarm 和 Graph 模式在高并发场景下的性能表现未经大规模生产验证。

环境配置复杂:多模型提供商需要各自独立的 API 密钥配置(Anthropic 必须提供 max_tokens,Ollama 需处理工具调用兼容性),增加了部署复杂度。部分开源模型(特别是消融模型)可能丧失工具调用能力。

适合的目标群体

适用于需要构建复杂 AI Agent 系统的 Python 开发者、AI 工程师和解决方案架构师。特别适合以下场景:多步骤任务自动化(研究-写作-审核流程)、需要混合使用本地和云端模型的混合云部署、以及需要与现有 MCP 工具生态集成的企业环境。

不建议在高安全性要求的生产环境(金融交易、医疗诊断、关键基础设施)中直接使用,也不适用于处理不可信用户输入的场景。

使用风险

命令执行风险:由于 shell=True 和缺乏输入验证,恶意提示词可能导致任意代码执行。建议在容器化环境(Docker/K8s)中运行,并配置只读文件系统。

数据隐私风险:虽然技能本身不上传数据,但默认 Bedrock 和第三方 API(OpenAI/Anthropic)会将请求发送至云端,敏感数据可能泄露。本地 Ollama 模式可避免此风险。

依赖供应链风险:依赖社区维护的 strands-agents 包,虽为 AWS 开源项目,但 Skill 本身由个人开发者打包,存在供应链攻击面。建议锁定依赖版本并审计 create-agent.pyrun-agent.py 脚本。

权限提升风险:代理拥有 Python 执行权限和文件系统访问权限,在共享环境中可能意外访问其他项目数据。建议以最小权限用户运行,并启用文件系统沙箱。

安全解读

核心定位

AWS Strands Agents SDK 的官方 Claude 技能封装,提供 Python 原生方式构建、运行和编排 AI 代理。核心能力覆盖从单 Agent 到复杂多智能体系统的完整生命周期管理。

核心用法

Agent 实例化Agent() 无参默认调用 Amazon Bedrock(Claude Sonnet 4,us-west-2),需配置 AWS 凭证;显式指定 model= 可切换至 Ollama/Anthropic/OpenAI/Gemini 等 11 种提供商。

工具系统@tool 装饰器将任意 Python 函数转为 LLM 可调工具,类型提示自动生成 JSON Schema;46 个内置工具覆盖文件操作、网络请求、代码执行、图像生成等场景;支持目录热重载开发模式。

多 Agent 模式:三种官方范式——Agents-as-Tools(嵌套代理)、Swarm(自组织蜂群,支持自主 handoff 协调)、Graph(DAG 确定性执行,支持循环反馈);均兼容 Session 持久化。

MCP 与 A2A 协议MCPClient 对接任意 Model Context Protocol 服务器(stdio/SSE 传输);A2AServer 将 Strands 代理暴露为 Google A2A 协议端点,实现跨进程/跨网络标准化通信。

开发者体验:脚手架命令快速生成代理目录;pipx 隔离安装;OpenTelemetry 原生埋点;双向流式语音对话(实验性)。

显著优点

  • 提供商生态完整:Bedrock 为默认且深度优化(guardrails、缓存点、跨区域推理),同时开放兼容开源/第三方模型
  • 架构设计先进:Swarm 的自主协调、Graph 的确定性编排、MCP 的标准化工具接入,形成层次清晰的工程范式
  • AWS 集成深度:Guardrails 内容过滤、S3 Session 持久化、SageMaker 自定义端点等企业级能力
  • 安全合规基线高:Apache-2.0 许可、无硬编码密钥、GDPR/CCPA 合规通过

潜在局限

  • API 演进活跃:SDK 版本较新,接口存在变更风险,需固定依赖版本
  • 本地模型限制:Ollama 部分模型(尤其 abliterated 版本)可能丢失工具调用能力
  • 学习曲线:多 Agent 模式(Swarm/Graph/A2A)概念密集,需理解 handoff、state 共享、session 生命周期
  • Bedrock 区域锁定:默认 us-west-2,跨区域需显式配置

适合人群

  • 企业级 AI 代理系统开发者(需 Bedrock 合规、guardrails、审计能力)
  • 多 Agent 架构研究者(Swarm/Graph/MCP/A2A 协议实践)
  • 希望从单模型调用迁移到工具增强/代理编排的团队
  • 已有 AWS 基础设施,寻求深度集成的组织

常规风险

| 风险项 | 说明 | 缓解措施 |
|--------|------|---------|
| 代码生成安全 | 脚手架含 `subprocess shell=True`,存在注入风险 | 仅用于本地开发,生产环境替换为 `shell=False` 或白名单 |
| 凭证管理 | 多提供商需配置环境变量(AWS/OpenAI/Anthropic) | 使用 secrets 管理,避免硬编码 |
| 本地服务暴露 | Ollama/MCP 默认监听 localhost | 生产环境禁用或配置认证/防火墙 |
| 模型行为不确定 | 开源模型工具调用能力参差不齐 | 优先验证 qwen3/llama3.x/mistral 等 stock 模型 |

评估结论

T1 可信来源 + S 级安全认证,是企业级 Agent 基础设施的稳健选择。建议团队先以单 Agent + 内置工具验证模型能力,再逐步引入 Swarm/Graph 复杂编排。

strands 内容

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