エージェントを作成する

開発環境を選択する

始める前に、Python 3.11 以降を搭載した Python 開発環境が必要です。以下の手順は Google Colab でテストされています。

ここで説明する手順は、Colab EnterpriseCloud Shell エディタ、ローカルマシンなど、他の開発環境でも使用できます。

環境の準備ができたら、Agent Framework SDK のインストールに進みます。

エージェント フレームワーク SDK をインストールする

次に、Agent Framework SDK をインストールします。限定公開プレビュー期間中、SDK にアクセスするには許可リストに登録する必要があります。以下のダウンロードとインストールの手順に進む前に、許可リストに登録されていることを確認してください。

まず、gcloud CLI を使用して Google Cloud アカウントを認証します。この手順により、Google Cloud サービスにアクセスするために必要な権限が付与されます。必要に応じて、gcloud のドキュメントをご覧ください。

gcloud auth login

gcloud CLI を使用して、Agent Framework SDK Python パッケージを開発環境にダウンロードします。

gcloud storage cp gs://agent_framework/latest/google_genai_agents-0.0.2.dev20250204+723246417-py3-none-any.whl .

前のコマンドの開発ビルドに Agent Framework がアクセスするには、許可リストに登録されている必要があります。

最後に、pip を使用して、ダウンロードした Agent Framework SDK パッケージをインストールします。

pip install google_genai_agents-0.0.2.dev20250204+723246417-py3-none-any.whl

Agent Framework SDK がインストールされたら、必要なライブラリをインポートしてエージェントの作成を開始できます。

必要なライブラリをインポートする

Agent Framework でこのクイックスタートを使用するのに必要な次の Python ライブラリをインポートします。

import os
from agents import Runner, Agent
from datetime import datetime

ライブラリをインポートしたら、次は Gemini モデルへのアクセスを構成します。

Gemini API へのアクセスを設定する

Agent Framework は、Google の Gemini モデルを使用するように構成できます。Gemini モデルへのアクセスは、Google AI Studio(API キーを使用)または Vertex AI(Google Cloud プロジェクトを使用)で構成できます。ニーズに合った構成方法を選択し、以下の手順に沿って操作します。

Google AI Studio を使用して Gemini モデルへのアクセスを構成するには、次の Python コードを実行します。YOUR_API_KEY は、実際の Google AI Studio API キーに置き換えます。

os.environ["GOOGLE_GENAI_USE_VERTEXAI"] = "0"
os.environ["GOOGLE_API_KEY"] = "YOUR_API_KEY"

Vertex AI を使用して Gemini モデルへのアクセスを構成するには、次の Python コードを実行します。YOUR_PROJECT_ID は、Google Cloud プロジェクト ID に置き換えます。GOOGLE_CLOUD_LOCATION がサポートされている Vertex AI リージョンに設定されていることを確認します。

os.environ["GOOGLE_GENAI_USE_VERTEXAI"] = "1"
os.environ["GOOGLE_CLOUD_PROJECT"] = "YOUR_PROJECT_ID"
os.environ["GOOGLE_CLOUD_LOCATION"] = "us-central1"

Gemini API アクセスが構成されたら、エージェントが使用するツールを定義できます。

エージェントのツールを定義する

エージェントは、多くの場合、ツールを使用して外部サービスやデータとやり取りします。この手順では、get_exchange_rate という Python 関数を定義します。この関数は、エージェントが外部 API からリアルタイムの通貨為替レートを取得するためのツールとして使用されます。

def get_exchange_rate(
    currency_from: str,
    currency_to: str,
    currency_date: str,
):
    """Retrieves the exchange rate between two currencies on a specified date."""
    import requests

    response = requests.get(
        f"https://api.frankfurter.app/{currency_date}",
        params={"from": currency_from, "to": currency_to},
    )
    return response.json()

これで、エージェント向けのツールが定義されました。次のセクションでは、このツールを組み込んでエージェント自体を定義します。

