Strands Agents
用 Python 或 TypeScript 构建并端到端控制生产级 AI Agent 的 SDK。
- Star 数
- ★ 9.1k
- 最近更新
- 今天
- License
- Apache-2.0
- 主语言
- TypeScript
- FA 评分
- 30/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 需要在 Python 服务中为用户问题调用模型和 calculator 等工具的后端开发者。
- 不适合
- 需要托管控制平面或免运维部署的团队
- 只使用 Python 3.9 或更早版本、Node.js 20 以下环境的团队
这个 Agent 能做什么,适合哪些场景?
Strands Agents 是一个用于构建和运行 AI Agent 的开源 SDK 单仓库,包含 Python SDK、TypeScript SDK、开发者 CLI、文档站点和治理资料。两个 SDK 都提供 Agent loop、模型提供商接入与工具机制,可用于从对话助手到自主工作流的实现。应用可通过 Python 的 Agent 或 TypeScript 的 Agent 创建执行实例,并以工具、模型提供商和运行控制扩展其行为。项目明确提供 MCP、流式处理、多 Agent 模式和结构化输出能力,并支持 Amazon Bedrock、Anthropic、OpenAI、Gemini 及自定义模型提供商。默认模型提供商是 Amazon Bedrock;部署和运行的具体基础设施仍由采用者自行配置。
开发者在 Python 中从 strands 导入 Agent,并可将 strands_tools 的 calculator 等工具传入 Agent(tools=[calculator]);随后以 agent("What is the square root of 1764") 发起一次任务。TypeScript 中可创建 new Agent(),再通过 await agent.invoke("What is the square root of 1764?") 获得 result 并输出。SDK 的 Agent loop 负责执行 Agent 工作流,并结合模型提供商和工具;README 还说明可用 hooks 拦截步骤、记录、验证或重定向处理,并提供 guardrails 与 steering handlers。仓库同时包含 strands-mcp 相关入口,以及文档站点、Python/TypeScript 构建与测试工作流。
- 需要在 Python 服务中为用户问题调用模型和 calculator 等工具的后端开发者。
- 正在用 Node.js 20+ 和 TypeScript 开发 Agent 应用,并希望通过 Agent.invoke() 获取调用结果的团队。
- 需要在 Amazon Bedrock、Anthropic、OpenAI、Gemini 或自定义模型提供商之间选择模型后端的平台工程团队。
- 希望在 Agent loop 的步骤中插入日志、验证或重定向逻辑的生产系统开发者。
- 需要 MCP、双向流式处理、结构化输出或多 Agent 模式的 Agent 工作流实现者。
如何安装或部署这个 Agent?
Python 需要 Python 3.10+:
pip install strands-agents strands-agents-toolsTypeScript 需要 Node.js 20+:
npm install @strands-agents/sdk两个 SDK 默认使用 Amazon Bedrock。使用默认配置前,需要配置 AWS 凭证,并启用 Claude Sonnet 的模型访问权限。
如何使用这个 Agent?
Python:
from strands import Agent
from strands_tools import calculatoragent = Agent(tools=[calculator])
agent("What is the square root of 1764")TypeScript:
import { Agent } from '@strands-agents/sdk'const agent = new Agent()
const result = await agent.invoke('What is the square root of 1764?')
console.log(result)若不使用默认 Bedrock 提供商,README 明确列出 Anthropic、OpenAI、Gemini、Ollama 等其他提供商,但未给出其具体配置命令。
这个 Agent 有哪些优点和局限?
- 同一仓库同时提供 Python 和 TypeScript SDK,且两者都围绕 Agent loop、模型提供商和工具构建。
- 明确支持 Amazon Bedrock、Anthropic、OpenAI、Gemini、更多提供商及自定义提供商,适合避免把应用逻辑固定在单一模型后端。
- hooks 可在 Agent 执行步骤中进行记录、验证或重定向;README 还列出 guardrails 和 steering handlers。
- MCP、流式处理、多 Agent 模式和结构化输出被列为内置能力,而非仅限示例项目。
- 仓库包含文档站点、开发者 CLI 与跨 SDK 的治理资料,便于同时维护代码、文档和协作规范。
- 默认路径依赖 AWS 凭证以及已启用的 Claude Sonnet Amazon Bedrock 模型访问,未具备这些条件时不能按默认示例直接运行。
- Python 与 TypeScript 有不同运行时要求和工具链:Python 需要 3.10+,TypeScript 需要 Node.js 20+。
- README 仅说明其他提供商可用,未在给出的材料中提供 Anthropic、OpenAI、Gemini 或 Ollama 的具体配置步骤。
- 生产部署、模型选择、上下文管理策略和观测系统的具体配置仍需采用者设计,材料未给出一键部署流程。
- strands-mcp 虽在仓库导航中出现,但给出的材料未说明其安装、认证或暴露的具体 MCP 功能。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Strands Agents 当前 | 30 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 9.1k | 今天 | TypeScript | OpenAI API · Claude API |
| Agently AI 应用运行时 | 63 · 存在缺口 | 代码库 / SDK免费 + 模型费 | ★ 1.7k | 24 天前 | Python | OpenAI API · Claude API |
| Mirascope | 55 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 1.5k | 今天 | Python | Claude API |
| Composio | 51 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 31k | 今天 | TypeScript | Claude Code · OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示仓库包含安全策略(SECURITY.md)和贡献指南,但未提供权限模型、用户确认机制、数据流透明度或敏感数据处理细节。依赖安全未提及,外部影响未描述,回滚机制未说明,来源归属仅通过README中的品牌提及,但发布者未验证。因此所有信任标准得分为0。
自一致性:README和pyproject.toml中的Python版本要求一致(>=3.10),但未发现内部矛盾。依赖可用性:依赖列表存在,但未提供锁定或验证机制。失败消息:未提供错误处理或用户可见的失败消息。因此自一致性得2,依赖可用性得1,失败消息得0。
受众和场景:README描述了多种使用场景(从简单对话到复杂工作流),但未明确目标受众。能力边界:未明确说明限制。触发精度:未提供触发机制。环境适配:提供了Python和TypeScript的安装说明,但未提及操作系统或云环境兼容性。因此受众和场景得2,能力边界得1,触发精度得0,环境适配得2。
信息架构:README提供了清晰的目录结构。安装说明:提供了pip和npm安装命令。命名稳定性:未提及API稳定性。示例和FAQ:提供了快速入门示例,但无FAQ。已知限制:未提及。许可证:明确Apache-2.0。版本和变更日志:未提供变更日志。维护责任:未明确。因此信息架构得2,安装说明得2,命名稳定性得1,示例和FAQ得2,已知限制得0,许可证得2,版本和变更日志得1,维护责任得1。
输出可用性:示例展示了基本用法,但未展示输出格式。边际价值:提供了多模型支持和MCP等特性,但未与其他框架比较。成本效益:未提供性能或成本数据。因此输出可用性得1,边际价值得2,成本效益得1。
声明可追溯性:README中的声明未链接到具体代码或测试。跨来源佐证:未提供外部验证。事实与推断分离:未明确区分。因此所有标准得1。
- 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
- 发布者身份未验证,应视为未知,不要基于品牌信任。
- 未提供权限模型、数据流透明度和敏感数据处理细节,使用前需自行评估。
- 依赖安全未提及,建议检查依赖锁定和漏洞扫描。
- 未提供回滚机制,生产环境需谨慎。
- 未提供已知限制和失败消息,可能影响故障排查。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
typescript/v1.24.0 _Auto-drafted from commits in typescript/v1.23.0..typescript/v1.24.0, grouped by conventional-commit type. Edit on the release page after publish if you want a polished writeup; the canonical release notes live on the website._ 🚀 Features - feat(docs): add migration guide from strands-agents-tools (#5730) (f078b5c71) - feat(openai): place explicit cache points on GPT-5.6+ by default (#5418) (663987245) - feat(site): import versioned external docs (#5666) (e4a0ee28d) - feat(ts): let ClassifierStrategy route with any DecisionModel (#5219) (6d14c4a15) …在 GitHub 查看 ↗ -
发布说明摘录
python/v1.64.0 _Auto-drafted from commits in python/v1.63.0..python/v1.64.0, grouped by conventional-commit type. Edit on the release page after publish if you want a polished writeup; the canonical release notes live on the website._ 🚀 Features - feat(docs): add migration guide from strands-agents-tools (#5730) (f078b5c71) - feat(openai): place explicit cache points on GPT-5.6+ by default (#5418) (663987245) - feat(site): import versioned external docs (#5666) (e4a0ee28d) - feat(ts): let ClassifierStrategy route with any DecisionModel (#5219) (6d14c4a15) …在 GitHub 查看 ↗ -
发布说明摘录
harness-cli/v0.2.4 _Auto-drafted from commits in harness-cli/v0.2.3..harness-cli/v0.2.4, grouped by conventional-commit type. Edit on the release page after publish if you want a polished writeup; the canonical release notes live on the website._ 🚀 Features - feat(docs): add migration guide from strands-agents-tools (#5730) (f078b5c71) - feat(openai): place explicit cache points on GPT-5.6+ by default (#5418) (663987245) - feat(site): import versioned external docs (#5666) (e4a0ee28d) - feat(ts): let ClassifierStrategy route with any DecisionModel (#5219) (6d14c4a15) …在 GitHub 查看 ↗