Grok Build CLIでAmazon Bedrock上のGrok 4.6を試してみた

Grok Build CLIでAmazon Bedrock上のGrok 4.6を試してみた

最新版のGrok Build CLIにAmazon Bedrock(bedrock-mantle)用のカスタムモデルを設定し、AWS認証情報から生成したBearer TokenでGrok 4.6を呼び出してみました。対話モードとヘッドレス実行のいずれでもBedrock経由で動作し、日本語プロンプトには日本語で応答が返りました。
2026.08.19

はじめに

2026年8月19日、Amazon BedrockでxAIのGrok 4.6が利用可能になりました。

https://dev.classmethod.jp/articles/grok-4-6-amazon-bedrock-mantle-iam/

Grok Build CLIについては、以前X Premium+のGrok 4.5で試しています。

https://dev.classmethod.jp/articles/grok-45-build-cli-headless-mode-comparison-kiro-codex/

今回、Grok Build CLI(1.0.5)にカスタムモデルを設定して、Amazon Bedrock経由のGrok 4.6利用を確かめる機会がありましたので、紹介します。コーディングエージェントとしての機能検証は行いません。

検証内容

インストールとBedrock設定、対話モードでの動作確認、ヘッドレス実行、データ保持設定の確認の順に進めました。

検証環境

今回の結果の前提となる環境です。

項目
OS Fedora Asahi Remix 44(Linux 7.1.6-400.asahi.fc44.aarch64+16k)
アーキテクチャ aarch64(Apple Silicon)
Grok Build CLI 1.0.5 (stable)
Bedrockリージョン us-west-2
モデルID xai.grok-4.6
カスタムモデル名 grok-4.6-bedrock

インストールとBedrock設定

Grok Build CLIは公式インストーラーで導入しました。

curl -fsSL https://x.ai/cli/install.sh | bash

インストール後のバージョンは grok 1.0.5 (5115b46bc9) [stable] でした。

Grok Build CLIでは、~/.grok/config.toml にカスタムモデルを定義でき、任意のOpenAI互換エンドポイントを呼び出せます。設定項目の仕様はCLI同梱のドキュメント(~/.grok/docs/user-guide/11-custom-models.md)と公式サイトに記載があります。

https://docs.x.ai/build/overview

Amazon BedrockはOpenAI互換のAPIを bedrock-mantle.{region}.api.aws エンドポイントで提供しています。

https://docs.aws.amazon.com/bedrock/latest/userguide/bedrock-mantle.html

リージョンごとのエンドポイントは以下の一覧で確認できます。

https://docs.aws.amazon.com/bedrock/latest/userguide/endpoints.html

Amazon Bedrock用のカスタムモデル grok-4.6-bedrock には、次の値を設定しました。モデル名に . を含むため、TOMLではセクション名を引用符で囲んでいます。

[model."grok-4.6-bedrock"]
model = "xai.grok-4.6"
base_url = "https://bedrock-mantle.us-west-2.api.aws/openai/v1"
api_backend = "chat_completions"
env_key = "GROK_BEDROCK_TOKEN"

Bedrock側の認証にはBearer Tokenを使います。AWSが提供するPythonライブラリ aws_bedrock_token_generator で、AWS認証情報から短期のBearer Tokenを生成できます。トークンの有効期間は最長12時間です。インストール時のパッケージ名はハイフン区切りで、インポート名はアンダースコア区切りです。

pip install aws-bedrock-token-generator

インストール手順とトークンの有効期間は、以下のページで説明されています。

https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys-generate.html

provide_token(region=...) が返した値を、env_key で指定した環境変数に設定してからGrok Build CLIを起動しました。

export GROK_BEDROCK_TOKEN="$(python -c 'from aws_bedrock_token_generator import provide_token; print(provide_token(region="us-west-2"))')"

対話モードでの動作確認

まず、Bearer Tokenの生成に使うAWS認証情報が、想定どおりのアカウントを指しているかを確認しました。

aws sts get-caller-identity --query Account --output text
XXXXXXXXXXXX

引数でカスタムモデルを指定して対話モードを起動しました。

grok -m grok-4.6-bedrock

起動画面には「Grok 4.6 (Amazon Bedrock)」と「Logged in with API key」が表示されました。

