核心用法
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 缓存点、流式输出需监控,多智能体场景调用链复杂