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
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト