Anthropic Claude モデルを使用した高速モード

高速モードでは、Gemini Enterprise Agent Platform でサポートされている Anthropic Claude モデルの出力トークンの生成が高速化されます。ベースモデルのインテリジェンス機能と安全性機能を維持する高速サービング構成を使用します。オンライン予測リクエストで高速モードを有効にするには、リクエスト本文で "speed": "fast" を設定します。

トークンの生成を待つことでデベロッパーやユーザーフローが中断される、レイテンシに敏感なインタラクティブなワークロードには、高速モードを使用します。

  • インタラクティブなエージェント型コーディング: コンテキストを切り替えることなく、人間参加型エージェントを使用して、マルチステップのコーディング、リファクタリング、デバッグタスクを反復処理します。
  • ライブ プランニング: リポジトリまたはオペレーションのコンテキストを収集し、実行計画をインタラクティブに生成します。
  • インシデント対応: 推論のターンアラウンド タイムが重要な場合に、本番環境のアラートをトリアージし、修復手順を合成します。

サポートされているモデルとライフサイクル ポリシー

高速モードは、サポートされている Claude モデル ファミリーの最新バージョンと、廃止されるバージョンの 30 日間の移行期間中に提供されます。Agent Platform は、次のモデルの高速モードをサポートしています。

サポートされているモデル ファミリーの新しいバージョンがリリースされると、そのファミリーの以前のバージョンの高速モードは、新しいバージョンのリリースから 30 日後に廃止されます。30 日間の廃止期間が終了すると、"speed": "fast" を含む以前のモデル バージョンへのリクエストは HTTP 400(INVALID_ARGUMENT)エラーを返します。そのモデル バージョンへの標準速度のリクエストは引き続き正常に機能します。高速モードを引き続き使用するには、最新のモデル バージョンをターゲットとするようにリクエストを更新するか、リクエスト本文から "speed": "fast" を削除してください。

サポートされているロケーション

高速モードは、サポートされているモデルの次の API 地域 ID で使用できます。

  • グローバル(Google Cloud 上の Anthropic の Claude Fable 5.2): global
  • 米国マルチリージョン(Google Cloud 上の Anthropic の Claude Fable 5.2): us
  • ヨーロッパ マルチリージョン(Google Cloud 上の Anthropic の Claude Fable 5.2): eu

高速モードでは、直接リージョン エンドポイントは一般公開でサポートされていません。高速モードが利用できないロケーションに "speed": "fast" を含むリクエストを送信すると、HTTP 400(FAILED_PRECONDITION)エラーが返されます。

始める前に

高速モードのリクエストを送信する前に、次の設定手順を完了します。高速モードでは、標準の Claude リクエストと同じプロジェクト設定と Model Garden の有効化が使用されます。パートナー モデルの設定の詳細については、始める前にをご覧ください。

  1. Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Gemini Enterprise Agent Platform API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Gemini Enterprise Agent Platform API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  10. 次のいずれかの Model Garden モデルカードに移動し、[有効にする] をクリックして、モデル固有の利用規約またはデータ共有要件を完了します。

必要なロール

Claude モデルに高速モードの予測リクエストを送信するために必要な権限を取得するには、 Google Cloud プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

高速モード リクエストを送信する

高速モードを使用するには、標準公開モデル エンドポイント(claude-fable-5-2 など)にリクエストを送信し、最上位のリクエスト本文で "speed": "fast" を設定します。anthropic-beta ヘッダーは必要ありません。Model Garden で有効にする個別のモデルカードはありません。

REST

次のサンプルでは、"speed": "fast" を有効にして、global エンドポイントの claude-fable-5-2 に予測リクエストを送信します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID(例: my-agent-project)。
  • MODEL: claude-fable-5-2 など、高速モードをサポートする Claude モデル(デフォルト: claude-fable-5-2)。エンドポイント URL には、常にベースモデル ID を指定します。

このサンプルでは、global エンドポイントを使用します。代わりにサポートされているマルチリージョン エンドポイントを使用するには、マルチリージョン エンドポイントを指定するをご覧ください。

HTTP メソッドと URL:

POST https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/anthropic/models/MODEL:rawPredict

リクエストの本文(JSON):

{
  "anthropic_version": "vertex-2023-10-16",
  "speed": "fast",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "Analyze the root cause of an HTTP 502 spike on an upstream GKE ingress controller and list three immediate mitigation steps."
    }
  ]
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/anthropic/models/MODEL:rawPredict"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/anthropic/models/MODEL:rawPredict" | Select-Object -Expand Content

レスポンスは、次のような JSON オブジェクトです。リクエストが高速モードで処理されると、usage オブジェクトに "speed": "fast" が含まれます。

Python

Anthropic Vertex SDK(anthropic[vertex])を使用して、client.messages.create() の呼び出し時に extra_body={"speed": "fast"} を渡します。

from anthropic import AnthropicVertex
from anthropic.types import Message


def generate_with_fast_mode(
    project_id: str = "PROJECT_ID",
) -> Message:
    client = AnthropicVertex(
        project_id=project_id,
        region="global",
    )

    message = client.messages.create(
        model="claude-fable-5-2",
        max_tokens=1024,
        extra_body={"speed": "fast"},
        messages=[
            {
                "role": "user",
                "content": (
                    "Analyze the root cause of an HTTP 502 spike on an upstream "
                    "GKE ingress controller and list three immediate mitigation "
                    "steps."
                ),
            }
        ],
    )
    print(message.model_dump_json(indent=2))
    return message

使用された速度を確認する

リクエストが高速モードで処理されたことを確認するには、レスポンスの usage.speed フィールドを調べます。

  • 高速モード: usage.speed が存在し、"fast" に設定されています(単項レスポンス、またはストリーミング レスポンスの message_start イベントまたは message_delta イベント)。
  • 標準速度: 標準リクエスト("speed": "standard" または speed が省略されている)を送信する場合、usage.speed は "standard" であるか、省略されます。

割り当て、モニタリング、アクセス制御

高速モードでは、標準速度のトラフィックから分離された専用の容量とレート制限が使用されます。また、ベースモデルのプロジェクトのアクセス構成が継承されます。

割り当て

グローバル エンドポイントとマルチリージョン エンドポイントでは、高速モードのリクエストは、標準速度モデルの割り当てとは別に、専用の共有リネージ割り当てバケットを消費します。高速モードのトラフィックは標準の anthropic-claude-fable 割り当てから差し引かれず、標準速度のトラフィックは高速モードの割り当てから差し引かれません。

Google Cloud コンソールの [割り当てとシステム上限] ページで高速モードの割り当ての増加を表示またはリクエストするには、base_model でフィルタします。

  • anthropic-claude-fable-fast(グローバル エンドポイントとマルチリージョン エンドポイントに適用)

使用オプションとプロビジョンド スループット

高速モードはプロビジョンド スループットをサポートしていません。

  • PayGo のみ: 高速モードのリクエストでは、プロジェクトにベースモデルのプロビジョンド スループットの有効な注文がある場合でも、常にpay-as-you-goが使用されます。高速モードのトラフィックが、プロビジョンド スループットの注文を消費したり、注文からあふれたりすることはありません。
  • dedicated リクエスト ヘッダーがスロットリングされる: 高速モードのリクエストに X-Vertex-AI-LLM-Request-Type: dedicated HTTP ヘッダー(または gRPC メタデータ)を含めないでください。高速モードにはプロビジョンド スループットの割り当てがなく、dedicated リクエストは従量課金制に移行できません。そのため、X-Vertex-AI-LLM-Request-Type: dedicated を含む高速モードのリクエストは HTTP 429(RESOURCE_EXHAUSTED)エラーを返します。ヘッダーを省略するか、代わりに X-Vertex-AI-LLM-Request-Type: shared を設定します。

高速モードの指標をモニタリングする

Cloud Monitoring では、高速モードのトラフィックは、ベースモデル ID(claude-fable-5-2)ではなく model_user_id="claude-fable-5-2-fast" を報告します。Metrics Explorer で model_user_id="claude-fable-5-2-fast" でフィルタすると、高速モードのリクエスト数、トークン使用量、レイテンシを標準速度のトラフィックとは別にモニタリングできます。

アクセス制御と組織のポリシー

高速モードでは、ベースモデルと同じ必要なロールと Model Garden の有効化状態が使用されます。リクエストが 403 PERMISSION_DENIED を返す場合は、プリンシパルに Agent Platform ユーザーロール(roles/aiplatform.user)があり、Model Garden でベースモデルが有効になっていることを確認します。

組織で constraints/vertexai.allowedModels 組織ポリシーの制約が適用されている場合、高速モードはベースモデルの :predict 値(publishers/anthropic/models/claude-fable-5-2:predict など)に則って管理されます。

  • publishers/anthropic/models/claude-fable-5-2:predict を許可すると、claude-fable-5-2 への標準速度と高速モードの両方のリクエストが許可されます。
  • publishers/anthropic/models/claude-fable-5-2:predict を拒否すると、標準速度のリクエストと高速モードのリクエストの両方がブロックされます。

組織のポリシーの詳細については、Model Garden モデルへのアクセスを制御するをご覧ください。

料金

高速モードでは常にpay-as-you-goが使用され、標準速度のリクエストとは異なる料金が適用されます。

  • トークン: すべてのトークンタイプ(入力、出力、5 分および 1 時間のキャッシュ書き込み、キャッシュ ヒット トークン)で、標準速度のトークンレートの 2 倍の料金が適用されます。
  • ウェブ検索: ウェブ検索ツールの呼び出しは、標準(1 倍)料金で課金されます。

使用量は、高速モードラベルが付いたベースモデルの Google Cloud SKU で課金されます。リージョンとグローバルのトークンレートについては、Agent Platform の料金ページをご覧ください。

制限事項とエラー処理

高速モードを使用する場合は、次の制限事項に注意してください。

  • プロビジョンド スループットなし: 高速モードはプロビジョンド スループットをサポートしておらず、常に従量課金制を使用します。X-Vertex-AI-LLM-Request-Type: dedicated ヘッダーを含む高速モード リクエストを送信すると、HTTP 429(RESOURCE_EXHAUSTED)エラーが返されます。
  • バッチ予測なし: 高速モードは、インタラクティブなリアルタイム推論用に設計されており、バッチ予測ではサポートされていません。
  • プロンプト キャッシュの分離: プロンプト キャッシュは、標準速度のリクエストと高速モードのリクエスト間で共有されません。標準速度で書き込まれたキャッシュ エントリは、高速モードでキャッシュ ヒットを生成しません。同様に、高速モードのキャッシュ エントリは、標準速度でキャッシュ ヒットを生成しません。
  • サイレント ダウングレードなし: "speed": "fast" を含むリクエストを高速モードで処理できない場合、Agent Platform は標準速度にフォールバックするのではなく、エラーを返します。

次の表に、無効な高速モード リクエストまたはサポートされていない高速モード リクエストに対して返されるエラーをまとめます。

HTTP ステータスとコード エラー メッセージ 原因と修復
400 INVALID_ARGUMENT Fast mode (speed: fast) is not supported for this model. ターゲット モデルが高速モードを提供していないか、新しいモデル バージョンのリリースから 30 日後に高速モードが廃止されました。サポートされているモデルをターゲットにするか、"speed": "fast" を削除してください。
400 INVALID_ARGUMENT Invalid value for speed; expected "standard" or "fast". speed フィールドにサポートされていない値が含まれているか、文字列ではありません。"fast" または "standard" を指定します。
400 INVALID_ARGUMENT Invalid request body: duplicate keys or malformed JSON. JSON リクエストの本文に、重複するキー(重複する "speed" キーなど)または不正な形式の JSON 構文が含まれています。1 つの "speed" キーを含む有効な JSON を送信します。
400 INVALID_ARGUMENT Fast mode is not supported for batch prediction. リクエストは "speed": "fast" を使用してバッチ予測ジョブに送信されました。バッチ ワークロードの "speed": "fast" を削除します。
400 FAILED_PRECONDITION Fast mode is not available in this location. 高速モードは、リクエストされたリージョンにデプロイされていません。サポートされているロケーションのいずれかにリクエストを転送します。
404 NOT_FOUND Publisher Model ... was not found リクエスト URL が、呼び出し可能なモデル ID ではなく、モニタリング指標ラベル(claude-fable-5-2-fast)をターゲットにしています。ベースモデル ID(claude-fable-5-2)をターゲットにして、リクエスト本文で "speed": "fast" を渡します。
429 RESOURCE_EXHAUSTED Too many requests. Exceeded the provisioned throughput リクエストに "speed": "fast" と X-Vertex-AI-LLM-Request-Type: dedicated ヘッダーの両方が含まれていました。高速モードはプロビジョンド スループットをサポートしておらず、常に従量課金制を使用します。X-Vertex-AI-LLM-Request-Type: dedicated を削除する(または shared に設定する)必要があります。
429 RESOURCE_EXHAUSTED anthropic-claude-fable-fast の割り当てを超過しました プロジェクトが、そのロケーションの高速モードの QPM、入力 TPM、または出力 TPM の割り当てを超えました。指数バックオフで再試行するか、anthropic-claude-fable-fast の割り当ての引き上げをリクエストします。

