AWS 出品的模型驱动 Agent SDK:几行代码起一个 Agent,需要控制时给你完整的 harness。

Strands Agents 是什么?

Strands Agents 是 AWS 用来构建自家 Agent 的开源 SDK——Amazon Q Developer、AWS Glue 都在用——Apache-2.0 协议,现已发展为同时包含 Python 和 TypeScript SDK 的 monorepo。它的立身之本是"模型驱动":不手工编排图,而是给一个足够强的模型一段系统提示和一组工具,让模型自己规划循环。一个 Agent 往往三行代码就能跑起来;复杂度留给工具和模型,而不是框架。

当前 SDK 的差异化在"harness"这个定位:上下文管理、执行限制、可拦截循环任意步骤的 hooks、guardrails、以及让 Agent 自我纠偏而非静默失败的 steering handler——这些在你写一行配置之前就已内置。它是模型无关的(默认 Bedrock,对 Anthropic、OpenAI、Gemini 也是一等支持),原生支持 MCP,覆盖多 Agent 模式、流式传输和结构化输出。部署天然搭配 Amazon Bedrock AgentCore,获得托管运行时、记忆与身份能力。

这一条我们有第一手经验:本站后端就跑在 Strands Agents + Bedrock 上——一个带 24 个工具的 Agent,配技能包、子 Agent 派生,以及基于摘要会话管理器的上下文压缩。诚实的注意事项:社区比 LangChain 年轻且小,别人查 Stack Overflow 的问题你可能要读源码;它确实支持多云,但最顺滑的路径(Bedrock 鉴权、AgentCore 部署)明显穿过 AWS。

核心能力

  • 模型驱动循环:一段提示加一组工具,几行代码定义 Agent——模型自己规划,无需连图
  • 完整 harness 控制:循环每一步都可挂 hook,guardrail、steering handler、上下文管理、执行限制齐备
  • Python 与 TypeScript 双 SDK,原生 MCP、流式、结构化输出与多 Agent 模式
  • 模型无关:默认 Bedrock,一等支持 Anthropic、OpenAI、Gemini,可自定义供应商
  • 经 Amazon Bedrock AgentCore 走向生产(托管运行时、记忆、身份)——在 AWS 自家产品中久经实战

什么时候该用它

在 AWS 或 Bedrock 上就选 Strands——论 Bedrock 鉴权、AgentCore 部署和周边 AWS 技术栈的整合度,没有对手——或者你认同它的模型驱动哲学:现代模型比手工编排图更会规划。本站生产后端就在用它,"几行代码跑起 Agent"的说法经得起检验。但需要庞大集成目录(LangChain)、显式检查点的图工作流(LangGraph)、或团队更想要老牌框架的大社区和教程储备时,就跳过它。

替代方案

常见问题

Strands Agents 只能在 AWS 上用吗?

不是,只是 AWS 这条路最顺。SDK 是 Apache-2.0 开源且模型无关的:默认 Amazon Bedrock 之外,对 Anthropic、OpenAI、Gemini API 都是一等支持,还能接自定义供应商。任何能跑 Python 或 Node 的地方都能跑 Strands Agent。真正 AWS 专属的是托管部署方案:Bedrock AgentCore 提供的运行时、记忆和身份。

Strands Agents 的"模型驱动"是什么意思?

意思是规划交给模型。你不定义编排图或状态机,只给 Agent 一段系统提示和一组工具;调哪个工具、什么顺序、任务何时算完,由模型决定。这让 Agent 代码极小——常常就几行——并且随模型进步自动变强,代价是控制流不如图式框架确定。

AWS 自己真的在生产环境用 Strands 吗?

真的。Strands 诞生于 AWS 内部,驱动着 Amazon Q Developer、AWS Glue 等产品里的 Agent,是内部验证后才开源的。它也是在 Amazon Bedrock AgentCore 平台上构建 Agent 的推荐 SDK。AWS 之外,不少小团队也在生产使用——包括本站后端:一个跑在 Bedrock 上、带 24 个工具的 Agent。

星标数据更新于 2026-07-02 · 每周从 GitHub API 自动刷新 · 浏览全部工具 →