このプロジェクトについて

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から提供されています。