strands-agents/tools
A set of tools that gives agents powerful capabilities.
Strands Agents Tools
概要 – LLM駆動型エージェントが呼び出すことができる、大量の即時利用可能なツール(関数)をまとめたPythonパッケージです。ツールは、単純なファイルI/Oからウェブ検索、AWSサービス呼び出し、画像/動画生成、デスクトップ自動化、マルチエージェント・オーケストレーションまで多岐にわたります。これらはStrands Agents SDKに組み込まれることを目的としており、言語モデルが一行のコードでこれらを呼び出すことができます。
主な機能
| カテゴリ | 例示ツール | 代表的なユースケース |
|---|---|---|
| ファイル & エディタ | file_read, file_write, editor (非推奨) |
設定ファイルの読み込み、結果の書き込み、構文ハイライト付きのコードスニペット編集 |
| シェル & OS | shell (非推奨), environment (非推奨) |
システムコマンドの実行、環境変数のクエリ (Windowsでの使用には注意) |
| ウェブ & 検索 | tavily_search, tavily_extract, exa_search, exa_get_contents |
リアルタイムウェブ検索、コンテンツ抽出、サイトクローリング |
| HTTP / API | http_request |
認証サポート付きのあらゆるRESTエンドポイントの呼び出し |
| メッセージング | slack (非推奨) |
Slackワークスペースでのメッセージの投稿または読み取り |
| Python実行 | python_repl, code_interpreter |
状態を保持した任意のPython(またはサンドボックス化されたインタープリタ経由のJS/TS)の実行 |
| 数学 & 推論 | calculator (非推奨), think (非推奨) |
記号計算、多段階推論 (現在はSDKのネイティブ機能で処理) |
| AWS統合 | use_aws, nova_reels, agent_core_memory |
S3、Bedrock、その他のAWSサービスとの連携 |
| メディア生成 | generate_image, generate_image_stability, search_video, chat_video |
画像の作成、動画の検索と分析 |
| メモリバックエンド | mem0_memory, mongodb_memory, elasticsearch_memory |
実行をまたいだユーザー/エージェントのメモリの保存と取得 |
| ブラウザ自動化 | browser (Chromium) |
ページのスクレイピング、フォーム入力、UIテストの実行 |
| デスクトップ自動化 | use_computer |
マウス移動、クリック、タイピング、スクリーンショット撮影 |
| マルチエージェント・オーケストレーション | swarm, agent_graph, graph, use_agent, use_llm |
複数のエージェントの並列実行、決定論的なDAGパイプラインの構築、モデル切り替えを伴うエージェントのネスト |
| スケジューリング & 制御 | cron (非推奨), sleep (非推奨), stop, handoff_to_user |
定期ジョブのスケジュール設定、実行の一時停止、正常な停止、ユーザーへの確認依頼 |
| その他 | journal, rss (非推奨), bright_data, speak |
構造化ロギング、RSSフィード処理、ウェブスクレイピングサービス、テキスト読み上げ |
インストール
# 基本インストール (コアツールのみ)
pip install strands-agents-tools
# 必要なオプションのextrasをインストール (例: メモリバックエンド、ブラウザ、RSS、コンピュータ自動化)
pip install "strands-agents-tools[mem0_memory,use_browser,rss,use_computer]"
開発用には、リポジトリをクローンし、仮想環境を作成して pip install -e ".[dev]" を実行してください。
使用方法 – READMEに一般的なパターンが示されています:
from strands_tools import A2AClientToolProvider, Agent
provider = A2AClientToolProvider(known_agent_urls=["http://localhost:9000"])
agent = Agent(tools=provider.tools)
# エージェント上で直接ツールを呼び出す
result = agent.tool.file_read(path="config.yaml")
各ツールは agent.tool のメソッドとして公開されています。引数はキーワード引数として渡され、戻り値は基盤となる操作が生成する値(ファイル内容、JSONレスポンス、画像バイトなど)となります。
安全上の注意 – 多くのツールはコードを実行し、ファイルシステムに触れ、または外部サービスを呼び出します。本パッケージは、そのようなツールを実験的としてマークし、古いラッパーには非推奨の警告を追加しています。本番環境へのデプロイにあたっては、独立したセキュリティレビューを実施し、プロジェクトの責任あるAIガイダンスに従ってください。
ロードマップ / ステータス – このリポジトリはコミュニティ主導であり、活発にメンテナンスされています(コミットアクティビティのバッジを参照)。いくつかのツールは、SDKのネイティブ機能への移行のためにすでに非推奨となっています。メンテナは、ほとんどの機能がStrands SDKに直接組み込まれた後、最終的にリポジトリをアーカイブすることを計画しています。
要約 (TL;DR) – Strands Agents Toolsは、LLM駆動型エージェントが数行のコードで現実世界の操作(ファイルI/O、ウェブ検索、AWS呼び出し、デスクトップ自動化、マルチエージェント・パイプラインなど)を実行できるようにするPythonツールボックスです。pipでインストールし、ツールをStrands Agentに組み込み、メソッドとして呼び出します。セキュリティ上の影響と、古いラッパーの継続的な非推奨化に注意してください。
関連
- Dispatch
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト