Open1
Strands Agents SDK

これは何?
AI エージェントを構築・実行するモデル駆動型アプローチを採用したオープンソースSDK
クイックスタート
from strands import Agent
from strands.tools.mcp import MCPClient
from strands_tools import http_request
from mcp import stdio_client, StdioServerParameters
# 命名にフォーカスしたシステムプロンプトの定義
NAMING_SYSTEM_PROMPT = """
あなたはオープンソースプロジェクトの命名を支援するアシスタントです。
オープンソースのプロジェクト名を提案する際は、必ずプロジェクトに使用できる
ドメイン名と GitHub の組織名を 1 つ以上提供してください。
提案する前に、ドメイン名がすでに登録されていないか、GitHub の組織名が
すでに使用されていないか、ツールを使って確認してください。
"""
# ドメイン名が利用可能かを判定する MCP サーバーを読み込む
domain_name_tools = MCPClient(lambda: stdio_client(
StdioServerParameters(command="uvx", args=["fastdomaincheck-mcp-server"])
))
# GitHub の組織名が利用可能かを判定するためのリクエストを
# GitHub に送る Strands Agents の事前構築済みツール
github_tools = [http_request]
with domain_name_tools:
# ツールとシステムプロンプトと共に命名エージェントを定義
tools = domain_name_tools.list_tools_sync() + github_tools
naming_agent = Agent(
system_prompt=NAMING_SYSTEM_PROMPT,
tools=tools
)
# エンドユーザーのプロンプトと共に命名エージェントを実行
naming_agent("AI エージェント構築のためのオープンソースプロジェクトの名前を考えてください。")
概念
1. モデル
- Bedrock の任意のモデル
- Anthropic API
- LiteLLM
- カスタムモデルプロバイダを定義可能
2. ツール
エージェントのツールとして、公開されている何千もの Model Context Protocol (MCP) サーバーを選択できます。Strands は、ファイル操作、API リクエスト実行、AWS API との相互作用のためのツールを含む、20 以上の事前構築済みのサンプルツールも提供します。Strands の @tool デコレータを使用するだけで、任意の Python 関数を簡単にツールとして使用できます。