このプロジェクトについて
Strands Agentsは、PythonおよびTypeScriptでAIエージェントを構築・実行するためのオープンソースSDKです。独自のエージェントループを記述する代わりとなるものとして位置付けられており、ホスト型のコントロールプレーンなしでユーザーのプロセス内で実行され、手書きのループに蓄積されがちな機能をバンドルしています。
READMEに記載されている主な機能:
- ライフサイクル制御:ターン制限、トークン予算、キャンセル、停止理由。
- ツールと構造化出力、さらにMCP(Model Context Protocol)統合。
- マルチエージェントパターン、メモリとセッション管理。
- モデル可搬性:Amazon Bedrock、Anthropic、OpenAI、Geminiの第一級サポートに加え、追加プロバイダーとカスタムプロバイダー。
- ストリーミング、ガードレール、トレーシング/可観測性、およびevals SDK。
- エージェントループのステップをインターセプトして、ログ記録、検証、リダイレクトを可能にするフック。
リポジトリ構成(モノレポ):
- harness-py/ — Pythonハーネス。create_harness()による完全に組み立てられたエージェント。PyPIではstrands-harnessとして公開。
- harness-ts/ — createHarness()によるTypeScriptハーネス。npmでは@strands-agents/harnessとして公開。
- strands-cli/ — ターミナルからハーネスエージェントのプロトタイピングとチャットを行うためのstrands CLI(npm @strands-agents/cli)。
- strands-py/ — エージェントループ、モデルプロバイダー、ツールを備えたPython SDK(PyPI strands-agents)。
- strands-ts/ — TypeScript SDK(npm @strands-agents/sdk)。
- site/ — strandsagents.comドキュメントサイトのソース(Astro/Starlight)。
- team/ — ガバナンスおよびSDK横断的なプロセス文書(設計提案を含む)。
クイックスタートの方法:ハーネスルートでは、pip install strands-harnessとcreate_harness()、またはnpm install @strands-agents/harnessとcreateHarness()を使用して、モデル、ツール、メモリ、セッション、コンテキスト管理のデフォルトを備えたエージェントを取得します。SDKルートでは、pip install strands-agents strands-agents-tools(Python 3.10以上)またはnpm install @strands-agents/sdk(Node.js 22以上)を使用して、エージェントループを所有し、ツールとプロバイダーを自分で接続します。設定リファレンスには、上書き可能なハーネスのデフォルトが記載されています。
開発:Pythonパッケージはhatchを使用し(hatch test、hatch fmt)、TypeScriptはnpm ci、npm run build、npm testを使用します。ドキュメントサイトはlocalhost:4321でnpm run devにより実行されます。Apache 2.0でライセンスされています。ドキュメント、サンプル、MCPサーバー、DiscordコミュニティへのリンクがREADMEから提供されています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.