高速モードのエラーを処理する

Agent Platform は高速モードのリクエストをサイレントにダウングレードしないため、高速モードが利用できない場合の処理はアプリケーションが決定します。たとえば、高速モードは次のバージョンのリリースから 30 日後に廃止されます。また、高速モードが提供されていないロケーションもあります。次の Python サンプルは、特定の高速モードのエラー メッセージと一致するため、無関係な HTTP 400 エラーが引き続き表示されます。

標準速度にフォールバックする

レイテンシの増加を許容できるワークロードの場合は、高速モードの可用性エラーをキャッチし、標準速度でリクエストを再試行します。

import anthropic
from anthropic import AnthropicVertex
from anthropic.types import Message

# Errors that mean fast mode isn't available for this model or location.
_FAST_MODE_UNAVAILABLE = (
    "Fast mode (speed: fast) is not supported for this model.",
    "Fast mode is not available in this location.",
)


def generate_with_standard_fallback(
    project_id: str = "PROJECT_ID",
    region: str = "LOCATION",
    model: str = "claude-fable-5-2",
) -> Message:
    client = AnthropicVertex(project_id=project_id, region=region)
    messages = [{"role": "user", "content": "PROMPT"}]
    try:
        return client.messages.create(
            model=model,
            max_tokens=1024,
            messages=messages,
            extra_body={"speed": "fast"},
        )
    except anthropic.BadRequestError as e:
        if not any(msg in str(e) for msg in _FAST_MODE_UNAVAILABLE):
            raise
        # Fast mode isn't available: retry at standard speed.
        return client.messages.create(
            model=model,
            max_tokens=1024,
            messages=messages,
        )

次のように置き換えます。

  • PROJECT_ID: Google Cloud プロジェクト ID(my-agent-project など)。
  • LOCATION: サポートされているロケーション(global など、デフォルト: global)。
  • PROMPT: モデルに送信するプロンプト テキスト。

次のモデル バージョンに移行する

モデル バージョンの廃止後も高速モードを維持するには、次のバージョンで高速モードを使用してリクエストを再試行します。

import anthropic
from anthropic import AnthropicVertex
from anthropic.types import Message

_FAST_MODE_NOT_SUPPORTED = (
    "Fast mode (speed: fast) is not supported for this model."
)


def generate_with_next_version(
    project_id: str = "PROJECT_ID",
    region: str = "LOCATION",
    model: str = "CURRENT_MODEL",
    next_model: str = "NEXT_MODEL",
) -> Message:
    client = AnthropicVertex(project_id=project_id, region=region)
    messages = [{"role": "user", "content": "PROMPT"}]
    try:
        return client.messages.create(
            model=model,
            max_tokens=1024,
            messages=messages,
            extra_body={"speed": "fast"},
        )
    except anthropic.BadRequestError as e:
        if _FAST_MODE_NOT_SUPPORTED not in str(e):
            raise
        # Fast mode is retired on this version: use the next version.
        return client.messages.create(
            model=next_model,
            max_tokens=1024,
            messages=messages,
            extra_body={"speed": "fast"},
        )

次のように置き換えます。

  • PROJECT_ID: Google Cloud プロジェクト ID(my-agent-project など)。
  • LOCATION: サポートされているロケーション(global など、デフォルト: global)。
  • CURRENT_MODEL と NEXT_MODEL: 使用するモデル バージョン(claude-fable-5-2 など)と、同じモデル ファミリーの次のバージョン。
  • PROMPT: モデルに送信するプロンプト テキスト。

next-version パターンは、モデルの廃止エラーのみを処理します。ロケーションで高速モードが提供されていない場合、次のバージョンでもエラーは解決しません。代わりに、サポートされているロケーションにリクエストを転送します。

次のステップ