strands-agents/tools
A set of tools that gives agents powerful capabilities.
Strands Agents Tools – AIエージェントのためのツールボックス
概要 – LLMベースのエージェントが呼び出せる、すぐに使えるツールを多数収録したPythonパッケージです。このツールを使うと、エージェントはファイルの読み書き、シェルコマンドの実行、Web検索サービスの照会、API呼び出し、Slackとの連携、Pythonコードの実行、数学計算、画像/動画/音声の生成、AWSリソースの管理、メモリの保存/取得、ジョブのスケジュール、ブラウザ操作、さらにはデスクトップの制御まで行えます。要するに、言語モデルと現実世界のアクションの間のギャップを埋めるものです。
重要性 – 現代のAIエージェントは、外部世界に働きかける手段を必要としています。Strands Agents Tools はモデル駆動型のインターフェースを提供します。エージェントに持たせたいツールを宣言すると、エージェントは生成された応答から直接ツールを呼び出すことができます。これにより、開発者は複雑なワークフロー(例:「Web検索 → ページをスクレイピング → Python分析を実行 → 結果をベクターストアに保存」)をわずか数行のコードで構築できます。
主な機能(READMEに記載)
| カテゴリ | ツール(抜粋) | 典型的な使用例 |
|---|---|---|
| ファイルI/O | file_read, file_write, editor |
設定ファイルの読み込み、結果の書き込み、コードスニペットの一括編集 |
| シェル / システム | shell, cron |
OSコマンドの実行、定期的なジョブのスケジュール(Linuxのみ) |
| Web & 検索 | tavily_search, exa_search, browser |
リアルタイムWeb検索、サイトクローリング、自動ブラウジング |
| HTTP / API | http_request |
RESTエンドポイントの呼び出し、サービスからのデータ取得 |
| メッセージング | slack |
Slackイベントへのメッセージ投稿やリアクション |
| Python実行 | python_repl, code_interpreter |
任意のPython(安全プロンプト付き)またはサンドボックス化された多言語コードの実行 |
| 数学 | calculator |
記号計算または数値計算 |
| AWS | use_aws |
S3、DynamoDBなどとの連携 |
| 画像 / 動画 / 音声 | generate_image, generate_image_stability, nova_reels, speak |
AI生成メディアの作成や音声の再生 |
| メモリ | mem0_memory, mongodb_memory, elasticsearch_memory, agent_core_memory |
実行間でのユーザー/エージェントのコンテキストの永続化 |
| 高度な推論 | think, agent_graph, graph, workflow |
決定論的DAGを使ったマルチステップ・マルチエージェントパイプラインの構築 |
| スウォーム / マルチエージェント | swarm, use_agent, use_llm |
複数エージェントの調整、モデル切り替えによるエージェントのネスト |
| デスクトップ自動化 | use_computer, browser |
マウス移動、クリック、タイピング、スクリーンショット取得 |
| ユーティリティ | environment, journal, current_time, stop, handoff_to_user |
環境変数の管理、ロギング、正常終了 |
セキュリティ注意 – 多くのツールはエージェントに強力な機能(ファイルシステムアクセス、コード実行、AWS呼び出し、リモートMCP接続、ブラウザ自動化)を提供します。READMEでは、これらは実験的であり、本番使用前に安全性を確認すべきことが強調されています。
クイックスタート
# コアパッケージのインストール
pip install strands-agents-tools
# 必要なオプション機能をインストール(例:ブラウザ自動化、RSS、メモリバックエンド)
pip install "strands-agents-tools[mem0_memory,use_browser,rss,use_computer]"
最小限の使用例(READMEより)
from strands import Agent
from strands.tools import file_read, python_repl, use_aws
# 必要なツールを使ってエージェントを作成
agent = Agent(tools=[file_read, python_repl, use_aws])
# エージェントはプロンプト内でツールを直接呼び出せる
response = agent.run(
"Read the config file at /etc/app/config.yaml, extract the API key, then list all S3 buckets using that key."
)
print(response)
Agentクラス(Strands SDKが提供)は、自然言語リクエストを適切なツール呼び出しに自動的にマッピングします。
使用すべき場面
- AIアシスタントのプロトタイピング:データの読み書き、外部サービスへの呼び出し、コンピューター操作が必要な場合。
- マルチエージェントパイプラインの構築:各ステップが個別のツールである場合(例:検索 → スクレイピング → 分析 → 保存)。
- 高度な推論の実験:組み込みのDAG/グラフユーティリティを使ってツールをチェーン化する。
- 既存のクラウドスタックとの統合:提供されているメモリおよびサービスツールを用いて(AWS、MongoDB、Elasticsearch)。
次のステップ
- 公式ドキュメント(https://strandsagents.com/)で、詳細なツールシグネチャと安全ガイドラインを確認。
- サンプルリポジトリ(
github.com/strands-agents/samples)で、既製のエージェントスクリプトを探索。 - Strands Discord(バッジ内のリンク)に参加して、コミュニティサポートとアップデートを入手。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト