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)。

次のステップ

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト