ホームへ戻る

代理工具

Strands、コンテキストのオフロードとプロンプトキャッシュを組み合わせた汎用エージェント実行フレームワークを公開

Strands harnessは、ツール、メモリ、コンテキスト管理をすぐにデプロイできるエージェントに統合し、PythonとTypeScriptのインターフェースを提供する。公式のコスト比較も公開されたが、実際の効果はタスク、モデル、キャッシュ条件によって異なる。

Lincolnshire County Council, Adam Daubney, 2013-05-23 10:35:40 · CC BY-SA 2.0 · Image source
zh-Hant

Strandsチームは9月21日、モデルの実行ループ、ツール、コンテキスト管理、メモリ機能を、すぐに実行できる汎用エージェントに統合したStrands harnessを公開した。開発者はPythonまたはTypeScriptでエージェントを構築し、複数のモデルサービスやOllamaに接続して、Linuxコンテナ環境にデプロイできる。Apache 2.0ライセンスで公開されている。[公開発表](https://strandsagents.com/blog/introducing-strands-harness/)、[パッケージ説明](https://pypi.org/project/strands-harness/)

今回注目すべき点は、コンテキスト管理のデフォルト方針だ。発表によると、約1,500トークンを超えるツール出力は切り詰められ、コンテキスト使用率が85%を超えると要約による圧縮が実行される。上限を超えた場合には、ループ内での復旧機構も用意されている。ドキュメントではさらに、大きな出力はストレージへ移され、会話にはプレビューと参照が残されるため、エージェントは必要に応じて全文を再取得できると説明している。技術的な要点は、各ターンで再送する内容を減らしつつ、元の内容を参照する手段を維持することにある。[デフォルト方針](https://strandsagents.com/blog/introducing-strands-harness/)、[コンテキスト管理ドキュメント](https://strandsagents.com/docs/user-guide/harness/configure/context-and-caching/)

キャッシュの扱いはプロバイダーによって異なる。BedrockとAnthropicの直接インターフェースでは、フレームワークがキャッシュポイントとツール定義を設定し、一部のほかのサービスではサーバー側の自動キャッシュが使われる。このため、フレームワークの`caching`オプションを無効にしても、停止するのはフレームワーク自身が設定する部分だけであり、すべてのプロバイダーでキャッシュが停止すると解釈することはできない。モデルオブジェクトを自分で渡す場合も、基盤となるモデル側の設定を別途確認する必要がある。[キャッシュの動作](https://strandsagents.com/docs/user-guide/harness/configure/context-and-caching/)

チームはEC2とHarborを使って6つのベンチマークを実行し、同じClaudeまたはGPTモデルを使ってほかのフレームワークと比較した場合、集計したトークンコストが28%低く、スコアは同程度かそれ以上だったと主張している。ただし、グラフの注記では、DeepSeek Harnessのコストはさらに約14%低い一方、各項目のスコアも低かったことを認めている。28%はこの比較全体を集計した結果であり、個々のタスクすべてに当てはめることはできない。発表によると、評価の詳細をまとめた論文は今後公開される予定だ。[評価の説明](https://strandsagents.com/blog/introducing-strands-harness/)、[グラフの注記](https://strandsagents.com/embeds/strands-harness-benchmarks.html)

デプロイ面にも具体的な違いがある。セッションと長期メモリはデフォルトでローカルの`.agent`ディレクトリに書き込まれるため、一時ディスクを使うコンテナには永続ストレージが必要になる。また公式ドキュメントは、プログラムによるツール呼び出しに使われるMontyが隔離するのはモデルの生成したコードであり、呼び出されるツールの権限まで隔離するものではないと注意を促している。組み込みのshellやファイル変更機能には、引き続きサンドボックスと操作ポリシーの設定が必要だ。[本番環境へのデプロイドキュメント](https://strandsagents.com/docs/user-guide/harness/production/)

開発チームにとって、これは上書きや比較が可能なエージェントのデフォルト設定を提供するものだ。次のステップでは、モデルとフレームワークのバージョンを固定し、自分たちの長時間にわたるタスクで、完了率、総費用、レイテンシーを併せて測定すべきだ。特に、要約によって制約が失われていないか、オフロードした内容を正常に再取得できるか、コンテナの再起動後にセッションを復元できるかを確認する必要がある。評価ではツール出力の長さ、キャッシュヒット、リトライの記録も残すべきだ。そうすることで、コスト低下が内容の削減、重複入力への割引、あるいはタスクの実行方法の変化のどれによるものかを見分けられる。

出典

  1. Introducing Strands harness: frontier performance with 28% lower token cost
  2. strands-harness
  3. Manage context and caching
  4. Strands harness benchmark cost comparison
  5. Take Strands harness to production