亚马逊云科技开源 Strands Decider 2B 与 Strands Box:给智能体补上「做决策」和「守边界」两块拼图

InfoQ 中文 2026-10-29T16:00:00+08:00

亚马逊云科技在 Strands 生态下开源了两个项目:20 亿参数的决策小模型 Strands Decider 2B,让智能体从预定义选项中做选择,而不是生成长篇文本;以及内核级沙箱 Strands Box,用一套策略语言约束智能体执行的 Shell、Python、文件和网络操作。两者分别对应「选对动作」和「不越界执行」,但早期反馈显示,并发请求、Apple Silicon 兼容性和冷启动延迟仍需解决。

两个项目,一个管决策,一个管执行

亚马逊云科技开源了两个面向 AI 智能体开发的项目。Strands Decider 2B 负责在智能体工作流中做决策,Strands Box 负责为智能体执行提供隔离环境。前者解决「下一步该选哪个工具、走哪条分支」,后者解决「选完之后能做什么、不能做什么」。

对正在做 AI 编程或「氛围编程」工具的开发者来说,这两件事恰好是让智能体多干活的前提:决策够快够准,执行有可编程的边界。

Strands Decider 2B:20 亿参数,只做选择题

这个模型的设计思路与常见的对话模型不同:它不生成答案,而是从一组候选选项里挑一个,并给出对应的置信度分数。适用场景包括模型路由、工具选择、分类、护栏和上下文管理。开发者不再需要让通用语言模型「自由发挥」,只需提供选项,拿回决策结果。

技术实现上,它以 Qwen3.5-2B 为基础,把原来的语言模型输出头换成一个「指针头」——可以理解为给每个候选答案打分的评分层,而不是逐字生成文本。微调使用 rank-16 LoRA 适配器(一种只训练少量附加参数的低成本微调方法)。模型权重、训练数据和脚本均已公开,开发者可以在本地运行并修改。

性能方面,亚马逊云科技给出的数据是:在 NVIDIA RTX 3090 上,决策延迟中位数约为 115 毫秒;在 Apple M3 MacBook 上处理小型任务约为 153 毫秒。用 JevBench 评估时,v19 检查点在 231 项公开任务上的准确率为 72.3%。开发者可以安装 strands-decider 软件包、使用其命令行界面,或把模型集成进 Strands 智能体。

Strands Box:内核级隔离加可编程策略

Strands Box 目前处于开发者预览阶段,目标是为智能体执行提供隔离环境。它把操作系统级隔离与 Dogwood 结合起来——Dogwood 是一门开源策略语言,用来定义智能体可以执行哪些操作。沙箱覆盖 Shell 命令、Python 执行、MCP 工具(模型调用外部工具的通用协议)、文件系统操作和网络访问。

隔离由内核强制执行,智能体的交互统一路由到策略层。开发者可以根据操作内容和执行历史决定放行或拦截。例如:要求智能体必须先通过测试,才能把代码推送到仓库;或者限制外部 API 的调用频率。这些控制运行在语言模型之外,从而减少执行边界对提示词指令的依赖——不靠「请不要做危险操作」这类嘱咐,而靠代码规则。

亚马逊云科技表示,Strands Box 可以配合不同的模型和智能体框架使用,无论运行在本地还是云环境,开发者无需替换现有智能体架构就能引入执行策略。

与现有方案的差异

Strands Decider 2B 的同类是 TypeSafe AI 的 Jev,同样专做结构化决策而非长文本生成。两者都支持分类、路由和工具选择,并在返回结果时附带置信度分数。主要区别在部署方式:Decider 2B 是开源项目,可在本地运行;Jev 通过托管 API 提供。亚马逊云科技用 JevBench 评估了 Decider,但已公布的结果不足以证明它直接优于 Jev。

Strands Box 面对的是容器沙箱、Firecracker microVM(一种轻量虚拟机)和托管式智能体执行环境。传统沙箱主要限制文件系统、进程和网络访问;Strands Box 额外增加了基于工具参数和历史操作的策略,让开发者能够定义「执行某个操作前必须满足什么条件」。

早期反馈:能用,但生产前还需评估

AWS Community Builder Yuuki Yamashita 在一篇实践教程中提到,Strands Decider 2B 可以阻止智能体调用不受支持的天气工具。

GitHub 讨论则暴露了另一面:并发请求、Apple Silicon 兼容性和冷启动延迟都有问题报告。这些都是开发者把模型投入生产环境前需要评估的方面。

原文中有一段话概括了 Strands Box 的设计动机:

我宁愿让智能体在运行中途撞墙,也不愿让它沿着一条错误路径执行到底。亚马逊云科技今天开源了 Strands Box:这是一个内核级沙箱,将 Shell、Python、工具和网络访问都路由至同一个策略层,因此可以设置这样一条规则:智能体读取客户文件后,禁止其发起出站 HTTP 请求。

两个项目合在一起,把 Strands 生态从智能体编排扩展到决策和执行控制:一个组件负责选择动作,另一个组件负责限制动作如何执行。方向清晰,剩下的问题是工程细节能否跟上。

关键要点

查看原文