エージェントを定義する

次に、Agent Framework SDK を使用して AI エージェントを定義します。エージェントの定義では、使用するモデル、手順、アクセスできるツール、インタラクション フローを指定します。

root_agent = Agent(
    model="gemini-2.5-pro-exp-03-25",
    name='currency_exchange_agent',
    instruction="""
      Help users retrieve exchange rates for different currencies
    """,
    tools=[
        get_exchange_rate,
    ],
    flow='single',
)

エージェントを定義したら、次は Agent Framework 内でエージェントを初期化します。

エージェントを初期化する

このセクションでは、エージェントを初期化します。次のコードは、インメモリ セッション サービスとアーティファクト サービスを設定し、エージェントのランナーをインスタンス化し、プロンプトを送信するヘルパー関数を定義します。

from agents.sessions.in_memory_session_service import InMemorySessionService
from agents.artifacts.in_memory_artifact_service import InMemoryArtifactService
from google.genai import types

session_service = InMemorySessionService()
artifact_service = InMemoryArtifactService()
runner = Runner(app_name="currency_exchange_agent", agent=root_agent, artifact_service=artifact_service, session_service=session_service)

session = session_service.create(app_name="currency_exchange_agent", user_id="1")

def run_prompt(new_message: str):
  content = types.Content(role='user', parts=[types.Part.from_text(text=new_message)])
  print (content)
  for event in runner.run(
      session=session,
      new_message=content,
  ):
    if event.content:
      print(event.content.model_dump(exclude_none=True))

これでエージェントが初期化され、プロンプトを受け取る準備が整いました。次のセクションでは、テスト プロンプトを送信して動作を確認します。

エージェントにメッセージを送信する

エージェントをテストする準備が整いました。前に定義した run_prompt 関数を使用して、次のプロンプトをエージェントに送信します。

run_prompt("What's the exchange rate from US dollars to Swedish currency today?")

指定された入力で run_prompt 関数を実行すると、エージェントは次のような出力を生成します。

parts=[Part(video_metadata=None, thought=None, code_execution_result=None, executable_code=None, file_data=None, function_call=None, function_response=None, inline_data=None, text="What's the exchange rate from US dollars to Swedish currency today?")] role='user'
{'parts': [{'function_call': {'args': {'currency_from': 'USD', 'currency_to': 'SEK', 'currency_date': '2025-02-21'}, 'name': 'get_exchange_rate'}}], 'role': 'model'}
{'parts': [{'function_response': {'name': 'get_exchange_rate', 'response': {'amount': 1.0, 'base': 'USD', 'date': '2025-02-21', 'rates': {'SEK': 10.6474}}}}], 'role': 'user'}
{'parts': [{'text': 'The exchange rate from US dollars to Swedish currency (SEK) today, 2025-02-21, is 1 USD to 10.6474 SEK.\n'}], 'role': 'model'}

この出力には、エージェントの内部ステップ(実行した関数呼び出しや最終的なレスポンスなど)が表示されます。

出力の最後の部分を確認します。エージェントから、取得した為替レートを含むメッセージが表示されます。これは、エージェントが get_exchange_rate ツールを正常に使用したことを示します。

The exchange rate from US dollars to Swedish currency (SEK) today, 2025-02-21,
is 1 USD to 10.6474 SEK.

これで完了です。エージェントにプロンプトを正常に送信し、そのレスポンスを確認しました。エージェント フレームワークについて詳しくは、次のセクションのリソースと次のステップをご覧ください。

次のステップとリソース

これで、Agent Framework を使用して AI エージェントを作成できました。

エージェント フレームワークの理解を深め、高度な機能を確認するには、ドキュメントの他のセクション、コードサンプル、ノートブックをご覧ください。これらのリソースは、より複雑なエージェントを構築し、アプリケーションに統合する際に役立ちます。