Z.aiのGLM 5.3がAmazon Bedrockで利用可能になりました。GLM 5.3は、今年の初めにAmazon Bedrockに登場したGLM 5と同じ系譜にあり、さまざまな重要な改善を加えたモデルです。Hugging Face Hubで公開されているGLM 5.3は、753B(7530億)パラメータのmixture-of-expertsモデルで、コーディングと長期のエージェント型タスク向けに最適化されています。Z.aiは、このモデルが注目すべきサイバーセキュリティ能力を示すと報告しています。
本記事では、Amazon Bedrock上のGLM 5.3をOpenAI互換APIで呼び出す方法と、プロンプトキャッシュ(prompt caching)でコストとレイテンシを下げる方法を示します。さらに、オープンソースのAIペネトレーションテスト(penetration testing)エージェントであるStrixを使用して、自社アプリケーションに対して許可を得たセキュリティテスト(authorized security test)を行う現実的なエージェント型ワークフロー(agentic workflow)にGLM 5.3を使用します。
Amazon Bedrock上のGLM 5.3へのアクセスは、対象となるエンタープライズ顧客に提供されています。コーディングやエージェント型のワークロードでは、数百ファイルにわたるリポジトリのリファクタリング、コンテキストを失わない数時間規模のエージェント型ワークフローの維持、各ステップでのツール利用を伴う複雑なシステム問題の推論が求められています。オープンウェイトモデルでこれに応えるには、従来は自前の推論インフラの用意と運用が必要でした。GLM 5.3の強みが直接生きるワークロードの一つとして、自分自身のアプリケーションに対する自動セキュリティテストがあります。
コンソールとAPIからの呼び出し方
AWS Management Console上では、コードを書いたり開発者ツールをインストールしたりすることなく、GLM 5.3へプロンプトを送り始めることができます。Amazon Bedrockに移動し、左サイドバーメニューから Test > Playground を選ぶと始められます。Amazon BedrockコンソールのPlaygroundでは、モデル一覧から GLM 5.3 を選び、チャットUIから最初のプロンプトを送ることができます。
GLM 5.3は、OpenAI互換のResponses APIおよびChat Completions API、またはAmazon BedrockのInvoke APIおよびConverse APIを通じて呼び出すことができます。プログラムから呼び出す場合は、`bedrock-runtime` エンドポイントを使用します。新規アプリケーションには、より完全な機能セットをサポートするOpenAI互換のResponses APIおよびChat Completions APIの使用が推奨されます。
Amazon Bedrockは、APIキーを必要とするOpenAI互換の連携向けにAPIキーの生成をサポートしています。ただし、可能な限り長期有効なAPIキーより短期の認証情報を優先することが強く推奨されています。Responses APIの例では、OpenAI Python SDKを使ってPythonからResponses APIを呼び出します。また、標準のAWS Command Line Interface (AWS CLI) 認証情報から、aws-bedrock-token-generator ライブラリを用いて短期トークンを生成します。
Responses APIの例の手順は、必要なパッケージをインストールし、コードを `bedrock-request.py` として保存して、スクリプトを実行するという流れです。スクリプトを実行すると、モデルの出力が表示されます。
Strixは、コードを動的に実行して脆弱性を見つけ、proof-of-conceptのテストで検証する、オープンソースのAIペネトレーションテストエージェントです。オプション(省略可能)のセキュリティテストのデモを行う場合に限り、Dockerと、bedrock extra付きのStrixをインストールする必要があります。
推論プロファイルとプロンプトキャッシュ
GLM 5.3は、USクロスリージョン推論(cross-Region inference)プロファイル(`us.zai.glm-5.3`)とGlobalクロスリージョン推論プロファイル(`global.zai.glm-5.3`)で利用できます。ユーザーが選択した「ソース」AWSリージョンにリクエストを送ると、Amazon Bedrockが各リクエストを安全にルーティングして処理します。サービスティアとして、時間的制約の少ないワークロードのコストを最適化するFlex、高い料金と引き換えにレイテンシが重要なリクエストを優先するPriority、価格と速度のデフォルトのバランスをとるStandardを選べます。
Amazon Bedrock上のGLM 5.3は、デフォルトで暗黙的プロンプトキャッシュ(implicit prompt caching)をサポートしています。同じ先頭のプロンプトプレフィックスを共有する繰り返し呼び出しで、応答レイテンシーと入力トークンコストを減らせます。長時間続くコーディングやナレッジワーク(knowledge work)のワークフローでは、システムプロンプト、ツール定義、リポジトリファイルなどの安定したコンテキストを、複数の会話ターンにわたって再送信することがよくあります。Responses APIとChat Completions APIでは、明示的なキャッシュ制御もサポートしており、その使用が推奨されています。大きなシステムプロンプトやリポジトリのコンテキストを毎ターン再送するエージェント型ワークロードでは、キャッシュによりレイテンシと入力コストの両方が下がります。
明示的プロンプトキャッシュでは、再利用可能なプロンプトプレフィックスを具体的に指定するため、暗黙的キャッシュよりキャッシュヒット率が向上し得て、その結果レイテンシーとコストの削減も改善し得ます。GLM 5.3で明示的プロンプトキャッシュ(explicit prompt caching)を使うには、まずリクエストの `prompt_cache_options` でexplicit cachingモードを選択します。続いて、入力コンテンツブロックに1つ以上の `prompt_cache_breakpoint` マーカーを追加し、再利用可能なプロンプトプレフィックスの終端(その位置を含む)を示します。`prompt_cache_breakpoint` の各ブレークポイントは、キャッシュの対象になるために少なくとも 1,024 トークンを含んでいる必要があります。
Z.aiのGLM 5.3は、複雑なシステムエンジニアリングと長期のエージェント型タスク向けに設計されています。これには、複数ステップの推論、ツールを組み合わせたワークフロー、および大規模コードベースにわたるコンテキストの維持が含まれます。GLM 5.3は、Amazon Bedrockコンソールで試せるほか、Kimi K3に関する最近の記事で紹介した方法と同様に、OpenCodeなどのコーディングアシスタント経由でも利用できます。また、サポートされているAPIを通じてカスタムアプリケーションから接続することもできます。
Strixによるテストの対象と許可
記事執筆時点で、StrixのドキュメントはGLM 5.3をデフォルトモデルとして使用しています。サードパーティの推論プロバイダーの代わりにAmazon Bedrock上のGLM 5.3を使うよう設定することもでき、その場合、モデル推論はAWSアカウントの管理下で実行されます。
セキュリティテスト(security testing)は、自身が所有するアプリケーション、またはテストの明示的な書面による許可を得ているアプリケーションに対してのみ行ってください。所有していないシステムに対する許可のない(unauthorized)セキュリティテストは、ほとんどの法域で違法であり、AWS Acceptable Use Policyにも違反します。
本記事のウォークスルーでは、テスト対象は、手元のマシン上でローカルに動かす、意図的に脆弱なサンプルアプリケーションであるOWASP Juice Shopです。オープンソースのエージェントを自分で動かす以上の、フルマネージドで継続的なセキュリティテストが必要な場合、AWS Continuumがオンデマンドのペネトレーションテストなどのセキュリティ分析をマネージドサービスとして提供します。StrixのようなオープンソースエージェントとAWS Continuumは補完的な関係にあります。Strixはローカルビルドに対し、開発者主導で人が介在し、深くカスタマイズできるテストを提供します。一方でAWS Continuumはマネージドな評価を大規模に実行します。
Z.aiが報告するベンチマーク性能
Z.aiは、DeepSWE、Terminal Bench 3.0、FrontierSWEなどのコーディングベンチマークで競争力のある性能を示すとしています。また、自社の内部コーディングベンチマークでGLM 5.2から50%向上したと報告しています。ただし、これらのコーディングベンチマークでは、GLM 5との直接比較は報告されていません。GLM 5.1の発表以降、改善の大きさを受けてベンチマークテスト自体が更新されたためとされています。報告されたセキュリティタスクのベンチマーク性能は際立っており、防御的なセキュリティワークフローに適したモデルです。例えば、Z.aiはリリース時点でCyberGymベンチマークにおいてトップの84.5というスコアを測定しました。Amazon Bedrockとの連携も広がり、クロスリージョン推論プロファイル、暗黙的・明示的なプロンプトキャッシュに対応しました。また、Invoke APIとConverse APIに加え、OpenAI互換のResponses APIとChat Completions APIの機能の同等性が向上しました。
Strixの接続設定と実行、クリーンアップ
Strixは内部でLiteLLMを使用しており、Amazon Bedrockに関するドキュメントに記載されているとおり、AWS CLIの認証情報が自動的に使用されます。APIキーは不要ですが、接続設定のために `AWS_PROFILE` や `AWS_REGION` などの環境変数を設定したい場合があります。記事執筆時点で、LiteLLMは `bedrock/global.zai.glm-5.3` をまだ解決しません。この問題が修正されるまでは、Converse APIのルートと推論プロファイルのAmazon Resource Name (ARN)を明示的に指定できます。
Strixはサブエージェントのチームを立ち上げ、攻撃対象領域(threat surface)のマッピングと各種の脆弱性カテゴリの探索を行い、各検出結果を動作するproof of conceptで検証しようとします。これは誤検知のトリアージに費やす時間を抑えるのに役立ちます。実行が成功すると、各検出結果について重大度、証拠、修復のガイダンスを含むレポートが生成されます。
クリーンアップでは、Juice Shopコンテナが動いているターミナルでCtrl+Cを押して停止するか、`docker ps` でコンテナIDを調べて `docker stop <container-id>` で停止します。Amazon Bedrockの推論はトークン従量課金であり、永続的なリソースがないため、リクエストの完了後にさらなる料金が発生することはありません。このウォークスルーのためにAmazon Bedrock APIキーを生成しており、それが不要になった場合には、Amazon Bedrockコンソールで削除してください。