Grok Build CLIの起動画面

プロンプトを1往復やり取りしたあと、タブを切り替えてUsage系の画面を確認しました。Bedrock経由の呼び出しが成功し、Grok Build CLI側のセッション集計にトークン使用量が記録されていました。

Usage limitの画面には Session usage (since start or last resume) が表示されていました。
値は Input tokens 10,710 / Output tokens 39 (22 reasoning) / Total tokens 10,749 でした。
Model calls 1・API time 1.8s と Cost: not available (not reported) も並んでいました。

Usage limitの表示

Session infoでは、Model: Grok 4.6 (Amazon Bedrock)API Backend: ChatCompletions が並びました。
Turn: 1Context: 10749 / 500000 tokens (2%) もこの画面で読み取れました。

Session infoの表示

Context usageに切り替えると、モデル表記は xai.grok-4.6、コンテキスト上限は 500k tokens でした。

Context usageの表示

ヘッドレス実行

対話モードとは別に、ヘッドレスモードで日本語プロンプトを投げました。

grok -m grok-4.6-bedrock \
  -p "日本語で挨拶してください。今日のAWSの調子はどうですか?" \
  --output-format json

応答の冒頭は次のとおりです。

日本語でご挨拶しつつ、今日のAWSの稼働状況を確認します。こんにちは。今日もよろしくお願いします。

--output-format json で得たJSON出力です。応答本文(text)は冒頭のみ、セッション識別子はマスクしています。

{
  "text": "日本語でご挨拶しつつ、今日のAWSの稼働状況を確認します。こんにちは。今日もよろしくお願いします。\n\n(以下略)",
  "stopReason": "end_turn",
  "sessionId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
  "requestId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
  "usage": {
    "input_tokens": 44827,
    "cache_read_input_tokens": 1536,
    "cache_creation_input_tokens": 0,
    "output_tokens": 911,
    "reasoning_tokens": 193,
    "total_tokens": 47274
  },
  "num_turns": 4,
  "modelUsage": {
    "xai.grok-4.6": {
      "inputTokens": 44827,
      "outputTokens": 911,
      "cacheReadInputTokens": 1536,
      "cacheCreationInputTokens": 0,
      "modelCalls": 4
    }
  }
}

modelUsage のキーにはモデルID xai.grok-4.6 が記録されており、Bedrock経由の呼び出しが成功したと判断できます。
1回のプロンプト実行に対して、modelCalls とJSON直下の num_turns はいずれも 4 でした。

データ保持設定の確認

Bedrockでは、推論時の入出力を保持するかどうかをアカウントまたはプロジェクト単位のデータ保持モードで制御します。モデル側も、許可するモードを allowed_modes として宣言しています。生成済みのBearer Tokenでモデル情報を取得すると確認できます。

curl -s https://bedrock-mantle.us-west-2.api.aws/v1/models/xai.grok-4.6 \
  -H "Authorization: Bearer $GROK_BEDROCK_TOKEN"
{
    "created": 1786492800,
    "data_retention": {
        "allowed_modes": [
            "provider_data_share",
            "none",
            "default"
        ],
        "mode": "default",
        "source": "model_default"
    },
    "id": "xai.grok-4.6",
    "object": "model",
    "owned_by": "system",
    "status": "available"
}

modedefaultsourcemodel_default でした。アカウント側は次のコマンドで inherit と確認できたので、モデルの既定がそのまま適用されます。

aws bedrock get-account-data-retention --region us-west-2
{
    "mode": "inherit"
}

default では、AWSが不正利用検知の目的で入出力を保持する場合がありますが、モデルプロバイダーには渡りません。allowed_modesnone も含まれているため、ゼロデータ保持を選ぶこともできます。各モードの意味は以下のページにまとまっています。

https://docs.aws.amazon.com/bedrock/latest/userguide/data-retention.html

まとめ

カスタムモデルを登録し、Bearer Tokenを環境変数で渡すだけで、Grok Build CLIからBedrock上のGrok 4.6を扱えました。

Bedrockはトークン量に応じた従量課金なので、月額の固定費はかかりません。認証や課金をAWSアカウントに寄せたい場合や、入出力をモデルプロバイダーに渡さない形でGrok 4.6を使いたい場合は、今回紹介した設定をお試しください。

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事