このページでは、AlphaEvolve の使用を開始するために必要な環境の初期化、API のプロビジョニング、ユーザー設定の構成の手順について説明します。
前提条件
AlphaEvolve の設定
前提条件
環境を構成する前に、 Google Cloud組織が基本的な調達とインフラストラクチャの手順を完了していることを確認します。
Google Cloud プロジェクトとライセンス
Google Cloud プロジェクト: 課金リンクが有効な専用の Google Cloud (GCP)プロジェクトを作成します。プロジェクトのプロビジョニングまたは許可リストに関するお問い合わせについては、割り当てられた Google Cloud アカウント チームにお問い合わせください。
Gemini Enterprise ライセンス: Google Cloud 営業担当者または Google Cloud Marketplace を通じて Gemini Enterprise ライセンスを購入します。ライセンスは Google Workspace に追加することも、スタンドアロンの特典としてプロビジョニングすることもできます。トライアル ライセンスを含む Gemini Enterprise のすべての階層で、AlphaEvolve にアクセスできます。
ライセンス割り当てに関する注: サービス アカウントの権限借用を介して API を操作するシステム ユーザーごとに、1 つの Gemini Enterprise ライセンスが必要です。 Google Cloud サービス アカウントは、Workspace または Cloud Identity のライセンスを消費しません。
ユーザー プロファイルと IAM の要件
AlphaEvolve ライフサイクルでは、3 つの異なる ID が使用されます。
プロジェクトが次の必須アクセス制御ロールに準拠していることを確認します。
| プロフィール | 説明 | 必要なロールと権限 |
|---|---|---|
| クラウド管理者 | 1 回限りの初期環境構成、API の有効化、IAM の割り当てを管理します。 |
|
| システム ユーザー (研究者 / 科学者) |
最適化テストを構成して実行します。サービス アカウントの権限借用を介してのみ API とやり取りします。 |
|
| サービス アカウント | Cloud Private Preview API サービスの AlphaEvolve と直接やり取りする自動化された ID。 |
|
管理ホスト環境
管理用 Linux ホスト( Google Cloud Shell や安全な要塞ホストなど)は、構成スクリプトとテスト ペイロードを実行します。ホストに次の基本的なユーティリティが含まれていることを確認します。
Google Cloud SDK: プロジェクト管理コマンドの実行に必要です。ホストに
gcloudCLI がない場合は、インストールします。curl: バックエンド API エンドポイントへの HTTP トランスポート アクセスを検証します。Debian または Ubuntu ディストリビューションの場合は、パッケージ マネージャーを使用してユーティリティをインストールします。
sudo apt update && sudo apt install -y curl
AlphaEvolve の設定
AlphaEvolve の設定には、クラウド管理者とシステム ユーザーの連携が必要です。次のインストール タスクを完了する必要があります。
サービス アカウントを作成する
最適化テスト用のサービス アカウントをプロビジョニングする手順は次のとおりです。クラウド管理者は、管理ホストから次のコマンドを実行する必要があります。
Google Cloud プロジェクト ID を設定します。
この手順では、ターゲット Google Cloudプロジェクトの環境変数を宣言し、後続のコマンドが正しいコンテキストで動作するようにします。
PROJECT_ID="my-gcp-project-id"または、アクティブな CLI プロジェクト ID を動的に取得することもできます。
PROJECT_ID=$(gcloud config get project)サービス アカウント名を選択します。
この手順では、サービス アカウントの人間が読める識別子の環境変数を宣言します。これは、作成コマンドで使用されます。
SA_NAME="alpha-evolve-client"サービス アカウントを作成します。
このコマンドは、 Google Cloud プロジェクト内に新しいサービス アカウントを登録し、一意の名前、表示名、目的の簡単な説明を定義します。
gcloud iam service-accounts create "${SA_NAME}" \ --description="Service Account to call AlphaEvolve on Cloud Private \ Preview API service" \ --display-name="AlphaEvolve Client SA" \ --project=$PROJECT_IDサービス アカウントのメール文字列を抽出します。
このコマンドは、表示名に基づいてサービス アカウントのリストをクエリし、リソースを一意に識別するために、公式メールアドレスを環境変数(
SERVICE_ACCOUNT_EMAIL)として抽出します。SERVICE_ACCOUNT_EMAIL=$(gcloud iam service-accounts list \ --filter="displayName:AlphaEvolve Client SA" \ --format='value(email)' \ --project=$PROJECT_ID) echo "Newly created Service Account Email: ${SERVICE_ACCOUNT_EMAIL}"
サービス アカウントに Discovery Engine ロールを付与します。
次の
gcloudコマンドを実行して、プロジェクト レベルでサービス アカウントにroles/discoveryengine.adminロールを付与します。gcloud projects add-iam-policy-binding "${PROJECT_ID}" \ --member="serviceAccount:${SERVICE_ACCOUNT_EMAIL}" \ --role="roles/discoveryengine.admin" \ --project="${PROJECT_ID}"この構成では、次の技術ロジック パラメータが適用されます。
--member="serviceAccount:${SERVICE_ACCOUNT_EMAIL}": 管理ロールの機能を受け取るプリンシパルを指定します。--role="roles/discoveryengine.admin": 基盤となる Discovery Engine インスタンス、会話セッション、AlphaEvolveExperiments子リソースを作成するために必要な権限を付与します。${SERVICE_ACCOUNT_EMAIL}: プリンシパルが権限を借用できるリソース(新しいサービス アカウント)を指定します。
サービス アカウントの権限を借用する
作成手順を完了したら、gcloud コマンドライン ツールを使用して、新しく作成したサービス アカウントの権限を借用する明示的な権限を研究者(SYSTEM_USER)に付与します。
権限借用を行うプリンシパルを定義します。変数ターゲット文字列を宣言します。
SYSTEM_USER_EMAILは、最適化実行を行う研究者の企業 ID またはメールアドレスに置き換えます。SYSTEM_USER="user:SYSTEM_USER_EMAIL"プリンシパルにトークン作成ロールを付与します。次のコマンドを実行して、有効期間の短い認証情報トークンの生成機能を指定されたシステム ユーザーにマッピングします。
gcloud iam service-accounts add-iam-policy-binding \ "${SERVICE_ACCOUNT_EMAIL}" \ --member="${SYSTEM_USER}" \ --role="roles/iam.serviceAccountTokenCreator" \ --project="${PROJECT_ID}"この認可バインディングにより、次のことが保証されます。
--member="${SYSTEM_USER}": 認証情報の作成権限を受け取るユーザーを指定します。--role="roles/iam.serviceAccountTokenCreator": 有効期間の短い OAuth 2.0 アクセス トークンを生成する権限を付与します。これにより、安全なサービス アカウントの権限借用が実現します。"${SERVICE_ACCOUNT_EMAIL}": 受信ポリシーにバインドされるターゲット サービス アカウント リソースを指定します。
Discovery Engine API を有効にする
クラウド管理者は、クラウドの非公開プレビュー API エンドポイントで AlphaEvolve と連携できるように、discoveryengine.googleapis.com API を有効にする必要があります。クラウド管理者は、 Google Cloud コンソールまたは Linux ホストで Google Cloud SDK を使用して、この操作を行うことができます。gcloud services enable discoveryengine.googleapis.com
Discovery Engine のリソースとセッションを作成する
構成プロセスは、管理 ID の設定からコア アプリケーション データレイヤーのプロビジョニングに移行します。このステージでは、コード変更テストの管理、ルーティング、追跡を行うために、基盤となる API で必要なネストされた論理コンポーネントを構築します。
Discovery Engine のリソース階層
Discovery Engine リソースの階層はGoogle Cloud プロジェクトから始まり、そのリソースは特定のロケーション(リージョン)内にホストされます。この基盤となる構造内で、コレクションは関連リソースの最上位の組織コンテナとして機能します。エンジンは、コア AI アプリケーションをホストするためにコレクション内にプロビジョニングされます。また、アシスタント リソースが構成され、アプリケーションの生成 AI プロパティとツールを管理します。エンジンは、セッション オブジェクトとしてキャプチャされた個々のユーザー インタラクションを管理します。
AlphaEvolveExperiment はセッションの下にネストされ、特定のユーザー インタラクションのコンテキスト内でアルゴリズムの検出と最適化に使用される進化型コーディング エージェントの 1 回の実行を表します。

