Strands Harnessの紹介
Strands Harness (strandsagents.com)
要約
Strands Harnessは、ローカルまたはクラウドで簡単に実行できる、汎用的なAIエージェントのための最先端のハーネス(開発フレームワーク)です。既存のハーネスと比較して、コスト効率が高く、同等以上の精度を維持しながら、プロンプトキャッシュやコンテキスト管理などの機能を提供します。PythonまたはTypeScriptで数行のコードから利用でき、様々なモデルプロバイダーやデプロイメント環境に対応しています。
全文翻訳
Introducing Strands harness: frontier performance with 28% lower token cost
開発者はしばしば、ローカル環境ではエージェントのアイデアが「うまく動いた」Claude CodeやCodexの設定を、クラウドで実行できたらと願っていました。
しかし、自分でエージェントを構築するとなると、それは自分次第になります。「うまく動いた」という感覚にちょうど合うように、適切なプリミティブを配線するのは難しいことです。
本日、私たちはStrands harnessをリリースします。これは、ローカルで簡単に実行したり、好みのプロバイダーにデプロイしたりできる、完全に組み立てられた最先端のエージェントハーネスです。コーディングエージェントではなく、汎用エージェントとして構築されています。モデルを選択して動作させるには、PythonまたはTypeScriptの1行で十分です。Strands harnessは、同等以上の精度を維持しながら、コスト効率において他のエージェントハーネスを凌駕します。Apache 2.0ライセンスで提供されています。
Strands harnessは、6つのベンチマーク全体で同じClaudeまたはGPTモデルを使用した場合、コストが28%低くなりました。Strands harnessは、Claude Code、Codex、およびその他の一般的なハーネスと比較して、トークン効率が高く、ベンチマークスコアはほぼ同等であることがわかりました。これは、コスト削減のために精度を犠牲にしたくないため、重要です。Deepseek Harnessは全体として最もトークン効率が高いことが証明されましたが、通常は最も低い精度スコアを報告しました。私たちのテスト設定は、Harborを使用したEC2での分散ベンチマークでした。
結果を探る: 下のグラフはインタラクティブです。いずれかのポイントにカーソルを合わせると、モデル、ハーネス、精度スコア、タスクあたりのコストが表示されます。
Fable 5では、Strands harnessはClaude Codeよりもコストが77%低く、Terminal-Bench 2.1ではより高いスコアを獲得しました。また、他の2つのオープンソースハーネスがClaude Codeに対してコスト/精度の面で同様に良好なパフォーマンスを示すことも確認できました。
Strands Harness SDK上に構築されたStrands harnessには、プロンプトキャッシュとコンテキスト管理のデフォルト設定が含まれています。デフォルトのコンテキスト管理は、トークン効率と精度を大幅に向上させました。1500トークンを超えるツール結果は切り捨てられ、コンテキストウィンドウが85%を超えると要約(圧縮)がトリガーされ、ループ内でコンテキストリカバリが実行されます。
これらのベンチマークに関する研究者からのフォローアップ論文にご期待ください。それまでの間、Strands harnessでこれらのデフォルト設定を利用できることを嬉しく思います。
簡単な開始方法
Strands harnessは、Amazon Bedrock、Anthropic、OpenAI、Googleの最新モデルで実行できます。名前で選択するか、ローカルのOllamaモデルを指定してください。
from strands_harness import create_harness
agent = create_harness(model="bedrock/global.anthropic.claude-opus-5")
agent("Research the top three vector databases, compare pricing and limits, and write it up in comparison.md")
create_harness()は、デフォルトで以下の機能を持つエージェントを返します。
- Amazon Bedrock、Anthropic、OpenAI、Google、Ollama、またはLiteLLMの現在の推論モデルで実行されます。
- シェル、ファイル(
read/write/edit)、およびWebツールが付属しています。これらは、タスクごとに特注のツールではなく、モデルがすでに使用方法を知っているプリミティブです。 - 独自のコンテキストウィンドウを管理します。かさばるツール結果をファイルにオフロードし、各リクエストの再利用部分をキャッシュして時間とコストを節約します。
- 実行間で長期的なメモリを保持し、セッションIDを指定すると以前の会話を再開します。
- 開放的なサブタスクを組み込みのヘルパーエージェントに委任し、チェックリストでマルチステップの作業を追跡します。
- スキルが存在する場合はロードします。
Strands harnessは、Modal、Cloudflare Containers、Azure Container Apps、Google Cloud Run、Amazon ECS、Amazon Bedrock AgentCoreなど、Linuxコンテナを持つ任意のプロバイダーにデプロイできます。
また、プレーンな英語でエージェントをプロトタイプできるStrands CLIもあります。好みのモデルプロバイダーを接続し、プロンプトとツールを追加してエージェントが動作するのを確認します。その後、Strands CLIで/exportを実行すると、TypeScriptまたはPythonのコードコピーを取得できます。これは、コーディングエージェントでStrands harnessを継続的にイテレーションしたり、デプロイ設定を追加したりするのに非常に便利な方法です。
[動画: ブラウザが動画タグをサポートしていません。]
ここでは、Strands harnessエージェントに「Playwright MCPを追加して」と依頼し、ブログ記事に動画をロードする際のレイテンシを測定します。Playwright MCPツールが正確に機能したのを確認した後、/exportを実行してStrands harnessコードを取得します。Playwright MCPがボイラープレートに追加され、コーディングエージェントとのイテレーションやデプロイ設定の追加が容易になったことがわかります。
Strands harnessで構築できるもの
Strands CLIは、実際にはStrands harnessの上に構築されています。エージェントをプロトタイプするのが非常に簡単になったおかげで、多くの野心的なアイデアを解き放つことができました。最近、私たちのエンジニアであるGautam Sirdeshmukhは、GrokbotやMuseのようなエージェントプラットフォームに触発され、Strands harnessをリモートで起動するデスクトップアプリケーションを構築しました。
[動画: ブラウザが動画タグをサポートしていません。]
より深く掘り下げたい場合は、Strands harnessは完全にカスタマイズ可能です。デフォルトを簡単にオーバーライドしたり、モデルをスワップしたり、ツールを追加したり、Strands Harness SDKまでコンポーネントを段階的に置き換えたりできます。コードはあなたのものです。
Strands harnessで生まれるであろう、あらゆる種類の新しいエージェントに期待しています。
今すぐ試す
Pythonの場合はpip install strands-harness、TypeScriptの場合はnpm install @strands-agents/harnessで、Strands harnessを簡単にインストールできます。インタラクティブな体験のために、Strands CLIをダウンロードしてください: npm install -g @strands-agents/cli。
「すぐに使える」ハーネスで迅速にプロトタイピングを行うことが、より有用なエージェントを生み出すと信じています。私たちのチームはDiscordにもいますので、ぜひ挨拶に来たり、エージェントに関する質問をしたりしてください!