Hacker News 中文摘要

RSS订阅

Strands Harness -- Strands Harness

开发者常希望自己的 Claude Code 或 Codex 配置能跑在云端,因为本地的 agent 想法用这些 harness 就能顺利用起来。可一旦自己构建 agent,就得全靠自己,把合适的原语接到恰到好处、复现那种开箱即用并不容易。今天发布的 Strands harness 是一套组装完整的通用 agent harness,可本地运行或部署到常用服务商,一行 Python 或 TypeScript 即可接入所选模型。

正文

我们注意到很多开发者希望基于 Claude Code 或 Codex 搭建的本地代理能直接在云端运行,因为本地的代理想法用那些 harness 能顺利跑通。但一旦自己动手搭建代理,就得全靠自己,很难把基础组件接好以获得那种“开箱即用”的体验。

今天发布 Strands harness,这是一个全组装的顶级代理 harness,可本地运行或部署到任意云平台。它定位通用代理而非编程代理,只需一行 Python 或 TypeScript 代码即可接入所选模型,在保持同等或更高准确率的同时成本效率优于其他 harness。采用 Apache 2.0 许可。

在六项基准测试中,使用相同的 Claude 或 GPT 模型时,Strands harness 成本降低 28%。相比 Claude Code、Codex 及其他流行 harness,它的 token 效率更高,基准分数几乎持平。我们不愿为降本牺牲准确率。Deepseek Harness 整体 token 效率最高,但准确率通常最低。测试是在 EC2 上用 Harbor 做分布式基准。

在 Fable 5 上,Strands harness 比 Claude Code 成本少 77%,且在 Terminal Bench 2.1 上分数更高。我们也欣慰地看到另两个开源 harness 在成本/准确率上可与 Claude Code 媲美。

Strands harness 基于 Strands Harness SDK,默认开启提示缓存与上下文管理。正是默认的上下文管理大幅提升了 token 效率和准确率:超过约 1500 token 的工具结果会被截断;上下文窗口超过 85% 时触发摘要压缩;若溢出则在循环内恢复上下文。

后续我们的研究者会发布相关基准的论文。目前大家已能在 Strands harness 中使用这些默认设置。

轻松上手

Strands harness 支持 Amazon Bedrock、Anthropic、OpenAI、Google 的最新模型,也可指定本地 Ollama 模型。可选模型提供方包括:

  • Amazon Bedrock
  • Anthropic
  • OpenAI
  • Google
  • Ollama
  • LiteLLM

支持语言:

  • Python
  • TypeScript

开箱即用的 create_harness() 返回的代理具备以下能力:

  • 运行于上述任一提供方的当前推理模型。
  • 自带 shell、文件(读/写/编辑)和 web 工具,这些是模型已会的通用基础组件,而非为任务定制的工具。
  • 自主管理上下文窗口,将大块工具结果转存文件,并缓存请求中复用部分以节省时间和成本。
  • 跨运行保持长期记忆,给定会话 ID 可恢复早前对话。
  • 将开放子任务委托给内置辅助代理,并用清单跟踪多步工作。
  • 若存在技能则加载。

Strands harness 可部署到任何支持 Linux 容器的平台,如 Modal、Cloudflare Containers、Azure Container Apps、Google Cloud Run、Amazon ECS 和 Amazon Bedrock AgentCore。

我们还提供 Strands CLI,可用自然语言原型化代理:接好模型提供方,添加提示与工具,即可看到代理运转。随后在 CLI 中运行 /export,就能拿到 TypeScript 或 Python 代码副本,方便用惯用编程代理继续迭代。

视频:Strands CLI 导出演示

我们让代理“添加 Playwright MCP”并测量博客视频加载延迟,看到 MCP 工具准确工作后,运行 /export 得到 harness 代码,Playwright MCP 已加入模板,便于用编程代理迭代或配置部署。

基于 Strands harness 能构建什么

Strands CLI 本身就构建在 Strands harness 之上。因其极易原型化任意代理,我们实现了许多雄心想法。最近工程师 Gautam Sirdeshmukh 受 Grokbot、Muse 等平台启发,构建了可远程启动 Strands harness 的桌面应用。

视频:Strands 桌面演示

想深入时,Strands harness 完全可定制:可覆盖任意默认、换模型、加工具,或逐步替换组件直至 Strands Harness SDK。代码归你所有。我们期待各类代理借此诞生。

