Open1

Strands Agents SDK

HD-21HD-21

これは何?

AI エージェントを構築・実行するモデル駆動型アプローチを採用したオープンソースSDK

https://strandsagents.com/latest/documentation/docs/

クイックスタート

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. モデル

2. ツール
エージェントのツールとして、公開されている何千もの Model Context Protocol (MCP) サーバーを選択できます。Strands は、ファイル操作、API リクエスト実行、AWS API との相互作用のためのツールを含む、20 以上の事前構築済みのサンプルツールも提供します。Strands の @tool デコレータを使用するだけで、任意の Python 関数を簡単にツールとして使用できます。