由 Amazon 演化而来的 TypeScript AI Agent 编排框架,支持多模型、MCP 工具、多 Agent 编排与 OpenTelemetry 可观测性。
Strands Agents TypeScript SDK(@strands-agents/sdk)是一个面向 TypeScript/JavaScript 开发者的 AI Agent 编排框架,由 Amazon 内部生产系统演化而来,采用 Apache-2.0 许可开源。SDK 以 Agent 类为中央编排器,封装了完整的 Agent 循环(用户输入 → 模型推理 → 工具调用 → 结果反馈),开发者只需几行代码即可构建具备工具调用能力的 AI Agent。
框架支持五大模型提供者——Amazon Bedrock(默认)、OpenAI、Anthropic、Google 和 Vercel AI SDK,所有非默认提供者按需安装。工具系统方面,支持通过 tool() 函数 + Zod schema 定义类型安全的自定义工具,内置 Notebook、File Editor、HTTP Request、Bash 等工具,并原生集成 MCP(Model Context Protocol),可直接接入 MCP 生态的外部工具服务器。结构化输出基于 Zod schema 定义,框架自动验证并重试,确保输出符合预期类型。
多 Agent 编排提供三种模式:Graph(确定性有向图,支持并行节点)、Swarm(Agent 自主路由,动态执行路径)和 Workflow。此外支持 Agents as Tools(Agent 作为工具被其他 Agent 调用)和 A2A(Agent-to-Agent)协议互操作,含 Express 服务器适配实现。
可观测性方面,框架提供完整的生命周期钩子系统(BeforeToolCallEvent、AfterToolCallEvent 等),支持拦截、取消和修改行为,可用于实现安全护栏。原生集成 OpenTelemetry,支持 traces 和 metrics 的 OTLP HTTP 导出。对话管理提供 Null、Sliding Window、Summarizing 三种策略,会话可持久化至文件系统或 S3。
SDK 以 ESM 模块发布,要求 Node.js ≥ 20,同时支持浏览器环境运行。仓库为 npm workspaces monorepo 结构,除核心 strands-ts 外还包含 CLI 工具(strands-dev)和 WASM 桥接层(strands-wasm,开发中)。需注意 TS 版本暂不支持双向流式和 Agent Steering,这两项能力目前仅 Python SDK 提供。