立即试用

Python 可通过 pip install strands-harness 安装,TypeScript 用 npm install @strands-agents/harness。交互体验可下载 Strands CLI:npm install -g @strands-agents/cli。

我们相信功能完备的 harness 能快速原型化出更实用的代理。团队在 Discord,欢迎提问。

评论

多数人质疑 Strands Harness 的基准对比与“自建困难”论调,倾向于使用原生或自建 harness;少数人认可其事件扩展设计或 AWS 企业集成价值。

质疑基准测试饱和且成本节省不显著

  • 终端基准 2.1 已饱和,许多 token 节省技巧都能在几乎同分下降本,文章称分数更高却未给幅度,大概率不显著;此类“饱和基准上省钱同分”声明已多次见首页。(认可度:较多人)
  • > 终端基准 2.1 已经饱和,很多省 token 的技巧都能拿到基本一样的分数,所谓更高分我打赌并不显著。(@seizethecheese)

认为基准比较遗漏关键对象如 Pi

  • 对比中纳入了 oh-my-pi 却排除 vanilla pi,且整体未测 Pi;因 Deepseek 基于 Pi 且击败 Strands,部分人觉得无需再看文章结论。第三方 harness 支持的提供商列表也远不如 Pi 或 opencode。(认可度:较多人)
  • > Pi 为啥没进基准?Deepseek 基于 Pi 还赢了 Strands,这就足够说明问题了。(@theturtletalks)

认为自建 agent harness 并不难,反对“自建棘手”前提

  • 自定义 harness 实际容易,降本只需强模型向弱模型委派明确任务;原生厂商已有多种 SDK 与托管方案,文章虚构痛点;用 opencode/pi 自建渐成趋势。(认可度:高赞)
  • > 声称自定义这些 harness 很棘手并当作新 harness 的理由,简直荒唐,其实真没那么难。(@samusiam)

偏好原生或自建 harness 而非第三方

  • 模型商正针对自家 harness 训练 agent,非原生难以保证最佳且每次模型发布都要重测;自建成本趋近免费且更贴合需求,第三方项目渐显嘈杂;部分用户指出第三方支持提供商不及 Pi/opencode。(认可度:较多人)
  • > 我越来越不愿用非原生 harness,模型商开始为自家训练,基准评测覆盖不到全部。(@johnmlussier)

指出 Strands 与亚马逊的营销及定位混乱

  • 发布时机紧贴 Kimi 3 上 Bedrock;落地页将多仓库星数求和虚高;产品说明 GUI/代码混淆、价值主张不清;亚马逊 AI 除云外落后,agent 趋势是简化基础设施。有用户疑问是否 AWS 团队官方发布。(认可度:较多人)
  • > 在 Kimi 3 加入 Bedrock 的后一天就发布,肯定不是巧合。(@dwoosley)

认为 Strands 设计有优点或 AWS 集成有价值

  • Strands SDK 以事件可扩展,harness 思路正确;AWS AgentCore 带 IAM/ARN 治理适合企业;云上扩展成千 agent 时可能是可选方案。(认可度:少数人)
  • > Strands SDK 一切皆事件可扩展,这个 harness 感觉挺对路。(@Oras)

需要能灵活切换多模型提供商的 harness

  • 实际工作需在不同项目间流体切换并分开计费,现有 Codex 类或第三方 UX 不支持自定义端点与多提供商同台,期待类 Codex 但模型控制更细。(认可度:少数人)
  • > 我想要类 Codex 的 harness,但得能流畅控制模型,比如把项目固定到某个提供商。(@ticulatedspline)

有价值的补充

  • Pi 可让模型自行创建扩展,并自定义系统提示以避免 Claude Code 约 20k 无用上下文,还可按会话启用技能与 MCP 子集,对多项目用户实用(@Oras)。
  • Coding agents 不需要为人类构建的复杂云基础设施,可直接用裸服务器等低层原语,这对 AWS 的威胁在于简化技术栈(@llmslave)。
  • 自定义 harness 若要成本有效,需考虑避开 Anthropic 模型而用 OpenAI 订阅或开放权重,这反映模型计价差异(@__alexs)。
  • 现有多数 harness 主打降本同质,尚缺优先质量与一致性的项目,提示社区应关注质量维度(@quincepie)。