リソースをプロビジョニングする
Google Cloud プロジェクト ID を設定します。
このステップでは、ターゲット Google Cloudプロジェクトの環境変数を宣言し、後続のコマンドが正しいコンテキストで動作するようにします。
PROJECT_ID="my-gcp-project-id"または
PROJECT_ID=$(gcloud config get project)エンジン ID を定義します。
このステップでは、エンジン ID の URL フレンドリな一意の識別子の環境変数を宣言します。
ENGINE_ID="alpha-evolve-experiment-engine"エンジンを作成します。
このコマンドは、 Google Cloud プロジェクト内に新しい Engine を登録し、その一意の名前、表示名、SolutionType(
SOLUTION_TYPE_GENERATIVE_CHAT)を定義します。URL="https://discoveryengine.googleapis.com/v1alpha" URL="${URL}/projects/${PROJECT_ID}/locations/global" URL="${URL}/collections/default_collection/engines" URL="${URL}?engineId=${ENGINE_ID}" curl -X POST "${URL}" \ -H "Content-Type: application/json" \ -H "x-goog-user-project: ${PROJECT_ID}" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -d '{ "display_name": "'"${ENGINE_ID}"'", "data_store_ids": [], "solution_type": "SOLUTION_TYPE_GENERATIVE_CHAT" }'アシスタント ID を定義します。
このステップでは、アシスタント ID の URL フレンドリな一意の ID の環境変数を宣言します。
ASSISTANT_ID="default_assistant"アシスタントを作成します。
このコマンドは、 Google Cloud プロジェクト内に新しいアシスタントを登録し、その一意の名前、表示名、目的の簡単な説明を定義します。
URL="https://discoveryengine.googleapis.com/v1alpha" URL="${URL}/projects/${PROJECT_ID}/locations/global" URL="${URL}/collections/default_collection/engines" URL="${URL}/${ENGINE_ID}/assistants?assistantId=${ASSISTANT_ID}" curl -X POST "${URL}" \ -H "Content-Type: application/json" \ -H "x-goog-user-project: ${PROJECT_ID}" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -d '{ "display_name": "'"${ASSISTANT_ID}"'", "description": null, "generation_config": null, "web_grounding_type": "WEB_GROUNDING_TYPE_UNSPECIFIED", "enabled_actions": null, "customer_policy": null }'
API アクセスをテストする
クラウド管理者が必要な ID をプロビジョニングし、サービス アカウントの権限借用を構成し、エンジン レイアウトを確認したら、調査システム ユーザーは次の検証手順を実行する必要があります。このシーケンスは、アクティブな最適化ワークロードを開始する前に、エンドツーエンドの転送と認可を確認するための事前フライト スモークテストとして機能します。
権限借用を使用してアクセス トークンを生成する
次のコマンドを実行して、ポリシーがサービス アカウントの権限借用を正しくバインドしていることを検証します。このチェックにより、ローカルの研究者の ID が自動実行 ID を安全に引き継ぐことができます。
gcloud auth print-access-token \
--impersonate-service-account="${SERVICE_ACCOUNT_EMAIL}"
アクセス トークンを使用する
このコマンドは、未加工の一時的な OAuth 2.0 認証情報文字列を出力します。複数ステップの検証ワークフローの場合は、このトークンを短期間のシェル変数にキャッシュに保存するか、トランスポート呼び出し内に直接インライン化して、基盤となるプロジェクトのメタデータをクエリします。
TOKEN=$(gcloud auth print-access-token \
--impersonate-service-account="${SERVICE_ACCOUNT_EMAIL}")
curl -X GET \
-H "Authorization: Bearer ${TOKEN}" \
"https://discoveryengine.googleapis.com/v1alpha/projects/${PROJECT_ID}"
エンジンの表示と削除
現在のアクセス トークンまたは権限を借用したサービス アカウントを使用して、エンジンを検証、一覧表示、削除します。
URL="https://discoveryengine.googleapis.com/v1alpha"
URL="${URL}/projects/${PROJECT_ID}/locations/global"
URL="${URL}/collections/default_collection/engines"
curl -X GET "${URL}" \
-H "Content-Type: application/json" \
-H "x-goog-user-project: ${PROJECT_ID}" \
-H "Authorization: Bearer $(gcloud auth print-access-token)"
URL="https://discoveryengine.googleapis.com/v1alpha"
URL="${URL}/projects/${PROJECT_ID}/locations/global"
URL="${URL}/collections/default_collection/engines/${ENGINE_ID}"
curl -X DELETE "${URL}" \
-H "Content-Type: application/json" \
-H "x-goog-user-project: ${PROJECT_ID}" \
-H "Authorization: Bearer $(gcloud auth print-access-token)"
これで設定手順は完了です。これで、AlphaEvolve V1 API を実行できるようになりました。