<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>デベロッパー</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/</link><description>デベロッパー</description><atom:link href="https://cloudblog.withgoogle.com/blog/ja/topics/developers-practitioners/rss/" rel="self"></atom:link><language>ja</language><lastBuildDate>Wed, 22 Jul 2026 02:06:45 +0000</lastBuildDate><image><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/static/blog/images/google.a51985becaa6.png</url><title>デベロッパー</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/</link></image><item><title>BGP ルートポリシー: お客様の需要に基づく上位 3 つのユースケース</title><link>https://cloud.google.com/blog/ja/products/networking/bgp-route-policies-top-3-use-cases-by-customer-demand/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 7 月 8 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/networking/bgp-route-policies-top-3-use-cases-by-customer-demand?e=48754805&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;1 年以上前に &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/network-connectivity/docs/router/concepts/bgp-route-policies-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Router の BGP ルートポリシー&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;の一般提供を開始した際、Google が目指したのは、ネットワーク管理者がネットワーク パスの評価と伝播の方法を詳細にプログラムで制御できるようにすることでした。それ以来、Google はお客様がこの機能をどのように採用しているかを注意深く見守ってきました。そして、従来はサードパーティ製の仮想アプライアンスなしには実現が難しかった、極めて高度でレジリエンスの高いルーティング アーキテクチャを、多くのネットワーク エンジニアリング チームが構築する姿を目にしてきました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;今年、Google は &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/network-connectivity/docs/router/release-notes#March_24_2026"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Router のポリシー名付きセット&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をリリースしました。ルーティング環境が複雑化するにつれて、これらのポリシー内の個々のプレフィックスやコミュニティの管理は煩雑になる可能性があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ポリシー名付きセットは、IPv4 / IPv6 プレフィックスまたは BGP コミュニティのリストを再利用可能な単一のエンティティにグループ化することで、この問題を解決します。構成が大幅に簡素化され、複数の Cloud Router にわたってルーティング ルールのスケール、管理、更新が容易になります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Common Expression Language（CEL）を基盤とする BGP ルートポリシーを使用すると、Cloud Router 内で BGP ルートをフィルタし、ルート属性を直接変更するための、きめ細かい順序付きルールを定義できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ポリシー名付きセットのリリースを記念して、過去 1 年間にお客様が BGP ルートポリシーを使用された方法のうち、特に効果的だった 3 つの事例と、ポリシー名付きセットを自分で作成する方法を記載したリソースをご紹介します。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;1. 基盤: ルートフィルタリングとネットワーク保護&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;トラフィック パスを操作する前に、ネットワークの安定性を確保するには、ネットワークに出入りできるルートを厳密に制御する必要があります。多くのお客様が BGP ルートポリシーを幅広く活用し、ピアから学習した不要なルートをフィルタリングしたり、特定のサブネット プレフィックスが Virtual Private Cloud（VPC）からアドバタイズされないようにしたりしています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;BGP ルートポリシーはデフォルトでは「フェイル オープン」モデルで動作しますが、セキュリティを重視する多くの組織が、評価リストの最後の項目として「すべてドロップ」ポリシーを追加することで、「フェイル クローズ」環境を構築しています。これにより、受け入れられたネットワーク ルートを確実に把握し、ルーティング ループを防ぎ、トラフィックが BGP ハイジャックされたり、意図せずにブラックホール化されたりしないようにできます。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;詳細:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; ルートフィルタリング用の CEL 式を設定する方法の基本については、詳細ガイド「&lt;/span&gt;&lt;a href="https://medium.com/google-cloud/google-cloud-router-introduction-to-bgp-policies-9983ac7ab484" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;BGP ポリシーの概要&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;」をご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;2. アクティブ/スタンバイ アーキテクチャのトラフィック パスの制御&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;最適なトラフィック分散を実現するには、コストの最適化やアクティブ / スタンバイ構成の管理など、特定のパスにトラフィックを強制的に誘導しなければならない場面が多々あります。お客様は、オンプレミスのハードウェアに手を加えることなく、BGP ルートポリシーを使用して優先 BGP ルートに影響を与えてきました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;BGP Multi-Exit Discriminator（MED）属性を動的に変更することで、ネットワーク チームは特定のピアを受信トラフィックの優先パスとして設定できるようになります。逆に、輻輳したリンクやバックアップ リンクからトラフィックを誘導したい場合は、AS-PATH プリペンディングを使用します。これは、ルートの AS-PATH に 1 つ以上の値を追加して、より広範なネットワーク全体で優先順位を下げる方法です。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;詳細:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; MED と AS-Path プレフィックスの管理に関する構成手順については、&lt;/span&gt;&lt;a href="https://medium.com/google-cloud/google-cloud-router-using-bgp-policies-to-influence-traffic-paths-b1f302bd0cca" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt; BGP ポリシーを使用してトラフィック パスに影響を与える&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;3. BGP コミュニティで非対称ルーティングを解決する&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;過去 1 年間で最も要望が多く、かつ高度なユースケースの一つが、トラフィックの対称性の実現です。オンプレミスでステートフル ファイアウォールや特定のネットワーク アプライアンスを使用する企業の場合、戻りトラフィックは、発信元と同じアプライアンスを通過する&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;必要&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;があります。そうでない場合は、トラフィックがドロップされます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;お客様は、BGP ルートポリシーを使用して特定の標準 &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;BGP コミュニティ&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;と照合することで、この問題を解決しています。オンプレミスで特定のコミュニティにルートをタグ付けすると、Cloud Router はインバウンド ポリシーを介してこれらのタグを読み取り、それに応じて MED を操作してルートの優先度を調整できます。これにより、Google Cloud はオンプレミス ネットワークのステートフルなトポロジを本質的に理解し、戻りトラフィックを対称的にルーティングできます。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;詳細:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; BGP コミュニティ タグを使用してステートフル トラフィックの対称性を設計する方法については、&lt;/span&gt;&lt;a href="https://medium.com/google-cloud/google-cloud-router-using-bgp-policies-to-use-bgp-communities-to-create-traffic-symmetry-4b4a959dccfa" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;BGP コミュニティを使用してトラフィックの対称性を作成する&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;使ってみる&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;動的ルーティングの制御はこれまで以上に簡単かつ堅牢になりました。BGP ルートポリシーを使用することで、ハイブリッド クラウド接続を最適化して保護する絶好の機会となります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;BGP ルートポリシーを本番環境にロールアウトする前に、ステージング環境でテストして CEL 式とルーティング ロジックを確認することをおすすめします。技術ドキュメントについては、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/network-connectivity/docs/router/concepts/bgp-route-policies-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;BGP ルートポリシーの概要&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;プロダクト マネージャー、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Olivier Vautrin&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;クラウド ネットワーキング、テクニカル ソリューション コンサルタント、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Jonny Almaleh&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Wed, 22 Jul 2026 01:30:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/networking/bgp-route-policies-top-3-use-cases-by-customer-demand/</guid><category>Infrastructure Modernization</category><category>Hybrid &amp; Multicloud</category><category>Developers &amp; Practitioners</category><category>Networking</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>BGP ルートポリシー: お客様の需要に基づく上位 3 つのユースケース</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/networking/bgp-route-policies-top-3-use-cases-by-customer-demand/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Olivier Vautrin</name><title>Product Manager</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Jonny Almaleh</name><title>Technical Solutions Consultant, Cloud Networking</title><department></department><company></company></author></item><item><title>Gemini Enterprise Agent Platform のフルマネージド リモート MCP サーバーでエージェントをさらに迅速に構築</title><link>https://cloud.google.com/blog/ja/products/ai-machine-learning/gemini-enterprise-agent-platform-remote-mcp-server/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 7 月 1 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/ai-machine-learning/gemini-enterprise-agent-platform-remote-mcp-server?e=0&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;数か月前に、&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/ja/products/ai-machine-learning/google-managed-mcp-servers-are-available-for-everyone?e=48754805&amp;amp;hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;50 を超える Google マネージド MCP サーバー&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;が利用可能になったことをお知らせしました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;今回は、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/use-agent-platform-mcp"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini Enterprise Agent Platform のリモート MCP サーバー&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を使用して、外部の AI エージェントを Google Cloud 環境内のリソースに安全に接続する方法について詳しく説明します。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;IDE を Google Cloud に接続する&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Agent Platform の MCP サーバーは、お気に入りの外部開発ツールと Google Cloud アーキテクチャの間の橋渡し役として機能します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;たとえば、Antigravity CLI または Claude Code でエージェントを構築している場合、Agent Platform の MCP サーバーを使用すると、そのエージェントから Agent Platform のリソースを安全に操作できます。エージェントは、プロジェクト内で直接、&lt;/span&gt;&lt;a href="https://console.cloud.google.com/agent-platform/model-garden"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Model Garden のモデル&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を簡単に呼び出したり、共有された&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/prompts/prompt-templates"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;プロンプト テンプレート&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を取得したり、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/notebooks/overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ノートブック&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を管理したりできます。IDE を離れる必要はありません。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;価値創出までの時間の短縮&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;価値を実現するまでのスピードが、最大の強みの一つです。しかし、外部の開発環境をクラウド インフラストラクチャに接続する場合、トレードオフが発生することがあります。開発者が最小限のセットアップで迅速に作業を進めることを望んでも、IT チームはデータアクセスに対する厳格なガバナンスを必要としています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Agent Platform の MCP サーバーは、外部エージェントに単一の標準化されたインターフェースを提供します。このため、統合コードの作成にかかる時間を短縮し、便利な機能の構築に時間をかけることができます。また、MCP サーバーは完全に Google Cloud の安全なインフラストラクチャ内で実行されるため、開発を迅速化しながらデータを保護するエンドポイントが、すぐに使用できる状態で用意されています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;次のように、両方の長所を活かすことができます。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;オープン スタンダードで構築: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud の外部で構築するエージェントは、オープンな &lt;/span&gt;&lt;a href="https://modelcontextprotocol.io/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;MCP 仕様&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;に完全に準拠します。外部の IDE やフレームワークは、クラウド環境とシームレスに連携できるため、独自仕様のエコシステムに縛られることはありません。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;一元的な検出: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Agent Platform の &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/agent-registry"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Registry&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; でアセットをカタログ化できます。これが組織の一元的なライブラリとして機能するため、チームはスキル、ツール、その他の AI 機能のインベントリ全体を安全に保存、検索、管理できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;確かなセキュリティとガバナンスを備えた簡単アクセス: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;接続はデフォルトで保護されます。IT チームは、ネイティブの &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/mcp/control-mcp-use-iam#deny-all-mcp-tool-use"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud IAM 拒否ポリシー&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を利用して、外部のデベロッパー フレームワークに、承認された Google Cloud リソースのみの操作を許可できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;仕組み: 3 つの簡単なステップで接続&lt;/strong&gt;&lt;/h4&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;API を有効にする&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: Google Cloud プロジェクト内で Gemini Enterprise Agent Platform API を有効にすると、Gemini Enterprise Agent Platform のリモート MCP サーバーが自動的に有効になります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_AP_Home.max-1000x1000.png"
        
          alt="1_AP_Home"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;2. &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;クライアントを構成する&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/use-agent-platform-mcp#configure-client"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;構成手順&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;に沿って AI アプリケーションを接続し、リモート サーバーを指定します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_Vo4cvfF.max-1000x1000.jpg"
        
          alt="2_Configuration"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;3. &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;ツールセットを使用する&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 充実した&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/mcp#expandable-1"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ツールセット エンドポイント&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;のリスト（コピー可能）にアクセスして、Agent Platform リソースの操作をすぐに開始できます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2_INFnkQs.max-1000x1000.jpg"
        
          alt="3_Toolset_Endpoints"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;利用可能なツールセット:&lt;/strong&gt;&lt;/p&gt;
&lt;div align="left"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;&lt;table&gt;&lt;colgroup&gt;&lt;col/&gt;&lt;col/&gt;&lt;col/&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td colspan="3" style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;MCP ツールセット&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;エンドポイント&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;説明&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ツール&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;/mcp/generate&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;生成 AI ツール&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;主要な生成機能&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;/mcp/predict&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;予測ツール&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;推論と未加工の予測&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;/mcp/notebook&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Colab Enterprise ノートブック ツール&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ノートブックのランタイムと実行の管理&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;/mcp/endpoints&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エンドポイント管理ツール&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;モデル エンドポイントのライフサイクル管理&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;/mcp/models&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;モデル レジストリ ツール&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;モデルのアップロード、登録、デプロイ&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;/mcp/tuning&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;モデルのファインチューニング ツール&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ファインチューニング ジョブの管理と追跡&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;/mcp/evaluation&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;品質評価ツール&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;モデルの品質とインスタンスの評価を自動化&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;/mcp/prompts&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;プロンプト管理ツール&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;プロンプト エンジニアリングとバージョン管理のワークフロー&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;使ってみる&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/use-agent-platform-mcp"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Platform のページ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;にアクセスし、お気に入りのエージェント フレームワークを Agent Platform の MCP サーバーに接続して、今すぐ構築を始めましょう。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Gemini Enterprise、シニア プロダクト マネージャー、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Colby Hawker&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;ソフトウェア エンジニア、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Louis Lin&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Wed, 22 Jul 2026 00:10:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/ai-machine-learning/gemini-enterprise-agent-platform-remote-mcp-server/</guid><category>Developers &amp; Practitioners</category><category>AI &amp; Machine Learning</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Gemini Enterprise Agent Platform のフルマネージド リモート MCP サーバーでエージェントをさらに迅速に構築</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/ai-machine-learning/gemini-enterprise-agent-platform-remote-mcp-server/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Colby Hawker</name><title>Senior Product Manager, Gemini Enterprise</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Louis Lin</name><title>Software Engineer</title><department></department><company></company></author></item><item><title>Cloud Run サンドボックスで AI 生成コードを安全に実行</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/google-cloud-run-sandboxes-are-in-public-preview/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 7 月 10 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/google-cloud-run-sandboxes-are-in-public-preview?e=48754805&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud では、「ホスト アプリケーション、データ、クラウド認証情報を危険にさらすことなく、AI 生成コードや信頼できないバイナリを安全に実行するにはどうすればよいか？」という質問をよく受けます。これは言い換えると、「AI が作成したプログラムを実行するための安全なスペース（つまり、そのプログラムが、より高い権限を持つ信頼できるプログラムとは完全に分離されたスペース）をどのように確保すればよいか？」ということになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これまで、デベロッパーはコンテナ クラスタを使用して複雑なサンドボックス インフラストラクチャを構築するか、サードパーティの専用 microVM ランタイムを有料で使用する必要がありました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このたび、&lt;/span&gt;&lt;a href="https://www.wearedevelopers.com/world-congress" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;WeAreDevelopers World Congress&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; で、Google Cloud Run サンドボックスの公開プレビュー版を発表しました。Cloud Run サンドボックスは、信頼できないコードやエージェント ワークロードを実行するために特別に構築された、ネイティブでセキュアかつ超高速のランタイム環境であり、ミリ秒単位で起動します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;次の例では、1,000 個のサンドボックスを起動、実行、停止する Cloud Run サービスで、信頼できない Python コードを安全に実行するリクエストを送信します。平均レイテンシは 500 ミリ秒です。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/original_images/sandbox_1000_-_100_ok.gif"
        
          alt="sandbox 1000 - 100 ok"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この投稿では、この機能と主なユースケースについて詳しく説明します。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;Cloud Run サンドボックスとは&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud Run サンドボックスは、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;既存の Cloud Run サービス インスタンス内&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;にほぼ瞬時に生成できる、軽量で分離された実行境界です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;LLM で、動的に生成された Python スクリプトを実行してビジネスのマージンを計算する必要がある場合でも、ヘッドレス ブラウザをスピンアップしてウェブ調査を行う必要がある場合でも、Cloud Run サンドボックスは、サーバーレス環境を離れることなくこれらのタスクを実行できるセキュアで分離されたサンドボックスを提供します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/run_sandbox_arch.max-1000x1000.jpg"
        
          alt="run_sandbox_arch"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;主なユースケース&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;LLM コード インタープリタ:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 高度なデータ分析機能を AI プロダクトに組み込みます。モデルで、Python、R、SQL コードを記述、実行して、データセットの分析、グラフの生成、複雑な数学的計算をセキュアに行うことができます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;ヘッドレス ブラウザ:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; エージェントがブラウザを実行するためのセキュアな環境を提供します。ホストマシンを危険にさらすことなく、ウェブページのスクレイピング、スクリーンショットの撮影、ウェブ ワークフローの自動化を安全に行えます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;ユーザーが送信したコードの実行:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; AI 以外にも、Cloud Run でホストされているプラットフォームでは、サンドボックスを使用して、エンドユーザーがアップロードしたカスタム スクリプト、プラグイン、Webhook を安全に実行できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;仕組み: デベロッパー エクスペリエンス&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;デプロイに 1 つのフラグを追加するだけで、Cloud Run サービスでサンドボックスを有効にすることができます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 1: サンドボックス ランチャーを有効にする&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud Run サービスをデプロイするときに、gcloud または YAML 構成でサンドボックス ランチャーを有効にします。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;gcloud beta run deploy my-agent-service \\\r\n    --image=gcr.io/my-project/agent-image \\\r\n    --sandbox-launcher&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de0fb3940&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 2: コード内でサンドボックスをネイティブに生成する&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;有効にすると、軽量のサンドボックス CLI バイナリが自動的に実行環境にマウントされます。エージェント アプリケーションは、標準のサブプロセス呼び出しを使用して、サンドボックスをプログラムで生成できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;LLM によって生成された信頼できない Python スクリプトを簡単に実行する方法は次のとおりです。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;import subprocess\r\n\r\ndef run_untrusted_code(llm_code: str):\r\n    # 1. Write the untrusted LLM code to a local file\r\n    with open(&amp;quot;/tmp/generated_script.py&amp;quot;, &amp;quot;w&amp;quot;) as f:\r\n        f.write(llm_code)\r\n        \r\n    # 2. Run it inside the secure sandbox\r\n    # The sandbox shares your container\&amp;#x27;s filesystem tools but runs in a secure silo\r\n    result = subprocess.run(\r\n        [&amp;quot;sandbox&amp;quot;, &amp;quot;do&amp;quot;, &amp;quot;--&amp;quot;, &amp;quot;python3&amp;quot;, &amp;quot;/tmp/generated_script.py&amp;quot;],\r\n        capture_output=True,\r\n        text=True,\r\n        timeout=10\r\n    )\r\n    \r\n    return result.stdout if result.returncode == 0 else result.stderr&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de0fb3910&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;安全性を重視した設計: デフォルトでゼロトラスト&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud Run サンドボックスは、悪意のあるコードや誤ったコードの実行からホスト アプリケーションとクラウド リソースを保護するように設計されています。ランタイムは、3 つの重要なセキュリティ境界を適用します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;1. &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;認証情報と環境の分離:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; これらのサンドボックスは、Cloud Run サービスの環境変数にアクセスできず、Google Cloud メタデータ サーバーを呼び出すこともできません。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;2. &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;ロックダウンされた外向きネットワーク（デフォルトで拒否）:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; デフォルトでは、サンドボックスの&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;送信ネットワーク アクセスは無効&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;になっています。エージェントが、悪意のあるサーバーにデータを流出させようとするスクリプトを実行するように騙された場合でも、ネットワーク リクエストはシステムレイヤでブロックされます。明示的にリクエストされた場合にのみ、外向きを有効にできます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;sandbox do --allow-egress -- curl https://api.github.com&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de0fb35e0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;3. &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;安全なファイル システム オーバーレイ:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; サンドボックスは、コンテナのファイル システムの読み取り専用ビューで実行されます（インストールされたパッケージ、Python ランタイム、バイナリを使用できます）。ただし、すべての変更は、分離された一時的なメモリ オーバーレイに書き込まれます。サンドボックスの実行が終了すると、生成されたファイルはすべて破棄されます。サンドボックス間で再利用するために、必要に応じてファイルをインポートおよびエクスポートすることは可能です。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;# Write data from the sandbox to an archive file that can be persisted\r\nsandbox do --write --export-tar=/tmp/work.tar \\\r\n  -- /bin/bash -c &amp;quot;mkdir -p /tmp/work &amp;amp;&amp;amp; echo \&amp;#x27;task-complete\&amp;#x27; &amp;gt; /tmp/work/status.txt&amp;quot;\r\n\r\n# Import the archive file in a new sandbox\r\nsandbox do --write --import-tar=/tmp/work.tar \\\r\n  -- /bin/bash -c &amp;quot;cat /tmp/work/status.txt&amp;quot;&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de0b78250&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ADK と ComputeSDK の組み込みサポート&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud Run サンドボックスは、&lt;/span&gt;&lt;a href="https://adk.dev/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Development Kit&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; の次のバージョンで、新しい &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;CloudRunSandboxCodeExecutor&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; によりサポートされます。このインテグレーションにより、次のように 1 行を追加するだけで、Cloud Run で実行される ADK エージェントがコードを実行できるようになります。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;from google.adk.agents import Agent\r\nfrom google.adk.integrations.cloud_run import CloudRunSandboxCodeExecutor\r\n\r\nanalyst_agent = Agent(\r\n    name=&amp;quot;cloud_run_data_analyst&amp;quot;,\r\n    model=&amp;quot;gemini-3.1-pro-preview&amp;quot;,\r\n    system_instruction=(\r\n        &amp;quot;You are an expert data analyst. Write and execute Python code to answer &amp;quot;\r\n        &amp;quot;user questions and process data safely.&amp;quot;\r\n    ),\r\n    code_executor=CloudRunSandboxCodeExecutor(),\r\n)&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de0eb3940&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;また、サンドボックスを実行するための、ベンダーに依存しない SDK である &lt;/span&gt;&lt;a href="https://docs.computesdk.com/getting-started/introduction" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ComputeSDK&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; にも Cloud Run サンドボックスが追加されました。この SDK を使用すると、サンドボックスを Cloud Run サービスの外部からリモートで呼び出すか、サービス上のローカルツールとして直接使用できます。Cloud Run サンドボックスでこの SDK を使用する方法については、&lt;/span&gt;&lt;a href="https://github.com/computesdk/computesdk/tree/main/packages/cloud-run" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;こちら&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;使ってみる&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;オンデマンドの仮想マシンに高額な料金を請求する専用のサンドボックス ホスティング プラットフォームとは異なり、Cloud Run サンドボックスは&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;既存の割り当て済み CPU とメモリで直接&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;実行されます。サンドボックスは実行中のインスタンスのリソースを共有するため、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;この機能を使用しても追加料金や割増料金は発生しません。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;ドキュメントは&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/run/docs/code-execution"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;こちら&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;からご確認いただけます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;プロダクト マネージャー、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Ryan Pei&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;ソフトウェア エンジニア、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Greg Block&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Tue, 21 Jul 2026 01:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/google-cloud-run-sandboxes-are-in-public-preview/</guid><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/sandbox_blog_hero_image.max-600x600.jpg" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Cloud Run サンドボックスで AI 生成コードを安全に実行</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/sandbox_blog_hero_image.max-600x600.jpg</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/google-cloud-run-sandboxes-are-in-public-preview/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Ryan Pei</name><title>Product Manager</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Greg Block</name><title>Software Engineer</title><department></department><company></company></author></item><item><title>Gemini Enterprise と Google Cloud Marketplace でエージェントを公開するためのデベロッパー ガイド</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/publish-agents-in-gemini-enterprise-and-google-cloud-marketplace/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 7 月 8 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/publish-agents-in-gemini-enterprise-and-google-cloud-marketplace?e=48754805&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Software-as-a-Service（SaaS）は Agents-as-a-Service（AaaS）へと進化しています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;開発者は、複数の分離したアプリケーションではなく、相互運用する &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/ja/products/ai-machine-learning/partner-built-agents-available-in-gemini-enterprise"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AI エージェント&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を作成するようになってきています。相互運用のためには、&lt;/span&gt;&lt;a href="https://a2a-protocol.org/latest/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent2Agent（A2A）&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;プロトコルなどの標準化されたオープン プロトコルを使用し、Gemini Enterprise Agent Platform などの一元的なエージェント プラットフォームを使ってオーケストレーションします。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;どのようなユースケースであっても、高品質なエージェントの開発を常に目標とすべきであると Google は考えています。つまり、自律性を前提に、複数ステップの複雑なワークフローを確実に実行できるようなエージェントを開発し、明確なビジネス価値を提供する必要があります。このガイドでは、エージェントの構築 / 開発担当者向けに、&lt;/span&gt;&lt;a href="https://console.cloud.google.com/marketplace/browse?filter=solution-type:ai-agent-service"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud Marketplace&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; で有望なサードパーティ エージェントを公開、販売する方法、ならびに、&lt;/span&gt;&lt;a href="https://cloud.google.com/gemini-enterprise?utm_source=google&amp;amp;utm_medium=cpc&amp;amp;utm_campaign=1713762-Gemini_Enterprise-DR-NA-US-en-Google-BKWS-EXA-GEnterprise&amp;amp;utm_content=c-Hybrid+%7C+BKWS+-+MIX+%7C+Txt_Gemini+Enterprise-189528400785&amp;amp;utm_term=gemini+enterprise+app&amp;amp;gclsrc=aw.ds&amp;amp;gad_source=1&amp;amp;gad_campaignid=23370621055&amp;amp;gclid=CjwKCAjwt7XQBhBkEiwAtStpp6iU5Y4rUV1NHoVbW1Y-6tphSJlmMbYd0fiYs_9cWdP0SyN5WFaNgxoCFKAQAvD_BwE&amp;amp;e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini Enterprise app&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; にデプロイする方法を紹介します。この詳細ステップに従うことで、Marketplace ですぐに公開できるような完全統合されたソリューションを実現できます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 1: Marketplace との統合を想定して、エージェント アーキテクチャを設計する&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;最終的なアーキテクチャは、Google Cloud Marketplace の課金の仕組み、ID プロバイダ（IdP）のセキュリティ機能、そして、Gemini Enterprise Agent Platform を連係したものとなります。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_-_ref_architecture.max-1000x1000.png"
        
          alt="1 - ref architecture"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このアーキテクチャの要素は、大まかにいって次のとおりです。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;カスタマー プロジェクト:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; ユーザーは、&lt;/span&gt;&lt;a href="https://console.cloud.google.com/marketplace/browse?filter=solution-type:ai-agent-service"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud Marketplace&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; 内の Agent Marketplace 専用カテゴリでエージェントを見つけます。また、&lt;/span&gt;&lt;a href="https://cloud.google.com/gemini-enterprise"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini Enterprise&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; app を通じてこれらのエージェントとやり取りします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;パートナー プロジェクト:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; エージェントに加え、調達ロジックを処理する Marketplace ハンドラ、認証のための動的クライアント登録（DCR）をホストします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;パートナー向け Marketplace プロジェクト: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Marketplace のイベント（アカウントの作成や利用資格の承認など）に対応する Partner Procurement API と Pub/Sub トピックを管理します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 2: Marketplace で販売するための組織の要件を確認する&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Google Cloud パートナー ネットワークに参加する。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Marketplace でのソリューション提供が初めての場合は、&lt;/span&gt;&lt;a href="https://partners.cloud.google.com/"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud パートナー ネットワーク&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;に参加する必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Agent-as-a-Service のリスティング要件を確認する。&lt;/strong&gt;&lt;a href="https://docs.cloud.google.com/marketplace/docs/partners/offer-products"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Marketplace にソリューションを掲載&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;するための要件を組織が満たしていることを確認します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Marketplace ベンダー契約を確認する。&lt;/strong&gt;&lt;a href="https://cloud.google.com/terms/marketplace-vendor-agreement"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Marketplace ベンダー契約&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（MVA）を確認して同意します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Google Cloud Marketplace へのエージェント登録を申請する。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud の担当者にお問い合わせください。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Marketplace に掲載されるすべてのエージェントは、上記の標準要件を満たすものとします。また、エージェントに関して、以下の要件を満たす必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;エージェントのユースケースの定義: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;具体的なエージェント ユースケースを定義することをおすすめします。現場の課題解決につながり、複数のエンタープライズ カスタマーにスケールできるような、価値の高いエンタープライズ機能に焦点をあてるようにしましょう。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;A2A プロトコルへの準拠:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; エージェントを相互運用するためには、&lt;/span&gt;&lt;a href="https://a2a-protocol.org/latest/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;A2A&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; プロトコルの仕様に準拠する必要があります。このプロトコルには、リッチでインタラクティブなユーザー インターフェースを生成するための &lt;/span&gt;&lt;a href="https://a2ui.org/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;A2UI&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; プロトコルが含まれます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;A2A エージェント カード: &lt;/strong&gt;&lt;a href="https://a2a-protocol.org/dev/specification/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;エージェント カード&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（JSON ファイル）を生成し、機能（スキル）、認証方法、サービス エンドポイントを宣言します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;認証:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 一般公開アクセスまたは &lt;/span&gt;&lt;a href="https://datatracker.ietf.org/doc/html/rfc7591" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;OAuth 2.0 認証コード付与フロー&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をサポートする必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Marketplace との統合: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;利用資格のライフサイクルを管理するために、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/marketplace/docs/partners/integrated-saas/backend-integration"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Procurement API&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; および Pub/Sub の統合が必須となります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 3: Marketplace および Gemini Enterprise app との互換性のための技術要件を確認する&lt;/strong&gt;&lt;/h4&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;A2A プロトコル&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントを設計、実装する際は、&lt;/span&gt;&lt;a href="https://a2a-protocol.org/latest/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;A2A プロトコルのドキュメント&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;に従ってください。このドキュメントには、エージェントが提供できるインタラクション パターンの種類（ストリーミングや非同期タスクなど）のほか、&lt;/span&gt;&lt;a href="https://a2ui.org/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;A2UI プロトコル&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;によるインタラクティブな UI エクスペリエンスの組み込み方が記されています。A2UI を使えば、最先端かつ最高水準の UX コントロール（高度な動的グラフや最新のインタラクション モデルなど）を組み込めます。これらのネイティブのユーザー コントロールを活用することで、エージェントが確実に機能するようになるだけでなく、Gemini Enterprise app 内で、開発者のこだわりと特別感を打ち出した外観、印象、操作性を実現できます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;A2A エージェント カード&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Marketplace に Agent-as-a-Service プロダクトを掲載するには、&lt;/span&gt;&lt;a href="https://a2a-protocol.org/dev/specification/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;A2A エージェント カード&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を用意する必要があります。エージェント カードとは、エージェントの機能（スキル）、サポート対象の認証 / 認可方法、サービス エンドポイントを宣言した JSON ファイルです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Gemini Enterprise app は、エージェントカードに従って以下を実行します。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントの名前、説明、その他の必須のメタデータを表示する。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;動的クライアント登録のエンドポイントを見つける（サポートされている場合）。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントのエントリ ポイントを見つける（メッセージの送信や、タスク実行に関する最新ステータス取得のためのエントリ ポイント）。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;必須の認証 / 認可方法を判断する。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;以下に、定義済みのエージェントカードの例を示します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;{\r\n    &amp;quot;name&amp;quot;: &amp;quot;AI Agent Example&amp;quot;,\r\n    &amp;quot;protocolVersion&amp;quot;: &amp;quot;1.0&amp;quot;,\r\n    &amp;quot;description&amp;quot;: &amp;quot;Marketplace agent example.&amp;quot;,\r\n    &amp;quot;url&amp;quot;: $AGENT_APP_URL,\r\n    &amp;quot;preferredTransport&amp;quot;: &amp;quot;JSONRPC&amp;quot;,\r\n    &amp;quot;provider&amp;quot;: {\r\n        &amp;quot;organization&amp;quot;: $AGENT_PROVIDER_ORGANIZATION,\r\n        &amp;quot;url&amp;quot;: $AGENT_PROVIDER_URL\r\n    },\r\n    &amp;quot;version&amp;quot;: &amp;quot;1.0.0&amp;quot;,\r\n    &amp;quot;capabilities&amp;quot;: {\r\n        &amp;quot;streaming&amp;quot;: false,\r\n        &amp;quot;pushNotifications&amp;quot;: false,\r\n        &amp;quot;extensions&amp;quot;: [\r\n            {\r\n                &amp;quot;uri&amp;quot;: &amp;quot;https://cloud.google.com/marketplace/docs/partners/ai-agents/setup-dcr&amp;quot;,\r\n                &amp;quot;params&amp;quot;: {\r\n                    &amp;quot;target_url&amp;quot;: $AGENT_DCR_URL\r\n                }\r\n            }\r\n        ]\r\n    },\r\n    &amp;quot;defaultInputModes&amp;quot;: [\r\n        &amp;quot;application/json&amp;quot;\r\n    ],\r\n    &amp;quot;defaultOutputModes&amp;quot;: [\r\n        &amp;quot;application/json&amp;quot;\r\n    ],\r\n    &amp;quot;skills&amp;quot;: [\r\n        {\r\n            &amp;quot;id&amp;quot;: &amp;quot;current_time_generation&amp;quot;,\r\n            &amp;quot;name&amp;quot;: &amp;quot;Current time generation&amp;quot;,\r\n            &amp;quot;description&amp;quot;: &amp;quot;Generates a current time.&amp;quot;,\r\n            &amp;quot;tags&amp;quot;: [\r\n                &amp;quot;time&amp;quot;\r\n            ],\r\n            &amp;quot;examples&amp;quot;: [\r\n                &amp;quot;What time is it?&amp;quot;\r\n            ]\r\n        }\r\n    ],\r\n    &amp;quot;supportsAuthenticatedExtendedCard&amp;quot;: false,\r\n    &amp;quot;iconUrl&amp;quot;: $AGENT_ICON_URL,\r\n    &amp;quot;security&amp;quot;: [\r\n        {\r\n            &amp;quot;oauth2&amp;quot;: [\r\n                $AUTH_SCOPE\r\n            ]\r\n        }\r\n    ],\r\n    &amp;quot;securitySchemes&amp;quot;: {\r\n        &amp;quot;oauth2&amp;quot;: {\r\n            &amp;quot;type&amp;quot;: &amp;quot;oauth2&amp;quot;,\r\n            &amp;quot;flows&amp;quot;: {\r\n                &amp;quot;authorizationCode&amp;quot;: {\r\n                    &amp;quot;authorizationUrl&amp;quot;: $AUTHZ_URL,\r\n                    &amp;quot;tokenUrl&amp;quot;: $TOKEN_URL,\r\n                    &amp;quot;refreshUrl&amp;quot;: $REFRESH_URL,\r\n                    &amp;quot;scopes&amp;quot;: {\r\n                        $AUTH_SCOPE: $AUTH_SCOPE_DESCRIPTION \r\n                  }\r\n                }\r\n            }\r\n        }\r\n    }\r\n}&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddb9e7d00&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;$AGENT_APP_URL: A2A エージェントにアクセスするためのベース URL エンドポイント（必須項目）。エージェントに対するすべての API 呼び出しで、これがベースパスとして使用されます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;$AGENT_PROVIDER_ORGANIZATION: エージェント プロバイダの組織（必須項目）。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;$AGENT_PROVIDER_URL: エージェント プロバイダのウェブサイトまたは関連ドキュメント（必須項目）。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;$AGENT_DCR_URL: 動的クライアント登録（DCR）を実装する場合に必須の項目。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;$AGENT_ICON_URL: エージェントのアイコンとして使用する画像ファイルの URL を指定する（省略可）。指定した場合、Gemini Enterprise app に表示されます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;$AUTH_SCOPE: クライアントがエージェントのオペレーションにアクセスするために必要なスコープ名の文字列のリスト。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;$AUTH_SCOPE_DESCRIPTION: スコープの説明。例: 「ユーザーのメールアドレスを取得する権限」&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;$AUTHZ_URL: 認証コードフローの OAuth2 セキュリティ スキーム定義に必須の要素。リソース所有者からの認可コードを取得する際に必要な、認可サーバーのエンドポイント URL を指定します。これは OpenAPI の仕様に準拠しています。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;$TOKEN_URL、$REFRESH_URL: クライアントが認証コードをアクセス トークンと更新トークンに交換するための URL（同じでも可）。                &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;認証と認可&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://a2a-protocol.org/latest/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;A2A プロトコル&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;に従って、エージェントに認証と認可を実装します。Gemini Enterprise app からのエージェント呼び出しを許可するにあたり、以下のいずれかの方法を設定する必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;一般公開: 認証は不要です。ユーザーデータや機密リソースにアクセスしないエージェントにのみ適しています。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;OAuth 2.0 認証コード付与フロー: これは、ユーザーが権限を委任（認可）する場合の標準フローです。ユーザーは、エージェントがデータにアクセスしたり、ユーザーの代わりに操作したりすることを許可するよう求められます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;動的クライアント登録（DCR）&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;従来、サードパーティ アプリをエンタープライズ システムに接続するには、クライアント ID とシークレットを手動でコピーする必要がありました。&lt;/span&gt;&lt;a href="https://www.rfc-editor.org/rfc/rfc7591.html" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;DCR&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; では、Gemini Enterprise がエージェントの認可サーバーに OAuth クライアントとして自動登録されるため、この問題が解消されます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;DCR フローの仕組み:&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;検出: Gemini Enterprise app がエージェントカードを読み取り、DCR エンドポイントを見つけます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;リクエスト: Google が HTTP POST をエンドポイントに送信します。これには、software_statement（暗号技術を使って署名された JSON ウェブトークン（JWT））が含まれます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;検証: パートナー側のバックエンドで Google の公開鍵を使って JWT 署名を検証し、リクエストが本物であることを確認します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;プロビジョニング: 上記の処理が完了すると、パートナーのサーバーが、ID プロバイダ（Okta など）内に新しい OpenID Connect（OIDC）アプリケーションを作成し、client_id と client_secret を Gemini Enterprise に返します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;DCR Request\r\n{\r\n    &amp;quot;software_statement&amp;quot;: &amp;quot;eyJhbGciOiJSUzI1NiIsImtpZCI6ImY1OTIwZDJmMjIyYjNjMTE3Y2MyZmQzZmQxYWJjNzM...&amp;quot;\r\n}\r\n\r\nJWT Decoded\r\nHere is the decoded value of software_statement parameter:\r\n\r\nHeader:\r\n{\r\n    &amp;quot;alg&amp;quot;: &amp;quot;RS256&amp;quot;,\r\n    &amp;quot;kid&amp;quot;: &amp;quot;f5920d2f222b3c117cc2fd3fd1abc7367fd00402&amp;quot;,\r\n    &amp;quot;typ&amp;quot;: &amp;quot;JWT&amp;quot;\r\n}\r\nPayload:\r\n{\r\n    &amp;quot;aud&amp;quot;: &amp;quot;https://your-provider.com&amp;quot;,\r\n    &amp;quot;auth_app_redirect_uris&amp;quot;: [\r\n        &amp;quot;https://vertexaisearch.cloud.google.com/oauth-redirect&amp;quot;\r\n    ],\r\n    &amp;quot;exp&amp;quot;: 1766773074,\r\n    &amp;quot;google&amp;quot;: {\r\n        &amp;quot;order&amp;quot;: &amp;quot;xxxxxxxx-c3bc3976a8e0&amp;quot;\r\n    },\r\n    &amp;quot;iat&amp;quot;: 1766772774,\r\n    &amp;quot;iss&amp;quot;: &amp;quot;https://www.googleapis.com/service_accounts/v1/metadata/x509/cloud-agentspace@system.gserviceaccount.com&amp;quot;,\r\n    &amp;quot;sub&amp;quot;: &amp;quot;xxxxxxxx-xxxx-xxxx-xxxx-4656e5b81fe8&amp;quot;\r\n}\r\nDCR Response\r\n{\r\n    &amp;quot;client_id&amp;quot;: $CLIENT_ID,\r\n    &amp;quot;client_secret&amp;quot;: $CLIENT_SECRET,\r\n    &amp;quot;client_secret_expires_at&amp;quot;: 0\r\n}&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de0880a60&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;注: JWT を検証することで、リクエストが Google からのものであることを確認できます。なお、ユーザーが支払い済みであるかどうか確認するために、google.order ID とパートナー側のデータベースを照合する必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 4: Marketplace でエージェントを掲載、公開する&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントを構築したら、Google Cloud Marketplace で公開しましょう。そのために、エージェントの説明を記述し、提供方法と料金モデルを定義する必要があります。まず最初に、Google Cloud コンソールから &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/marketplace/docs/partners/access-control"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Producer Portal&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; にアクセスします。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;ソリューション タイプの選択:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Producer Portal で、プロダクト タイプとして [&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/marketplace/docs/partners/ai-agents"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AI Agent as a Service&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;] を選択します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;エージェント カードのアップロード: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud Storage（GCS）バケットを介して、エージェント カードの JSON ファイルを送信します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;提供方法:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; AI エージェントを、一般公開の料金で販売するか（セルフサービス）、プライベート オファーでのみ提供するかを決定します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;料金:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 料金プランを決めて、Marketplace で収益化するための&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/marketplace/docs/partners/ai-agents/choose-pricing"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;料金モデル&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を選択します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;技術的な統合:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; バックエンド側で調達を構成します。このソリューション タイプでは、フロントエンドの統合は不要です。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;検証およびエンドツーエンド テスト:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Google Cloud が、エージェントの機能、セキュリティ、料金モデルを確認したうえで、カタログに公開します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;公開: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントが正常に公開され、&lt;/span&gt;&lt;a href="https://console.cloud.google.com/marketplace/browse?filter=solution-type:ai-agent-service"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud Marketplace&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; に掲載されます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 5: Marketplace と Gemini Enterprise app におけるトランザクション / 登録の管理&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud Marketplace と Gemini Enterprise app におけるエージェントの調達と登録のライフサイクルは、明確なフェーズに分かれています。このようなフェーズ分けは、厳格なエンタープライズ ガバナンスの確立、シャドー IT の防止、組織全体におけるシームレスなコンプライアンスの確保のために欠かせません。安全な管理の連鎖には、次の 3 つの主要なペルソナが介在します。&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/billing/docs/how-to/billing-access#billing.admin"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;課金管理者&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;は、Google Cloud Marketplace での調達と支出を管理し、財務を監督します。&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/iam/docs/roles-permissions/discoveryengine#discoveryengine.admin"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Discovery Engine 管理者&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;は、検証済みのエージェントを安全に登録するとともに、Gemini Enterprise における組織内でのアクセス権を決めるなど、技術的な「門番」の役割を果たします。&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/iam/docs/roles-permissions/discoveryengine#discoveryengine.user"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Discovery Engine ユーザー&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;は、ID に基づいて適切に認可を受けたうえで、Gemini Enterprise app 内でエージェントの全機能を安全に活用します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;1. 調達フロー: 非同期（Google Cloud Marketplace）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;リスティングの公開を受け、バックエンドの調達シーケンスが次の流れで行われるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;トリガー:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/billing/docs/how-to/billing-access"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;課金管理者&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;の権限を持つ購入者が、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt; &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;[登録] をクリックします（セルフサービス型のリスティングの場合）。または、プライベート オファーを承諾します（個別のプライベート オファーのみの場合）。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;通知:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Google が Pub/Sub 通知をパートナーの環境に送信します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;承認と保存:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; パートナーが統合した Marketplace ハンドラが、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/marketplace/docs/partners/ai-agents/technical-integration"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Partner Procurement API&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を介してアカウントと利用資格を承認します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;アクティベーション:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; ハンドラが、Firestore などのデータベースに一意の注文 ID を保存し、トランザクションを記録します。これにより、購入者のサブスクリプションやオファーが即座に有効になります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/original_images/2._Procurement_Flow_-_Async_Google_Cloud_Marketplace.gif"
        
          alt="2. Procurement Flow - Async (Google Cloud Marketplace)"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;上の例では、課金管理者はワンクリックで登録を済ませて、&lt;/span&gt;&lt;a href="https://console.cloud.google.com/marketplace/product/lovable-public/lovable-agent-for-gemini-enterprise"&gt;&lt;strong style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;Lovable Agent&lt;/strong&gt;&lt;/a&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt; &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;の無料プランを有効にしています。これで、Cloud Marketplace からすでに調達、有効化済みの SaaS サブスクリプションと併せて、このエージェントを利用できるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;2. 登録フロー: 同期（Gemini Enterprise）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;調達が完了したら、購入者側の管理者が、実際の Gemini Enterprise app 環境にリンクします。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Gemini Enterprise へのリダイレクト:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/iam/docs/roles-permissions/discoveryengine#discoveryengine.admin"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Discovery Engine 管理者&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;に対して、Marketplace の調達済みリスティング上に [Gemini Enterprise に移動] オプションが表示されます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;プロジェクトの確認:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; このオプションをクリックすると、Gemini Enterprise ライセンスが割り当てられている Google Cloud プロジェクトにログインする画面が表示されます。なお、この Google Cloud プロジェクトが、調達時に使用した&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/billing/docs/how-to/view-linked"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;請求先アカウントにアクティブにリンク&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されていることを、購入者側で確認する必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;DCR ハンドシェイク:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Discovery Engine 管理者が、Gemini Enterprise app 内でエージェントを構成します。この段階で、動的クライアント登録（DCR）ロジックが、送られてきた JWT の注文 ID を Firestore レコードと照合、検証します。ID が一致すると、登録が安全に完了します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;エージェントの登録完了&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: エージェントが Gemini Enterprise に正常に登録されます。これで、Discovery Engine 管理者は、エージェントへの&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini/enterprise/docs/share-custom-agents#share_an_agent"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;アクセス&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を特定のユーザーに与えられるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/original_images/3._Registration_flow_-sync_Gemini_Enterprise.gif"
        
          alt="3. Registration flow -sync (Gemini Enterprise)"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;調達後、Discovery Engine 管理者が Lovable Agent を Gemini Enterprise app に登録し、組織内の承認済みユーザーが利用できるようにしています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;3. エンドユーザーの有効化フロー（Gemini Enterprise）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントの登録が安全に完了すると、対象のエンタープライズ ユーザーがそのエージェントを見つけられるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Gemini Enterprise app 内でのエージェントの閲覧とリクエスト: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;エンドユーザーは、Gemini Enterprise app の Agent Gallery から、Cloud Marketplace で提供されている&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/ai-machine-learning/partner-built-agents-available-in-gemini-enterprise"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;パートナーが構築したエージェントを閲覧し、直接アクセスをリクエストできます。このリクエストを受け、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/iam/docs/roles-permissions/discoveryengine#discoveryengine.admin"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Discovery Engine 管理者&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;が確認し、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/billing/docs/how-to/billing-access#billing.admin"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;課金管理者&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;と直接連携して、Google Cloud Marketplace からエージェントを調達できます。すでに調達、登録済みの場合は、&lt;/span&gt;&lt;a href="https://www.google.com/search?q=https://docs.google.com/gemini/enterprise/docs/register-and-manage-marketplace-agents%23review-access-requests" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;エンドユーザーにアクセス権を付与&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;アクセス:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; エージェントへのアクセス権が付与されると、アクティブな Gemini Enterprise app アカウントおよび &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/iam/docs/roles-permissions/discoveryengine#discoveryengine.user"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Discovery Engine ユーザー&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;ロールおよびライセンスを持つ任意のエンドユーザーが Gemini Enterprise app 内でエージェントを呼び出せるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;認証:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 初回利用時に、ユーザーはパートナー システムのユーザー名とパスワードを入力して OAuth 認証を完了するよう求められます。認証が完了すると、Gemini Enterprise app のチャット インターフェースからエージェントの全機能をシームレスに利用できるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/original_images/4._End-User_Activation_Flow_Gemini_Enterprise.gif"
        
          alt="4. End-User Activation Flow (Gemini Enterprise)"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;エンドユーザーは Gemini Enterprise app 内から&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;a href="https://console.cloud.google.com/marketplace/product/lovable-public/lovable-agent-for-gemini-enterprise"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;Lovable Agent&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt; をシームレスに呼び出し、パートナーからの 1 回限りの認証プロンプトを完了したうえで、リアルタイムの会話でタスク ワークフローを始められます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/original_images/5._End-User_Activation_Flow_Gemini_Enterprise.gif"
        
          alt="5. End-User Activation Flow (Gemini Enterprise)"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;エンドユーザーが、Gemini Enterprise app の Agent Gallery から、Marketplace で公開されている別のエージェント &lt;/span&gt;&lt;a href="https://console.cloud.google.com/marketplace/product/gcp-ec12b440/atlassian-rovo-agent"&gt;&lt;strong style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;Atlassian Rovo&lt;/strong&gt;&lt;/a&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt; へのアクセスを直接リクエストしています。この例では、Marketplace からこのエージェントをすでに調達済みであるため、Discovery Engine 管理者は検証、統合を行って、アクセス権をただちに付与できます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;実際にやってみる&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Gemini Enterprise および Google Cloud Marketplace 向けの AI Agent-as-a-Service ソリューションを構築することで、リーチを拡大し、数百万単位のエンタープライズ ユーザーの日常的なワークフローにエージェントを組み込んでもらえる可能性が広がります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://adk.dev/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Development Kit（ADK）&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;などのツールを使用して今すぐ構築を開始してみましょう。また、&lt;/span&gt;&lt;a href="https://cloud.google.com/marketplace/sell"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;エージェント主導のエンタープライズ時代に Google Cloud Marketplace で成長を加速する方法&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;についてさらに詳しく学ぶことをおすすめします。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;サポートが必要な場合は、&lt;/strong&gt;&lt;a href="https://docs.cloud.google.com/marketplace/docs/partners/get-support"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud Marketplace サポートチーム&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;までお問い合わせください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Google Cloud、スタッフ ソリューション コンサルタント、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Sunny Walia&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Lovable、フォワード デプロイド エンジニア、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Victor Dantas&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Fri, 17 Jul 2026 01:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/publish-agents-in-gemini-enterprise-and-google-cloud-marketplace/</guid><category>AI &amp; Machine Learning</category><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/Hero_graphic__Developers_guide_to_publishing.max-600x600.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Gemini Enterprise と Google Cloud Marketplace でエージェントを公開するためのデベロッパー ガイド</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/Hero_graphic__Developers_guide_to_publishing.max-600x600.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/publish-agents-in-gemini-enterprise-and-google-cloud-marketplace/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Sunny Walia</name><title>Staff Solutions Consultant, Google Cloud</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Victor Dantas</name><title>Forward Deployed Engineer, Lovable</title><department></department><company></company></author></item><item><title>Google Cloud 向け Claude アプリ ゲートウェイを使ってみる</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/announcing-claude-apps-gateway-for-google-cloud/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 7 月 2 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/announcing-claude-apps-gateway-for-google-cloud?e=0&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Anthropic のエージェント コーディング ツールである Claude Code が Google Cloud と連携するようになってから、しばらく経ちます。個々の開発者は簡単に、Google Cloud（GCP）プロジェクトを指すように &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;CLAUDE_CODE_USE_VERTEX=1&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を設定し、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;roles/aiplatform.user&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ロールを付与することができ、推論は Google Cloud の境界内に留まります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このフローは、エンジニアが 1 人または数人の場合に最適です。しかし、組織全体に展開するには、企業が抱える摩擦に対処する必要があります。開発者ごとにクラウド認証情報を管理し、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;managed-settings.json&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を MDM 経由で各ノートパソコンに push する必要があり、また、ユーザーが適切に確認されないために、開発者ごとの使用状況を特定できなかったり、費用上限を簡単に適用できたりする状況にも対処する必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Claude アプリ ゲートウェイは、そのギャップを埋めるものです。同じ Claude バイナリが付属するセルフホスト型サービスで、ローカルの Claude Code クライアントと Google Cloud の間に直接配置されます。この投稿では、このゲートウェイを実行すべき理由と、Google Cloud での安全なデプロイの様子を詳しく説明します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;（注: 今すぐコードを参照するには、&lt;/span&gt;&lt;a href="https://code.claude.com/docs/en/claude-apps-gateway-on-gcp" rel="noopener" target="_blank"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud 上の Claude アプリ ゲートウェイのドキュメント&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;で完全なチュートリアルをご覧ください。）&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ゲートウェイを実行すべき理由&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ゲートウェイを実行すると、開発者とプラットフォーム管理者がそれぞれ単独で行うガバナンス（ID、ポリシー、費用、ルーティングなど）を一元化できます。具体的には次のようになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ID:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;/login&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; リクエストは、ID プロバイダ（IdP）である Google Workspace または OIDC（OpenID Connect）の ID プロバイダを経由してルーティングされ、ゲートウェイはトークンを有効期間の短いセッションに交換します。サービス アカウント キー、API キー、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;ANTHROPIC_VERTEX_PROJECT_ID&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; などの機密情報が開発者のノートパソコンに保存されることはありません。オンボーディングは、ユーザーを IdP グループに追加するだけで行えます。オフボーディングも、ユーザーを削除するだけで行えて、そのユーザーの次のセッション更新は即座に失敗するようになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ポリシー:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; RBAC（ロールベース アクセス制御）ルールは &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;gateway.yaml&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; に一度だけ記述され、グループごとに解決されてサーバーサイドで適用されます。ゲートウェイは &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;/v1/messages&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; 呼び出しごとに &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;availableModels&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を再チェックするため、ローカルの &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;managed-settings.json&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を編集しても何も変わりません。ルールの更新は 1 時間以内にフリート全体に適用されます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;テレメトリー:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; すべての &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;claude_code.token.usage&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; 指標には、なりすましが可能な、クライアントで設定された &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;OTEL_RESOURCE_ATTRIBUTES&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ではなく、セッション JWT（署名付きセッション トークン）からの確認済みのメールアドレスとグループが含まれます。ゲートウェイは、OTLP / HTTP 経由で、Cloud Monitoring、Grafana、Datadog など、ユーザーが実行するコレクタにそれらを送信します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;費用上限:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 管理 API を使用して、ユーザー、グループ、組織ごとに 1 日、1 週間、または 1 か月あたりの費用上限を設定します。ゲートウェイは、Cloud SQL 台帳に対してトークンを測定し、上限に達すると 429 を返します。費用は正規料金で計算されるため、正確な請求料金の確認には使用せず、使用量の急増を防ぐためのガードレールとして使用してください（確約利用割引や交渉された料金は表示されません）。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ルーティング:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 呼び出しは、単一の Cloud Run サービス ID で行われます。Agent Platform のグローバル エンドポイントに &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;region: global&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を設定するか、2 つ目の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;upstreams:&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; エントリを追加して、リストの順に 5xx / 429 / タイムアウトでフェイルオーバーします。どちらの場合でも、推論は GCP プロジェクト内に留まるため、割り当て、データ処理に関する契約、料金はすべて変更されません。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;連携の仕組み&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;開発者のローカルまたはデプロイ済みの &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;claude&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; プロセスは、HTTPS 経由で推論トラフィックをゲートウェイに送信します。ゲートウェイは、以下に示すように Cloud Run 上のステートレス コンテナです。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_FY2cRbt.max-1000x1000.png"
        
          alt="1"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ゲートウェイは独自の署名なしセッション トークンを検証し（Google Workspace にはログイン時とトークンの更新時にのみアクセスします）、ポリシーをチェックし、Cloud Run サービス アカウントを使用してリクエストを Agent Platform に転送します。Cloud SQL はデバイスコードのログイン状態と費用台帳を保持し、OTLP コレクタは特定された指標を受け取ります。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;Google Cloud での設定&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;完全なチュートリアル、すべての gcloud コマンド、完全な &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;gateway.yaml&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; リファレンスは、&lt;/span&gt;&lt;a href="https://code.claude.com/docs/en/claude-gateway-on-gcp" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud 上の Claude アプリ ゲートウェイのドキュメント&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;に記載されています。簡易版は次のとおりです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 1: GCP 基盤をプロビジョニングする&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Agent Platform、Cloud SQL、Secret Manager の各 API を有効にし、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;roles/aiplatform.user&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を持つ &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;claude-gateway&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; サービス アカウントを作成します。また、状態を保存するための小規模な Cloud SQL Postgres データベース インスタンスを立ち上げます。ゲートウェイは、Cloud Run サービス ID として Agent Platform に対する認証を行います。サービス アカウント キーは&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;作成しません&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;。最後に、Google Cloud コンソールで&lt;/span&gt;&lt;a href="https://support.google.com/cloud/answer/15549257?hl=en" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;新しい OAuth クライアント&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（種類: ウェブ アプリケーション）を作成します。この例では、ゲートウェイは Google Workspace に対して OIDC の証明書利用者として開発者の認証を行い、このクライアントはハンドシェイク用の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;client_id と client_secret&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; をゲートウェイに発行します。これらの 2 つの値は、次のステップの &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;oidc&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;: ブロックに渡されます。承認済みのリダイレクト URI は、ゲートウェイ URL がわかってから、後で追加します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 2: ゲートウェイを構成する&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google Workspace OIDC クライアント、Postgres 接続文字列、アップストリームとしての Agent Platform を指す &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;gateway.yaml&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を記述します。このファイルを、OIDC クライアント シークレット、Postgres URL、JWT 署名鍵とともに、Secret Manager に保存します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;listen:\r\n  port: 8080\r\n  public_url: https://&amp;lt;your-cloud-run-service-url&amp;gt;   # the Cloud Run service URL — with --ingress=internal this resolves only inside your VPC / corporate network\r\noidc:\r\n  issuer: https://accounts.google.com # Google Workspace\r\n  client_id: &amp;lt;client-id&amp;gt;.apps.googleusercontent.com\r\n  client_secret: ${OIDC_CLIENT_SECRET} # from Secret Manager\r\n  allowed_email_domains: [yourco.com]\r\n\r\nupstreams:\r\n  - provider: vertex\r\n    region: us-east5\r\n    project_id: &amp;lt;your-project&amp;gt;\r\n    auth: {} # ADC via the Cloud Run SA, NO key file&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbde6670&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;次に、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;https://&amp;lt;public_url host&amp;gt;/oauth/callback&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を Google OAuth クライアントの承認済みリダイレクト URI として登録します。これは listen.public_url と完全に一致する必要があります。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--medium
      
      
        h-c-grid__col
        
        h-c-grid__col--4 h-c-grid__col--offset-4
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2_MvuTCiS.max-1000x1000.png"
        
          alt="2"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 3: Cloud Run にデプロイする&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;gcloud run deploy&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を使用して、サービス アカウントをアタッチし、VPC 上で Cloud SQL 接続を行い、Secret Manager から構成をマウントします。コンテナはステートレスで、Cloud Run ロードバランサの背後で水平方向にスケーリングされます。GKE は、すでにプラットフォームとして使用している場合は、変わらず問題なく機能し、デプロイ マニフェストのみが変更されます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;gcloud run deploy claude-gateway \\\r\n  --service-account=&amp;quot;claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com&amp;quot; \\\r\n  --set-secrets=/etc/claude/gateway.yaml=gateway-config:latest \\\r\n  --ingress=internal \\       # private — developers reach the gateway over the corporate network (VPN/Interconnect into the VPC)\r\n  --no-invoker-iam-check # the gateway runs its OWN OIDC; clients carry no GCP token&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de10785b0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;開発者は企業ネットワーク経由で接続します。内部アプリケーション ロードバランサを使用してサービスをフロントエンドに配置できます。&lt;/span&gt;&lt;a href="https://cloud.google.com/run/docs/securing/private-networking"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Run のプライベート ネットワーク&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;に関するドキュメントをご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;公開か内部かを問わず、開発者は構成した URL にアクセスできる必要があります。または、Cloud Run のデフォルトの URL を使用することもできます。以下の例では、&lt;/span&gt;&lt;a href="https://claude-gateway.example.internal/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;https://claude-gateway.example.internal&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を使用します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/3_nlczWOp.max-1000x1000.png"
        
          alt="3"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 4: 開発者をオンボーディングする&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;管理対象の設定を使用して、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;forceLoginMethod: "gateway"&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; と &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;forceLoginGatewayUrl&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を開発者のマシンに push します。これにより、手動で URL を入力しなくても、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;/login&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; は接続先を把握します。組織への展開の場合は、MDM チャネルがこれに該当します。開発者は、ローカル管理者権限がある場合、MDM を使用しない最初の試行では、macOS の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;/Library/Application Support/ClaudeCode/managed-settings.json&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;（または Linux の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;/etc/claude-code/managed-settings.json&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）に手動でファイルを書き込むことができます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;{\r\n  &amp;quot;forceLoginMethod&amp;quot;: &amp;quot;gateway&amp;quot;,\r\n  &amp;quot;forceLoginGatewayUrl&amp;quot;: &amp;quot;https://claude-gateway.example.internal&amp;quot;\r\n}&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbad51c0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;開発者は Claude Code の起動時に、事前に入力されたゲートウェイのログイン画面で Enter キーを押して URL を確認します。ブラウザのゲートウェイの認証ページでデバイスコードを確認すると、Google Workspace にリダイレクトされるので、ログインします。その後、ブラウザで Google Workspace に対してデバイスコード フローを完了します。セットアップが正しく終了すると、以下のようにターミナル ビューに Cloud Gateway が表示されます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/original_images/Claude_Code_login_flow_with_gateway.gif"
        
          alt="4"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;次のステップ&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ここまでで、&lt;/span&gt;&lt;a href="https://code.claude.com/docs/en/claude-apps-gateway-on-gcp" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud 上の Claude アプリ ゲートウェイ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を構成して使用する方法について理解を深められたはずです。おすすめする次のステップをいくつかご紹介します。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;完全な構成リファレンス:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; すべての &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;gateway.yaml&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; フィールドは &lt;/span&gt;&lt;a href="https://code.claude.com/docs/en/claude-apps-gateway-config" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;claude-apps-gateway-config&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; にあります。IdP ごとの設定と GKE トラックは、&lt;/span&gt;&lt;a href="https://code.claude.com/docs/en/claude-apps-gateway-deploy" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;claude-apps-gateway-deploy&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; と &lt;/span&gt;&lt;a href="https://code.claude.com/docs/en/claude-apps-gateway-on-gcp" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;claude-apps-gateway-on-gcp&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; にあります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;グループ スコープのポリシー:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; グループ対応の IdP でゲートウェイをフロントエンドに配置し、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;groups_claim&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を設定して、キャッチオールの上に &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;match: { groups: [...] }&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ポリシーを追加し、チームごとに異なるモデルリストとツール権限を付与します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;今回は以上です。お読みいただきありがとうございました。ご質問やフィードバックがございましたら、ソーシャル メディア（Roy Arsan - &lt;/span&gt;&lt;a href="https://www.linkedin.com/in/arsan/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Linkedin&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://x.com/RoyArsan" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;X&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、Ivan Nardini - &lt;/span&gt;&lt;a href="https://linkedin.com/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;LinkedIn&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://x.com/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;X&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;）でお気軽にお問い合わせください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;開発をお楽しみください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Anthropic、AI 応用エンジニア&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt; Roy Arsan 氏&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Google Cloud、AI エンジニア&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt; Ivan Nardini&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Wed, 15 Jul 2026 01:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/announcing-claude-apps-gateway-for-google-cloud/</guid><category>AI &amp; Machine Learning</category><category>Developers &amp; Practitioners</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Google Cloud 向け Claude アプリ ゲートウェイを使ってみる</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/announcing-claude-apps-gateway-for-google-cloud/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Roy Arsan</name><title>Applied AI Engineer, Anthropic</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Ivan Nardini</name><title>Sr. Developer Relations Engineer</title><department></department><company></company></author></item><item><title>Google AI Studio のスターター ティアの解説</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/the-starter-tier-for-google-ai-studio-explained/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 6 月 23 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/the-starter-tier-for-google-ai-studio-explained?e=0&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;あなたは &lt;/span&gt;&lt;a href="https://ai.google.dev/aistudio" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google AI Studio&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; で実用的なプロトタイプを作成したところであると仮定しましょう。React フロントエンドに Node.js バックエンド、データベースも使っているとします。今は、チーム、ユーザー、試してみたがっている友人と共有するための一般公開 URL が必要です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud は、きめ細かな IAM 制御、請求管理、リージョン選択機能を備えた、本番環境アプリケーションをデプロイするための完全なプラットフォームを提供します。本格的なシステムを構築する場合は、まさにこれが必要です。一方、10 分以内にプロトタイプをオンラインで公開したいだけの場合、今ならもっと手っ取り早い方法を利用できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://cloud.google.com/run"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Run&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://firebase.google.com/products/firestore" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Firestore&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://cloud.google.com/sql/docs/postgres"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud SQL for PostgreSQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://firebase.google.com/products/auth" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Firebase Authentication&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; など、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/docs/starter-tier"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud スターター ティア&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;のリソースは、フルマネージド プロジェクトでプロビジョニングされます。利用を開始するのに、お支払い方法（クレジット カードなど）や請求先アカウントは必要ありません。Google アカウントさえあれば、プロンプトの入力から一般公開 URL の取得まで、データベースや認証機能がすべて組み込まれた状態で実現できます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;スターター ティアの概要&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google AI Studio でスターター ティア サービスを設定すると、Google がバックグラウンドでフルマネージド プロジェクトをプロビジョニングします。ユーザー自身がプロジェクトを作成、構成、管理する必要はありません。リージョンの選択、API の有効化、セキュリティ ポリシーについては、Google が処理します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;スターター ティアは現在、個人の Google アカウントでご利用いただけます。企業または教育機関の &lt;/span&gt;&lt;a href="https://workspace.google.com/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Workspace&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; アカウントでログインしている場合、組織レベルの管理ポリシーにより、リソースをデプロイする機能が制限されることがあります。これは、各リージョンでの Google AI Studio の提供状況によっても変わります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;スターター ティアは、IAM ロールの管理、API の有効化、請求先アカウントとの連携を行う標準の Google Cloud プロジェクトとは異なります。スターター ティア プロジェクトは、設計上、最小限の機能しか備えていません。&lt;/span&gt;&lt;a href="https://cloud.google.com/bigquery"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;BigQuery&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; や &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/pubsub/docs/overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Pub/Sub&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を有効にすることはできません。リソースのリージョンも変更できません。これがポイントです。設定項目が少なければ少ないほど、軌道を外れる可能性も低くなります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;コンソール エクスペリエンスもこの理念に沿っています。スターター ティア ユーザーには、数百ものプロダクト ページがある Google Cloud コンソール全体ではなく、プロトタイプにとって重要な要素（アプリケーション ログ、パフォーマンス指標、基本的なコンテナ構成など）に焦点を当てた&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/docs/starter-tier#manage-resources"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;シンプルなビュー&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;が表示されます。サポート対象外のプロダクトにアクセスすると、課金対象のリソースを誤ってプロビジョニングしないよう、別個の&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/free/docs/free-cloud-features#free-trial"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;無料トライアル&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を開始するよう促されます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ご注意: スターター ティアのリソースに標準の Google Cloud 利用規約は適用されません。これらは&lt;/span&gt;&lt;a href="https://cloud.google.com/terms/starter-tier-additional-terms-of-service"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;スターター ティア追加利用規約&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;の対象となります。プロトタイピングやビジネス アプリケーションで、これらの規約が障害になることはありません。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;提供内容: 事前構成済みのスタック&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;スターター ティアでは、Google Cloud カタログ全体を利用できるわけではありません。代わりに、アプリケーション アーキテクチャの要件に応じてオンデマンドでプロビジョニングされる、4 つのプロダクトの事前構成済みスタックが提供されます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/updated_architecture.max-1000x1000.png"
        
          alt="updated_architecture"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;Cloud Run&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://cloud.google.com/run"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Run&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; はコンピューティング レイヤです。Google AI Studio でデプロイを行うたびに、HTTP トラフィックを処理する Cloud Run サービスが作成されます。スターター ティアでは、Google アカウントごとに最大 2 つのアクティブなウェブ アプリケーションを同時にデプロイできます。Cloud Run サービスは、受信トラフィックに応じて自動的にスケールし、アイドル状態になるとゼロまでスケールダウンします。つまり、使われていないときは、プロトタイプはリソースを消費しません。これらのサービスは、スターター ティア環境を最初にプロビジョニングしたときに固定される、単一のリージョンで実行されます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;Firebase Authentication&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;アプリでユーザー ログインが必要な場合、スターター ティアでは &lt;/span&gt;&lt;a href="https://developers.google.com/identity/sign-in/web/sign-in" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google ログイン&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;が事前構成された &lt;/span&gt;&lt;a href="https://firebase.google.com/products/auth" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Firebase Authentication&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を利用できます。Google AI Studio の AI エージェントは、プロンプトの内容が暗にユーザー ID を必要としている場合（「共有の ToDo リストを作成して」など）、認証を自動的に有効にするよう提案します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;アプリケーションが &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/ja/products/databases/vibe-coded-ai-studio-apps-with-firestore-firebase-cloud-sql?e=0&amp;amp;hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Workspace のインテグレーション&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を基盤としている場合、このログインフローにより認証が簡素化されます。ユーザーがログインすると、アプリケーションは OAuth アクセス スコープをリクエストし、Gmail、ドキュメント、カレンダー、スプレッドシートのデータを安全に操作できるようになります。これにより、要約ツールや受信トレイの整理ツールといった社内ツールのプロトタイプを簡単に作成できます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;Cloud Firestore&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://firebase.google.com/products/firestore" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Firestore&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; は、NoSQL データ ストレージを扱うデータベース サービスです。Google AI Studio エージェントは、プロンプトの内容から構造化データ ストレージが必要だと判断すると、自動的にプロビジョニングすることができます。AI エージェントは、クライアントサイドの同期コード（通常は &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;/src/lib/firebase.ts&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ファイル）を生成し、アプリケーションに適した &lt;/span&gt;&lt;a href="https://firebase.google.com/docs/firestore/enterprise/security/get-started" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Firebase セキュリティ ルール&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;のドラフトを作成します（たとえば、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;request.auth.uid&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を利用して、認証済みの作成者のみにドキュメントへのアクセスを制限します）。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;「権限がない、または十分ではない」というエラーが発生した場合は、Google AI Studio で [エラーを修正] をクリックすると、更新されたアプリのロジックに合わせてエージェントがセキュリティ ルールを書き換えます。ただし、アプリを広く共有する前に、これらのセキュリティ ルールを手動でご確認ください。AI によって生成されたセキュリティ ルールはあくまで出発点であり、確実性を保証するものではありません。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google AI Studio エージェントによって作成されたすべての Firestore データベースは、使用量の割り当てを共有します（詳しくは、下記の制限事項のセクションをご覧ください）。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;Cloud SQL for PostgreSQL デベロッパー エディション&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;適切なスキーマ、結合、ACID コンプライアンスを備えたリレーショナル データが必要な場合、スターター ティアでは &lt;/span&gt;&lt;a href="https://cloud.google.com/sql/docs/postgres"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud SQL for PostgreSQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; デベロッパー エディションがプロビジョニングされます。これは、AI Studio エージェントとシームレスに連携するよう設計されています。デベロッパー エディションでは、即時のプロビジョニングとゼロへのスケーリングが可能で、迅速かつ低コストな開発環境を実現できます。また、&lt;/span&gt;&lt;a href="https://cloud.google.com/discover/what-is-pgvector"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;pgvector&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; などの機能を備えたオープンソース PostgreSQL の全機能を利用できるため、独立したベクトル データベースを追加しなくても、セマンティック検索や RAG アプリケーションを構築できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;プロンプトを使用してアプリケーションの改良を重ねていくと、Google AI Studio エージェントはアプリケーションの構築や公開の進行状況に合わせて、必要なスキーマの生成や移行を自動的に行います。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;プロンプトの入力から一般公開 URL の取得までの 5 つのステップ&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;1. Google AI Studio のビルドモードを開く。&lt;/strong&gt;&lt;a href="https://ai.google.dev/aistudio" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google AI Studio&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; にアクセスし、ビルドモードに切り替えます。お支払い方法の登録もプロジェクトの設定も不要です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;2. アプリの説明を入力する。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;「Firebase をバックエンドとして使用する共有 ToDo リストアプリを作成して」のようなプロンプトを入力します。エージェントが React フロントエンドと Node.js バックエンドを生成し、画面の右側にライブ プレビューを表示します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;3. Firebase を有効にする（メッセージが表示された場合）。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;プロンプトにユーザーデータや認証に関する内容が含まれていた場合、エージェントは Firebase を有効にするための構成カードを表示します。設定アイコンをクリックしてリージョンを選択し（これにより Cloud Run のリージョンも固定されます）、確認します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;4. [公開] &amp;gt; [使ってみる] &amp;gt; [アプリを公開] をクリックする。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントがコードをパッケージ化し、スターター ティア プロジェクトに Cloud Run サービスをプロビジョニングします。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;5. URL を取得する。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;数秒で一般公開の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;.run.app&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; URL を取得できます。アプリケーションの状況は、デプロイ済みコンテナのログと指標を表示する、簡素化された Google Cloud コンソール画面からモニタリングできます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;以上です。Dockerfile も &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;gcloud&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; も YAML 構成ファイルも必要ありません。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;スターター ティアとの比較&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud には、無料で利用できる方法がいくつか用意されています。スターター ティアと、新規ユーザーにとって最も一般的な利用開始方法である無料トライアルとの比較は、以下のとおりです。&lt;/span&gt;&lt;/p&gt;
&lt;div align="left"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;&lt;table&gt;&lt;colgroup&gt;&lt;col/&gt;&lt;col/&gt;&lt;col/&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;a href="https://docs.cloud.google.com/docs/starter-tier"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;スターター ティア&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;a href="https://docs.cloud.google.com/free/docs/free-cloud-features"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;無料トライアル&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;提供内容&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;4 つのプロダクトを含む事前構成済みスタック（割り当てに上限あり）:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud Run&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Firestore&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud SQL&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Firebase Authentication&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;$300 分のウェルカム クレジット&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/free/docs/free-cloud-features#free-tier"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud の無料枠&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;その他のプロダクト固有の無料トライアル&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;料金が発生するリスクのない、90 日間の無料体験期間&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;必要なご対応&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google アカウントの登録&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;スターター ティア利用規約への同意&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud 利用規約への同意&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;不正対策を目的とした、お支払い方法のご提供&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;時間制限&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;なし&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;90 日&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;プロジェクトの管理&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google が管理&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ユーザーがすべてを管理&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;コンソール エクスペリエンス&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;シンプル&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;フル&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;最適な用途&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AI Studio からのプロトタイピング&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud Platform 全体の評価&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;さらにご利用をご希望の場合&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;お支払い方法を追加して、有料アカウントにアップグレードしてください。請求先アカウントを初めて作成する場合は、$300 分のウェルカム クレジットと無料枠をご利用いただけます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;アップグレード後は、無料枠と $300 のクレジットでカバーできない使用量に対して請求が発生します。&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;既存のプロジェクト、残っているクレジット、無料枠、プラットフォームへのフルアクセスを維持するには、有料の請求先アカウントにアップグレードしてください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;アップグレード後は、無料枠と残っているクレジットでカバーできない使用量に対して請求が発生します。&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;スターター ティアは、AI Studio でのプロトタイピングに最適です。&lt;/span&gt;&lt;a href="https://cloud.google.com/bigquery"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;BigQuery&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://cloud.google.com/kubernetes-engine"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;GKE&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://cloud.google.com/products/gemini-enterprise-agent-platform"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini Enterprise Agent Platform&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; が必要な場合や、課金されるリスクなく 90 日間 GCP を幅広く評価したい場合は、無料トライアルをお選びください。どちらのコースでも、準備が整い次第、有料アカウントにシームレスにアップグレードして、すべての機能をご利用いただけます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;制限に備える&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;スターター ティアはプロトタイピングには十分ですが、制限もあります。事前に把握しておけば、予期せぬトラブルを回避できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;アプリケーションは 2 つまで。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;デプロイできるアプリケーションは最大 2 つです。アクティブなアプリケーションのいずれかを置き換える場合は、Cloud コンソールでサービスを手動で削除しようとせず、Google AI Studio で既存のアプリスロットにデプロイまたは上書きしてください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;リージョンは 1 つ。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;スターター ティア プロジェクトのリソースはすべて、最初にスターター ティア サービスをプロビジョニングしたときに選択した、1 つのリージョンに固定されます。たとえば、Cloud Run にデプロイする前に Firestore データベースをプロビジョニングすると、その時点でリージョンが選択されます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;API サーフェスは固定。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;スターター ティア プロジェクトでは、追加の Google Cloud API（BigQuery、Pub/Sub、Cloud Functions など）を有効にすることはできません。これらが必要な場合は、アップグレードしていただく必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;エフェメラル ファイルシステム。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;公開された Google AI Studio アプリはサーバーレスの Cloud Run コンテナ内で実行されるため、一時的なファイルシステムを継承します。ディスクに直接書き込まれるファイル（アップロードされた画像、生成された PDF、ローカルの &lt;/span&gt;&lt;a href="https://www.sqlite.org/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;SQLite&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; データベースなど）は、コンテナがゼロにスケールされるか、再デプロイされると消滅します。Google AI Studio はプロンプトのイテレーションごとにコンテナを再デプロイするため、この状況は頻繁に発生します。永続データは Firestore または Cloud SQL for PostgreSQL に保存してください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Firestore の共有割り当て。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Google AI Studio エージェントによって作成されたすべての Firestore データベースは、単一の共有割り当てグループを共有します。Google Cloud において、割り当ては、プロジェクトを保護し、不正使用を防ぐことを目的とする、使用量上限または 1 日の予算を表します。サーバー容量が確保されることを保証するものではありません。&lt;/span&gt;&lt;/p&gt;
&lt;div align="left"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;&lt;table&gt;&lt;colgroup&gt;&lt;col/&gt;&lt;col/&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;割り当て指標&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;スターター ティアの上限&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;合計保存データ&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;合計 1 GiB&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;外向きネットワーク&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;10 GiB/月&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;書き込みオペレーション&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;40,000 回/日&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;読み取りオペレーション&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;50,000 回/日&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;リアルタイム更新&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;50,000 回/日&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;グループ内のいずれかのデータベースが 1 日の使用量上限に達すると、そのグループ内のすべてのデータベースは、太平洋時間の午前 0 時頃まで一時停止されます。Firebase Authentication の使用量は個別に測定されるため、ログインが急増してもデータベースの割り当てが減ることはありません。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Cloud SQL の割り当ての共有:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Cloud SQL で構築できるアプリは最大 2 つに制限されています。Cloud SQL の割り当てを超過した場合、AI Studio エージェントは自動的に Firestore にフォールバックします。サンドボックスから移行することで、割り当てを増やすことができます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;サンドボックスからの移行&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;スターター ティアの最大の魅力は、そのアップグレード方法です。移行も、データ エクスポートも、DNS の切り替えも不要です。スケーリングの準備ができたら、そのままアップグレードできます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/image2_O2DyF4k.max-1000x1000.png"
        
          alt="image2"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;a href="https://aistudio.google.com/projects" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google AI Studio の [プロジェクト] ページ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;で、[お支払い情報を設定] をクリックします。&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/billing/docs/concepts"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud 請求先&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;アカウントを作成し、お支払い方法を入力して、Google Cloud の標準利用規約に同意します。Google Cloud を初めてご利用のお客様には、自動的に $300 分のウェルカム クレジットが提供され、トライアル期間中の使用料金に充当されます。アップグレードはダウンタイムなしで実行されます。Cloud Run サービスは稼働し続け、データベースはデータを保持し、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;.run.app&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; URL は変更されません。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;アップグレード後は、IAM を完全に制御できるようになり、任意の Google Cloud API の有効化や、すべてのリージョンとスケーリング オプションの利用が可能になります。以下のようなコスト対策が推奨されています。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;予算アラートを設定する:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Google Cloud Billing コンソールにアクセスし、使用量が予想（例: $10）を超えると通知するよう、予算アラートを設定します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Cloud Run のインスタンス数の上限を設定する:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; スターター ティアでは、Google によってコンテナ インスタンスの最大数が 1 に固定されています。アップグレードしたら、トラフィックの急増による予期しないスケーリング料金が発生しないよう、インスタンス数の上限を設定（例: &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;--max-instances 5&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;API の割り当てを設定する:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; API の呼び出し（Gemini API や Firestore の読み取り / 書き込みなど）に上限を設定し、厳格な制限を使用量に適用します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ご注意: Google AI Studio エージェントによって作成された Firestore データベースは、請求先を追加した後も共有割り当てグループに残っています。データベースの使用量割り当てを増やすには、&lt;/span&gt;&lt;a href="https://console.firebase.google.com/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Firebase コンソール&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;にアクセスし、Firestore データベースに移動して [データベースをアップグレード] をクリックします。これにより、インスタンスが共有割り当てグループから削除され、標準の請求が適用されるようになります。ただし、課金される前に標準の Firestore 無料枠の上限が適用されます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;パス全体にわたる連続性により、このプロセスはスムーズに進みます。スターター ティアでプロトタイプを作成し、数週間かけて改良を重ね、準備が整ったら、何も再構築することなく本番環境グレードの Google Cloud プロジェクトに移行できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;スターター ティアについてご質問がある方や、これを使って構築したものを伝えたい方は、ぜひ&lt;/span&gt;&lt;a href="https://x.com/kweinmeister" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;私&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;にご連絡ください。また、サブレディットの &lt;/span&gt;&lt;a href="https://www.reddit.com/r/googlecloud/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;r/GoogleCloud&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; と &lt;/span&gt;&lt;a href="https://www.reddit.com/r/Firebase/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;r/Firebase&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; では、コミュニティと意見を共有できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;- デベロッパーリレーションズ担当ディレクター、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Karl Weinmeister&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Fri, 10 Jul 2026 00:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/the-starter-tier-for-google-ai-studio-explained/</guid><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/cover_EJoD7Zs.max-600x600.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Google AI Studio のスターター ティアの解説</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/cover_EJoD7Zs.max-600x600.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/the-starter-tier-for-google-ai-studio-explained/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Karl Weinmeister</name><title>Director, Developer Relations</title><department></department><company></company></author></item><item><title>Cloud Network Insights: クロスクラウド ネットワークに対するエンドツーエンドのオブザーバビリティ</title><link>https://cloud.google.com/blog/ja/products/networking/cloud-network-insights-end-to-end-cross-cloud-observability/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 6 月 18 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/networking/cloud-network-insights-end-to-end-cross-cloud-observability?e=48754805&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;昨今のデジタル環境では、ネットワークは単一のデータセンターや一つのクラウド プロバイダの範囲に制限されません。クロスクラウド戦略を採用し、Google Cloud ワークロードをオンプレミス環境、AWS や Azure などの他のクラウド、インターネットに接続されたさまざまなアプリケーションに接続させる企業が増えています。この柔軟性はイノベーションを促進する一方で、運用上の複雑さを大幅に増大させる可能性もあります。アプリケーションのパフォーマンスが低下した場合、原因はネットワーク、アプリケーション、それとも他のどこにあるのかという重要な疑問が生じます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このたび、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/network-intelligence-center/docs/cloud-network-insights/overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Network Insights&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; の一般提供が開始されました。すぐに使用できる Google Cloud ネイティブのソリューションである Cloud Network Insights は、複雑なマルチクラウド環境とハイブリッド環境全体でネットワークとデジタル エクスペリエンスのパフォーマンスを包括的に可視化します。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;アクティブなモニタリングで可視性のギャップを解消&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://investors.broadcom.com/news-releases/news-release-details/broadcom-expands-collaboration-google-cloud-cloud-network" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Broadcom AppNeta とのパートナーシップ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;により提供される Cloud Network Insights は、オブザーバビリティを Google Cloud の枠を超えてグローバルなデプロイ全体に拡大します。アクティブな合成プローブの利用によりユーザー トラフィックがない場合でもネットワーク ルートをモニタリングできるため、事後対応ではなく予防的なモニタリングを可能にします。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;クラウド、オンプレミスのデータセンター、インターネット アプリケーション、ISP、ラストマイル接続など、パフォーマンス低下の原因がどこにあるとしても、Cloud Network Insights を使用すればボトルネックの正確な場所を特定できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud Network Insights は &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/stackdriver/docs"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud Observability スイート&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;に直接統合されるため、高度なネットワーク インテリジェンスを既存のツールに組み込むことができます。Cloud Network Insights は、次の機能を提供します。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;エンドツーエンドのネットワーク パスの可視性:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 送信元と宛先の間のネットワーク パスをホップバイホップ方式で可視化します。直接管理していないネットワークにおけるラウンド トリップ時間（RTT）、パケットロス、ジッターなどの重要な指標をモニタリングします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;デジタル エクスペリエンスに関する分析情報:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; ネットワーク層を超えて、ウェブ アプリケーションのデジタル エクスペリエンスをモニタリングします。DNS の解決時間、HTTP レスポンス コード、ブラウザのページ全体の読み込み時間を測定して、アプリケーションのパフォーマンス低下がネットワークによるものか、アプリケーション自体によるものかを特定します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;プロアクティブな検出とアラート:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; シンセティック テストを使用して、顧客に影響が及ぶ前にパフォーマンスの低下を特定します。アラームは Cloud Monitoring および Cloud Logging と統合されており、メール、Slack、PagerDuty 経由でアラートを送信できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;SLA の検証:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; ISP やサービス プロバイダがパフォーマンスのコミットメントを満たしているかを検証するのに必要なデータをチームに提供します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;迅速な根本原因分析: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;ネットワークの問題、アプリケーション レベルの問題、ブラウザのパフォーマンスへの影響をすばやく区別できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;統合モニタリング:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Google Cloud 内から直接指標とログにアクセスし、Cloud Monitoring と Cloud Logging を活用してダッシュボードとアラートを提供します。Google Cloud のオープンなパートナー エコシステムと、指標とログに利用される OpenTelemetry プロトコルのサポートを利用して、OTel SDK とコレクタによる直接取り込みを可能にします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;エージェント ワークロードのモニタリング:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; シンセティック テストを使用して、接続とネットワーク パフォーマンスをモニタリングし、エージェントとツールへの接続を最適化します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/original_images/1-network_paths_low_res.gif"
        
          alt="1-network paths low res"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;&lt;p data-block-key="8nkv4"&gt;Google Cloud、AWS、Azure との間のネットワーク パフォーマンスとマルチパス ルートを 1 つのビューで確認&lt;/p&gt;&lt;/figcaption&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;仕組み: アクティブな合成プロービング&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud Network Insights は、3 つの主要コンポーネントで構成されるアクティブな合成プローブ技術を使用します。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;モニタリング ポイント:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; モニタリング ポイントと呼ばれる軽量のソフトウェア エージェントを、中央 VPC、リモート ブランチ、オンプレミス データセンターなどの重要なネットワーク セグメントにデプロイします。モニタリング ポイントはコンテナまたは仮想マシンとしてデプロイできます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;合成プローブ:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; モニタリング ポイントは、合成トラフィック（ユーザーまたはアプリケーションをシミュレート）の小さなバーストを頻繁にターゲットの宛先に送信します。これにより、ネットワーク上にユーザーが存在しない場合でも、24 時間 365 日パフォーマンスをモニタリングできます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;データ同期:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; モニタリング ポイントは、リアルタイムのパフォーマンス テレメトリーを中央のバックエンド サービスに送信します。このデータは Google Cloud に同期され、指標は Cloud Monitoring にエクスポートされ、アラームとイベントは Cloud Logging に送信されます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;核となる機能&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud Network Insights は、インフラストラクチャの全体像を把握するために、主に次の 2 種類のモニタリングをサポートしています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;1. ネットワーク パフォーマンスのモニタリング（レイヤ 3 と 4）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これにより、送信元と宛先の間のネットワークをホップバイホップ方式で可視化できます。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;取得される指標:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; ラウンド トリップ時間（RTT）、パケットロス、ジッター、パスの変更。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;シングルエンド モード:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; エージェントは、モニタリング ポイントがインストールされていない外部ターゲット（URL、IP アドレス、API エンドポイントなど）をプローブします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;デュアルエンド モード:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; モニタリング ポイントが別のモニタリング ポイントをプローブします。これにより、一方向のレイテンシの正確な把握と非対称ルーティング（データが送信時と受信時で異なるパスを通る場合）の検出が可能になり、より豊富なデータが提供されます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2_d8twiu8.max-1000x1000.png"
        
          alt="2"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;&lt;p data-block-key="21qbk"&gt;Google Cloud コンソールに表示されたネットワーク パス指標&lt;/p&gt;&lt;/figcaption&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;2. デジタル エクスペリエンス モニタリング（レイヤ 7）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;デジタル エクスペリエンス モニタリングを使用すると、ウェブ アプリケーションのエンドツーエンドのエクスペリエンスを追跡できます。ここでは、次のいずれかを選択できます。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;ブラウザモード:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 実際のブラウザ エンジン（Selenium）を使用してウェブページ全体を読み込み、JavaScript を実行してコンテンツをレンダリングします。ページの読み込み時間を完全に測定し、実際のユーザー エクスペリエンスを検証します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;HTTP モード:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 合成 HTTP/S リクエストを URL または API エンドポイントに送信します。これにより、サーバーの可用性、レスポンス時間、DNS / TLS パフォーマンスの軽量なチェックを行います。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/3_VbaHlX5.max-1000x1000.png"
        
          alt="3"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;インテリジェンスと自動化&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud Network Insights には、さまざまなモニタリング機能とトラブルシューティング機能も用意されています。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;プロアクティブなアラーム: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud Network Insights は自動ベースライン設定を利用し、過去の指標データに基づいてパフォーマンスしきい値を動的に設定します。定義されたパラメータから指標が逸脱すると、システムは Google Cloud でイベントを即座にトリガーし、メール、Slack、PagerDuty を介してアラートをチームに直接ルーティングします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;モニタリング ポリシー:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; カスタムタグに基づいてパスを動的に作成または削除するポリシーを定義することで、大規模な環境全体でモニタリング設定を自動化できます。たとえば、主要なウェブ アプリケーションのパフォーマンスを特定の地理的地域から自動で追跡できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;根本原因分析:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Cloud Network Insights は、ISP やトランジット ネットワークなど、従来は「監視対象外」だった領域まで可視性を拡張するため、速度低下が Google Cloud 内で発生しているのか、ISP レベルで発生しているのか、AWS や Azure などの別のクラウド環境内で発生しているのかを即座に特定できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;AI による分析情報:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Gemini Cloud Assist との統合により、自然言語を使用して、より広範なインフラストラクチャ データとともに Cloud Network Insights テレメトリーを調査できます。ダッシュボードを手動で切り替えるのではなく、Gemini に Cloud Network Insights の特定の指標と他の Google Cloud の指標を相互参照させることで、平均解決時間（MTTR）を短縮します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;お客様の声&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud Network Insights に対しては、クロスクラウド運用を簡素化したいと考えているお客様からすでに大きな関心が寄せられています。すでに Sabre や Pexip などの組織は、ハイブリッド環境の透明性を高める目的で Cloud Network Insights を活用しています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;「Sabre のように複雑かつハイスケールな環境では、完全な可視性は単なる贅沢品ではなく、運用のレジリエンスを確保するための不可欠な要件です。Cloud Network Insights を使用することで、プロアクティブな最適化をさらに推進できます。グローバルなクラウド フットプリント全体にわたってきめ細かいリアルタイムのテレメトリーを提供することで、従来のネットワークの『ブラック ボックス』を解消し、旅行者のエクスペリエンスに影響を与える前にチームがボトルネックを解決することを可能にします。」&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;- Sabre、クラウドおよびインフラストラクチャ担当バイス プレジデント、Alfredo Rodriguez 氏&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;「Cloud Network Insights は、企業のプライベート ネットワークとパブリック クラウドとの間の『可視性のギャップ』を埋め、共通のお客様がパフォーマンスのボトルネックを数時間ではなく数秒単位で特定することを可能にします。」&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;- Broadcom、CIO、Alan Davidson 氏&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=MR6dUJKFU4I"
      data-glue-modal-trigger="uni-modal-MR6dUJKFU4I-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        

        &lt;div class="article-video__aspect-image"
          style="background-image: url(https://storage.googleapis.com/gweb-cloudblog-publish/images/maxresdefault_TJbxQsH.max-1000x1000.jpg);"&gt;
          &lt;span class="h-u-visually-hidden"&gt;Cloud Network Insights でネットワークの健全性を向上させた Pexip&lt;/span&gt;
        &lt;/div&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
      &lt;figcaption class="article-video__caption h-c-page"&gt;
        
        
          &lt;p&gt;Cloud Network Insights でネットワークの健全性を向上させた Pexip&lt;/p&gt;
        
      &lt;/figcaption&gt;
    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal-MR6dUJKFU4I-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="MR6dUJKFU4I"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=MR6dUJKFU4I"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;使ってみる&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;複雑なデジタル エコシステムに対応するために可視性を犠牲にする必要はありません。Cloud Network Insights は、詳細なネットワーク パフォーマンス指標とデジタル エクスペリエンス モニタリングを組み合わせることで、マルチクラウド環境とハイブリッド環境のギャップを埋めます。Google Cloud Observability と Gemini Cloud Assist に直接統合されているため、チームはインテリジェントなアラート、堅牢な SLA 検証、迅速な根本原因分析を利用できます。Google は、お客様がクロスクラウド ネットワークの全体像をより明確に把握できるよう今後も支援を続けていきます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud &lt;/span&gt;&lt;a href="https://console.cloud.google.com/net-intelligence/cloud-network-insights/onboarding"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;コンソール&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;で今すぐご利用いただけます。詳しくは、以下の資料をご参照ください。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;モニタリング ポイントのデプロイとポリシーの構成について詳しくは、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/network-intelligence-center/docs/cloud-network-insights/overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;プロダクト ドキュメント&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;最新の&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/network-intelligence-center/docs/release-notes"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;リリースノート&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;で新機能に関する最新情報を確認できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://youtu.be/KJ_Qrztildw?si=XKqpAM9yL44HqsR5" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;概要動画&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を見る&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud と Broadcom のパートナーシップについて詳しくは、以下をご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;ul&gt;
&lt;li aria-level="2" style="list-style-type: circle; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://youtu.be/XNaFAI5JWnU?si=yLk9SaSK7BbUIxJb" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Broadcom の CIO である Alan Davidson 氏と Google Cloud ネットワーキング担当バイス プレジデント兼ゼネラル マネージャーの Rob Enns の対談&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="2" style="list-style-type: circle; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://youtu.be/nBdUPRbEFYw?si=BOJx67Lulrl5QDVR" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Broadcom のネットワーク オブザーバビリティ責任者である Michel Melillo 氏と Google Cloud のプロダクト マネジメント担当ディレクター Raj Gulani の対談&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;プロダクト マネージャー、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Poonam Yadav&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Fri, 03 Jul 2026 03:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/networking/cloud-network-insights-end-to-end-cross-cloud-observability/</guid><category>Infrastructure Modernization</category><category>Hybrid &amp; Multicloud</category><category>Developers &amp; Practitioners</category><category>Networking</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Cloud Network Insights: クロスクラウド ネットワークに対するエンドツーエンドのオブザーバビリティ</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/networking/cloud-network-insights-end-to-end-cross-cloud-observability/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Poonam Yadav</name><title>Product Manager</title><department></department><company></company></author></item><item><title>お客様とのコラボレーションが切り拓く、Model Armor による生成 AI セキュリティの未来</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/how-customer-collaboration-is-shaping-the-future-of-genai-security-with-model-armor/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 6 月 16 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/how-customer-collaboration-is-shaping-the-future-of-genai-security-with-model-armor?e=48754805&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud では、最高のプロダクトはお客様とのパートナーシップを通して構築されると考えています。お客様からのフィードバックや実際の経験は、Google のサービスを改良し、お客様の実際のニーズを満たすソリューションを提供するうえで非常に貴重です。2026 年 1 月、Google Cloud デベロッパー アドボカシー チームは、Google Cloud の大手顧客であり、通信業界のリーダーでもある企業との高ベロシティな技術スプリントに参加しました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この共同作業を通じて得られた深いインサイトは、生成 AI およびエージェント AI 向けランタイム セキュリティ サービスである &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Model Armor&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; の情報エクスペリエンスを大幅に向上させる原動力となりました。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;「徹底した当事者意識」による生成 AI 導入の加速&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この取り組みの目的は、Google Cloud の &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Agent Development Kit（ADK）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;と &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Agent Platform&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; を使用して構築された、次世代の生成 AI カスタマー サポート プラットフォームの運用化を支援することでした。お客様の開発者やセキュリティ スペシャリストと直接対話することで、開発者が複雑なライブ環境で Gemini Enterprise Agent Platform をどのように操作しているかを観察するという貴重な機会を得ることができました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この経験は、従来のドキュメント作成サイクルからは決して得られない、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;徹底した当事者意識&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;をもたらしました。開発者が作業する際の摩擦ポイントを一つひとつ記録していくことで、機能的障害をリアルタイムの技術的インサイトへと変換し、曖昧な構成ガイダンスや詳細情報の欠如によって開発者が作業を妨げられている部分を正確に特定しました。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/image_1_ir5Nrkw.max-1000x1000.png"
        
          alt="image_1"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;現場で得られた重要な知見&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;開発ワークフローを直接見せていただくことで、4 つの重要な摩擦ポイントを特定できました。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;検索ファーストのワークフロー:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 開発者がドキュメントの階層構造を順に辿ることは稀です。それよりも検索を駆使して、目的のコード例へ直接ジャンプすることがほとんどです。PII の秘匿化など、一般的なユースケースに対応する包括的でコピー＆ペースト可能なスニペットがないことが主な摩擦ポイントとなっていました。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;信頼レベルの最適化:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 包括的な脅威検出と、業務の妨げとなる誤検出の抑制との適切なバランスを見出すことは、想像以上に困難でした。たとえば、「低以上」といった厳格な設定を適用すると、本来スムーズであるべきカスタマー サポートの流れを止めてしまうような誤検出が頻発する結果となりました。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;きめ細やかなガイダンスの必要性:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Model Armor の基本コンセプトは理解されているものの、セキュリティと利便性を両立させるためのさまざまな適用方法が実務レベルでどう機能するのかに関する、より具体的な詳細情報が必要とされていることがわかりました。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;インテグレーションを阻む壁（403 エラー）:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Model Armor を &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Apigee&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; などのサービスと連携させる際、開発者は 403 PERMISSION_DENIED エラーという壁に何度も突き当たっていました。これは、既存ドキュメントにサービスをまたぐ IAM ロールや権限の設定に関する説明が不足していたことを浮き彫りにしました。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;知見を実践的に活用&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このパートナーシップから得られた知見は、Model Armor のドキュメントとガイダンスの包括的な見直しにすぐに活かされました。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;テスト済みのコピー＆ペースト可能なコードサンプル:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 検索ファーストのワークフローに対応するため、ドキュメント全体にテスト済みのすぐに使用できるコードサンプルを多数追加しました。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;信頼レベルのマトリックス:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; フィルタレベルごとのトレードオフをユーザーが直感的に把握できるよう、新たな技術リファレンスを追加しました。一般的なコンテンツについては、誤検出を最小限に抑えるために「高」または「中」のしきい値が推奨されることを明記しました。一方、「低以上」の設定は、プロンプト インジェクションやジェイルブレイク検出などの重大なセキュリティ脅威に限定して使用することを推奨しています。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;明示的なインテグレーション ガイド:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Apigee、Gemini Enterprise Agent Platform、GKE&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; に焦点を当ててインテグレーション ガイドを更新しました。新しいガイドでは、スムーズでエラーのないデプロイにするために必要な特定の IAM ロール（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;roles/modelarmor.user&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; など）が明示されています。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;技術ドキュメントの拡充:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 適用方法と現実世界におけるその応用例について、より深く踏み込んだ解説を追加してドキュメントを強化しました。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;パートナーシップの力&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;今回は実際にお客様と「同じ部屋で過ごす」ことで、技術的な正確さと運用上の有用性のギャップを埋めることができました。こうした共創の取り組みにより、Model Armor はお客様の成功を後押しする確かな原動力へと進化していきます。更新されたドキュメントをぜひご覧いただき、皆様のフィードバックをお寄せください。生成 AI ワークロード向けの最も安全なプラットフォームを目指して、Google はこれからも進化を続けてまいります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;使ってみる:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;更新された &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/model-armor/overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Model Armor ドキュメント&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を確認する&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Google Cloud、テクニカル ライター&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt; Darshana Bhangare&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;シニア デベロッパーリレーションズ エンジニア、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Leonid Yankulin&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Fri, 03 Jul 2026 02:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/how-customer-collaboration-is-shaping-the-future-of-genai-security-with-model-armor/</guid><category>Developers &amp; Practitioners</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>お客様とのコラボレーションが切り拓く、Model Armor による生成 AI セキュリティの未来</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/how-customer-collaboration-is-shaping-the-future-of-genai-security-with-model-armor/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Darshana Bhangare</name><title>Technical Writer</title><department>Google Cloud</department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Leonid Yankulin</name><title>Senior Developer Relations Engineer</title><department></department><company></company></author></item><item><title>30 分でリモート MCP サーバーの構築と GKE へのデプロイを実行</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/build-and-deploy-a-remote-mcp-server-to-gke-in-30-minutes/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 6 月 17 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/build-and-deploy-a-remote-mcp-server-to-gke-in-30-minutes?e=48754805&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;30 分でリモート MCP サーバーを構築して GKE にデプロイする&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ツールやデータソースのコンテキストを LLM に統合するのは簡単なことではなく、この点が AI エージェントの開発を難しくしています。この課題に対処するために、Anthropic は &lt;/span&gt;&lt;a href="https://modelcontextprotocol.io/introduction" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Model Context Protocol（MCP）&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を発表しました。これは、アプリケーションが LLM にコンテキストを提供する方法を標準化するプロトコルです。デベロッパーは、自分たちが開発した API をコンテキストとして他のデベロッパーのアプリケーションで利用してもらえるよう、専用の MCP サーバーを構築したいと考えることがよくあります。Google Kubernetes Engine（GKE）は、これらのリモート MCP サーバーをデプロイするためのスケーラブルで信頼性が高く安全な環境を提供します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このガイドでは、GKE で安全なリモート MCP サーバーを簡単に設定する手順を示します。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;MCP トランスポート&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Model Context Protocol は、クライアント / サーバー アーキテクチャを採用しています。当初は、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;stdio&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; トランスポートを使用したローカルでのサーバー実行のみをサポートしていました。その後の進化により、リモート アクセス トランスポート、具体的には &lt;/span&gt;&lt;a href="https://modelcontextprotocol.io/specification/latest/basic/transports#streamable-http" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Streamable HTTP&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; をサポートするようになりました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Streamable HTTP を使用すると、サーバーは複数のクライアント接続を処理できる独立したプロセスとして動作します。このトランスポートは、HTTP の POST リクエストと GET リクエストを使用します。サーバーは、POST メソッドと GET メソッドの両方をサポートする単一の HTTP エンドポイント パス（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;https://example.com/mcp&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; など）を提供する必要があります。トランスポートについて詳しくは、&lt;/span&gt;&lt;a href="https://modelcontextprotocol.io/docs/concepts/architecture#transport-layer" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;公式ドキュメント&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;GKE で MCP サーバーを実行するメリット&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;GKE 上に構築した MCP サーバーをリモートで実行することには、次のようなアーキテクチャ上のメリットがあります。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;スケーラビリティ:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; GKE Autopilot は、変動の大きいトラフィックを処理できるように構築されています。MCP サーバーのステートレスな性質から、GKE は水平スケーリングによって需要の急増に効率的に対応できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;一元化されたアクセス:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; チームは一元化された MCP サーバーへのアクセスを共有できます。ローカルマシン、エージェント、またはパイプラインからサーバーに接続できるため、冗長化したローカル サーバーを実行する必要がなくなります。中央サーバーが更新されると、即座にすべてのユーザーに共有されます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;セキュリティの強化:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Kubernetes Gateway API と SSL 証明書を組み合わせることで、トラフィックの安全な暗号化を簡単に強制できます。これにより、MCP サーバーへの安全な接続のみを許可し、不正アクセスを防止することができます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;前提条件&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;始める前に、次のツールがインストールされていることを確認してください。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Python 3.10 以降&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;uv（パッケージとプロジェクトの管理については、&lt;/span&gt;&lt;a href="https://docs.astral.sh/uv/getting-started/installation/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;インストールに関するドキュメント&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をご覧ください）&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud SDK（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;gcloud&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;code style="vertical-align: baseline;"&gt;kubectl&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; コマンドライン ツール&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;インストール&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;環境変数を準備します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;export PROJECT_ID=$(gcloud config get-value project)\r\nexport REGION=us-central1&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de098d1f0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;サーバーとデプロイのコードを保存するため、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;mcp-on-gke&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; という名称のフォルダを作成します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;mkdir mcp-on-gke &amp;amp;&amp;amp; cd mcp-on-gke&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de098da30&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;次に、Google Cloud の認証情報を構成し、アクティブなプロジェクトを設定します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;gcloud auth login\r\ngcloud config set project $PROJECT_ID&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de098ddc0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;GKE Autopilot クラスタの作成をバックグラウンドで開始します。このプロセスには数分かかるため、この段階で開始することで、残りの設定を完了させる間にクラスタをプロビジョニングできます。高速自動スケーリングに対して&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/kubernetes-engine/docs/concepts/balanced-scale-out-autopilot?hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;コスト最適化コンピューティング（CCOP）&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;が有効になっている Autopilot バージョンを使用してください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;gcloud container clusters create-auto mcp-cluster \\\r\n    --region $REGION \\\r\n    --release-channel rapid \\\r\n    --async&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de098d5e0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;uv&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を使用してプロジェクトを作成します。これにより、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;pyproject.toml&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ファイルが生成されます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;uv init&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de098d520&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;次に、必要な追加ファイルとして、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;server.py&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;（MCP サーバーコード用）、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;test_server.py&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;（テスト用）、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;Dockerfile&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;（コンテナのデプロイ用）を作成します。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;数学 MCP サーバー&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;大規模言語モデルは、テキストの生成、アイデアの要約、コンセプトの推論など、非決定的なタスクに優れている一方、数学演算のような決定的なタスクでは信頼性に欠けるという欠点があります。これを解決するために、デベロッパーは重要なコンテキストを提供するツールを作成できます。Python で MCP サーバーを構築するためのフレームワークである &lt;/span&gt;&lt;a href="https://gofastmcp.com/getting-started/welcome" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;FastMCP&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を使用すると、加算と減算の 2 つのツールを備えた単純な数学サーバーを作成できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;まず、FastMCP を依存関係として追加します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;uv add fastmcp\r\nuv add asyncio&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de098d610&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;次のコードを &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;server.py&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; にコピーして、サーバーを作成します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;from fastmcp import FastMCP\r\nfrom starlette.requests import Request\r\nfrom starlette.responses import PlainTextResponse\r\nimport asyncio\r\nimport logging\r\n\u200b\r\nlogger = logging.getLogger(__name__)\r\nlogging.basicConfig(format=&amp;quot;[%(levelname)s]: %(message)s&amp;quot;, level=logging.INFO)\r\n\u200b\r\nmcp_port=3000\r\n\u200b\r\n# FastMCP サーバーを初期化します\r\nserver = FastMCP(\r\n   &amp;quot;Math Server&amp;quot;,\r\n)\r\n\u200b\r\n@server.tool()\r\ndef add(a: int, b: int) -&amp;gt; int:\r\n   &amp;quot;&amp;quot;&amp;quot;2 つの数値を合算します。&amp;quot;&amp;quot;&amp;quot;\r\n   return a + b\r\n\u200b\r\n@server.tool()\r\ndef subtract(a: int, b: int) -&amp;gt; int:\r\n   &amp;quot;&amp;quot;&amp;quot;最初の数値から 2 つ目の数値を引きます。&amp;quot;&amp;quot;&amp;quot;\r\n   return a - b\r\n\u200b\r\n@server.custom_route(&amp;quot;/healthz&amp;quot;, methods=[&amp;quot;GET&amp;quot;])\r\nasync def health_check(request: Request) -&amp;gt; PlainTextResponse:\r\n   &amp;quot;&amp;quot;&amp;quot;200 OK をレスポンスとして返すシンプルなヘルスチェック エンドポイント&amp;quot;&amp;quot;&amp;quot;\r\n   return PlainTextResponse(&amp;quot;OK&amp;quot;)\r\n\u200b\r\nif __name__ == &amp;quot;__main__&amp;quot;:\r\n   logger.info(f&amp;quot; MCP server started on port {mcp_port}&amp;quot;)\r\n   # Cloud Run では、\&amp;#x27;sse\&amp;#x27; トランスポート、host=&amp;quot;0.0.0.0&amp;quot; も使用できます。\r\n   asyncio.run(\r\n       server.run_async(\r\n           transport=&amp;quot;streamable-http&amp;quot;,\r\n           host=&amp;quot;0.0.0.0&amp;quot;,\r\n           port=mcp_port\r\n       )\r\n   )&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;lang-py&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de098db80&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この例では、リモート サーバーの推奨プロトコルである &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;streamable-http&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; トランスポートを使用しています。このスクリプトは、スケーラブルな MCP エンドポイントの実行に必要なロジックをカプセル化します。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;MCP サーバーをローカルでテストする&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;MCP サーバーをテストするために接続する &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;test_mcp_server.py&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; スクリプトを作成します。GKE へのデプロイ前に MCP サーバーをテストするのに役立ちます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;from fastmcp import Client, FastMCP\r\nimport asyncio\r\nimport logging\r\n\u200b\r\n# リモートの MCP サーバーに接続します\r\nclient = Client(&amp;quot;https://localhost:3000/mcp&amp;quot;)\r\n\u200b\r\nasync def test_remote_server():\r\n   async with client:\r\n       # 基本的なサーバーとのやり取り\r\n       await client.ping()\r\n\u200b\r\n       # 利用可能な操作をリストアップします\r\n       tools = await client.list_tools()\r\n       print(f&amp;quot;利用可能なツール: {tools} \\n&amp;quot;)\r\n\u200b\r\n       # 加算の操作を実行します\r\n       result = await client.call_tool(&amp;quot;add&amp;quot;, {&amp;quot;a&amp;quot;: 5, &amp;quot;b&amp;quot;: 3})\r\n       print(f&amp;quot;加算の結果: {result} \\n&amp;quot;)\r\n\u200b\r\n       # 減算の操作を実行します\r\n       result = await client.call_tool(&amp;quot;subtract&amp;quot;, {&amp;quot;a&amp;quot;: 5, &amp;quot;b&amp;quot;: 3})\r\n       print(f&amp;quot;減算の結果: {result} \\n&amp;quot;)\r\n\u200b\r\nif __name__ == &amp;quot;__main__&amp;quot;:\r\n   asyncio.run(test_remote_server())&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;lang-py&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de098dfa0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;MCP サーバーをローカルで実行して接続をテストする:&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;uv run server.py&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de098d790&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;次に、新しいターミナルでテスト スクリプトを実行して、接続を確認します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;uv run test_mcp_server.py&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de098d9a0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;出力には利用可能なツールおよび &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;add&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ツールと &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;subtract&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ツールを呼び出した結果が表示され、MCP サーバーが機能しているかを確認できます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;コンテナ イメージのビルド&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;デプロイ プロセスを高速化するために、クラスタの作成中にコンテナ イメージをビルドします。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;まず、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;Dockerfile&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を準備します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;FROM python:3.10-slim\r\nCOPY --from=ghcr.io/astral-sh/uv:0.4.15 /uv /bin/uv\r\nWORKDIR /app\r\nCOPY pyproject.toml .\r\nCOPY server.py .\r\nRUN uv sync\r\nCMD [&amp;quot;uv&amp;quot;, &amp;quot;run&amp;quot;, &amp;quot;server.py&amp;quot;]&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de098ddf0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;次に、Artifact Registry を設定し、コンテナ イメージをビルドします。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;Artifact Registry を設定する&lt;/strong&gt;&lt;/h4&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;gcloud artifacts repositories create mcp-repo \r\n--repository-format=docker \r\n--location=$REGION&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbd0da30&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;イメージのビルドと push を並列で実行する&lt;/strong&gt;&lt;/h4&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;gcloud builds submit --tag $REGION-docker.pkg.dev/$PROJECT_ID/mcp-repo/math-mcp-server:latest&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbd0dca0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;イメージのビルドが完了したら、クラスタが準備できていることを確認し、認証情報を取得します。クラスタの出力が「RUNNING」でない場合は、準備が整うまで待ちます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;gcloud container clusters list\r\ngcloud container clusters get-credentials mcp-cluster --region $REGION&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbd0d610&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;Gateway API と SSL を使用して GKE にデプロイする&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;次のステップでは、サーバー ワークロードをデプロイし、従来の Ingress ではなく &lt;/span&gt;&lt;a href="https://cloud.google.com/kubernetes-engine/docs/how-to/gatewayclass-capabilities"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Kubernetes Gateway API&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を使用して安全に公開します。これにより、SSL 証明書を介した安全な暗号化トラフィックが担保されます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Kubernetes Deployment と Kubernetes Service を定義する &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;deployment.yaml&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ファイルを作成します。プレースホルダを実際のプロジェクト ID とリージョンに置き換えます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;apiVersion: apps/v1\r\nkind: Deployment\r\nmetadata:\r\n  name: mcp-server\r\nspec:\r\n  replicas: 2\r\n  selector:\r\n    matchLabels:\r\n      app: mcp-server\r\n  template:\r\n    metadata:\r\n      labels:\r\n        app: mcp-server\r\n    spec:\r\n      containers:\r\n      - name: mcp-server\r\n        image: $REGION-docker.pkg.dev/$PROJECT_ID/mcp-repo/math-mcp-server:latest\r\n        ports:\r\n        - containerPort: 3000\r\n        resources:\r\n          requests:\r\n            memory: &amp;quot;256Mi&amp;quot;\r\n            cpu: &amp;quot;250m&amp;quot;\r\n          limits:\r\n            memory: &amp;quot;512Mi&amp;quot;\r\n            cpu: &amp;quot;500m&amp;quot;\r\n        livenessProbe:\r\n          httpGet:\r\n            path: /healthz\r\n            port: 3000\r\n          initialDelaySeconds: 15\r\n          periodSeconds: 20\r\n        readinessProbe:\r\n          httpGet:\r\n            path: /healthz\r\n            port: 3000\r\n          initialDelaySeconds: 5\r\n          periodSeconds: 10\r\n---\r\napiVersion: v1\r\nkind: Service\r\nmetadata:\r\n  name: mcp-service\r\nspec:\r\n  selector:\r\n    app: mcp-server\r\n  ports:\r\n  - port: 80\r\n    targetPort: 3000&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbd0d580&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この構成をクラスタに適用します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;kubectl apply -f deployment.yaml&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbd0da60&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Pod が稼働していることを確認します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;kubectl get pods&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbd0d700&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;リモート MCP サーバーにアクセスできることを確認するために、ポート転送でサーバーにアクセスします。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;kubectl port-forward svc/mcp-service 8080:80&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbd0d520&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;テスト スクリプトを実行して接続を確認します。テスト スクリプトの MCP サーバー URL を &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;http://localhost:8080/mcp&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; に編集してください。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;uv run test_mcp_server.py&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbd0d9a0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;次に、接続を保護します。これを行うには、Google マネージド SSL 証明書を Gateway API リソースにアタッチします。まず、ロードバランサ用の静的 IP アドレスを予約します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;gcloud compute addresses create mcp-server-ip --global\r\nexport MCP_SERVER_IP=$(gcloud compute addresses describe mcp-server-ip --global --format=&amp;quot;value(address)&amp;quot;)\r\necho &amp;quot;Your IP: $MCP_SERVER_IP&amp;quot;&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbd0d670&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ドメインの DNS &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;A&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; レコードを &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;$MCP_SERVER_IP&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; に向けます。例: &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;mcp.yourdomain.com&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google マネージド証明書を作成します。&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;mcp.yourdomain.com&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; は実際のドメインに置き換えてください。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;gcloud compute ssl-certificates create mcp-cert --domains mcp.yourdomain.com --global&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbd0d760&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;gateway.yaml&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ファイルを作成してロードバランサをプロビジョニングし、Transport Layer Security（TLS）の終端を構成します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;# Gateway: マネージド証明書と静的 IP を使用する HTTPS ロードバランサ\r\napiVersion: gateway.networking.k8s.io/v1beta1\r\nkind: Gateway\r\nmetadata:\r\n name: mcp-gateway\r\nspec:\r\n gatewayClassName: gke-l7-global-external-managed\r\n listeners:\r\n - name: https\r\n   protocol: HTTPS\r\n   port: 443\r\n   tls:\r\n     mode: Terminate\r\n     options:\r\n       networking.gke.io/pre-shared-certs: mcp-cert\r\n addresses:\r\n - type: NamedAddress\r\n   value: mcp-server-ip\r\n---\r\n# HTTPRoute: トラフィックを MCP サーバーに転送します\r\napiVersion: gateway.networking.k8s.io/v1\r\nkind: HTTPRoute\r\nmetadata:\r\n name: mcp-route\r\nspec:\r\n parentRefs:\r\n - name: mcp-gateway\r\n hostnames:\r\n - &amp;quot;mcp.yourdomain.com&amp;quot;\r\n rules:\r\n - matches:\r\n   - path:\r\n       type: PathPrefix\r\n       value: /mcp\r\n   backendRefs:\r\n   - name: mcp-service\r\n     port: 80\r\n---\r\n# GCPBackendPolicy は、セッション アフィニティやその他のバックエンドを構成するために使用されます。\r\n# MCP サーバーはステートフルであるため、セッション アフィニティを有効にします。そうすることで、次のことが保証されます。\r\n# 同じクライアントからのリクエストは同じバックエンドに送信されます。\r\napiVersion: networking.gke.io/v1\r\nkind: GCPBackendPolicy\r\nmetadata:\r\n name: mcp-backend-policy\r\nspec:\r\n default:\r\n   sessionAffinity:\r\n     type: CLIENT_IP\r\n targetRef:\r\n   group: &amp;quot;&amp;quot;\r\n   kind: Service\r\n   name: mcp-service\r\n---\r\n# HealthCheckPolicy は、MCP サーバー用にカスタムの正常性プローブを構成するために使用されます。\r\napiVersion: networking.gke.io/v1\r\nkind: HealthCheckPolicy\r\nmetadata:\r\n name: mcp-health\r\n namespace: default\r\nspec:\r\n default:\r\n   checkIntervalSec: 15\r\n   timeoutSec: 5\r\n   healthyThreshold: 1\r\n   unhealthyThreshold: 2\r\n   logConfig:\r\n     enabled: false\r\n   config:\r\n     type: HTTP\r\n     httpHealthCheck:\r\n       port: 3000\r\n       requestPath: /healthz\r\n targetRef:\r\n   group: &amp;quot;&amp;quot;\r\n   kind: Service\r\n   name: mcp-service&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbd0d7c0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この構成をデプロイすると、外部トラフィックを MCP サーバーに安全にルーティングするのに必要なインフラストラクチャが作成されます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;kubectl apply -f gateway.yaml&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbd0d130&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ロードバランサがアクティブになり、証明書がプロビジョニングされるまで数分待ちます。&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;kubectl get gateway mcp-gateway&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を使用してステータスを確認できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;リモート MCP サーバーにアクセスしてみます。テスト スクリプトを実行して接続を確認します。テスト スクリプトの MCP サーバー URL を &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;https://mcp.yourdomain.com/mcp&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; に編集してください。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;uv run test_mcp_server.py&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbd0ddf0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h2&gt;Cleanup&lt;/h2&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;kubectl delete -f deployment.yaml\r\nkubectl delete -f gateway.yaml\r\ngcloud compute addresses delete mcp-server-ip --global\r\ngcloud compute ssl-certificates delete mcp-cert --global\r\ngcloud artifacts repositories delete mcp-repo --location=$REGION\r\ngcloud container clusters delete mcp-cluster --region $REGION&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbd0d4f0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;関連情報&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Model Context Protocol サーバーを Kubernetes にデプロイすることで、統合エージェントと AI ワークフローの新しいユースケースが可能になります。これらの機能について詳しくは、以下のリソースをご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://modelcontextprotocol.io/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Model Context Protocol のドキュメント&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://cloud.google.com/kubernetes-engine/docs/concepts/gateway-api"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;GKE Gateway API のドキュメント&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://github.com/jlowin/fastmcp" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;FastMCP リポジトリ&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Google Cloud クラウド デベロッパー アドボケイト&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt; Abdelfettah Sghiouar&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Thu, 02 Jul 2026 02:40:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/build-and-deploy-a-remote-mcp-server-to-gke-in-30-minutes/</guid><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/Gemini_Generated_Image_33hpsi33hpsi33hp.max-600x600.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>30 分でリモート MCP サーバーの構築と GKE へのデプロイを実行</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/Gemini_Generated_Image_33hpsi33hpsi33hp.max-600x600.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/build-and-deploy-a-remote-mcp-server-to-gke-in-30-minutes/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Abdelfettah Sghiouar</name><title>Cloud Developer Advocate</title><department>Google Cloud</department><company></company></author></item><item><title>Antigravity 2.0 を使用して 1 日で Go を習得するための実践的な方法</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/how-i-learned-go-in-a-day-with-antigravity-20-and-how-you-can-do-the-same/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 6 月 16 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/how-i-learned-go-in-a-day-with-antigravity-20-and-how-you-can-do-the-same?e=48754805&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;私は、NPM の依存関係オーバーヘッドからソフトウェア スタックを解放し、リソースを大量に消費する Node.js ランタイムをコンパイルされた単一バイナリの Go CLI に置き換える方法を模索してきました。その結果、&lt;/span&gt;&lt;a href="https://github.com/alexastrum/skl" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;skl&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; という高速ツールが完成しました。エージェント スキルの管理に使用するツールで、起動時間はわずか 2 ミリ秒、使用するメモリはたった 11 MB です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;具体的に、私は何をしたと思いますか？&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;アーキテクチャに関する目標を設定して、ロジックを監査しただけです。その一方で、Antigravity がコードの変換、テストの生成、プラットフォーム パスのマッピングといった機械的な作業をすべて実行してくれました。今回の投稿では、この移行ワークフローを順を追ってご紹介しますので、ご自身のワークフローの構築にお役立てください。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 0: 個人的な学習目標の「種まき」をする&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;コードを記述する前に、まずプロジェクトの境界を定義します。私たちの場合、外部パッケージの使用を最小限に抑えた、依存関係のないコアが必要でした。そして、開発する CLI ツールは高速である必要があり、セキュリティ モデルは必要に応じてゼロトラストにしなければならないと決めました。その過程で、エージェントから具体的な制約が追加されました。すべての入力をサニタイズすること、パス トラバーサルをブロックすること、フォルダ スキャンに深さ制限を適用して CPU のハングを防止することです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;まず、代替スタックを監査し、そのトレードオフを比較検討するよう Gemini に指示しました。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;オンラインで TS の代替となる CLI ツール構築ソリューションを調査して 3～5 個教えてください。その理由（パフォーマンスとセキュリティを重視します）と、具体的な例およびリンクも記載してください。&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de0db4970&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;私たちが検討した代替ソリューションは次のとおりです。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Rust: パフォーマンスが非常に優れていましたが、その借用チェッカーのルールを理解し、ライフタイム アノテーションを管理することは、私たちの単純なシンボリック リンクツールには負担が大きすぎました。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Python: ランタイム インタプリタを配布して仮想環境を管理する必要があり、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;pip&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を介したパッケージ化のオーバーヘッドを生じさせることになります。これは避けたいと考えました。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Zig: 優れた低レベルのメモリ制御とコンパイル速度を実現できましたが、HTTP 操作やアーカイブ抽出のための高レベルの標準ライブラリ抽象化がデフォルトで用意されていませんでした。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;コンパイルされた Swift: macOS ではクリーンなスクリプトが提供されましたが、Windows と Linux 向けのクロス プラットフォーム コンパイル機能は、私たちのマルチプラットフォーム要件には最適ではありませんでした。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;私たちにとって、適切なバランスを備えていたのが Go でした。このツールは、同期型の線形コード、即時コンパイル機能、豊富な標準ライブラリを備えています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;他の誰かがすでに完了している作業を繰り返したくなかったため、プロジェクトを始めるにあたって、私は次のように直接的に質問しました。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;「npx skills」を Go に移植したいのですが、以前にこれを行った人はいますか？&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de0db4fd0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントはウェブを調査し、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;vercel-labs/skills&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; リポジトリの公式 Go ポートがないことを確認しました。また、公式 CLI は TypeScript ベースで &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;npm&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を介して配布されますが、エージェント スキル仕様自体はオープンで言語に依存しないことも確認しました。つまり、コンパイルされた Go ポートをゼロから自由に構築できるということです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;また、この過程で多くのことを学びたかったため、Go 固有のヒント、コツ、落とし穴についても尋ねました。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;GO の正しい使い方と正しくない使い方を 3～5 パターン特定し、説明してください。&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de0db45e0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 1: スキルの重要性&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;馴染みのない言語のベスト プラクティスを最大限に活用するために、最もよく利用されている、評価の高いエージェント スキル（AI コーディング アシスタントをガイドするカスタム指示）を探してインストールしてから、コードの記述や計画を開始することにしました。まず環境のグラウンディングを行うことで、その後記述または計画されるコードがコミュニティの合意されたスタイルに確実に準拠するようになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;スキル検索のプロンプト&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントに、Go で利用できるコミュニティ エージェント スキルを尋ねました。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;「Go」の主要なコミュニティ エージェント スキルは何ですか？&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de0db4880&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントから &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;samber/cc-skills-golang&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; が提案されたので、そのスキルパックをインストールするように指示しました。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;samber/cc-skills-golang のすべてのスキルを追加してください&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de0db4730&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;インストール後、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;/golang-&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; と入力して予測入力機能を呼び出し、スキルが検出されて準備が整っていることを手動で確認しました。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 2: ギャップ分析と計画&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントに次の指示を与えて、アーキテクチャに関する目標を定義しました。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;「npx skills」の機能を 100% Go に移植する計画を立ててください。安全性とベスト プラクティスを重視し、単体テストのカバレッジは 90% とします。リポジトリを pull して全体をマッピングし、質問があれば何でも聞いてください。&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de0db4280&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;最初のトピックタスクは、動的なオンボーディング フローでした。デフォルトをどうすべきか尋ねられたので、エージェントが見つからない場合は &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;antigravity-cli&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; のインストールを促すように提案しました。また、複数のアクティブなエージェントが検出された場合の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;universal&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ディレクトリへのフォールバック動作も定義しました。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;MVP では、Antigravity 2 のデフォルトのサポートと、標準に準拠した「.agents」ディレクトリを通じた universal へのフォールバック（複数のエージェントが検出された場合）を目指します。&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de08f11c0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;実装&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;私が計画を承認すると、Antigravity は 51 件以上あるエージェント構成レコードすべての体系的な変換を実行しました（すべての変換を明示的に要求したわけではありませんが、AI はタスクが十分にシンプルであるため MVP の範囲に含めることができると正しく特定しました）。TypeScript から Go に Aider、Claude Code、Cursor、Zed などの個別のディレクトリをマッピングすることで、すべての環境に対応できました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;コア構造は 1 つのファイル &lt;/span&gt;&lt;a href="https://github.com/alexastrum/skl/blob/main/src/skl/types.go" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;types.go&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; にまとめられていて便利です。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;type AgentType string\r\n\u200b\r\ntype AgentConfig struct {\r\n   Name                string\r\n   DisplayName         string\r\n   SkillsDir           string\r\n   GlobalSkillsDir     string\r\n   ShowInUniversalList bool\r\n   DetectInstalled     func(home, configHome, cwd string) bool\r\n}\r\n\u200b\r\n…&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de08f14f0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このマッピングは効果的に動作します。たとえば、Zed の検出ロジックは、Linux（Flatpak）、macOS、Windows の構成を、次のようにわずか数行で動的に処理します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;&amp;quot;zed&amp;quot;: {\r\n   Name:        &amp;quot;zed&amp;quot;,\r\n   DisplayName: &amp;quot;Zed&amp;quot;,\r\n   SkillsDir:   &amp;quot;.agents/skills&amp;quot;,\r\n   GlobalSkillsDir: filepath.Join(home, &amp;quot;.agents/skills&amp;quot;),\r\n   DetectInstalled: func(h, c, w string) bool {\r\n      return exists(filepath.Join(c, &amp;quot;zed&amp;quot;)) ||\r\n         (zedAppDataHome != &amp;quot;&amp;quot; &amp;amp;&amp;amp; exists(filepath.Join(zedAppDataHome, &amp;quot;Zed&amp;quot;))) ||\r\n         (zedFlatpakConfigHome != &amp;quot;&amp;quot; &amp;amp;&amp;amp; exists(filepath.Join(zedFlatpakConfigHome, &amp;quot;zed&amp;quot;)))\r\n   },\r\n}&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de08f1a90&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;その後、Antigravity のユーザー オンボーディング コードが自動マッピングに混在していることに気づきました。このようなデフォルトはユーザーが個人的に選択するものであり、独自のファイル &lt;/span&gt;&lt;a href="https://github.com/alexastrum/skl/blob/main/src/skl/agy-onboarding.go" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;agy-onboarding.go&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; として分離する方が適しています。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;デフォルトの Antigravity 2 プロンプトを agy-onboarding.go に移動してください&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de08f1d00&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;バージョン 0 がスキャフォールディングされ、テスト段階に入りました。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 3: 品質保証（QA）ループの実施&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Go ポートが元の TypeScript CLI と同じように動作することを保証するために、テスト駆動開発（TDD）ループを採用しました。私はまず、プロンプトで次の指示を出しました。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;TDD の原則と https://preslav.me/2026/05/19/10-golang-error-handling-commandments/ を適用してください&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de08f1fd0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これにより、TDD プロセスが開始されました。エージェントにスキルを使用するように明示的に指示するのではなく、サードパーティのベスト プラクティスに関するブログ投稿を取得するように指示することで、関連するエージェント スキル（&lt;/span&gt;&lt;a href="https://github.com/alexastrum/skl/blob/main/.agents/skills/golang-how-to/SKILL.md" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;golang-how-to&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://github.com/alexastrum/skl/blob/main/.agents/skills/golang-testing/SKILL.md" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;golang-testing&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://github.com/alexastrum/skl/blob/main/.agents/skills/golang-error-handling/SKILL.md" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;golang-error-handling&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://github.com/alexastrum/skl/blob/main/.agents/skills/golang-cli/SKILL.md" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;golang-cli&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;）をエージェントに思い出させました。Antigravity はサンドボックスを備えているため、これらのスキルを解析し、QA ループの実行を自動的に開始しました。今後も、機能コードを変更しようとするたびに、最新の軌跡でこれらの TDD 原則を再適用し続けます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;テストファーストのフロントマター解析&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;フロントマター解析で、エージェントはまず Go のテーブル駆動テストパターンを使用して &lt;/span&gt;&lt;a href="https://github.com/alexastrum/skl/blob/main/src/skl/frontmatter_test.go" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;frontmatter_test.go&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を記述しました（これは私にとって新しいパターンで、知ることができて嬉しく思いました）。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;func TestParseFrontmatter(t *testing.T) {\r\n   tests := []struct {\r\n      name        string\r\n      raw         string\r\n      wantData    map[string]interface{}\r\n      wantContent string\r\n   }{\r\n      {\r\n         name:        &amp;quot;valid frontmatter&amp;quot;,\r\n         raw:         &amp;quot;---\\nname: my-skill\\n---\\n# Content\\n&amp;quot;,\r\n         wantData:    map[string]interface{}{&amp;quot;name&amp;quot;: &amp;quot;my-skill&amp;quot;},\r\n         wantContent: &amp;quot;# Content\\n&amp;quot;,\r\n      },\r\n   }\r\n   for _, tt := range tests {\r\n      t.Run(tt.name, func(t *testing.T) {\r\n         gotData, gotContent, err := ParseFrontmatter(tt.raw)\r\n         # 結果のアサート...\r\n      })\r\n   }\r\n}&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de08f1be0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Antigravity が &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;go test&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を実行すると、予想どおりにエラーが発生しました。次に、エージェントが &lt;/span&gt;&lt;a href="https://github.com/alexastrum/skl/blob/main/src/skl/frontmatter.go" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;frontmatter.go&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を生成しました。これは、ドキュメントを分割して YAML メタデータをアンマーシャルする線形文字列スキャンループを実装するものです。複雑な正規表現ではなく単純な線形スキャンを使用することで、アプリケーションをクラッシュさせる可能性のある正規表現サービス拒否攻撃（ReDoS）への脆弱性に対処するツールを強化しました。目標（最初のプロンプトで示したもの）に&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;安全性&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;を含めたことで、元の Node 実装では正規表現を使用していたにもかかわらず、より安全なコードが生成されました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;「エラーの十戒」によるグラウンディング&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エラー処理の話が出たので、エラー構造をどのようにして Preslav Rachev 氏の &lt;/span&gt;&lt;a href="https://preslav.me/2026/05/19/10-golang-error-handling-commandments/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;10 Golang Error Handling Commandments&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（Golang におけるエラー処理の十戒）に沿ったものにしたかについて、ここでご説明しておきましょう。Go では、エラー値を例外としてキャッチするのではなく、明示的に返す必要があります。これらのルールを統合することで、すべてのレベルでエラーを即座にチェックし（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;if err != nil&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）、コンテキストの詳細でラップ（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;fmt.Errorf("action: %w", err)&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）してから、コールスタックに継承するようエージェントに指示しました。生成されたコードの最終レビューを行っていると、Antigravity が次のベスト プラクティスを忘れていることに気づいたので、思い出してもらいました。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;すべてのファイルでエラー メッセージを短くする、先頭の「failed to」を削除する、など。Golang の十戒を参照してください&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de08f1670&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Antigravity は、コードベース全体で迅速に&lt;/span&gt;&lt;a href="https://github.com/alexastrum/skl/commit/59822bc69464a5fce961231ef56ac0e775855aeb" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;修正&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を行いました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;単体テストだけで十分？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;簡潔に言えば、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;いいえ&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;変換プロセス中に AI が小さなバグやハルシネーションを発生させることがないよう、テストスイートの合格という結果を盲目的に信頼せず、コードレビューを実施しました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;生成されたテストを監査したところ、合格を示す緑色のチェックマークが付いただけでは不十分であることがわかりました。多数のインストール場所を対象としたテストと、エージェントなしの場合、エージェント 1 つの場合、複数のエージェントが同時にアクティブになっている場合といった、さまざまな組み合わせのテストが欠けていました。ゼロから書き直したコードであったため、一連のユーザー操作が最初から最後まで正しく機能することを総合的にテストする必要があると考えました。このギャップに対処するために、私は対象とする一連のシナリオを Antigravity にプロンプトで指示しました。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;次の統合テストを追加してください。\r\n1. エージェントがインストールされていない: Antigravity にインストールされ、agy-cli のオンボーディングのヒントを出力することを確認します。\r\n2. 1 つを除くすべてのエージェントをサポート\r\n3. エージェントが 1 つだけインストールされている（同じパスが複数のエージェントに割り当てられている場合を含む）\r\n4. パラメータ化されていないエージェントをサポート&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de08f1970&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;注&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: Claude Code や Codex などのパラメータ化されていないエージェントは、実行時にアクティブなワークスペース フォルダをスキャンするのではなく、パッケージの読み込み時に（または環境変数を介して）構成パスをグローバルに定義します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これらのテストを追加した&lt;/span&gt;&lt;a href="https://github.com/alexastrum/skl/commit/02f170e" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;変更リスト&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;は、本番環境のファイルには一切触れておらず、ロジックは堅実なものでした。しかし、運に任せるのは嫌でした。特定の機能やワークフローが重要なのであれば、そのことを明確に伝える必要があります。総合的なテストの範囲を確認し、いくつかの堅実なテストを定義するために 5 分を費やすだけで、ユーザーがリリースの不具合に遭遇するのを防ぐことができます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 4: CLI コマンド向けの並列サブエージェント&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;一連の CLI コマンド（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;init&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;add&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;list&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;remove&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;find&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;update&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; など）をサブオプションとともに移植すると、対応が必要な範囲が広がってしまいます。順番に移行するのではなく、作業を並列化した方がよいかもしれません。今回のケースでは、各サブエージェントにツール全体を把握させるのではなく、特定のトピックに集中させることを目的としていたため、この方法が適していました。また、この方法によっていくつかのギャップを特定できました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ただし、サブエージェントが常に最善の選択肢とは限りません。明確に境界が定められた、大量の独立したタスクの場合のみ、並列実行を優先する必要があります。適切に対処すれば、並列サブエージェントが消費するトークンが、長時間実行される単一のスレッドよりも大幅に多くなることはありませんが、並列サブエージェントは、大規模なコードベースの負担がかかっている場合に、メインのコーディネーター エージェントがコンテキスト圧縮の制限に達するのを防ぎます。ほとんどの単純なプロジェクトでは、このレベルの拡張は不要です。経験上、サブエージェントは、数十のサブ機能を持つ数十の機能に相当するワークロードに使用するとよいでしょう。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;前のステップでは、MVP を迅速かつ効率的に構築するために、単一のエージェントを実行しました。しかし、コードが完全に移植されたかどうかはわかりませんでした。そこで、次のように直接的に尋ねてみました。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;元の CLI の 100% を処理できましたか？\r\nサブエージェントに各オプションを個別に調査させ、各テストも調査させて、ギャップを埋めてください&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de08f10d0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;結果的に、これは正しい判断でした。サブエージェントはコマンドの詳細な監査を実施し、いくつかのオプションのギャップと欠落しているテストを特定しました。その後、これらはこちらの&lt;/span&gt;&lt;a href="https://github.com/alexastrum/skl/commit/b9467b6783bbbadbb4236bbde5f49aab7224bd78" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;監査 commit &lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;に統合されました。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: []&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/mermaid_chart.max-1000x1000.jpg"
        
          alt="mermaid_chart"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;各サブエージェントは 1 つのコマンドのみを処理しました。&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;-g/--global&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; や &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;--copy&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; などのフラグの組み合わせを分析し、テーブル駆動型の単体テストを作成して、コードが問題なくコンパイルされることを確認しました。報告を受けたメイン コーディネーターは、変更を統合し、競合を解決して、結合されたプロジェクト全体が正常にコンパイルされることを検証しました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;象（Elephant）と金魚（Goldfish）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントをこの移行に集中させ続けるために、Google Research の &lt;/span&gt;&lt;a href="https://research.google/pubs/elephants-goldfish-and-the-new-golden-age-of-software-engineering" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Elephants, Goldfish, and the New Golden Age of Software Engineering&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; で文書化されているアーキテクチャ パターンである「象と金魚」の例えを使用しました。これは、象（設計ルールとコードベースのメモリを保持する長期的なコーディネーター セッション）と金魚（バックグラウンド履歴なしで単一のタスクを実行するために生成する、一時的かつクリーンなサブエージェント）という 2 つの個別の役割に基づくものです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Antigravity は自動セッション圧縮を使用してコンテキスト サイズを管理しますが、コンテキストが少ないほど明瞭になる場合は、独自のチェックリストを維持し、作業を分離された一時的なサブエージェントに分割することで、コンテキスト ウィンドウを積極的に管理することをおすすめします。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 5: パッケージ構造、コンパイル、CI / CD&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;何度かやり取りするうちに、Go パッケージの構造と、考慮すべき制限事項がわかってきました。そして、ネイティブ インストールをサポートする、明確な構造と充実したドキュメントを備えたパッケージ &lt;/span&gt;&lt;a href="https://github.com/alexastrum/skl/blob/main/main.go" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;main.go&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; が完成しました。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;go install github.com/alexastrum/skl@latest&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de08f15b0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;実装の詳細を把握し、後で参照できるように文書化するようエージェントに指示しました。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;人間向けの結果を README.md に要約し、エージェント向けの考慮事項を AGENTS.md に要約してください&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de08f1400&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ビルドを確認し、テストを自動実行して、他のマシンでも動作することを確認するために、エージェントに次のように依頼しました。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;すべてのサポート対象プラットフォームでビルドされることを確認してください&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de08f1730&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Antigravity は、マトリックス ビルドを実行するための &lt;/span&gt;&lt;a href="https://github.com/alexastrum/skl/blob/main/.github/workflows/ci.yml" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ci.yml&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; ワークフローを設定しました。このワークフローには、驚くべき依存関係がありました。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;env:\r\n  FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: &amp;quot;true&amp;quot; # HMMMMMM ???\r\njobs:\r\n  test:\r\n    strategy:\r\n      matrix:\r\n        os: [ubuntu-latest, macos-latest, windows-latest]\r\n# ...&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de08f15e0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;予想外の注意点&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;矛盾しているようですが、Node から Go に移行したにもかかわらず、GitHub パイプラインは依然として、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;actions/checkout&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; や &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;actions/setup-go&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; などの標準的な GitHub Actions ヘルパーに Node を使用しています。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;このツールは、ローカルで実行およびコンパイルすることができます。ただし、事前にコンパイルされたバイナリを他のユーザーに配布する場合は、macOS と Windows 向けのコード署名を設定する必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;コード署名を使用したカスタム アクションの構築は複雑なプロセスであるため、その説明はまたの機会に譲ります。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 6: エージェント スキルを作成する&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;プロセス自体を文書化する段階になりました。このワークフローを体系化するために、&lt;/span&gt;&lt;a href="https://github.com/alexastrum/skl/blob/main/.agents/skills/cli-to-go-migration/SKILL.md" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;再利用可能なエージェント スキルを作成&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;しました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;まず、最も重要な手順を含むスキル作成プロンプトを計画するようエージェントに指示しました。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;最新の軌跡（受け入れられた結果を生成した私の具体的なプロンプトを含む）を確認し、「/cli-to-go-migration」スキルを作成する計画を立てましょう。スキルはどのような手順を踏むべきですか？&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de08f13d0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;プロンプトのドラフトが提示され、それを繰り返し改良しました。何度かやり取りした後、5 つの基本ルール（ただし、人によって異なります）に基づいて最終的な指示をまとめました。私が使用した最終的なプロンプトは次のとおりです。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;最新の軌跡（受け入れられた結果を生成した私の具体的なプロンプトを含む）を確認し、「/cli-to-go-migration」スキルを作成する計画を立てましょう。ルールは次のとおりです。\r\n\u200b\r\n#### 1. 目標\r\nエージェントは、コードを提案する前に調査を開始する必要があります。ユーザーのより広範な目標を特定し、複数のスタックの代替案を検討し、以前の作業を確認して 1 つのターゲット言語に絞り込み、そのイディオムを調査してください。\r\n\u200b\r\n#### 2. 設定\r\nエージェントは、ファイルを変更する前に Git リポジトリを検証または初期化して、履歴をクリーンな状態に保ちます。その後、ダウンロードの失敗を直接報告し、すべての独立した作業が完了したら失敗の処理を安全に行う必要もあります。プレースホルダや終了しないループにフォールバックすることはありません。\r\n\u200b\r\n#### 3. 既存の知識のインポート\r\n必要な基礎スキル（「golang-cli」や「golang-testing」など）が欠けているにもかかわらず、プロンプトで明示的に指定されている場合、エージェントはデベロッパーが従うべき手順を出力するのではなく、実行をブロックし、確認を求めたうえで自動的にインストールすることを提案します。\r\n\u200b\r\n#### 4. ブレークポイント\r\nこのスキルは、AI の既知の課題が発生した場合にシステムを強制停止させます。エージェントは、特定の問題に遭遇した場合や混乱が生じた場合は常に、人間またはアルゴリズムによる検証のために停止します。\r\n\u200b\r\n#### 5. 整合性チェック\r\n不整合の兆候が見られたら、明示的なルールを設定する必要があります。たとえば、エージェントが一部のドキュメントを過剰に編集し、他のドキュメントを見落としていることに気づいた私は、エージェントが「/humanizer」スキルを適用するのは「README.md」やヘルプ ドキュメントなどの人間向けのファイルのみとし、「AGENTS.md」などの構造化されたデベロッパー コンテキストは、スタイルを編集せずにおくことで、他のエージェントがそのメタデータを正確に解析できるようにするというルールを設定しました。&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de08f1700&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;万能なアプローチはありませんが、まずはいくつかのガードレールに基づくスキルを作成するようエージェントに依頼するとよいでしょう。実際には、エージェントの回答が目標に沿っていると感じるまで、複数のプロンプトを順番に推敲することになるでしょう。その後、AI に校正を依頼し、最終的には人間が &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;SKILL.md&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; の内容をレビューします。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;まとめ&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Go での &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;skl&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; の再構築は、ツールに関する個人的なニーズの解決につながる、楽しく有益な経験でした。うまくいったので、そのプロセスを文書化することにしたのです。今回の経験を経て、この取り組みそのものに価値があったことに気づきました。アーキテクチャの選択肢を再利用可能なスキルと個人的な経験に体系化することで、エンジニアとして成長できます。コンパイルされたバイナリは、プロセスが機能したことを示す物理的な証拠となります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;驚くべきことに、この移行中に私が経験した最も大きな変化は行動面に現れました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;IDE（統合開発環境）から離れて Antigravity 2.0 を使用することで、全体像を把握しやすくなり、移行中に発生した問題をその場で修正しようとしなくなりました。その代わりに、問題が発生した理由を理解し、Go 言語固有の詳細を把握できるよう、Antigravity が導いてくれました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;従来の IDE では、アシスタントが問題に遭遇すると、本能的にキーボードを手に取ってデバッグしたくなります。エディタなしで操作するということは、船の機関室で発生した火災に自ら対処するのではなく、造船技術者として航海船橋から機械を操縦するようなものです。私たちはまさに、こうしてエージェントを大規模に管理する方法を学びました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Antigravity、デベロッパーリレーションズ、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Alex "Sandu" Astrum&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Thu, 25 Jun 2026 02:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/how-i-learned-go-in-a-day-with-antigravity-20-and-how-you-can-do-the-same/</guid><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_Pfswm9P.max-600x600.jpg" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Antigravity 2.0 を使用して 1 日で Go を習得するための実践的な方法</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/1_Pfswm9P.max-600x600.jpg</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/how-i-learned-go-in-a-day-with-antigravity-20-and-how-you-can-do-the-same/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Alex "Sandu" Astrum</name><title>Developer Relations, Antigravity</title><department></department><company></company></author></item><item><title>次世代のグローバル イノベーションの拡大: 成功を収めている世界中のスタートアップを Google がどのようにサポートしているか</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/scaling-the-next-generation-of-global-innovation-how-google-supports-top-startups-around-the-world/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 6 月 19 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/scaling-the-next-generation-of-global-innovation-how-google-supports-top-startups-around-the-world?e=48754805&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;テクノロジー起業の世界はリスクが高く、優れたプロトタイプから市場を定義する拡大可能なビジネスへの飛躍は困難を伴います。創業者は資金だけでなく、詳細なアーキテクチャ ガイダンス、国家レベルの政策への対応、急速な成長が可能な技術システムも必要としています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;ジョイの法則からの抜粋:「誰であれ、最も賢い人のほとんどは他の誰かのために働いている。」&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;真のイノベーションは本質的に&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;「他の場所」&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;で起こるものだと Google は考えています。この理念に基づき、Google はイノベーション市場の多様な地理的フットプリントにわたってグローバル アクセラレータを積極的にサポートし、各地の優れた人材を活用しています。Google のアクセラレータ プログラムは、10 年以上にわたり、この移行を促進する役割を果たしてきました。このプログラムは、起業家としての野心と Google の世界クラスのエンジニアリング エコシステムとのギャップを埋めることで、地球上で最も復元力が高く、パフォーマンスの高い数々のスタートアップ（ポートフォリオ）を静かに輩出してきました。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ネットワークの力: 10 年間の成果を数字で見る&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;多くのスタートアップ アクセラレータは失敗率が高く、苦境に陥っていますが、Google のアクセラレータ プログラムは長期的な成功のための高い基準を確立しています。このプログラムでは、トップクラスの創業者や CTO を適切なエキスパートと結び付け、Google からカスタマイズされた高度な技術的支援を提供し、過去の教訓から学んだ業界のベスト プラクティスを示すことで、価値の高い企業やプロダクトの構築を継続的に支援しています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このグローバル ネットワークの影響範囲は驚くべきものです。&lt;/span&gt;&lt;/p&gt;
&lt;div align="left"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;&lt;table&gt;&lt;colgroup&gt;&lt;col/&gt;&lt;col/&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;指標&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;これまでの成果&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;グローバル フットプリント&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;88 か国で &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;2,011&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 社のスタートアップを支援&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;プログラムの経験&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;10 年間で &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;144&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; のコホートが卒業&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;生存率&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ポートフォリオの存続率は &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;93%&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;資金面の勢い&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;調達した資金は &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;463 億ドル&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;、ポートフォリオの総評価額は 1,351 億ドル&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;スタートアップの雇用創出&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;スタートアップ ポートフォリオ全体で &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;305,900 人&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;の従業員&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;開発者の付加価値:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; このプログラムは、ビジネスの概要を学ぶためのものではありません。アクセラレータのスタートアップの創業者たちは、高度な技術的問題を特定し、Google からカスタマイズされたサポートを受けながら、その解決に取り組みます。これらのスタートアップは、Google のエンジニアやプロダクト マネージャーと連絡を取れるほか、Google のプラットフォームやツールも利用できます。アーキテクチャに関するアドバイスから AI モデル パイプラインの最適化まで、Google のエキスパートが創業チームと直接連携して、最も複雑な技術的ハードルへの対処を支援します。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;戦略的展開: 地政学、グリーン インフラストラクチャ、ロボット工学&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;スタートアップ エコシステムは急速に変化しており、Google のアクセラレータ プログラムもそれに合わせて進化しています。今年、Google は世界的な経済発展を支援し、重要な環境インフラストラクチャを調査して進化させるための新しい取り組みを開始しました。いくつか例をご紹介します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;国家レベルの政策と戦略的成果&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;オーストラリア:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; アクセラレータの卒業生は、Google AI スタックをオーストラリアの国家研究開発戦略に直接組み込むことに成功し、キャンベラの国会議員と直接連携しています。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;カナダ:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; カナダのイノベーション・科学・経済開発省は、G7 サミットの公式レポートで、カナダのアクセラレータ プログラムの影響を正式に認め、引用しました。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;フロンティア領域の最先端プログラム&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;今年は、プログラムの対象が、フロンティア領域の専門的なテクノロジーの業種にまで大きく拡大しています。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Google DeepMind Accelerator（ヨーロッパ）:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; AI ネイティブのロボット企業向けの技術構築の強化に特化したプログラムで、ラボでのプロトタイピングと商業市場での成功のギャップを効果的に埋めます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;アジア太平洋地域の GDM Accelerator（AI for Planet）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: Google DeepMind チームと Google のサステナビリティ チームの共同イニシアチブ。このプログラムは、生物多様性基盤モデルに重点を置き、重要な ESG（環境、社会、ガバナンス）インフラストラクチャ市場の最前線に Google を位置付けることを目指しています。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;日本での再開:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; アジアで最も重要なテクノロジー ハブの一つで戦略的にプログラムを再開します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;集合知の可能性&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このユニークなネットワークの力を最大限に引き出すため、今年、地域ごとに分かれていた卒業生ネットワークを &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Unified Alumni Community&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; に統合しました。現在、90 か国以上で 1,750 社を超えるスタートアップと 3,000 人の創業者を、共有オンライン チャネルと対面式イベントへの参加機会を通じて結び付けています。創業者たちは、Google の上層部と連絡を取り、Google の最新のモデルやテクノロジーを利用し、ビジネスの成長をより効果的にサポートする新しい Google プロダクトの開発に直接影響を与える機会を得て、互いに学び、支え合っています。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;お見逃しなく: 今後の Demo Day&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;各アクセラレータの集大成となるのが &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Demo Day&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; です。このデモでは、トップレベルのコホートが技術的な構築と市場を定義する新しいコンセプトを紹介します。これらのマイルストーンは、&lt;/span&gt;&lt;a href="https://www.youtube.com/@GoogleCloudEvents/featured" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;YouTube の Google for Startups イベント&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;で直接ライブ配信されます。2026 年の残りのデモの日程は以下のとおりです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;2026 年夏と秋&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;アフリカのアクセラレータ: 6 月 19 日&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;中東、北アフリカ、トルコのアクセラレータ: 6 月 26 日&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;韓国のアクセラレータ: 7 月 15 日&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;ブラジルのアクセラレータ: 7 月 16 日&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;ヨーロッパとイスラエルの DeepMind Accelerator（ロボット工学）: 9 月 11 日&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;インド: 9 月 30 日&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;2026 年冬&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;インドのアクセラレータ: 11 月 4 日&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;東南アジアのアクセラレータ: 11 月 13 日&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;北米のアクセラレータ（エネルギー）: 11 月 19 日&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;南アフリカのアクセラレータ: 12 月 11 日&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;ヨーロッパとイスラエル（エネルギー）: 12 月 11 日&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;グローバルな Google.org Accelerator（政府のイノベーション）: 12 月 11 日&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;お申し込み受け付け中または受付予定のプログラム&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;技術インフラストラクチャを大幅にスケールアップし、プロダクトの市場への適合性を最適化し、Google のグローバルな人材プールからエクイティ フリーのサポートを受けたいと考えている創業者や CTO の皆様、お申し込みの受け付けが正式に開始されました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;現在お申し込み受付中のプログラム:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;GFSA 東南アジア（東南アジアとシリコンバレーを結ぶ、新しく立ち上げられた AI スタートアップ イノベーション コリドーを活用）&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;GFSA 中国&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Google.org Accelerator: AI for Science&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;デベロッパー採用担当ディレクター、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Matt Thompson&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Thu, 25 Jun 2026 01:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/scaling-the-next-generation-of-global-innovation-how-google-supports-top-startups-around-the-world/</guid><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/hero_RoJ1zJA.max-600x600.jpg" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>次世代のグローバル イノベーションの拡大: 成功を収めている世界中のスタートアップを Google がどのようにサポートしているか</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/hero_RoJ1zJA.max-600x600.jpg</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/scaling-the-next-generation-of-global-innovation-how-google-supports-top-startups-around-the-world/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Matt Thompson</name><title>Director, Developer Adoption</title><department></department><company></company></author></item><item><title>デベロッパー必見: 開発に欠かせない 10 個のプロンプト</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/10-indispensable-prompts-our-team-refuses-to-build-without/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 6 月 11 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/10-indispensable-prompts-our-team-refuses-to-build-without?e=48754805&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;開発者のプロンプト履歴を見ると、非常に具体的で、ときには雑然とした、その場限りのプロンプトが並んでいることがあります。AI を使って、個別のエラー メッセージをデバッグしたり、まとまりのないメールを整えたり、簡単な定型文を生成したりしているのです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;一方で、質の高い成果物を継続的に生み出している人たちと話してみると、興味深いことがわかります。そうした人たちは、単に思いつきでプロンプトを書いているわけではありません。時間をかけて調整と改善を重ね、ほぼすべてのプロジェクトで活用している定番のプロンプトを持っているのです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;そこで、同僚やリーダーにシンプルな質問を投げかけました。「最もよく使うプロンプトは何ですか。また、それを使う理由は何ですか。」&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;共有されたのは、単なるコマンドの寄せ集めではありませんでした。ここでは、私たちのチームにとって手放せないプロンプトと、さらに重要な、そのプロンプトを使う理由をまとめてご紹介します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;仕様を作成する&lt;/strong&gt;&lt;/h4&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Maja Bilić&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;シニア アウトバウンド プロダクト マネージャー • エンジニアリング&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/in/mbilic/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;LinkedIn&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; でフォロー&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;プロンプト:&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;懐疑的なプリンシパル アーキテクト兼テクニカル PM として振る舞ってください。私は、[ユーザー] が [アクション] できる [プロダクト] を構築したいと考えています。コードは書かないでください。このコンセプトを分析し、技術、UX、アーキテクチャに関する上位 5 つの考慮事項を挙げてください。次に、その 5 つの考慮事項について、それぞれ重要な質問をしてください。そうすることで、仕様の作成を一緒に進められるようにします。すべての回答がそろったら、PRD ドキュメントと実装計画を作成してください。設計や実装計画を、過度に作り込みすぎたり、単純化しすぎたりしないでください。&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbeb2580&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;理由: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;私は質の低いプロダクト要件定義書（PRD）を書いたこともありますし、質の低い PRD を数多く読んできました。このプロンプトでは、懐疑的なアーキテクト / PM というペルソナを使うことで、アイデアを整理し、アプローチやコンセプトを批判的に検討し、最も重要な要素を定義する作業を一緒に進めることができます。エージェントの助けを借りて計画を詰めながら、プロダクト設計のアイデアをさらに発展させることもできます。また、過度に作り込みすぎたり、単純化しすぎたりしないという制約も気に入っています。AI は、特にプロダクト設計ドキュメントを作成する際に、そうした方向に寄りがちだからです。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ウィジェット テスト&lt;/strong&gt;&lt;/h4&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Andrew Brogdon&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;スタッフ デベロッパー リレーション エンジニア • エンジニアリング&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://x.com/redbrogdon" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;X&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://www.linkedin.com/in/redbrogdon/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;LinkedIn&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; でフォロー&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;プロンプト:&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;ウィジェット テストを作成して、このプロジェクトの堅牢性を高めたいと考えています。ぜひ協力してください。まだ読んでいない場合は、Flutter チームによるウィジェット テスト作成スキル（https://github.com/flutter/skills/tree/main/skills/flutter-add-widget-test）を確認してください。そのうえで、次のことを行いましょう。\r\n\u200b\r\n* アプリケーションのコードベースを調べ、UI / UX のうち適切にテストされていない領域を特定する。\r\n* 既存のコードがテストしやすい形で書かれているかを判断する（依存関係は注入されているか、ドメインは疎結合か密結合か、など）。\r\n* 他のドメインよりも厳密なテストが必要なドメインを特定する。\r\n* アプリケーション全体のテスト計画を作成する。\r\n* どの機能領域がすでにその計画に沿っており、どの領域でテストが不足しているかを判断する。\r\n* それらのテストを実装する計画を作成する。\r\n* その計画を実行する。\r\n\u200b\r\n自分の推論に完全に確信が持てない限り、次のステップに進まないでください。必要なだけ質問して構いません。&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbeb2190&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;理由: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;エージェント型コーディング ツールの使い方として私が特に気に入っているのは、プロジェクトでやるべきだと思いながらも、これまで後回しにしてきたことを&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;実際に進められる&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;点です。適切なテストは、まさにその一つです。Dart / Flutter チームの公式スキルは、優れたウィジェット テストがどのようなものかをエージェントに指示するうえで非常によくできています。このプロンプトと組み合わせることで、それらの手順を自分のコーディング ワークフローに組み込み、信頼性が高く、安心して保守できるコードベースを維持するためのトイルを減らすことができます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;すべてのテストを確認する / コミット内容を整理する&lt;/strong&gt;&lt;/h4&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Aja Hammerly&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ビルダー リレーション担当ディレクター • エンジニアリング&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://x.com/the_thagomizer" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;X&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://www.linkedin.com/in/ajahammerly/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;LinkedIn&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; でフォロー&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;プロンプト:&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;すべてのテストを実行し、不足しているテストを特定して作成してください。エッジケースと競合状態に特に注意してください。&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbeb2e20&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;このコミットに、使用されていないコード、残しておくべきではないコメント、コメントとコードの不一致、未解決の TODO など、本来含まれるべきではないものがないか確認してください。&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbeb2c40&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;理由: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;コードを書いていると、ユーザーに通ってほしい主要な経路である「ハッピーパス」に意識が偏ってしまうことがよくあります。その作業に集中している間は、まだ深く考えたくないエッジケースについて TODO や FIXME コメントを残しておくことがあります。また、コメントの更新を忘れたり、デバッグ用のコメントを残したままにしたりすることもあります。テスト駆動開発に従うよう努めてはいますが、すべてのエッジケースに対して必ずテストを用意できているわけではありません。私は通常、AI または人間のレビュアーに提出する前に、最初のコードレビューとして、この 2 つのプロンプトを新しい会話で実行します。その際、開発時のコンテキストは含めません。これにより、自分が作ったものを、他の人がレビューしやすく、使いやすい状態に整えることができます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;権限が正しく、コンプライアンスに準拠しているか確認する&lt;/strong&gt;&lt;/h4&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Rich Hyndman&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Antigravity デベロッパー リレーション責任者 • エンジニアリング&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://x.com/geekyouup" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;X&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://www.linkedin.com/in/richardhyndman/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;LinkedIn&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; でフォロー&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;プロンプト:&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;この Android プロジェクトを包括的にチェックし、すべての権限が正しく、コンプライアンスに準拠していることを確認してください。次の手順を行います。\r\n1. すべての AndroidManifest.xml ファイル（main、debug、フレーバー固有のマニフェストを含む）を特定して分析し、宣言されている &amp;lt;uses-permission&amp;gt; タグのマスターリストを抽出する。\r\n2. 宣言されている権限をコードベースと照合し、実際にどこで使用されているかを確認する。安全に削除できる過剰な権限や未使用の権限を特定する。\r\n3. Kotlin / Java のソースファイルを確認し、すべての実行時権限について、動的な実行時権限リクエスト フロー（checkSelfPermission、onRequestPermissionsResult、または Activity Result API）が実装されていることを確認する。\r\n4. 権限に関連付けられているハードウェア機能（android.hardware.camera など）が正しく宣言されていることを確認する。\r\n調査結果を Markdown レポートとして出力してください。修正が必要な箇所については、ファイルパスと推奨されるコード差分を提示してください。計画を承認するまで、ファイルの編集は行わないでください。&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbeb2ac0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;理由: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Gemini 3.5 Flash と Android プラグインを備えた Antigravity は、Android 開発における優れたパートナーです。権限が正しく設定されているかを確認することで、アプリをスムーズに動作させ、Google Play ストアへのアップロード時の遅延を回避しやすくなります。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;コードレビューを実施する&lt;/strong&gt;&lt;/h4&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Shir Meir Lador&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;デベロッパー リレーション AI 責任者 • エンジニアリング&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://x.com/shirmeir86" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;X&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://www.linkedin.com/in/shirmeirlador/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;LinkedIn&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; でフォロー&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;プロンプト:&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;本番環境への投入前のコードレビューを行い、厳格で分析力の高いプリンシパル エンジニアとして振る舞ってください。あなたは非常に高い基準を持っており、脆弱な「ハッピーパス」前提のコードを一切許容しません。あなたの目標は、私が堅牢で本番環境対応のシステムを書けるよう導くことです。\r\n未コミットの変更について、本番環境対応度を A から F までの評価で採点してください。\r\nコードが極めて堅牢でない限り、「A」は付けないでください。具体的には、次の観点で変更内容を分析してください。\r\n1. 効率性: 冗長な API 呼び出し、無駄なデータベース クエリ、キャッシュされていないリソース、リソース リーク。\r\n2. レジリエンス: サイレント障害が発生する箇所、明示的なエラー境界の欠如、レート制限時のフォールバック不足。\r\n3. アーキテクチャ: 密結合、関心の分離の不明確さ。\r\n各問題について、そのコードが実際の本番環境でどのような障害に対して脆弱なのかを実践的に説明してください。そのうえで、コードを改善して「A」を獲得するために必要な、正確な git diff を提示してください。&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbeb2a90&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;理由:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; LLM にコードレビューを依頼すると、多くの場合、丁寧な反応が返ってきます。命名がきれいだと言い、いくつか docstring を提案し、問題なしという評価を付けてくれます。しかし、丁寧なレビューでは本番環境の障害は防げません。このプロンプトが気に入っているのは、AI の当たり障りのない返答を取り除けるからです。モデルに厳しい基準で作業を評価させ、修正のために実際に使える git diff を求めることで、モデルを本当のパートナーにできます。モデルは推測するのをやめ、ネットワーク呼び出しやデータベース クエリを実際に読み取り、コードがどこで壊れるのかを見つけるようになります。妥協を許さないシニア デベロッパーが肩越しに見ていて、どこで手を抜いたのかを正確に指摘し、それを修正するためのコードまで渡してくれるようなものです。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;意思決定を支援するためにトレードオフを説明する&lt;/strong&gt;&lt;/h4&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;James O'Reilly&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;スタッフ デベロッパー リレーション エンジニア • エンジニアリング&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://x.com/JamesOR" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;X&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://www.linkedin.com/in/jamesor" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;LinkedIn&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; でフォロー&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;プロンプト:&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;提案された実装計画を実行することのメリットとデメリットを説明してください。どのように進めるかについて十分な情報に基づいて判断できるよう、パフォーマンス、コスト、セキュリティ、保守性の観点から、どのようなトレードオフがあるのかを具体的に説明してください。&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbeb23d0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;理由: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;私は、AI に自分のロジックを厳しく検証させるようにしています。どのようなトレードオフがあるのかを尋ねることで、AI は戦略を再考し、こちらの具体的な実装により集中するようになり、曖昧で大ざっぱな回答を避けやすくなります。また、このアプローチにより、AI が最終判断者のように振る舞うことを防ぎ、意思決定の主導権を自分の側に保つことができます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;研究を通じて AI 生成コードを改善する&lt;/strong&gt;&lt;/h4&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Emma Twersky&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Flutter および Dart デベロッパー リレーション責任者 • エンジニアリング&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://x.com/twerske" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;X&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://www.linkedin.com/in/emmatwersky/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;LinkedIn&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; でフォロー&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;プロンプト:&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;quot;オンラインで調査してください。特に X のスレッド、Stack Overflow、GitHub Issues、技術ブログに注目し、AI で生成された INSERT_TECH_YOU&amp;#x27;RE_USING_HERE コードによく見られるセキュリティ上の落とし穴、アーキテクチャ上の不整合、見落とされやすいロジックエラーを調べてください。その調査結果に基づき、プラットフォーム チャネルの検証、ディープリンクのルーティング、クラッシュ レポートでの機密データのロギングなど、高リスク領域を監査するための手動レビュー チェックリストを作成してください。&amp;quot;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbeb2610&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;理由: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;AI はコード作成を 10 倍速くできる一方で、粗いコードを生成することも少なくありません。そうしたコードは一見筋が通っているように見えても、指定されていない詳細について誤った前提を置いているため、概念的にはバグを含んでいることがあります。調査によると、AI 生成コードの最大 40% に脆弱性が含まれており、開発者は自分のコード以上に AI のコードを信頼してしまう傾向があります。そのため、危険なミスマッチが生じます。私はこのプロンプトを使って、冗長な AI 生成の変更を深く検討しないまま承認してしまうことを防ぐ、的を絞ったチェックリストを作成しています。これにより、人間の判断を、モデルが失敗しやすい高リスクの境界部分に集中させることができます。タスクの生成には AI を使いながらも、最も重要な部分では人間が関与し続けられるようにしています。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;イテレーションを通じて問題を見つける&lt;/strong&gt;&lt;/h4&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Fred Sauer&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;フレームワークおよび言語担当デベロッパー リレーション責任者 • エンジニアリング&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://x.com/fredsa" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;X&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://www.linkedin.com/in/fredsa/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;LinkedIn&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; でフォロー&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;プロンプト:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;簡略化すると、私が最後に使う一連のプロンプトは次のようなものです。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;- 未コミットの変更をコードレビューしてください。\r\n\u200b\r\nあまり具体的にしすぎないほうがよいと考えています。過度に誘導すると、盲点が生まれる可能性があるためです。\r\n新しい「目」で見てもらうため、新しいチャット セッションを使うようにしています。\r\n返ってくる結果が退屈に感じられ、自分が満足できる状態になるまで、これを繰り返します。&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbeb2f10&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この最後のフェーズに入る時点で、たとえば「変更が複雑すぎる気がする」といった懸念がある場合や、その変更がどの程度「良い」のか十分に把握できていないと感じる場合は、次のプロンプトでモデルに検討を促すことがあります。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;- 未コミットの変更をコードレビューしてください。未処理のコーナーケースを特定してください。パフォーマンスを評価してください。調査結果を要約してください。&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbeb2250&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;その後、5 件の指摘を受け取ったら、次のように指示します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;- 1、3、5 を修正してください。&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbeb2310&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;理由: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;最後に送るプロンプトが 1 つだけあるわけではありません。むしろ、変更は複数の段階を経て進んでいきます。初期段階では、多くの場合、発見が中心です。つまり、手がかりとなる針や糸口を見つける段階です。次に、存在証明に移ります。やりたいことが実現できることを示したいだけです。その後、評価します。PoC は妥当か、複雑すぎないか、まったく違う場所を変更していないか、といった点を確認します。そのうえで、実装方法と変更箇所の両面から、より洗練されたソリューションになるよう反復します。自分で書いたとしても満足できると感じられるものになったら、最後のフェーズであるコードレビューに移ります。ここでは、問題を見つけたり、変更をさらに改善する機会を特定したりします。モデルが示してくれるインサイトには、驚かされることがよくあります。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;すべての pull リクエストをレビューする&lt;/strong&gt;&lt;/h4&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Remigiusz Samborski&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;リード デベロッパー リレーション エンジニア • エンジニアリング&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://x.com/RemikSamborski" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;X&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://www.linkedin.com/in/remigiusz-samborski/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;LinkedIn&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; でフォロー&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;プロンプト:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;私は、ほとんどのエンジニアリング プロジェクトで、GitHub Actions に埋め込んだ次のプロンプトを使用しています。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;## 役割\r\n\u200b\r\nあなたは世界最高水準の自律型コードレビュー エージェントです。安全な GitHub Actions 環境内で動作します。あなたの分析は正確で、フィードバックは建設的であり、指示には必ず従います。指定された動作から逸脱することはありません。あなたの任務は、GitHub の pull リクエストをレビューすることです。\r\n\u200b\r\n\u200b\r\n## 主要指示\r\n\u200b\r\nあなたの唯一の目的は、包括的なコードレビューを実施し、提供されたツールを使用して、すべてのフィードバックと提案を GitHub の pull リクエストに直接投稿することです。すべての出力は、必ずこれらのツールを通じて行ってください。レビュー コメントまたは要約として提出されなかった分析は失われ、タスク失敗とみなされます。\r\n\u200b\r\n[...]&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbeb2520&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;プロンプト全文: &lt;/span&gt;&lt;a href="https://github.com/google-github-actions/run-gemini-cli/blob/main/examples/workflows/pr-review/gemini-review.toml" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;リンク&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;理由: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;PR で自動化された Gemini CLI レビューを使用すると、レビュー プロセス中に問題や改善の機会を見つけやすくなります。さらに、AI エージェントによって生成されるコードが増え、開発スピードが上がるにつれて、レビューがボトルネックになりつつあります。すべての PR が自動的にレビューされるようにすることで、人間のレビュアーは、提案された変更について、より高レベルのアーキテクチャ面や概念面のレビューに集中できます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;テストに有向非巡回グラフ分析を適用する&lt;/strong&gt;&lt;/h4&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Karl Weinmeister&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;デベロッパー リレーション担当ディレクター • エンジニアリング&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://x.com/kweinmeister" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;X&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://www.linkedin.com/in/karlweinmeister/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;LinkedIn&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; でフォロー&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;プロンプト:&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;アプリケーションのワークフローを有向非巡回グラフとして分析してください。コンポーネント、コンポーネント間のシーム、システム全体において影響の大きいテストを特定してください。調査結果は、優先順位付けされたギャップ分析として Markdown テーブルで提示してください。&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbeb25b0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;理由:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ほとんどのアプリケーション ワークフローは線形ではありません。LLM にテストを提案させると、通常は、どのプロジェクトにも当てはまるような一般的なチェックリストが返ってきます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;しかし、システムをノードとエッジを持つ有向非巡回グラフ（DAG）として考えるよう促すと、どこで問題が発生し得るのかを構造的に推論し始めます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;また、Michael Feathers 氏の著書『レガシーコード改善ガイド』で使われている「シーム」についても考慮するよう指示しています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;最後に、結果を優先順位付けされた改善機会の表として要約するようモデルに依頼しています。これにより、アプリのレジリエンスを高めるための明確なロードマップをエージェントに与えることができます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;まとめ&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これらのプロンプトすべてに共通しているのは、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;人間の思い込みに伴うリスクを減らす&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;という点です。見落としやすいエッジケースを探す場合でも、デベロッパー向けの表現をエンドユーザー向けに言い換える場合でも、コードを書く前にアーキテクチャをストレステストする場合でも同じです。私たちのチームは、AI を、あえて厳しい問いを投げかける思考のパートナーとして活用しています。つまり、細部に入り込んでいると見落としがちな点を指摘してくれる存在です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;こうした「必ず実行する」プロンプトを日々のワークフローに組み込むことで、単にリリースを速めるだけでなく、かつてはチーム全体でレビューしなければ得られなかったレベルの確信を持ってリリースできるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Google Cloud、スタッフ デベロッパー リレーション エンジニア&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt; James O'Reilly&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Mon, 22 Jun 2026 02:10:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/10-indispensable-prompts-our-team-refuses-to-build-without/</guid><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/10-indispensable-prompts.max-600x600.jpg" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>デベロッパー必見: 開発に欠かせない 10 個のプロンプト</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/10-indispensable-prompts.max-600x600.jpg</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/10-indispensable-prompts-our-team-refuses-to-build-without/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>James O'Reilly</name><title>Staff Developer Relations Engineer</title><department>Google Cloud</department><company></company></author></item><item><title>サーフェスの選択: Antigravity 2.0、Antigravity CLI、Antigravity IDE、Antigravity SDK</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/choosing-your-surface-antigravity-20-antigravity-cli-antigravity-ide-or-antigravity-sdk/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 6 月 10 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/choosing-your-surface-antigravity-20-antigravity-cli-antigravity-ide-or-antigravity-sdk?e=48754805&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;要約: &lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Antigravity 2.0:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 独立したプロジェクトで並行して動作する複数の自律型エージェントをオーケストレートするデスクトップ アプリ。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Antigravity CLI:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; コマンドライン ワークフローとヘッドレス実行用に設計されたターミナル インターフェース。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Antigravity IDE:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; エージェントを利用しながら直接コードを記述したい開発者向けのエディタ。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Antigravity SDK:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Antigravity Harness を使用する独自のカスタム エージェントを構築、デプロイするための Python ライブラリ。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;比較早見表&lt;/span&gt;&lt;/p&gt;
&lt;div align="left"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;&lt;table&gt;&lt;colgroup&gt;&lt;col/&gt;&lt;col/&gt;&lt;col/&gt;&lt;col/&gt;&lt;col/&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;機能&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Antigravity 2.0&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Antigravity CLI&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Antigravity IDE&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Antigravity SDK&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;インターフェース&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;デスクトップ アプリ&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ターミナル（TUI）&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;デスクトップ アプリ&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Python コード&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;最適な用途&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;複数タスクの同時実行&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;コマンドライン / ヘッドレス&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;コードの直接編集&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;カスタム エージェントの構築&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;Antigravity の 4 つのサーフェス&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;1. Antigravity 2.0&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;デフォルトのおすすめです。複数のプロジェクトにわたり、タスクを同時に管理します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/antigravity-new-chat.max-1000x1000.png"
        
          alt="antigravity-new-chat"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Antigravity 2.0 は、スタンドアロンのデスクトップ アプリケーションです。メインのワークスペースをブロックすることなく、複数のタスクを実行できるよう設計されています。1 つの画面でさまざまなプロジェクトを簡単に切り替えてモニタリングすることができます。また、コードの品質チェックや古いパッケージの検出といったタスクを定期的に実行するようにスケジュール設定することも可能です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;2. Antigravity CLI&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ターミナル ワークフローとヘッドレス実行向けです。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/antigravity-cli.max-1000x1000.png"
        
          alt="antigravity-cli"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;高速性を追求して Go で構築された Antigravity CLI は、ターミナルで高速なキーボード操作やシンプルなショートカットを使って作業することを好むユーザーに適しています。アクティブなコマンドライン ウィンドウをロックすることなく、ターミナル コマンドを使用してバックグラウンド エージェントを起動できます。ヘッドレス実行（SSH 経由での作業やリモート コンテナ内での作業など）が必要な場合は、CLI を選択してください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;3. Antigravity IDE&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;コードを直接表示して編集したい開発者向けです。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/antigravity-ide.max-1000x1000.png"
        
          alt="antigravity-ide"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;IDE サーフェスでは、エージェントが現在のワークスペース内に直接配置されます。エージェントが編集しているコードを正確に確認し、変更を 1 行ずつ承認または拒否したい場合は、これが最適な選択肢です。組み込みのデバッグ機能により、エージェントはランタイム エラーを確認し、エディタに修正案を表示できます。この修正は、ワンクリックで適用できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;4. Antigravity SDK（Python）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;カスタム エージェント ロジックと自動化されたパイプラインの作成に最適です。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;import asyncio\r\nfrom google.antigravity import Agent, LocalAgentConfig\r\n\r\nasync def main():\r\n    config = LocalAgentConfig(\r\n        system_instructions=&amp;quot;You are an expert assistant for codebase navigation.&amp;quot;,\r\n        # api_key=&amp;quot;your_api_key_here&amp;quot;,\r\n    )\r\n    async with Agent(config) as agent:\r\n        response = await agent.chat(&amp;quot;What files are in the current directory?&amp;quot;)\r\n        print(await response.text())\r\n\r\nasync def run():\r\n    await main()\r\n\r\nif __name__ == &amp;quot;__main__&amp;quot;:\r\n    asyncio.run(run())&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;lang-py&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9de0f60f70&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;a href="https://antigravity.google/docs/sdk-overview" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Antigravity SDK&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; は、独自のカスタム エージェントをゼロから構築できる Python ライブラリです。同じ共有ハーネス上で実行されるため、Google の公式 Antigravity ツールを支えているものとまったく同じツールやルールに直接アクセスできます。エージェントをローカルで記述し、コードを一切変更することなく Google Cloud にデプロイすることが可能です。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;まとめ&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;各インターフェースの外観は異なりますが、すべて同じ基盤エージェント ハーネス上で動作します。Antigravity のどのサーフェスを選択しても、&lt;/span&gt;&lt;a href="https://antigravity.google/docs/plugins" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;プラグイン&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;や&lt;/span&gt;&lt;a href="https://antigravity.google/docs/skills" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;スキル&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;などはサポートされます。エージェントは同じコアロジックにアクセスできるため、ご自身のプロジェクトに最適なものを選択してください。&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;ガイドやドキュメントについては、&lt;/span&gt;&lt;a href="https://antigravity.google/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;antigravity.google&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; をご覧ください。使用を開始する準備が整いましたら、&lt;/span&gt;&lt;a href="https://antigravity.google/download" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Antigravity ダウンロード ページ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;にアクセスしてください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Firebase、デベロッパーリレーションズ、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Alex "Sandu" Astrum&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Google Cloud、デベロッパー アドボケイト、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Luke Schlangen&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Thu, 18 Jun 2026 02:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/choosing-your-surface-antigravity-20-antigravity-cli-antigravity-ide-or-antigravity-sdk/</guid><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/gemini_v2_antigravity-surfaces-cover_image.max-600x600.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>サーフェスの選択: Antigravity 2.0、Antigravity CLI、Antigravity IDE、Antigravity SDK</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/gemini_v2_antigravity-surfaces-cover_image.max-600x600.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/choosing-your-surface-antigravity-20-antigravity-cli-antigravity-ide-or-antigravity-sdk/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Alex "Sandu" Astrum</name><title>Developer Relations, Antigravity</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Luke Schlangen</name><title>Developer Advocate, Google Cloud</title><department></department><company></company></author></item><item><title>Google Cloud Storage MCP サーバーを活用した AI エージェントと非構造化データの連携</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/build-ai-agents-faster-with-gcs-google-cloud-storage-mcp-server/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 6 月 3 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/build-ai-agents-faster-with-gcs-google-cloud-storage-mcp-server?hl=en&amp;amp;e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud Storage（GCS）は、最新のエージェント技術スタックの基盤コンポーネントであり、大規模な非構造化データの保存先に適しています。企業がエージェントを本番環境にデプロイしていくのにともない、重要な関心事項は、データをコンテキストに変換し、そのコンテキストにアクセスするための安全かつ標準化されたインテグレーションの構築へと移っています。これがスマート ストレージの中核です。受動的なオブジェクトを推論のための豊富なコンテキストに変え、非構造化データを本質的にエージェント対応にします。複雑な財務ワークフローの自動化であれ、数秒で行うシステム障害の診断であれ、AI が成功するかどうかは、エージェントがこのインテリジェンスをどれだけシームレスに活用し、スマートで重要度の高い意思決定を行えるかにかかっています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このブログ投稿では、お客様が GCS を使用して構築したエージェントの例を &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;3 つ&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;ご紹介した後、&lt;/span&gt;&lt;a href="https://modelcontextprotocol.io/docs/getting-started/intro" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Model Context Protocol&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（MCP）を使用してエージェントを GCS に安全かつ確実に接続する方法について解説します。自動アノテーションやオブジェクト コンテキストといったスマート ストレージ機能と組み合わせることで、GCS MCP サーバーはエージェントのデプロイ プロセス全体を簡単かつシンプルなものにします。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;Google Cloud Storage でのエージェントの実際の成功事例&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;MCP と Google のエージェント技術スタックを活用してビジネス上の複雑な問題を解決しているお客様から、驚くべきイノベーションが次々と生まれています。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Palo Alto Networks&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; は、画面を認識する AI アシスタントの Strata Co-Pilot エージェントを構築しました。このエージェントは、手順をハイライト表示したり直接実行したりして、ネットワーク セキュリティ管理者が複雑な構成フローを進められるよう支援します。また、Gemini Live API を利用しており、GCS MCP サーバー経由で GCS に接続し、「履歴メモリ」として活用しています。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Airwallex&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; は、ユーザー コンテキストを理解し、質問に答え、ユーザーに代わってワークフローを実行する AI アシスタントを開発しました。たとえば、経費ポリシーのドキュメントをスマートに分析し、詳細な承認ワークフローを生成できます。これは、通常なら手作業で何時間もかかるタスクです。エージェントは、ドキュメントと抽出された情報を、それぞれ GCS と GCS メタデータを使用して保存します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=F0Kw_eD5Y04"
      data-glue-modal-trigger="uni-modal-F0Kw_eD5Y04-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        

        &lt;div class="article-video__aspect-image"
          style="background-image: url(https://storage.googleapis.com/gweb-cloudblog-publish/images/maxresdefault_zruL8XX.max-1000x1000.jpg);"&gt;
          &lt;span class="h-u-visually-hidden"&gt;（Airwallex AI アシスタントのご紹介: グローバルな財務処理を簡単に実現するコンシェルジュ）&lt;/span&gt;
        &lt;/div&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
      &lt;figcaption class="article-video__caption h-c-page"&gt;
        
          &lt;h4 class="h-c-headline h-c-headline--four h-u-font-weight-medium h-u-mt-std"&gt;（Airwallex AI アシスタントのご紹介: グローバルな財務処理を簡単に実現するコンシェルジュ）&lt;/h4&gt;
        
        
          &lt;p&gt;（Airwallex AI アシスタントのご紹介: グローバルな財務処理を簡単に実現するコンシェルジュ）&lt;/p&gt;
        
      &lt;/figcaption&gt;
    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal-F0Kw_eD5Y04-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="F0Kw_eD5Y04"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=F0Kw_eD5Y04"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Snap&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; のジョブ最適化エージェントは、何千ものジョブの、GCS に保存された Flink と Spark のジョブ仕様、メタデータ、過去の指標を分析し、最適化の機会を特定して費用の見積もりを生成し、構成を調整します。このエージェントを使用することにより、Snap はすでに調査時間を 30 分から 30 秒に短縮しています。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;上述 3 つのエージェントのすべてにおいて、GCS MCP サーバーはデータ操作を処理するだけでなく、標準の RBAC とアクセス ポリシーを適用しています。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;MCP を使用してエージェントを GCS に接続&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;MCP は、エージェントをデータソースに接続するための標準規格として急速に普及してきましたが、多くの場合、カスタム サーバーをゼロから構築することは、業務の妨げとなる、時間のかかるプロセスとなり、イノベーションに集中できなくなります。この方法では、認証やエラー処理から GCS の進化する機能への対応まで、あらゆることを管理しなければならないため、開発のオーバーヘッドとリスクが大幅に増大します。この問題を解決するため、GCS は 2 つの強力な MCP サーバー オプション（リモートとローカル）を提供し、お客様が基盤部分をオフロードして価値の創出に集中できるようにします。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;1. リモート MCP サーバー: フルマネージド &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントを &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/storage/docs/use-cloud-storage-mcp"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Storage MCP サーバー&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;に接続するのに、インフラストラクチャをデプロイする必要は一切ありません。エージェント構成でマネージド エンドポイントを指定するだけで、GCS 上の非構造化データに即座にアクセスできるようになり、運用上のオーバーヘッドの負担なくエージェント ワークロードを簡単にスケールできます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud Storage MCP サーバーはオープンな MCP 標準に準拠しているため、ADK などの主要なエージェント フレームワークとシームレスに連携し、MCP クライアントとも適合します。設定でカスタム コネクタを追加することにより、Google Antigravity や Anthropic の Claude などのクライアントを簡単に接続できます。Cloud Storage MCP エンドポイントを指定するだけで、すぐに構築を開始できます。複雑な構成ファイルはいりません。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/original_images/image1_9FCB2cO.gif"
        
          alt="image1"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントをストレージに接続するには、堅牢なセキュリティとガバナンスが必要です。GCS MCP サーバーは、Google Cloud の標準的な ID、オブザーバビリティ、セキュリティのフレームワークに基づいて構築されています。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;ID ファーストのセキュリティ:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 認証はすべて、共有キーではなく、Identity and Access Management（IAM）を通じて処理されます。これにより、エージェントはユーザーが明示的に承認したデータ（バケットとオブジェクト）にのみアクセスできるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;完全なオブザーバビリティ:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; エージェントのアクティビティを追跡できるよう、これらの MCP サーバーを介して行われたリクエストとアクションはすべて Cloud Audit Logs に記録されます。これにより、セキュリティ チームはすべてのやり取りの記録を取得し、可視性を維持しながら簡単にアクセスできます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;MCP セキュリティ - コンテンツ スキャン:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 必要に応じて、Google のコンテンツ セキュリティ サービスである Google Cloud Model Armor を使用して MCP エンドポイントを構成できます。これにより、直接的および間接的なプロンプト インジェクション攻撃、MCP ツール ポイズニング攻撃、悪意のある URL / SQL インジェクションなど、一般的な MCP 攻撃ベクトルに対するセキュリティ対策を講じることができるほか、機密データの漏洩を防ぐことができます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud Storage MCP サーバーは、ほとんどの本番環境のユースケースに適しています。ただし、他のすべてのリモート サーバーと同様に、MCP ツールを完全にカスタマイズする機能は使用できません。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;2. ローカル MCP サーバー: カスタマイズを管理できるセルフ マネージド&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; リモート サーバーが標準的なデータアクセスを処理する一方、ローカル MCP はビジネス ロジックに固有の&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;カスタムツール&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;を構築する必要がある場合に適しています。たとえば、エージェントで特殊なデータ変換を実行する必要がある場合（GCS からファイルを読み取るたびに 個人情報（PII）を削除したり、別の内部システムからコンテキストを追加したりする場合など）、ローカル MCP サーバーを使用すると、そうした独自の機能を定義できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;GCS ローカル MCP サーバーは、Google が管理するツールのオープンソース &lt;/span&gt;&lt;a href="https://github.com/googleapis/gcloud-mcp/tree/main/packages/storage-mcp" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;GitHub リポジトリ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;であり、データへの信頼性の高いブリッジを提供します。以下に、カスタムツールを設計する際に留意すべきポイントをいくつかご紹介します。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;モデルによる誤った呼び出しを最小限に抑えるため、正確かつ明確な説明を提供する&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;モデルが自身の間違いを理解して自己修正できるよう、モデルに適したエラー処理を実装する&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;GCS ローカル MCP は、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/storage/docs/pre-built-tools-with-mcp-toolbox"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;データベース向け MCP ツールボックス&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;の一部にもなっています。これは、GCS、BigQuery、AlloyDB、Spanner、Cloud SQL などの主要なデータサービス向けのコネクタなどを単一のオープンソース リポジトリにまとめたもので、データ エコシステムのモニタリングや管理を容易にします。このツールボックスは、ボイラープレート コードを削減して開発を簡素化し、OAuth2 と OIDC によってセキュリティを強化し、OpenTelemetry を統合してエンドツーエンドのオブザーバビリティを実現します。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;使ってみる&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Snap のような既存プロセスを最適化する場合でも、Airwallex のようなワークフローの作成を自動化する場合でも、非構造化データはエージェントにとって最大の資産の一つです。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;一般提供されている &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/storage/docs/use-cloud-storage-mcp"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;GCS リモート MCP サーバー&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;についてご確認ください。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;カスタムツールの構築を今すぐ始めるには、GCS ローカル MCP の &lt;/span&gt;&lt;a href="https://github.com/googleapis/gcloud-mcp/tree/main/packages/storage-mcp" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;GitHub リポジトリ&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をご確認ください。&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/storage/docs/pre-built-tools-with-mcp-toolbox"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;データベース向け MCP ツールボックス&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;の一部として使用することも可能です。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;GCS データを活用したエージェントのユースケースについては、Google まで&lt;/span&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;お問い合わせ&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;ください。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Google Cloud、プロダクト マネージャー、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Himanshu Kohli&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Google Cloud、プロダクト マネージャー、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Manjul Sahay&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Fri, 12 Jun 2026 00:30:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/build-ai-agents-faster-with-gcs-google-cloud-storage-mcp-server/</guid><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/Hero-image.max-600x600.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Google Cloud Storage MCP サーバーを活用した AI エージェントと非構造化データの連携</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/Hero-image.max-600x600.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/build-ai-agents-faster-with-gcs-google-cloud-storage-mcp-server/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Himanshu Kohli</name><title>Product Manager, Google Cloud</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Manjul Sahay</name><title>Product Manager, Google Cloud</title><department></department><company></company></author></item><item><title>TPU、GKE マネージド DRANET、マルチクラスタ推論ゲートウェイを使用したテスト</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/experimenting-with-tpus-gke-managed-dranet-and-multi-cluster-inference-gateway/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 6 月 2 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/experimenting-with-tpus-gke-managed-dranet-and-multi-cluster-inference-gateway?hl=en&amp;amp;e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;あるリージョンでワークロードに障害が発生しても、サービスを使用しなければならない場合、どうすればよいでしょう？これは、可用性や稼働時間に関してよく見られるケースです。Kubernetes エコシステムと&lt;/span&gt;&lt;a href="https://kubernetes.io/docs/concepts/scheduling-eviction/dynamic-resource-allocation/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;動的リソース割り当て（DRA）&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;や&lt;/span&gt;&lt;a href="https://gateway-api-inference-extension.sigs.k8s.io/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;推論ゲートウェイ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;などの機能が最近強化されたことを受け、AI 推論ワークロードを使用した簡単なテストで、Google Cloud のこれらの機能を試してみることにしました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このブログ投稿では、この設定について詳しくご説明します。また、こちらの Codelab（&lt;/span&gt;&lt;a href="https://codelabs.developers.google.com/codelabs/gke-inference-gateway-multi-cluster-tpus-dranet#0" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;TPU、Cloud Storage FUSE、マネージド DRANET を使用してマルチクラスタ GKE Inference Gateway を構築する&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;）で、詳細な構成をすぐに確認することもできます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;構成要素&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このテストを構築するには、以下のプロダクト、機能、ツールを使用します。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Google Kubernetes Engine&lt;/strong&gt;&lt;a href="https://docs.cloud.google.com/kubernetes-engine/docs/how-to/allocate-network-resources-dra"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;（GKE）マネージド DRANET&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;: これは、Pod 間でリソースのリクエストや共有ができるマネージド機能です。&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/kubernetes-engine/docs/how-to/allocate-network-resources-dra#use-rdma-interfaces-gpu"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;GPU&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; と &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/kubernetes-engine/docs/how-to/allocate-network-resources-dra#use-non-rdma-interfaces-tpu"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;TPU&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; をサポートしています。このテストでは、2 つの異なるリージョンで TPU を使用し、マネージド DRANET を使用してネットワークを割り当てました。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/kubernetes-engine/docs/concepts/about-multi-cluster-inference-gateway"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;マルチクラスタ GKE Inference Gateway&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;: AI / ML 推論ワークロードを複数の GKE クラスタ間で負荷分散します。これはフェイルオーバーの状況で効果的です。今回のテストではこれを試します。このテストをサポートするタイプは、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/kubernetes-engine/docs/concepts/gateway-api#gatewayclass"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;マルチクラスタ クロス リージョン内部アプリケーション ロードバランサ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;gke-l7-cross-regional-internal-managed-mc&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）です。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/storage/docs/cloud-storage-fuse/overview"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Storage FUSE&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;: データ、モデル、チェックポイント、ログを Cloud Storage に直接保存できるようにします。デプロイを高速化するために、オープンソースの Gemma モデルをこのストレージにダウンロードし、そこから取得するようにしました。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Virtual Private Cloud（VPC）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 分離された安全な通信を内部ロードバランサとコンピューティング ノードに提供する、基盤となるグローバル ネットワークです。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/kubernetes-engine/docs/fleets-overview"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;GKE フリート&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;: フリートは、個別のリージョン クラスタを、統合された管理コントロール プレーン下にグループ化します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/tpu/docs/v6e"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;TPU v6e&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;: モデルのサービングに必要なハイ パフォーマンス コンピューティングを提供する、Google のカスタム AI アクセラレータです。使われていた VM ファミリー タイプは、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/tpu/docs/v6e#configurations"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;2x2 スライス&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;ct6e-standard-4t&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; でした。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;設計パターンの例&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;目的は、異なるリージョンにある 2 つの GKE クラスタに LLM モデル（Gemma 3）をデプロイすることです。各クラスタは 4 つの TPU v6e チップを使用します。モデルは Cloud Storage に保存する必要があります。ワークロードは、マルチクラスタ対応の GKE Inference Gateway を使用して提供します。ユーザーに最も近いリージョンにトラフィックをルーティングする必要があります。また、いずれかのリージョンで障害が発生した場合は、もう一方のリージョンにフェイルオーバーする必要があります。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1-build.max-1000x1000.png"
        
          alt="1-build"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;設定手順&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;2 つのリージョンでプロジェクトの TPU にアクセスするには、それらのリージョンで&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/kubernetes-engine/docs/how-to/tpus#ensure-quota-od-spot"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;必要な割り当て&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を確保しておく必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;最初の手順:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 環境を設定する。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;予約と同じゾーンに&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/vpc/docs/create-modify-vpc-networks#create-custom-network"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;標準 VPC&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を作成し、ファイアウォール ルールとサブネットを設定します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/load-balancing/docs/proxy-only-subnets#proxy_only_subnet_create"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;プロキシ専用サブネット&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を作成します。これは、GKE Inference Gateway にアタッチした内部リージョン アプリケーション ロードバランサで使用されます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;トラフィックとヘルスチェックを許可するファイアウォール ルールを設定します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;ゲートウェイ用に両方のリージョンで静的内部 IP アドレスを予約します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud Storage FUSE バケットをプロビジョニングし、専用の IAM サービス アカウントを構成します。これを Kubernetes Workload Identity にバインドし、Pod がバケットを安全にマウントしてモデルの重みを直接読み取れるようにします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;次の手順: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;標準の GKE クラスタとノードプールを作成する。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;選択したリージョンに、構成済みの 2 つの独立した GKE クラスタをデプロイします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;クラスタの作成時に、Gateway API（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;--gateway-api=standard&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）と &lt;/span&gt;&lt;a href="https://cloud.google.com/kubernetes-engine/docs/concepts/cloud-storage-fuse-csi-driver"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Storage FUSE CSI ドライバ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;--addons GcsFuseCsiDriver&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）を有効にします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;両方のクラスタに、専用の TPU v6e ノードプール（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;ct6e-standard-4t&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）を作成します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;code style="vertical-align: baseline;"&gt;---accelerator-network-profile=auto&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; フラグと &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;--node-labels=cloud.google.com/gke-networking-dra-driver=true&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; フラグを設定し、これらの &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/kubernetes-engine/docs/how-to/allocate-network-resources-dra#enable-dra-driver-tpu"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;TPU ノードプール&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;でマネージド DRANET を有効にします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;次の手順: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;フリート登録を介してグローバル メッシュを確立する。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://cloud.google.com/kubernetes-engine/docs/how-to/creating-fleets"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;フリートの作成と登録の設定の手順&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;に沿って、統合された GKE フリートに両方の GKE クラスタを登録します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;フリートでのマルチクラスタ サービス ディスカバリとマルチクラスタ Ingress を有効にします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;プライマリ リージョンを構成ハブとして指定し、両リージョンにわたるルーティング ルールのコントロール プレーンとして機能させます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;次の手順: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;AI ワークロードをデプロイする。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Kubernetes の一時ジョブを使用して、Gemma 3（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;gemma-3-27b-it&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）モデルの重みを Cloud Storage バケットに直接ダウンロードします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;割り当てモードが「All」に設定されたマネージド DRANET デバイスクラス（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;deviceClassName: netdev.google.com&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）を明示的にリクエストする、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;ResourceClaimTemplate&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を定義します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;apiVersion: resource.k8s.io/v1\r\nkind: ResourceClaimTemplate\r\nmetadata:\r\n  name: all-netdev\r\n  namespace: default\r\nspec:\r\n  spec:\r\n    devices:\r\n      requests:\r\n      - name: req-netdev\r\n        exactly:\r\n          deviceClassName: netdev.google.com\r\n          allocationMode: All&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbacb0a0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;両リージョンの TPU ノードに推論サーバー（vLLM など）をデプロイします。Pod 仕様で 2x2 TPU トポロジのノードセレクタを使用し、4 つの TPU を正確にリクエストして、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;netdev&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; クレームをマウントするようにします。これにより、Pod は標準のイーサネットとともに専用のアクセラレータ ネットワークを確実に利用できるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;次の手順: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;マルチクラスタ推論ゲートウェイを構成します。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;必要なカスタム リソース定義（CRD）をインストールし、Kubernetes が &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;InferenceObjective&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; などの特殊なルーティング オブジェクトを処理できるようにします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;KV キャッシュ使用量など、ハードウェアの使用状況を追跡する、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;AutoscalingMetric&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; をデプロイします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Helm を使用して、両方のリージョンから独立した AI デプロイを、単一の論理 &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;InferencePool&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; にグループ化します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;クロス リージョン ゲートウェイとそれに関連付けられた &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;HTTPRoute&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; をデプロイし、受信するグローバル トラフィックを管理します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;ヘルスチェックとバックエンド ポリシーをプールに適用し、ロード バランシングでカスタム ハードウェア指標を使うようにします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;InferenceObjective&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を構成して、過負荷状態の TPU を回避し、可用性が最も高いリージョンにプロンプトをルーティングするよう、ゲートウェイに指示します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;apiVersion: gateway.networking.k8s.io/v1\r\nkind: Gateway\r\nmetadata:\r\n  name: cross-region-gateway\r\n  namespace: default\r\nspec:\r\n  gatewayClassName: gke-l7-cross-regional-internal-managed-mc\r\n  addresses:\r\n  - type: networking.gke.io/named-address-with-region\r\n    value: &amp;quot;regions/europe-west4/addresses/gemma-gateway-ip-europe-west4&amp;quot;\r\n  - type: networking.gke.io/named-address-with-region\r\n    value: &amp;quot;regions/us-east5/addresses/gemma-gateway-ip-us-east5&amp;quot;\r\n  listeners:\r\n  - name: http\r\n    protocol: HTTP\r\n    port: 80\r\n---\r\napiVersion: gateway.networking.k8s.io/v1\r\nkind: HTTPRoute\r\nmetadata:\r\n  name: gemma-route\r\n  namespace: default\r\nspec:\r\n  parentRefs:\r\n  - name: cross-region-gateway\r\n    kind: Gateway\r\n  rules:\r\n  - backendRefs:\r\n    - group: networking.gke.io\r\n      kind: GCPInferencePoolImport\r\n      name: gemma-pool\r\n      port: 8000\r\n---\r\napiVersion: networking.gke.io/v1\r\nkind: HealthCheckPolicy\r\nmetadata:\r\n  name: gemma-health-check\r\n  namespace: default\r\nspec:\r\n  targetRef:\r\n    group: networking.gke.io\r\n    kind: GCPInferencePoolImport\r\n    name: gemma-pool\r\n  default:\r\n    config:\r\n      type: HTTP\r\n      httpHealthCheck:\r\n        requestPath: /health\r\n        port: 8000\r\n---\r\napiVersion: networking.gke.io/v1\r\nkind: GCPBackendPolicy\r\nmetadata:\r\n  name: gemma-backend-policy\r\n  namespace: default\r\nspec:\r\n  targetRef:\r\n    group: networking.gke.io\r\n    kind: GCPInferencePoolImport\r\n    name: gemma-pool\r\n  default:\r\n    timeoutSec: 100\r\n    balancingMode: CUSTOM_METRICS\r\n    trafficDuration: LONG\r\n    customMetrics:\r\n      - name: gke.named_metrics.tpu-cache\r\n        dryRun: false\r\n        maxUtilizationPercent: 60\r\n---\r\napiVersion: autoscaling.gke.io/v1beta1\r\nkind: AutoscalingMetric\r\nmetadata:\r\n  name: tpu-cache\r\n  namespace: default\r\nspec:\r\n  selector:\r\n    matchLabels:\r\n      app: gemma-server\r\n  endpoints:\r\n  - port: 8000\r\n    path: /metrics\r\n    metrics:\r\n    - name: vllm:kv_cache_usage_perc\r\n      exportName: tpu-cache\r\n---\r\napiVersion: inference.networking.x-k8s.io/v1alpha2\r\nkind: InferenceObjective\r\nmetadata:\r\n  name: gemma-objective\r\n  namespace: default\r\nspec:\r\n  priority: 10\r\n  poolRef:\r\n    name: gemma-pool\r\n    group: &amp;quot;inference.networking.k8s.io&amp;quot;&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddbacb190&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;フェイルオーバーのテスト&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;プライマリ リージョンの障害をシミュレートして、高可用性アーキテクチャを検証します。プライマリのデプロイがオフラインになると、ゲートウェイは障害を自動的に検出し、その後のすべてのユーザー リクエストをアクティブなセカンダリ クラスタへシームレスに再ルーティングします。これにより、トラフィックをドロップすることなく継続的な可用性が確保されます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;次のステップ&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;上述の機能に関するハンズオン Codelab と詳細については、以下をご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;ハンズオン Codelab: &lt;/span&gt;&lt;a href="https://codelabs.developers.google.com/codelabs/gke-inference-gateway-multi-cluster-tpus-dranet" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;TPU、Cloud Storage FUSE、マネージド DRANET を使用してマルチクラスタ GKE Inference Gateway を構築する&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;ドキュメント一式: &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/kubernetes-engine/docs/how-to/config-auto-net-for-accelerators"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;DRANET&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;ドキュメント: &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/ai-hypercomputer/docs/overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AI Hypercomputer&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ご質問やご意見がございましたら、&lt;/span&gt;&lt;a href="https://www.linkedin.com/in/ammett/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Linkedin&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; 経由で筆者までご連絡ください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;デベロッパーリレーションズ エンジニア、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Ammett Williams&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Wed, 10 Jun 2026 01:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/experimenting-with-tpus-gke-managed-dranet-and-multi-cluster-inference-gateway/</guid><category>Networking</category><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/0-hero-dra.max-600x600.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>TPU、GKE マネージド DRANET、マルチクラスタ推論ゲートウェイを使用したテスト</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/0-hero-dra.max-600x600.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/experimenting-with-tpus-gke-managed-dranet-and-multi-cluster-inference-gateway/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Ammett Williams</name><title>Developer Relations Engineer</title><department></department><company></company></author></item><item><title>Cloud Run での AI のコールド スタートに関するガイド</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/a-guide-to-ai-cold-starts-on-cloud-run/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 5 月 28 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/a-guide-to-ai-cold-starts-on-cloud-run?hl=en&amp;amp;e=0"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;あるデベロッパーが Reddit で、&lt;/span&gt;&lt;a href="https://www.reddit.com/r/googlecloud/comments/1s8yzn1/is_there_a_sane_way_to_manage_cloud_run_cold/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;複数のリージョンにまたがる Cloud Run で AI のコールド スタートを管理する「賢明な方法」はないか&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;と質問しているのを見かけました。最大 20 秒にも及ぶ起動レイテンシに悩まされており、ユーザーが応答を待っている間にインフラストラクチャがスピンアップするという状況にもどかしさを感じていました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;そのディスカッションには、サーバーレス GPU をほぼ諦めかけていたデベロッパーも多数参加しており、中にはレイテンシを回避するためだけに GKE に戻す人もいました。そこで私は、AI のコールド スタートの仕組みを深く掘り下げ、その「賢明な方法」を見つけ出せるかどうか確かめてみることにしました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.cloud.google.com/run/docs/tutorials/gpu-gemma-with-ollama"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Run で Gemma 4 などのモデルをホスト&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;する方法について調査していたところ、Google Cloud Next '26 で Oded Shahar（Cloud Run のシニア エンジニアリング マネージャー）とゲスト スピーカーの Ajay Nair 氏（Elastic のプラットフォーム担当グローバル バイス プレジデント）と一緒に共同プレゼンテーションを行う機会に恵まれました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;そのセッション「Cloud Run でカスタムモデルを使用して AI アーキテクチャを構築する」で、Nair 氏は、Cloud Run の「ゼロへのスケーリング」という効率性を維持しながら、17 種類以上のモデル バリエーションで 1 日数百万件のリクエストの処理を可能にした、Elastic の本番環境で実証済みの戦略を共有しました。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=7L5gQHcinzE"
      data-glue-modal-trigger="uni-modal-7L5gQHcinzE-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        &lt;img src="//img.youtube.com/vi/7L5gQHcinzE/maxresdefault.jpg"
             alt="Cloud Run でカスタムモデルを使用して AI アーキテクチャを構築する"/&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
      &lt;figcaption class="article-video__caption h-c-page"&gt;
        
          &lt;h4 class="h-c-headline h-c-headline--four h-u-font-weight-medium h-u-mt-std"&gt;Cloud Run でカスタムモデルを使用して AI アーキテクチャを構築する&lt;/h4&gt;
        
        
      &lt;/figcaption&gt;
    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal-7L5gQHcinzE-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="7L5gQHcinzE"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=7L5gQHcinzE"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Nair 氏は、その秘訣はモデルそのもののみならず、GPU を管理すべきインフラストラクチャとしてではなく、代替可能なコンピューティングとして扱うことにあると教えてくれました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;その時、コールド スタートのレイテンシを最小限に抑えることは、単にモデルだけの問題ではなく、それを高速でスケーラブルかつ安全に維持するためのインフラストラクチャのパターンやアーキテクチャに関する決定も重要であることに気付いたのです。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;AI のコールド スタートの仕組み&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://docs.cloud.google.com/run/docs/configuring/services/gpu-best-practices"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;公式の Google Cloud GPU パフォーマンスのベスト プラクティス&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;で説明されているように、AI のコールド スタートは、標準的なウェブ マイクロサービスのコールド スタートとは異なります。単にコードを起動するだけでなく、ギガバイト単位の重みを専用の物理アクセラレータに転送させるからです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これは、4 段階のレースだと考えてください。各段階（フェーズ）を最適化しなければ、ユーザーを失うことになってしまいます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;フェーズ 1: インフラストラクチャのプロビジョニング（約 5 秒）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud Run は物理 GPU を割り当て、プリインストールされた NVIDIA ドライバを追加します。Google がドライバを管理するため、Dockerfile が膨らむことはありません。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;フェーズ 2: ブロックレベルのコンテナ イメージ ストリーミング（1 ～ 2 秒）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud Run は「イメージ ストリーミング」を採用しており、起動に必要なブロックのみを取得します。15 GB の CUDA イメージでも、実際は小さな Node.js アプリと同じくらいの速さで起動できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;フェーズ 3: エンジンの初期化（5 ～ 15 秒）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ここで、推論エンジン（vLLM、Ollama）がウォームアップします。これは CPU 負荷が高い処理であり、多くのユーザーが気付かないうちにスロットリングされる部分です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;フェーズ 4: モデルの読み込みと VRAM への転送&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これが最後の難関です。モデルの重みをストレージから GPU メモリへと転送します。CPU が重要視される標準的なウェブアプリとは異なり、ここでは GPU メモリが主な制約要因となります。&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/decoding-high-bandwidth-memory-a-practical-guide-to-gpu-memory-for-fine-tuning-ai-models/?e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;モデルの重みが GPU メモリに収まりきらない&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;場合、より低速なシステム RAM にスワップされるため、パフォーマンスが大幅に低下します。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;AI のコールド スタートを処理するためのベスト プラクティス&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;「賢明」な本番環境を構築するために、GPU を使用した AI 推論に関する &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/run/docs/configuring/services/gpu-best-practices"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud の公式ドキュメント&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を参考に、いくつかの重要なポイントをご紹介します。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;フェーズ 4 の最適化&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;適切なデプロイ オプションの選択&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;フェーズ 4 は、ギガバイト単位の重みをストレージから GPU メモリへと転送する「最後の難関」です。&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/run/docs/configuring/services/gpu-best-practices#loading-storing-models-tradeoff"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ストレージの選択&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;によって、この転送の速度が決まります。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Cloud Storage（同時ダウンロード）- 最速:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Google Cloud CLI（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;gcloud storage cp&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）を使用すると、モデルファイルを並列でダウンロードできます。ネットワーク スループットを最大化し、転送時間を大幅に短縮できるため、大規模な重みに対して&lt;/span&gt;&lt;a href="https://codelabs.developers.google.com/codelabs/cloud-run/cloud-run-gpu-rtx-pro-6000?content_ref=can%20complete%20the%20steps%20within%20limited%20storage%20environments%20like%20cloud%20shell%20this%20codelab%20demonstrates%20how%20to%20load%20the%20model%20concurrently%20from%20cloud%20storage%20during%20container%20startup#0" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;推奨される方法&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;です。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Cloud Storage（FUSE）- 最も簡単:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; バケットをローカル ファイル システムとしてマウントすることで、「コード変更を不要」にします。ただし、最初のダウンロードを並列化しないため、大規模なモデルの重みに対してはかなり遅くなります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;コンテナ イメージ - 10 GB 未満に最適: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;小規模なモデルの場合、Cloud Run のイメージ ストリーミングを使用してイメージに重みを付けるのが効率的です。ただし、10 GB を超えるモデルの場合、インポートやストリーミングのオーバーヘッドがボトルネックとなる可能性があります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;インターネット: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;避けるべきです。本番環境での推論において、最も時間がかかり、かつ最も予測困難な方法です。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;モデルの形式とサイズ&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;フェーズ 4（モデルの読み込みと VRAM への転送）の時間の短縮につながる「裏技」が、モデルの形式とサイズの最適化です。このフェーズは、ギガバイト単位のデータを VRAM に転送できる速度によって制約されるため、より小さく効率的なファイルが重要となります。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt; 4 ビット量子化: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;これはコールド スタートの究極の裏技です。重みが小さいほど、ストレージから引き出すギガバイト数が減るため、フェーズ 4 のダウンロードと転送のプロセスが直接高速化されます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;高速な形式: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;起動時間を最小限に抑えるために、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;GGUF&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; のような読み込み時間が短いモデル形式を選択します。最も高速なパフォーマンスを得るには、Python の「pickle」ファイルの使用を避け、ゼロコピー読み込みを実現する Safetensors を使用します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;VRAM の容量の確保: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;量子化モデルを使用して、重みが GPU メモリ内に完全に収まるようにします。&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/decoding-high-bandwidth-memory-a-practical-guide-to-gpu-memory-for-fine-tuning-ai-models/?e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;モデルが VRAM を超える&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;と、システムは非常に低速な RAM にスワップするため、フェーズ 4 が行き詰まってしまいます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;フェーズ 3 と 4 の最適化: インフラストラクチャとネットワークの活用手段&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これらのインフラストラクチャ設定は、起動プロセスの最も要求の厳しい部分を高速化するために必要なリソースを提供します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.cloud.google.com/run/docs/configuring/services/cpu#startup-boost"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;起動時の CPU ブースト（フェーズ 3 を高速化）&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この機能により、起動時の CPU 性能が一時的に 2 倍になります。1 vCPU インスタンスが、起動中およびサービス提供開始後の最初の 10 秒間、2 vCPU に増強されます。エンジンの初期化は CPU 負荷の高い処理であるため、フェーズ 3 ではこの機能が不可欠です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.cloud.google.com/run/docs/configuring/networking-best-practices?content_ref=for%20the%20best%20networking%20performance%20for%20cloud%20run%20services%20use%20the%20second%20generation%20execution%20environment%20when%20routing%20traffic%20with%20direct%20vpc%20egress#direct-vpc-throughput"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;ダイレクト VPC 下り（外向き）と PGA（フェーズ 4 を高速化）&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;プライベート Google アクセス（PGA）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;で&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;ダイレクト VPC 下り（外向き）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;を利用すると、モデルの重み付けトラフィックが Google の内部高速バックボーン上に留まります。これにより、ネットワーク パスが最適化され、ギガバイト単位の重みを VRAM に転送する時間が短縮されます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;同時実行のチューニング（コールド スタートの回避）: &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud Run において、「&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/run/docs/about-instance-autoscaling?content_ref=request%20concurrency%20calculates%20the%20number%20of%20instances%20by%20averaging%20the%20request%20concurrency%20per%20second%20over%20a%201%20minute%20and%2010%20minute%20period%20and%20divides%20this%20by%20the%20maximum%20concurrency"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;同時実行&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;」とは、プラットフォームがスケールアウトして新しいインスタンスを起動する前に、単一インスタンスが処理できるリクエストの最大数を指します。AI ワークロードの場合、この設定はモデルエンジンの内部並列処理フラグ（例: vLLM の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;--max-num-seqs&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; や Ollama の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;OLLAMA_NUM_PARALLEL&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）と合わせて調整する必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud Run の最適な同時実行数を算出するには、公式の &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/run/docs/configuring/services/gpu-best-practices#max-concurrent-requests"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud の数式&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を使用します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;（&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;モデル&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;インスタンス&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;の数&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;∗モデル&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;あたりの&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;並列クエリ&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;数&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;）+（&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;モデル&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;インスタンス&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;の数&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;∗理想的な&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;バッチサイズ&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;）&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;例: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;インスタンスが 3 つのモデル インスタンスを GPU に読み込み、各モデル インスタンスが 4 つの並列クエリを処理でき、理想的なバッチサイズが 4 である場合、Cloud Run の最大同時リクエスト数を 24 に設定します:（3 × 4）+（3 × 4）&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;計算方法: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;目標は、GPU を完全に飽和状態に保ちながら、ユーザーが長いキューで待機しないようにすることです。この例では、合計 24 の同時リクエストが 2 つの機能グループに分割されています。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;アクティブな処理（12 リクエスト）:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;（3 インスタンス × 4 クエリ）で計算され、GPU が任意の時点でアクティブに処理できるリクエストの合計数を表します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;「次のバッチ」バッファ（12 のリクエスト）:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;（3 インスタンス × 4 バッチサイズ）で計算されます。これらは、コンテナ内で「待機中」のリクエストです。GPU が最初のバッチを完了すると、すぐにこれらの待機中のリクエストを処理します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この値を VRAM の許容範囲内で最大（通常 10 ～ 20 ユーザー）にチューニングすることで、1 つのウォーム インスタンスで多数のリクエストを処理できるようになり、新しいスケールアウト イベントやそれに伴うコールド スタートをトリガーせずに済みます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;スケーリング制御（しきい値の調整）&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;上記の式は最大容量を定義するものですが、Cloud Run が次のインスタンスを起動するタイミングを調整することもできます。Cloud Run のオートスケーラーは通常、60% の使用率を目標としていますが、時間がかかる AI のコールド スタートの場合、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/run/docs/configuring/scaling-controls"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;スケーリング制御&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を使用して、このしきい値を 80% または 90% に引き上げることができます。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;同時実行目標数&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: この値を大きくすると、スケールアウトがトリガーされる前に、単一のウォーム インスタンスにより多くのリクエストを「詰め込む」ことができます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;CPU 目標値&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: CPU 目標値を引き上げることで、初期化や高負荷の推論によって CPU 使用率が一時的に急上昇しただけで、プラットフォームが新しいインスタンスを起動するのを防ぐことができます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;スケーリングと信頼性に関する戦略&lt;/strong&gt;&lt;/h4&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/Gemini_Generated_Image_nc8hjhnc8hjhnc8h.max-1000x1000.png"
        
          alt="Gemini_Generated_Image_nc8hjhnc8hjhnc8h"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;&lt;p data-block-key="znx9k"&gt;コールド スタートを完全に回避するか、あるいは積極的に管理するのが、コールド スタートへの最善の対処法である場合があります。&lt;/p&gt;&lt;/figcaption&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;単一リージョンの「常時稼働」のトレードオフ&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;グローバルにデプロイする場合、すべてのリージョンで最小インスタンス数を 1 に設定すると費用がかさみます。代わりに、1 つのリージョンのみで「常時稼働」のサービスを行うことを検討してください。グローバル ネットワークの遅延が 100 ミリ秒でも、ローカルのコールド スタートに 20 秒かかるよりは、はるかに優れたユーザー エクスペリエンスを提供できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;15 分間の猶予期間: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;よく聞かれる質問に、「リクエストの後、インスタンスはどのくらいの間ウォーム状態を維持しますか？」というのがあります。Cloud Run は通常、インスタンスがアイドル状態（リクエストを処理していない状態）になってから &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;15 分間&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;インスタンスの稼働を維持します。トラフィックが予測可能で、10 ～ 12 分ごとに発生する場合、「常時稼働」のサービスは必要ないかもしれません。プラットフォームのデフォルトのシャットダウン ポリシーにより、次のユーザーにウォーム インスタンスが無料で準備されます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;「先手を打った措置」戦略&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;時として、コールド スタートに対処する最善の方法は、先手を打った措置を講じることです。たとえば、ユーザーが「新しいチャット」をクリックしたり、テキスト領域にカーソルを合わせたりした時など、UI で次のリクエストを予測できる場合は、サービスに向けてすぐに軽量なヘルスチェックを送信できます。ユーザーがプロンプトの入力を終える頃には、コールド スタートの最初の 2 つのフェーズ（インフラストラクチャのプロビジョニングとコンテナ イメージのストリーミング）は、バックグラウンドですでに完了しています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;上級者向けのヒント: 非推論エンドポイント&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;を使用します。この「先手を打った措置」を可能な限り高速化するには、「hi」のようなダミー プロンプトを送信するのではなく、常に非推論エンドポイントを使用します。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;高速な理由:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 非推論エンドポイント（vLLM の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;/v1/models&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; や Ollama の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;/api/tags&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; など）は、コンテナのウェブサーバーが起動した瞬間に処理されます。そのため、時間のかかる「フェーズ 4」のモデルの読み込みや VRAM への転送の完了を待つことなく、成功レスポンスを送信できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;チャット履歴への干渉なし: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;これらのエンドポイントはモデルの補完ロジックをトリガーしないため、ユーザーの実際のチャット履歴に干渉したり、バックエンドで誤ってセッションの作成をトリガーしたりすることはありません。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;推奨されるエンドポイント:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;vLLM: &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;GET /health &lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;または &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;GET /v1/models&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Ollama: &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;GET /api/tags&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; または &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;GET /api/version&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;VRAM の起動プローブの調整&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AI モデルは、ストレージから GPU メモリにギガバイト単位の重みを転送するのにかなりの時間を要します（フェーズ 4）。起動チェックが何度も失敗すると、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/run/docs/configuring/healthchecks?content_ref=prevents+the+containers+from+being+shut+down+prematurely+before+the+containers+are+up+and+running"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Run はコンテナが破損していると判断して強制終了します&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これを回避するには、以下を行います。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;失敗しきい値を引き上げる&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 高い &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;failureThreshold&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を使用します（例: 60 以上）。許容される合計起動時間は &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;failureThreshold \times periodSeconds&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; の積であるため、しきい値を 60、間隔を 5 秒にすると、5 分間というモデルを読み込むために十分な時間が確保されます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;最大 30 分を活用&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 標準サービスでは起動時間が 4 分に制限されていますが、Cloud Run では負荷の高いワークロードに対して、最大 30 分（1,800 秒）の合計起動時間をサポートしています。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;偽陽性の回避（Ollama 対策）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: Ollama のようなエンジンを使う場合、サービスの開始直後、モデルが実際に VRAM に読み込まれる&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;前&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;に TCP ポートが開かれることがあるため、注意が必要です。コンテナのエントリポイント スクリプトで必ず&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;モデルをプリロード&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;し、モデルが確実に推論を実行できる状態になった時点で起動プローブが成功するようにしてください。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;Elastic の戦略から得られる教訓&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;NEXT ‘26 のセッションにおいて、Ajay Nair 氏は、Elastic が GPU を管理すべきインフラストラクチャとしてではなく、代替可能なコンピューティングとして扱うことを可能にした 3 つのアーキテクチャに関する決定事項について強調しました。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;コンパイル費用の回避: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;vLLM で&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt; enforce_eager=True&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を設定することで、わずかなスループットを犠牲にする代わりに、コールド スタートが数分ではなく 1 分未満で完了するようにしました。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;スタンドアロンのチェックポイント: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;各 LoRA バリエーションを事前にスタンドアロンのチェックポイントに統合することで、実行時のアダプタの切り替えに伴うレイテンシを回避しました。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;1 つのワークロード、1 つのサービス:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; モデル、タスク アダプタ、トラフィック パターンによって定義される、それぞれ個別のスケーラブルなワークロードは、独自の Cloud Run サービスとしてデプロイされます。これにより、約 15 のモデル ファミリーで 30 以上のサービスが生成され、一部のモデルはタスク（例: v5 の取得とクラスタリング）やクエリ / パッセージの役割によって分割されています。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;準備ができたら&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;コールド スタートのプロセスを最適化&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;できるかどうかが、趣味のプロジェクトとプロダクション レディなアプリケーションとの違いを決定付けます。この最適化の最大のメリットは、Cloud Run が NVIDIA ドライバと CUDA のインストールを処理し、インスタンスを約 5 秒で起動できることです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;詳細については、次の公式ドキュメントをご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/run/docs/configuring/services/gpu-best-practices"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ベスト プラクティス: GPU を使用した Cloud Run での AI 推論&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/run/docs/configuring/services/gpu"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Run サービスの GPU 構成&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/run/docs/configuring/services/cpu#startup-boost"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Run の起動時の CPU ブースト&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;技術的な詳細については、Google Cloud Next '26 の&lt;/span&gt;&lt;a href="https://www.youtube.com/watch?v=7L5gQHcinzE" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;セッション&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;の録画をご覧になることを強くおすすめします。サーバーレス インフラストラクチャで高性能なオープンモデルをホストするための最も包括的なブループリントを確認できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;開発をお楽しみください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;この記事に対して、レビューとフィードバックを提供してくださった、Cloud Run チームの Sara Ford と Shane Ouchi、Elastic の Zac Li 氏に心より感謝いたします。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Google Cloud デベロッパーリレーションズ、AI エンジニアリング責任者、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Shir Meir Lador&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Thu, 04 Jun 2026 02:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/a-guide-to-ai-cold-starts-on-cloud-run/</guid><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/cold_start.max-600x600.jpg" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Cloud Run での AI のコールド スタートに関するガイド</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/cold_start.max-600x600.jpg</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/a-guide-to-ai-cold-starts-on-cloud-run/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Shir Meir Lador</name><title>Head of AI Engineering, Google Cloud Developer Relations</title><department></department><company></company></author></item><item><title>Gemini API キーと Google API キーの保護</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/api-keys-are-open-secrets/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 5 月 22 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/api-keys-are-open-secrets?e=0&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;現在、AI サービスは API キーに大きく依存しています。ユーザーが AI エージェントを実行するには、有料トークン、サブスクリプション、または有料アカウントを示す API キーを提示する必要があります。API キーは簡単に使用できますが、安全でない方法で使用することも同じくらい簡単です。キーが盗まれると、環境が侵害され、不正使用や悪用につながります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ユーザーが講じるべき自衛策についてのチュートリアルを求めるスレッドが Reddit 内の r/googlecloud ページに投稿されているのを見たことをきっかけに、このブログ投稿を書くことにしました。&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;この投稿では、Google が作成した API キーのリスクを軽減し、セキュリティを向上させるための簡単な手順をいくつかご紹介します。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google API キーは、Gemini やその他の AI Google プロダクト、あるいは Google Cloud API にアクセスするのに使用されます。Gemini API キーは、バックグラウンドで使用される標準の Google API キーです。ここでは Google API キーのセキュリティに焦点を当てますが、これらの推奨事項の一部は、他の場所で作成された API キーやプロダクト トークンにも適用できます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 1: 新しい API キーを生成する&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;どこから始めても、最終的には Google Cloud プロジェクトのいずれかで新しい API キーを作成することになります。Cloud コンソールの [API とサービス] メニューにある [&lt;/span&gt;&lt;a href="https://console.cloud.google.com/apis/credentials"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;認証情報&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;] を使用することになるでしょう。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/api_services_credentials.max-1000x1000.png"
        
          alt="api_services_credentials"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;代わりに &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;gcloud services api-keys create&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/sdk/gcloud/reference/services/api-keys/create"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;コマンド&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を使用することもできます。また、新しい Google Cloud API キーを作成できる他のインターフェースもあります。経路やインターフェースにかかわらず、次のことを行う必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;他の目的に使用されていないスタンドアロン プロジェクトでキーを作成する。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;新しい API キーの API アクセスとクライアント アプリケーションを制限する。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これらの手順により、キーの潜在的なリーチが制限され、問題が発生した場合のトラブルシューティング作業が大幅に簡素化されます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;API の制限&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;API の制限では、キーを使用してアクセスできるサービスを指定します。制限のないキーは作成しないでください。キーが盗まれると、攻撃者は利用可能なサービスにユーザーの費用でアクセスできてしまうからです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;そのキーが使用されるサービスのリストを常に制限して、キーが乗っ取りや漏洩の被害にあった場合の潜在的な損害（影響範囲）を軽減します。間接的な UI を使用して新しいキーを作成する場合は、注意が必要です。たとえば、Firebase で API キーを作成するときは、使用できる API の数を Datastore、Firestore、Cloud SQL Admin などの 24 個に制限します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/api_key_restrictions.max-1000x1000.png"
        
          alt="api_key_restrictions"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Firebase を使用してウェブサイトを保存する場合は、ほとんどの API を使用しないでしょう。AI Studio で使用する API キーを作成するときは、アクセスできる API を「Gemini API」のみに制限してください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;注意点:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;デフォルトでは、新しい API キーは制限なしで作成されます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;選択したい API を検索しても見つからない場合は、使用している Google Cloud プロジェクトでその API が有効になっていない可能性があります。まず Cloud コンソールの [&lt;/span&gt;&lt;a href="https://console.cloud.google.com/apis/library"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;API ライブラリ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;] に移動し、名前で API を検索して、有効にします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud コンソールまたは gcloud CLI では、すべてのアクションを実行できます。他のインターフェース（Firebase など）では、API キーの一部のパラメータにアクセスできない場合があります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;アプリケーションの制限&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;API 制限がキーを使用できるサービスを制限するのと同様に、アプリケーションの制限はキーを使用できるアプリケーションを制限します。たとえば、Google AI Studio でのみ使用する API キーを作成する場合、アプリケーションの制限をウェブサイト &lt;/span&gt;&lt;a href="https://aistudio.google.com/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;https://aistudio.google.com/&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; に設定すると、Gemini を利用して大量のトークンを大規模に消費する自動化でキーが使用されるのを防ぐことができます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;次のいずれかのタイプの制限を 1 つ以上設定できます。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;URL のリストを使用して&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;ウェブサイト&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;や&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;ウェブ アプリケーション&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;の制限を設定する&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;IPv4 や IPv6 アドレスのリストまたはサブネット マスクを使用して&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;サービス&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;の制限を設定する&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;バンドル ID のリストを使用して &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;iOS アプリケーション&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;の制限を設定する&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;パッケージ名と証明書フィンガープリントのペアのリストを使用して &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Android アプリケーション&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;の制限を設定する&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;キーに対して適用できるアプリケーションの制限は 1 種類のみです。アプリケーションの種類ごとに指定の API キーを作成します。アプリケーション種類ごとにキーを用意しておくと、キーの使用状況を把握し、侵害された可能性のあるキーを調査する際に役立ちます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 2: API キーを保存する&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ここで今一度確認したいことは、API キーはユーザーの ID とペアになっていないということです。API キーは&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;誰でも&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;利用できます。そのため、キーを安全に保管することは、ステップ 1 でのキーの使用の制限と同じくらい重要です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ルールは簡単です。キーを簡単に見える場所に保存してはいけません。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;アプリケーションで API キーを使用する場合&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;は、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/secret-manager/docs/best-practices"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Secret Manager&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; または同様のシークレット管理サービスに保存します。Secret Manager を使用すると、API キーを &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/run/docs/configuring/services/secrets"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Run&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; 環境と &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/secret-manager/docs/secret-manager-managed-csi-component"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;GKE&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; 環境に簡単に挿入できます。ただし、キーの保護を強化するために、コードでキーを読み取ることもできます。例については、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/secret-manager/docs/samples/secretmanager-get-secret"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ドキュメント&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;外部アプリケーションで API キーを使用する場合&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;、キーの入力を求められたら、アプリケーションがキーをどのように管理しているかを確認する追加の手順を踏んでください。キーがどのように保存され、リクエストでどのように使用されているかを調べる必要があります。ウェブ アプリケーションの場合は、ブラウザのデベロッパー ツールを使用してアプリケーションのトラフィックを検査し、キーが暗号化されていない通信チャネルで送信されていないことを確認します。たとえば、Google AI Studio は暗号化されたローカル ストレージを使用し、TLS で暗号化されたチャネルを介してキーを送信します。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;問題が発生した場合&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;キーが侵害された疑いがある場合、どうすべきでしょうか？&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;クレジット カードの場合と同じように、単純な手順で対処します。まず、キーを削除します。Cloud コンソールで削除するか、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;gcloud services api-keys delete&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/sdk/gcloud/reference/services/api-keys/delete"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;コマンド&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を使用して削除できます。実際は侵害されていなかったことがわかった場合は、30 日以内であれば&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/sdk/gcloud/reference/services/api-keys/undelete"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;削除を取り消す&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;ことができます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;どのキーが侵害されたかわからない場合はどうすればよいでしょうか？&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;その場合は、次の 2 つのステップで調査する必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;組織またはプロジェクト内のすべての API キーを検出する&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;このキーでアクセスできる API の API 使用量のグラフを確認する&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;すべての API キーを確認する&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;API キーのリソースを見つける方法は複数あります。Cloud コンソールの [&lt;/span&gt;&lt;a href="https://console.cloud.google.com/iam-admin/asset-inventory/dashboard"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;アセット インベントリ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;] を使用し、ダッシュボードを [&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;リソースの種類&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;] でフィルタリングして &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;apikeys.Key&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を確認できます。このリソース種類が表示されない場合は、[さらに表示…] を見つけてクリックし、リソース種類のリストを展開します。削除された API キーもリストに表示されます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;CLI を使用する場合で、特定のプロジェクトがわかっている場合は、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;gcloud services api-keys list&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/sdk/gcloud/reference/services/api-keys/list"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;コマンド&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を使用できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;組織内のすべてのアクティブなキーを表示するには、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;gcloud asset search-all-resources&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/sdk/gcloud/reference/asset/search-all-resources"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;コマンド&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を使用し、その JSON 出力をクエリして削除されたキーを除外する必要があります。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;gcloud asset search-all-resources \\\r\n  --scope=\&amp;#x27;organizations/123456789012\&amp;#x27; \\\r\n  --asset-types=\&amp;#x27;apikeys.googleapis.com/Key\&amp;#x27; \\\r\n  --read-mask=&amp;quot;name,displayName,versionedResources&amp;quot; \\\r\n  --format=json \\\r\n  --order-by=\&amp;#x27;createTime\&amp;#x27; \\\r\n| jq \&amp;#x27;.[] | select(.versionedResources | all(.resource.data.deleteTime == null))\&amp;#x27;&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddba1c4f0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;API の使用量を確認する&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;API キーの使用状況を追跡する方法があります。Cloud Monitoring の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;serviceruntime.googleapis.com/api/request_count&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/apis/docs/monitoring#expandable-1"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;指標&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を使用することです。この指標は、さまざまなサービスが呼び出された回数を示します。特定の API キーのサービス リクエスト数を確認するには、指標の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;credential_id&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ラベルを使用し、API キーの一意の ID でフィルタリングする必要があります。指標のデータを確認するには、&lt;/span&gt;&lt;a href="https://console.cloud.google.com/monitoring/metrics-explorer"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Metrics Explorer&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を使用するか、次の &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/monitoring/promql"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;PromQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; 式で Monitoring API を呼び出します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;sum(\r\n  rate({\r\n    &amp;quot;__name__&amp;quot;=&amp;quot;serviceruntime.googleapis.com/api/request_count&amp;quot;,\r\n        &amp;quot;monitored_resource&amp;quot;=&amp;quot;consumed_api&amp;quot;,\r\n        &amp;quot;credential_id&amp;quot;=&amp;quot;apikey:00000000-0000-0000-0000-000000000000&amp;quot;\r\n  }[${__interval}])\r\n)&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddba1cc40&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;service_name&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ラベルを使用して、API 名（例: &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;mapstools.googleapis.com&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）でこの指標をさらにフィルタリングできます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;API キーの ID を確認するには、次のいずれかの方法を使用する必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="2" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Cloud コンソールを使用して &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;[&lt;/span&gt;&lt;a href="https://console.cloud.google.com/apis/credentials"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;認証情報&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;] ページを開き、目的の API キーを選択します。ブラウザで API キーページの URL を確認します。URL は &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;https://console.cloud.google.com/apis/credentials/key/[KEY_ID]?project=[PROJECT_ID]&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; のように表示されます。&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;[KEY_ID]&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; の部分をコピーします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="2" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;gcloud CLI&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; を使用して、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;gcloud services api-keys list --format='value(displayName,uid)'&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; コマンドを実行し、表示名でキーを見つけます。表示名の横にある UID をコピーします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;API 呼び出しが異常に多い場合は、通常、API キーが侵害され、悪意のあるユーザーによって API にアクセスするために使用されたことを示します。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 3: API キー管理のハイジーン&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エンジニア、経験豊富なクラウド ユーザー、あるいは単に試してみようという方であっても、環境が乗っ取られるのを防ぐためには、API キーの適切な管理が重要です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;すでに Google API キーを使用している場合は、今すぐ次の対応を行ってください。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;所有しているすべての API キーを確認します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;使用しなくなったキーや認識できないキーをすべて削除します（30 日以内であれば復元できますので心配無用です）。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;API キーがアクセスできる API を、使用する予定の API のみに制限します。可能であれば、API を使用できるクライアントもリストを使って制限します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud プロジェクトまたは組織を管理している場合は、API キーの管理に必要な作業を最小限に抑えるために &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/api-keys/docs/custom-constraints"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;apikeys.googleapis.com/Key&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; 組織ポリシーを設定することを検討してください。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;API キーを定期的にローテーション（更新）し、まったく同じ制限を共有するキーを新しく作成して置き換えることを検討してください。既存のキーが使用されているすべての場所を追跡して更新してからそのキーを削除するようにしてください。そうすることで、アプリケーションが予期せず破損したり、突然アクセスできなくなったりするのを防ぐことができます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;まとめ&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;API キーの保護は、クラウド エコシステムを保護するうえで重要なステップです。API とアプリケーションの厳格な制限の実装、安全な保管の利用、消費の積極的なモニタリングは、不正アクセスを防止する非常に効果的な方法です。これらの対策により、開発環境を悪用から保護し、予期しない請求を回避できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これらの手法を導入するのに役立つ、実用的なツールとリソースをいくつかご紹介します。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="2" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;API についてさらに確認する:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/docs/authentication/api-keys-best-practices"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;API キーの管理に関するベスト プラクティス&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を確認し、「&lt;/span&gt;&lt;a href="https://codelabs.developers.google.com/search-for-and-select-google-apis#0" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google API を検索して選択する&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;」のラボを実践します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="2" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;クイック チュートリアルを見る:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;a href="https://www.youtube.com/watch?v=JIE89dneaGo&amp;amp;t=91s" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Run シークレットの Secret Manager でのセキュアな管理&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;に関する Google Cloud Tech の動画で、安全な保管のコンセプトが実際にどのように機能するかをご確認ください。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="2" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Codelab で実際に体験する:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Codelab で&lt;/span&gt;&lt;a href="https://codelabs.developers.google.com/codelabs/secret-manager-python#0" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Python&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; または &lt;/span&gt;&lt;a href="https://codelabs.developers.google.com/codelabs/cloud-spring-cloud-gcp-secret-manager#0" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spring Boot&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を使って Secret Manager を利用してみて、ガイド付き環境で認証情報を安全に取得する練習をします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ドキュメントで詳細を確認する:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/monitoring/charts/metrics-selector"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;指標の選択&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/monitoring/charts/metrics-explorer"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;グラフの作成&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/monitoring/alerts"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;アラートの設定&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を通じて API の使用状況を把握する方法をご確認ください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;シニア デベロッパーリレーションズ エンジニア、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Leonid Yankulin&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Tue, 02 Jun 2026 02:30:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/api-keys-are-open-secrets/</guid><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/hero_image_aJLug1s.max-600x600.jpg" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Gemini API キーと Google API キーの保護</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/hero_image_aJLug1s.max-600x600.jpg</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/api-keys-are-open-secrets/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Leonid Yankulin</name><title>Senior Developer Relations Engineer</title><department></department><company></company></author></item><item><title>Gemini Live Agent Challenge: 受賞者とハイライトを発表</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/winners-and-highlights-of-the-gemini-live-agent-challenge/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 5 月 16 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/winners-and-highlights-of-the-gemini-live-agent-challenge?e=13802955&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Gemini Live Agent Challenge が無事に終了しました。このチャレンジでは、世界中のデベロッパーに従来の「テキスト ボックス」から脱却する次世代の AI エージェントの構築を呼びかけました。最初の発表から、151 か国 11,878 人の参加者と 1,536 件のプロジェクト応募まで、その結果は驚くべきものでした。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ミッションは、Gemini Live API、Agent Development Kit（ADK）、Google Cloud の堅牢なインフラストラクチャを使用して、マルチモーダル機能をシームレスに統合し、リアルタイムで「見る、聞く、話す、つくる」をサポートするエージェントを構築することでした。参加者は、ライブ対応のエージェント、クリエイティブ ストーリーテラー、UI ナビゲーターの 3 つのカテゴリで、インタラクティブ AI の限界に挑戦しました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;最優秀賞を受賞したビルダーの皆様、おめでとうございます。優勝チームは、技術的な正確さと大胆な想像力を組み合わせ、ユーザーがエージェントと対話して体験する方法を完全に一新しました。受賞者のうち 2 人の開発者は、Google Cloud Next 2026 の会場でも表彰されました。受賞エージェントの完全なリストとともに、受賞者の体験をご紹介します。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;Google Cloud Next '26 で各部門の受賞者を発表&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;部門賞を受賞した Jeremiah Somoine 氏と Bryen Param 氏は、ラスベガスで開催される Google Cloud Next 2026 に招待され、より広範なデベロッパー コミュニティと自身の経験や知見を共有しました。受賞者 2 名は、展示会場のデベロッパー シアターでライトニング トークを行い、GDE および認定ラウンジのクリエイター スタジオ ポッドで独占インタビューを受けました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;イベント期間中、Bryen 氏は &lt;/span&gt;&lt;a href="https://devpost.com/software/drone-copilot" rel="noopener" target="_blank"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;drone-copilot&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; の開発における主なインスピレーションについて語りました。プロジェクトの原動力となったのは「モデルが現実世界とやり取りできたらどうなるだろうか？」という疑問だったと説明し、マルチモーダル機能が AI と物理環境のギャップを埋める方法を紹介しました。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/bryen.max-1000x1000.jpg"
        
          alt="bryen"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;現役大学生の Jeremiah 氏は、&lt;/span&gt;&lt;a href="https://devpost.com/software/sankofa-y47f9p" rel="noopener" target="_blank"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;Sankofa&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; の開発プロセスを振り返り、「技術的な制限に対する最善の対応は、創造力だった」と述べています。次世代の AI アプリケーションの構築を目指す他の学生たちへのアドバイスを求められたとき、彼はテクノロジーを実際に体験する機会があれば、すぐに始めることが重要だと強調しました。「学ぶには、実際にやってみるのが一番です」と語り、意欲的なデベロッパーに、とにかく飛び込んで構築を始めてみるよう促しています。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/jeremiah_edited.max-1000x1000.jpg"
        
          alt="jeremiah edited"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;受賞者&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;最優秀賞: &lt;/strong&gt;&lt;a href="https://devpost.com/software/orion-operating-room-intelligent-orchestration-node" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;ORION - Operating Room Intelligent Orchestration Node&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt; 作成者: Aditya Shukla 氏&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ORION（Operating Room Intelligent Orchestration Node）は、音声指示によるロボット手術の支援コパイロットです。外科医は、スクラブを破ることなく、自然に話してすぐに回答を得たり、ディスプレイにライブデータを表示したり、リアルタイムの視覚的支援を受けたりできます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=AnxII9COzjo"
      data-glue-modal-trigger="uni-modal-AnxII9COzjo-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        

        &lt;div class="article-video__aspect-image"
          style="background-image: url(https://storage.googleapis.com/gweb-cloudblog-publish/images/maxresdefault_0lhMev0.max-1000x1000.jpg);"&gt;
          &lt;span class="h-u-visually-hidden"&gt;Orion - 音声指示による手術 AI アシスタント | Gemini Live Agent ハッカソン&lt;/span&gt;
        &lt;/div&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
      &lt;figcaption class="article-video__caption h-c-page"&gt;
        
          &lt;h4 class="h-c-headline h-c-headline--four h-u-font-weight-medium h-u-mt-std"&gt;Orion - 音声指示による手術 AI アシスタント | Gemini Live Agent ハッカソン&lt;/h4&gt;
        
        
          &lt;p&gt;Orion - 音声指示による手術 AI アシスタント | Gemini Live Agent ハッカソン&lt;/p&gt;
        
      &lt;/figcaption&gt;
    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal-AnxII9COzjo-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="AnxII9COzjo"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=AnxII9COzjo"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;hr/&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ライブ対応エージェント部門の受賞者: &lt;/strong&gt;&lt;a href="https://devpost.com/software/drone-copilot" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;drone-copilot&lt;/strong&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt; &lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;作成者: Bryen Param 氏&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ドローン コパイロットは、ユーザーがジョイスティックや複雑なメニューを使用する代わりに、ドローンと自然なリアルタイムの会話ができるようにすることで、ハードウェアの操作方法を変革します。ユーザーは話すだけで、ドローンにナビゲーション、自律的な視覚検査、周囲の状況の説明を指示できます。ドローンはリアルタイムで音声応答し、アクションを確認します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=_FCgmYjGCVs"
      data-glue-modal-trigger="uni-modal-_FCgmYjGCVs-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        

        &lt;div class="article-video__aspect-image"
          style="background-image: url(https://storage.googleapis.com/gweb-cloudblog-publish/images/maxresdefault_C6lpyed.max-1000x1000.jpg);"&gt;
          &lt;span class="h-u-visually-hidden"&gt;ドローン コパイロット: Gemini Live API を使用した音声制御ドローンと自律検査&lt;/span&gt;
        &lt;/div&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
      &lt;figcaption class="article-video__caption h-c-page"&gt;
        
          &lt;h4 class="h-c-headline h-c-headline--four h-u-font-weight-medium h-u-mt-std"&gt;ドローン コパイロット: Gemini Live API を使用した音声制御ドローンと自律検査&lt;/h4&gt;
        
        
          &lt;p&gt;ドローン コパイロット: Gemini Live API を使用した音声制御ドローンと自律検査&lt;/p&gt;
        
      &lt;/figcaption&gt;
    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal-_FCgmYjGCVs-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="_FCgmYjGCVs"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=_FCgmYjGCVs"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;hr/&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;クリエイティブ ストーリーテラー部門の受賞者: &lt;/strong&gt;&lt;a href="https://devpost.com/software/sankofa-y47f9p" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Sankofa&lt;/strong&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt; &lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;作成者: Jeremiah Somoine 氏&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Sankofa は、マルチモーダル AI の「グリオ」（西アフリカの伝統的な語り部）として機能し、断片的な家族の歴史を没入感のある物語に変えます。ユーザーのわずかな詳細情報に基づいて、豊かな音声ナレーション、水彩画の画像、アンビエント サウンドスケープを織り交ぜて歴史物語を紡ぎ出します。ユーザーは、語り部とリアルタイムで音声会話をしながら、自分のルーツをさらに探ることができます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=urV3ckRYRC8"
      data-glue-modal-trigger="uni-modal-urV3ckRYRC8-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        

        &lt;div class="article-video__aspect-image"
          style="background-image: url(https://storage.googleapis.com/gweb-cloudblog-publish/images/maxresdefault-1_1ApjCQc.max-1000x1000.jpg);"&gt;
          &lt;span class="h-u-visually-hidden"&gt;Sankofa デモ動画&lt;/span&gt;
        &lt;/div&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
      &lt;figcaption class="article-video__caption h-c-page"&gt;
        
          &lt;h4 class="h-c-headline h-c-headline--four h-u-font-weight-medium h-u-mt-std"&gt;Sankofa デモ動画&lt;/h4&gt;
        
        
          &lt;p&gt;Sankofa デモ動画&lt;/p&gt;
        
      &lt;/figcaption&gt;
    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal-urV3ckRYRC8-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="urV3ckRYRC8"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=urV3ckRYRC8"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;hr/&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;UI ナビゲーター部門の受賞者: &lt;/strong&gt;&lt;a href="https://devpost.com/software/moonwalk-tojsay" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Moonwalk&lt;/strong&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt; &lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;作成者: Enaiho Uwas Paul 氏、Aman Kumar Sah 氏&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Moonwalk は、会話型のハンズフリー デスクトップ アシスタントです。ユーザーは声だけでコンピュータを直感的に操作し、複雑なタスクを完了できます。個人の好みや過去のやり取りを記憶することで、インテリジェントなコパイロットとして機能し、マウスやキーボードをシームレスに制御して、フライトの予約やスプレッドシートの管理などの日常的なワークフローを実行します。ユーザーはただ座って話すだけです。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=u3QoaT3pIMs"
      data-glue-modal-trigger="uni-modal-u3QoaT3pIMs-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        

        &lt;div class="article-video__aspect-image"
          style="background-image: url(https://storage.googleapis.com/gweb-cloudblog-publish/images/maxresdefault-2_djltYYE.max-1000x1000.jpg);"&gt;
          &lt;span class="h-u-visually-hidden"&gt;Moonwalk のデモ動画 #geminiliveagentchallenge&lt;/span&gt;
        &lt;/div&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
      &lt;figcaption class="article-video__caption h-c-page"&gt;
        
          &lt;h4 class="h-c-headline h-c-headline--four h-u-font-weight-medium h-u-mt-std"&gt;Moonwalk のデモ動画 #geminiliveagentchallenge&lt;/h4&gt;
        
        
          &lt;p&gt;Moonwalk のデモ動画 #geminiliveagentchallenge&lt;/p&gt;
        
      &lt;/figcaption&gt;
    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal-u3QoaT3pIMs-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="u3QoaT3pIMs"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=u3QoaT3pIMs"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;hr/&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;マルチモーダル統合とユーザー エクスペリエンス部門最優秀賞: &lt;/strong&gt;&lt;a href="https://devpost.com/software/wand-a-live-agent-that-sees-browses-and-clicks-with-you" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Wand&lt;/strong&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt; &lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;作成者: David Li 氏&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Wand は、ボイス ファーストのポインタ対応ブラウザ アシスタントです。自然な会話とハンド ジェスチャーを組み合わせて、あらゆるウェブサイトをシームレスに操作できます。画面を指差して「この動画を再生して」や「ここを拡大して」などと話しかけるだけで、このライブ対応エージェントがクリック、検索、コマンドの実行を即座に行うお手伝いをします。マウスやキーボードに触れる必要はありません。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=t9dyesmxlH8"
      data-glue-modal-trigger="uni-modal-t9dyesmxlH8-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        

        &lt;div class="article-video__aspect-image"
          style="background-image: url(https://storage.googleapis.com/gweb-cloudblog-publish/images/maxresdefault-3_EsDTsNv.max-1000x1000.jpg);"&gt;
          &lt;span class="h-u-visually-hidden"&gt;Wand -- ユーザーとともに見て、検索して、クリックするライブ対応エージェント&lt;/span&gt;
        &lt;/div&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
      &lt;figcaption class="article-video__caption h-c-page"&gt;
        
          &lt;h4 class="h-c-headline h-c-headline--four h-u-font-weight-medium h-u-mt-std"&gt;Wand -- ユーザーとともに見て、検索して、クリックするライブ対応エージェント&lt;/h4&gt;
        
        
          &lt;p&gt;Wand -- ユーザーとともに見て、検索して、クリックするライブ対応エージェント&lt;/p&gt;
        
      &lt;/figcaption&gt;
    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal-t9dyesmxlH8-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="t9dyesmxlH8"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=t9dyesmxlH8"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;hr/&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;技術運用とエージェント アーキテクチャ部門の最優秀賞: &lt;/strong&gt;&lt;a href="https://devpost.com/software/johnkeats-ai" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;JohnKeats.AI&lt;/strong&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt; &lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;作成者: Matthew Keats 氏&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;JohnKeats.AI は、ユーザーの言葉に積極的に耳を傾け、解決策を急いで提供することなく、ユーザーの気持ちに寄り添うことを目的としたボイス ファーストの感情コンパニオンです。ピッチ、ペース、トーンなどの微妙な口調を処理することで、ユーザーの感情状態にリアルタイムで自然に反応し、深い思考で感情に寄り添う会話機能を提供します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=zNKhR3e2ym4"
      data-glue-modal-trigger="uni-modal-zNKhR3e2ym4-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        

        &lt;div class="article-video__aspect-image"
          style="background-image: url(https://storage.googleapis.com/gweb-cloudblog-publish/images/maxresdefault-4_DmxDSNY.max-1000x1000.jpg);"&gt;
          &lt;span class="h-u-visually-hidden"&gt;JohnKeats.AI — 黙るべき時を知るために構築された初の AI エージェント&lt;/span&gt;
        &lt;/div&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
      &lt;figcaption class="article-video__caption h-c-page"&gt;
        
          &lt;h4 class="h-c-headline h-c-headline--four h-u-font-weight-medium h-u-mt-std"&gt;JohnKeats.AI — 黙るべき時を知るために構築された初の AI エージェント&lt;/h4&gt;
        
        
          &lt;p&gt;JohnKeats.AI — 黙るべき時を知るために構築された初の AI エージェント&lt;/p&gt;
        
      &lt;/figcaption&gt;
    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal-zNKhR3e2ym4-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="zNKhR3e2ym4"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=zNKhR3e2ym4"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;hr/&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;イノベーションおよびソート リーダーシップ部門の最優秀賞: &lt;/strong&gt;&lt;a href="https://devpost.com/software/rayan-memory" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Rayan Memory&lt;/strong&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt; &lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;作成者: Yusuf Elnady 氏&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Rayan Memory は、日々の学習内容を完全に探索可能な 3D の「記憶の宮殿」に変えることで、忘却という普遍的な問題に取り組んでいます。バックグラウンド エージェントが現実世界の音声を受動的に聞き取り、重要なアイデアを物理的なアーティファクトとして抽出します。ユーザーはテーマ別の仮想ルームを歩き回り、専用の AI コンパニオンと会話することで、正確な記憶を簡単に取り出すことができます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=G05WfE5Zcsg"
      data-glue-modal-trigger="uni-modal-G05WfE5Zcsg-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        

        &lt;div class="article-video__aspect-image"
          style="background-image: url(https://storage.googleapis.com/gweb-cloudblog-publish/images/maxresdefault-5_rlthVRd.max-1000x1000.jpg);"&gt;
          &lt;span class="h-u-visually-hidden"&gt;Rayan - 3D の記憶の宮殿が聞き取り、記憶し、話しかける&lt;/span&gt;
        &lt;/div&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
      &lt;figcaption class="article-video__caption h-c-page"&gt;
        
          &lt;h4 class="h-c-headline h-c-headline--four h-u-font-weight-medium h-u-mt-std"&gt;Rayan - 3D の記憶の宮殿が聞き取り、記憶し、話しかける&lt;/h4&gt;
        
        
          &lt;p&gt;Rayan - 3D の記憶の宮殿が聞き取り、記憶し、話しかける&lt;/p&gt;
        
      &lt;/figcaption&gt;
    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal-G05WfE5Zcsg-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="G05WfE5Zcsg"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=G05WfE5Zcsg"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;hr/&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;特別賞: &lt;/strong&gt;&lt;a href="https://devpost.com/software/nagardrishti" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;NagarDrishti&lt;/strong&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt; &lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;作成者: Nikita Dongre 氏、Omkar Dongre 氏&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;NagarDrishti は、運転中にハンズフリーの音声アシスタントを使用して、市民が安全に道路の穴や冠水を報告できるようにすることで、危険な道路状況に対処します。これらのリアルタイム レポートは、インタラクティブなダッシュボードに即座に表示されます。市の職員は自然言語を使用して、危険な場所を簡単に特定し、重要な修理を管理できます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=Rn7eJxBdWe4"
      data-glue-modal-trigger="uni-modal-Rn7eJxBdWe4-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        

        &lt;div class="article-video__aspect-image"
          style="background-image: url(https://storage.googleapis.com/gweb-cloudblog-publish/images/maxresdefault-6_LY4Wry4.max-1000x1000.jpg);"&gt;
          &lt;span class="h-u-visually-hidden"&gt;NagarDrishti&lt;/span&gt;
        &lt;/div&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal-Rn7eJxBdWe4-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="Rn7eJxBdWe4"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=Rn7eJxBdWe4"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;hr/&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;特別賞: &lt;/strong&gt;&lt;a href="https://geminiliveagentchallenge.devpost.com/submissions/970955-ekaette" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Ekaette&lt;/strong&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt; &lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;作成者: Bassey John 氏&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Ekaette は、通話とテキスト メッセージの両方で動作する会話型のマルチモーダル AI アシスタントを使ってイライラする保留音を置き換えることでカスタマー サービスに革命を起こします。顧客は、通常の電話回線でエージェントと自然に会話しながら、WhatsApp を介してシームレスに写真を共有したり、製品オプションを確認したり、支払いを完了したりできます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=0BeLDppNGks"
      data-glue-modal-trigger="uni-modal-0BeLDppNGks-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        

        &lt;div class="article-video__aspect-image"
          style="background-image: url(https://storage.googleapis.com/gweb-cloudblog-publish/images/maxresdefault-7_WUG5wng.max-1000x1000.jpg);"&gt;
          &lt;span class="h-u-visually-hidden"&gt;Ekaette - マルチモーダル AI 音声およびメッセージング アシスタント&lt;/span&gt;
        &lt;/div&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
      &lt;figcaption class="article-video__caption h-c-page"&gt;
        
          &lt;h4 class="h-c-headline h-c-headline--four h-u-font-weight-medium h-u-mt-std"&gt;Ekaette - マルチモーダル AI 音声およびメッセージング アシスタント&lt;/h4&gt;
        
        
          &lt;p&gt;Ekaette - マルチモーダル AI 音声およびメッセージング アシスタント&lt;/p&gt;
        
      &lt;/figcaption&gt;
    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal-0BeLDppNGks-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="0BeLDppNGks"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=0BeLDppNGks"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;hr/&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;特別賞: &lt;/strong&gt;&lt;a href="https://geminiliveagentchallenge.devpost.com/submissions/949057-vibecat" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;VibeCat&lt;/strong&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt; &lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;作成者: Sejun Kim 氏、Michael Chang 氏&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;VibeCat は、画面を継続的に監視し、コンテキストを理解して、ユーザーが尋ねる前に役立つアクションを提案する、プロアクティブな macOS デスクトップ コンパニオンです。コマンドを待つのではなく、コードの欠落行の修正やターミナル コマンドの実行などを最初に提案し、ユーザーの許可を得てからタスクを完了します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=j1zzfoDr7qA"
      data-glue-modal-trigger="uni-modal-j1zzfoDr7qA-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        

        &lt;div class="article-video__aspect-image"
          style="background-image: url(https://storage.googleapis.com/gweb-cloudblog-publish/images/maxresdefault-8_FyBBOlB.max-1000x1000.jpg);"&gt;
          &lt;span class="h-u-visually-hidden"&gt;vibeCat - プロアクティブなデスクトップ コンパニオン&lt;/span&gt;
        &lt;/div&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
      &lt;figcaption class="article-video__caption h-c-page"&gt;
        
          &lt;h4 class="h-c-headline h-c-headline--four h-u-font-weight-medium h-u-mt-std"&gt;vibeCat - プロアクティブなデスクトップ コンパニオン&lt;/h4&gt;
        
        
          &lt;p&gt;vibeCat - プロアクティブなデスクトップ コンパニオン&lt;/p&gt;
        
      &lt;/figcaption&gt;
    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal-j1zzfoDr7qA-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="j1zzfoDr7qA"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=j1zzfoDr7qA"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;hr/&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;特別賞: &lt;/strong&gt;&lt;a href="https://geminiliveagentchallenge.devpost.com/submissions/945801-call-my-parts" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Call My Parts&lt;/strong&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt; &lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;作成者: Sugam Palav 氏、Nikhil Lohar 氏、Siddhant Panday 氏、Vishal Parekh 氏&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Call My Parts は、中古車部品の調達という面倒で時間のかかるプロセスを自動化します。調査やベンダーへの連絡を代行してくれます。ユーザーは部品のリクエストを話すだけで、AI エージェントが自律的にベンダーのウェブサイトを検索し、サプライヤーに電話して価格と在庫を確認して、最適な選択肢をランク付けして読みやすいダッシュボードにまとめます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=8pcRbVBRMqw"
      data-glue-modal-trigger="uni-modal-8pcRbVBRMqw-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        

        &lt;div class="article-video__aspect-image"
          style="background-image: url(https://storage.googleapis.com/gweb-cloudblog-publish/images/maxresdefault-9.max-1000x1000.jpg);"&gt;
          &lt;span class="h-u-visually-hidden"&gt;Call My Parts AI Tool : ハッカソン Gemini Live 2026&lt;/span&gt;
        &lt;/div&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
      &lt;figcaption class="article-video__caption h-c-page"&gt;
        
          &lt;h4 class="h-c-headline h-c-headline--four h-u-font-weight-medium h-u-mt-std"&gt;Call My Parts AI Tool : ハッカソン Gemini Live 2026&lt;/h4&gt;
        
        
          &lt;p&gt;Call My Parts AI Tool : ハッカソン Gemini Live 2026&lt;/p&gt;
        
      &lt;/figcaption&gt;
    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal-8pcRbVBRMqw-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="8pcRbVBRMqw"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=8pcRbVBRMqw"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;hr/&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;特別賞: &lt;/strong&gt;&lt;a href="https://geminiliveagentchallenge.devpost.com/submissions/967879-relay-real-time-voice-vision-lab-tutor-for-electronics" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Relay&lt;/strong&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt; &lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;作成者: Faith Ogundimu 氏&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Relay は、ウェブカメラを使用して物理電子工学プロジェクトをリアルタイムで監視し、ガイドするインタラクティブな AI ラボ パートナーです。回路の組み立てを手順を追って支援する音声サポート、配線ミスを事前に検出する機能、組み込みの 3D シミュレーション サンドボックスとパーソナライズされたクイズによるスキルの強化機能が用意されています。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=lTwos-2TW_A"
      data-glue-modal-trigger="uni-modal-lTwos-2TW_A-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        

        &lt;div class="article-video__aspect-image"
          style="background-image: url(https://storage.googleapis.com/gweb-cloudblog-publish/images/maxresdefault-10.max-1000x1000.jpg);"&gt;
          &lt;span class="h-u-visually-hidden"&gt;Relay - 電子機器向けのリアルタイム Voice AI および Vision AI チューター | Gemini Live API + Google Cloud&lt;/span&gt;
        &lt;/div&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
      &lt;figcaption class="article-video__caption h-c-page"&gt;
        
          &lt;h4 class="h-c-headline h-c-headline--four h-u-font-weight-medium h-u-mt-std"&gt;Relay - 電子機器向けのリアルタイム Voice AI および Vision AI チューター | Gemini Live API + Google Cloud&lt;/h4&gt;
        
        
          &lt;p&gt;Relay - 電子機器向けのリアルタイム Voice AI および Vision AI チューター | Gemini Live API + Google Cloud&lt;/p&gt;
        
      &lt;/figcaption&gt;
    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal-lTwos-2TW_A-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="lTwos-2TW_A"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=lTwos-2TW_A"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;この流れを推し進めましょう&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;素晴らしいプロジェクトに触発されましたか？Google の最新のプログラムやイベントを通じて、構築を開始し、コミュニティとのつながりを維持しましょう。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://developers.google.com/program/gear?utm_source=cgc-blog&amp;amp;utm_medium=blog&amp;amp;utm_campaign=FY-26-Q2-GEAR-sign-up&amp;amp;utm_content=hackathon-winner-promo&amp;amp;utm_term=-" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini Enterprise Agent Ready（GEAR）&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;にご参加ください。このプログラムは、開発者や意思決定者を支援し、プロダクション レディな AI エージェントを構築、デプロイできるように設計されています&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud Next 2026 の最新情報: Google Cloud Next は大盛況のうちに終了しました。会場にお越しいただけなかった方、あるいはもう一度あの熱気を味わいたい方は、&lt;/span&gt;&lt;a href="https://www.instagram.com/reels/DXxFTSjiTmM/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;SNS&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; と&lt;/span&gt;&lt;a href="https://www.youtube.com/watch?v=N7N0TU9tkzw" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ライブ配信&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;のハイライトをご覧ください。魅力的な開発者の活躍の一部を会場の雰囲気とともにお楽しみいただけます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;新しいツール、プロダクトの最新情報、今後のハッカソンについていち早く知りたい方は、毎週火曜日の&lt;/span&gt;&lt;a href="https://goo.gle/GoogleCloudTech" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ライブ配信&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をお見逃しなく。午前 9 時（太平洋夏時間）/ 正午（東部夏時間）に配信が開始されます。Google Cloud の最新情報をチェックしてください。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;受賞者の皆様、参加者の皆様、本当におめでとうございます。皆様が次にどのようなものを構築されるのか楽しみにしています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Google Cloud、プロダクト マーケティング マネージャー、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Dilasha Panigrahi&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Tue, 02 Jun 2026 02:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/winners-and-highlights-of-the-gemini-live-agent-challenge/</guid><category>AI &amp; Machine Learning</category><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/Landscape_16x9_rxRY4RH.max-600x600.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Gemini Live Agent Challenge: 受賞者とハイライトを発表</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/Landscape_16x9_rxRY4RH.max-600x600.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/winners-and-highlights-of-the-gemini-live-agent-challenge/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Dilasha Panigrahi</name><title>Product Marketing Manager, Google Cloud</title><department></department><company></company></author></item><item><title>Google I/O '26 が Google Cloud でのエージェント開発にもたらすもの</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/io26-news-for-agent-developers-on-google-cloud/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 5 月 20 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/io26-news-for-agent-developers-on-google-cloud?e=48754805&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google I/O では、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Antigravity 2.0&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; と &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Managed Agents API&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; を備えた統合開発ツールキットをご紹介しました。これにより、デベロッパーは共有プロトコル レイヤ上でローカルに構築し、クラウドに安全にデプロイできるようになります。このブログ記事では、Gemini Enterprise Agent Platform と &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/ja/products/ai-machine-learning/innovations-from-google-io-26-on-google-cloud?e=48754805&amp;amp;hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google I/O で発表された新しいデベロッパー ツール&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;の組み合わせ方、構築における選択肢の幅を整理し、実際にまず何から試すのがおすすめかをご紹介します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Vertex AI が Gemini Enterprise Agent Platform に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/ja/products/ai-machine-learning/introducing-gemini-enterprise-agent-platform?e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;進化&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;し、セッション メモリや一元化されたガバナンスなどの新機能により、エージェントの構築、スケーリング、管理、最適化を行うための包括的なプラットフォームとなりました。そして今回、これらの機能をローカルの開発ツールに直接展開します。Google の目標は、高速なプロトタイピングと、安全でコンプライアンスに準拠した企業向けデプロイの間のギャップを埋めることです。そのために、クイック スタート ワークフローか、あるいはスタックの特定のニーズに合わせて本番環境を完全に制御するかを選択できる、モジュール式のアプローチを提供しています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;幅広い選択肢の中で、これらの要素がどのように位置づけられるかを整理すると、次のようになります。&lt;/strong&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;4 つの段階: エージェント構築方法の全体像&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェント開発のエコシステムは、4 段のはしごのようなものだと考えています。これは、すぐに使える構成から完全なコード ファーストの制御まで、ニーズに合わせて調整できるスライダーのように設計されています。これらは意図的に積み上げ式に構成されており、下の段階から素早く始めたとしても、より高度なカスタマイズが可能な上の段階への移行が制限されることはありません。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;4 つの段階すべてを支えているのが &lt;/span&gt;&lt;a href="https://google.github.io/A2A/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;A2A プロトコル&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;です。この相互運用性により、最初の段階で構築されたエージェントを 4 番目の段階でサブエージェントとして呼び出すことができ、アーキテクチャ全体を同じインフラストラクチャ上でシームレスにスケールできます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/blog-ladder-1.max-1000x1000.png"
        
          alt="blog-ladder-1"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;1 段目: Agent Studio（ローコード）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Agent Platform 内のビジュアル ワークスペース。Model Garden でモデルを見つけ、プロンプトをエンジニアリングし、ツールを接続して、コードを記述せずにエージェントをリリースします。ビジネス部門のチームや迅速なプロトタイピングに最適です。ここで構築するエージェントは、その下にあるすべてのものとまったく同じランタイムで実行されます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;2 段目: Managed Agents API&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;I/O で新たに発表された&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt; &lt;/strong&gt;&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/build/managed-agents"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Managed Agents API&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; は、&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;「マシンではなくミッションを管理したい」&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;と考えている技術チームを対象としています。エージェントの動作を定義するだけで、Google Cloud が煩雑な作業を代行するため、管理不要のサービスとしてのエージェント（Agent as a Service）として機能します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Managed Agents API を使用してエージェントを&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;構成&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;し、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Interactions API&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; を使用してエージェントを&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;呼び出し&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;ます。指示、スキル、ツールをパッケージ化して POST すると、Gemini がエージェントを構築して実行します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これをデプロイ可能にしているのは、安全性を重視して設計された &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Google Cloud サンドボックス&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;です。エージェント ハーネスは &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Google&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; のサーバーで実行され、各エージェントには、スキル、Model Context Protocol（MCP）サーバー、サーバーサイド ツールがプロビジョニングされた独自の一時的なサンドボックスがあります。A2A および Agent Platform のガバナンスおよびセキュリティとの完全なインテグレーションは、近日公開予定です。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=eFot-mAWwiw"
      data-glue-modal-trigger="uni-modal-eFot-mAWwiw-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        

        &lt;div class="article-video__aspect-image"
          style="background-image: url(https://storage.googleapis.com/gweb-cloudblog-publish/images/maxresdefault-2_VJ69eVE.max-1000x1000.jpg);"&gt;
          &lt;span class="h-u-visually-hidden"&gt;Agents API over A2A with Gemini Enterprise&lt;/span&gt;
        &lt;/div&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal-eFot-mAWwiw-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="eFot-mAWwiw"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=eFot-mAWwiw"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;3 段目: Antigravity とその仲間たち&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://antigravity.google/blog/introducing-google-antigravity-2-0" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Antigravity&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt; &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;は、コーディング タスクやエージェント オーケストレーションに AI を活用したいと考えているデベロッパー向けの主要なソリューションであり、チームがアプリの構築とデプロイの方法を変革できるようにします。デベロッパー向けのコーディング戦略を、複数のサーフェスで共有されるこの単一の強力なハーネスに統合しました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Gemini モデル ファミリーと相互に最適化されており、高い効率性により開発サイクルを加速し、コストを削減します。Antigravity で開発したスキルは、さまざまなサーフェスでそのまま利用できるように設計されています。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/antigravity_-_3.max-1000x1000.png"
        
          alt="antigravity - 3"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;コーディング ワークフロー内で Google の高度な推論機能を活用し、カスタム開発ループを実装して、アプリケーションの構築、デプロイ、管理の方法を変革したいと考えている開発チームを対象としています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このたび、以下の新しいツールによってこの機能を拡張しました。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Antigravity 2.0:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; コーディング エージェントの操作、カスタマイズ、オーケストレーションを行う一元化されたワークスペースを提供する、新しいスタンドアロンのデスクトップ アプリケーションです。デベロッパーはこれを使用して、コードのリファクタリング、単体テストの生成、仕様に基づく新しいサービス コンポーネントのスキャフォールディングなど、エージェントをオーケストレートする複雑なタスクを管理できます。エージェントは 1 つのプロンプトからサブエージェントを生成でき、マルチエージェント オーケストレーションによりタスクを並行して実行できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Antigravity CLI:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; このツールを使用すると、Antigravity のすべての機能をコマンドラインで利用できます。Antigravity 2.0 と同じハーネス、同じエージェント、同じ品質のインテリジェンスを備え、ターミナルに合わせたプロダクト エクスペリエンスを提供します。速度とオーバーヘッドの削減に最適化されており、ユーザーに合わせて柔軟に変化します。CLI はデスクトップ アプリと緊密に統合されており、認証、コンテキスト、スキル、構成を共有しているため、どちらのインターフェースでも一貫したエクスペリエンスが得られます。独自のランタイムを構築するには、Antigravity SDK を使用します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;エンタープライズ セキュリティとコンプライアンス:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Google Cloud のお客様は、Gemini Enterprise Agent Platform プロジェクトで Antigravity 2.0 と Antigravity CLI を使用できるようになりました。Cloud OAuth でログインし、Agent Platform プロジェクト ID とリージョンを設定するだけです。その結果、すべてのエージェント推論は安全なクラウド境界内の Agent Platform モデルを介して実行され、Google Cloud の標準的なデータ プライバシー保護と利用規約を継承します。これにより、顧客データをお客様自身の管理下に置き、リージョンのモデル エンドポイントを利用できるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/antigravity_-4.max-1000x1000.png"
        
          alt="antigravity -4"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;他のコーディング エージェントの統合&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Antigravity は Google が推奨するエージェント コーディング ソリューションですが、Google Cloud は、お客様が選択したあらゆるコーディング エージェントと連携して機能するように設計されています。Google のプラットフォームはオープンであり、柔軟性を確保するために次のようなツールを用意しています。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Agent CLI&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; と &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Agent Development Kit（ADK）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;を使用すると、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Claude Code&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; などのツールを含むさまざまなソースからエージェントを構築して操作できます。つまり、デベロッパーは多くの場合、基盤となる AI 推論を Google Cloud で実行しながら、使い慣れたインターフェースを使い続けることができます。このアプローチにより、ワークフローにおいて Google Cloud のセキュリティ、コンプライアンス、インフラストラクチャのメリットを確実に享受できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Next でリリースされた Google &lt;/span&gt;&lt;a href="https://github.com/google/skills" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Skills for Google products&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; は、複数のコーディング ツールと互換性を持つように設計されており、一貫した機能セットでさまざまなエージェントを強化できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この柔軟性により、チームは使い慣れたツールやモデルを統合し、確立されたワークフロー内でシームレスかつコンプライアンスに準拠した運用を確保できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;4 段目: Agent Development Kit（ADK 2.0）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;コード ファースト、低い導入障壁（ローフロア）、高い柔軟性（ハイシーリング）。Managed Agents が構成ファーストであるのに対し、ADK は&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;エンジニアリング ファースト&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;です。これは、カスタム エージェント メッシュをゼロから構築したいソフトウェア エンジニア向けのツールです。アーキテクチャやモデルを問わず、制約のない自由な開発が可能です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://adk.dev/" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;ADK&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt; の機能強化が Google Cloud Next で発表され、すべてのお客様にご利用いただけるようになりました。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;ADK には、動的なモデル主導の推論から厳格かつ決定論的なワークフローまでスライダーで調整できる、グラフベースの統合エンジンが導入されています。このフレームワークは、サブエージェント、ツール、データが相互にどのように受け渡されるかを管理し、マルチエージェントの連携という煩雑な作業を処理します。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;コラボレーション ワークフロー（Python v2.0.0）:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 以前はタスクベースのエージェント コラボレーション API と呼ばれていました。これは、自己管理型エージェント チームを構築するための機能です。コーディネーターは、明示的な動作モードを使用してサブエージェントに委任します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;ul&gt;
&lt;li aria-level="2" style="list-style-type: circle; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;チャット: 完全なユーザー インタラクション、親エージェントへの手動での復帰。これは「サブエージェントへの会話の引き渡し」です。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="2" style="list-style-type: circle; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;タスク: ユーザー インタラクションによる明確化、親エージェントへの自動復帰。これは新しい「この課題での共同作業」であり、他の 2 つのオプションの長所を兼ね備えています。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="2" style="list-style-type: circle; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;シングルターン: ユーザー インタラクションなし、並列実行、自動復帰、「ツールとしてのエージェント」。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;動的ワークフロー:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; ADK の動的ワークフローでは、グラフベースのパス構造を脇に置き、選択したプログラミング言語の機能を最大限に活用してワークフローを構築できます。動的ワークフローでは、シンプルなデコレータでワークフローを作成し、ワークフロー ノードを関数として呼び出し、複雑なルーティング ロジックを構築できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;ADK Kotlin（ベータ版）:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;「ADK for Android」。Kotlin のサポートが加わったことで、Python、Go、Java と合わせて対応言語が増え、オンデバイスのモバイル エージェントとバックエンドの Python エージェントをシームレスに連携させることができます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;最後に、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Agents CLI&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; は、ADK、評価、デプロイ、オブザーバビリティ、公開に関する Google のエキスパート スキルをパッケージ化し、あらゆる AI コーディング エージェント（Antigravity、Gemini CLI、Claude Code、Cursor など）を&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;エージェント アプリ構築&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;と&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;エージェント オペレーション&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;のエキスパートに変えます。これにより、AI エージェントに Google Cloud エージェント スタックを理解するスキルが与えられ、広大なエコシステムが、エージェント構築の山登りに挑むデベロッパーにとってシームレスな組み立てラインに変わります。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=GDd-Mhm2gcc"
      data-glue-modal-trigger="uni-modal-GDd-Mhm2gcc-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        

        &lt;div class="article-video__aspect-image"
          style="background-image: url(https://storage.googleapis.com/gweb-cloudblog-publish/images/maxresdefault-3_QY4p08W.max-1000x1000.jpg);"&gt;
          &lt;span class="h-u-visually-hidden"&gt;Agents CLI speedrun&lt;/span&gt;
        &lt;/div&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal-GDd-Mhm2gcc-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="GDd-Mhm2gcc"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=GDd-Mhm2gcc"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;おすすめの開始手順&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;今から始めるなら、次のような順序で取り組むことをおすすめします。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://antigravity.google/blog/introducing-google-antigravity-2-0" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Antigravity 2.0 デスクトップ アプリ&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;から始める:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; インターフェースを確認し、事前構築されたエージェントを追加して操作することで、コア機能を理解します。これにより、API の詳細を掘り下げる前に、より直感的な入り口からプロセスを始めることができます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;メッシュを構築する: &lt;/strong&gt;&lt;a href="https://github.com/google/skills/tree/main/skills/cloud/gemini-agents-api" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agents API スキル&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;と &lt;/span&gt;&lt;a href="https://github.com/google/skills/tree/main/skills/cloud/gemini-interactions-api" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Interactions API スキル&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;で、Managed Agents API を自由に試してみましょう。&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt; &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;ルーティングの決定を明示的に行いたい場合や、複雑なマルチエージェントのオーケストレーションが必要な場合は、ロジックを &lt;/span&gt;&lt;a href="http://adk.dev/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ADK&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; 2.0 に移植しましょう。分岐パスが 3 つ以上になるなら、グラフモデルは学習の苦労に見合うだけの価値が十分にあります。これを実現するために、別々の部分をたくさんつなぎ合わせる必要はありません。&lt;/span&gt;&lt;a href="https://github.com/google/agents-cli" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agents CLI&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; が真価を発揮するのはまさにここです。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;共有ドメイン ロジックの管理と再利用: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;パッケージ化されたドメイン ロジックの再利用を管理、促進する一元化されたカタログである &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/build/skill-registry"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Skill Registry&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;（公開プレビュー版）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;をご覧ください。スキルには、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/build/managed-agents"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Managed Agents API&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、Agent Platform SDK、ADK（SkillToolset 経由）からアクセスできます。Skill Registry はまもなく &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/agent-registry/overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Registry&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; の一部になります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;評価:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Gemini Enterprise Agent Platform の&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/optimize/evaluation/agent-evaluation"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;評価スイート&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を使用して、基本的なテキスト マッチングや感覚的なチェックを超えた評価を行います。合成ユーザー シミュレーションを活用してマルチターン テストシナリオを自動生成し、API 環境を安全にモックしてツールのレジリエンスをストレステストします。最後に、LLM ベースの自動評価モデルとトレース ロギングを利用して、複雑なロジックを評価し、失敗パターンをグループ化して、エージェントを継続的に最適化します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;パイプラインの保護:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/govern/agent-identity-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Identity&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/govern/gateways/agent-gateway-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Gateway&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、Agent Security、Agent Registry などの Gemini Enterprise Agent Platform のガバナンス機能を利用して、デプロイを保護します。CodeMender がリリースされたら、CI / CD に追加しましょう。人間（および AI）のデベロッパーが push するコードをプロアクティブに保護できるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;注: 請求先アカウントを紐付けていない &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/docs/starter-tier"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud のスターター ティア&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt; アカウントでも、この一連のプロセスをすべて実行できます。最初の 2 つのアプリのデプロイは、無料でご利用いただけます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;これからの展開にご期待ください&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントの分野は急速に進化しています。Agent Platform は、安全かつ柔軟性に優れた基盤を提供します。Agent Gateway、ID 管理、Skill Registry などのコア コンポーネントが連携して、エージェントのための堅牢で管理された環境を確保し、ベンダー ロックインなしで柔軟にイノベーションを実現できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;プロジェクトに合った段階を選んでも、チームが好むコーディング エージェントを導入しても、どちらの場合も、最終的に行き着くプラットフォームは同じです。データは常に Cloud プロジェクト内に留まります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この投稿を読んだ後に 1 つだけドキュメントを読むなら、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Platform のドキュメントにあるエージェントの概要&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をおすすめします。興味深いものを作成された際は、ぜひ共有してください。優れた事例は、次回のテンプレートに採用させていただきます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;皆様が構築されるソリューションを楽しみにしております。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud AI、ディレクター、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Addy Osmani&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud、プロダクト マネージャー、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Alan Blount&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Mon, 01 Jun 2026 01:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/io26-news-for-agent-developers-on-google-cloud/</guid><category>AI &amp; Machine Learning</category><category>Developers &amp; Practitioners</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Google I/O '26 が Google Cloud でのエージェント開発にもたらすもの</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/io26-news-for-agent-developers-on-google-cloud/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Addy Osmani</name><title>Director, Google Cloud AI</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Alan Blount</name><title>Product Manager, Google Cloud</title><department></department><company></company></author></item><item><title>Gemini CLI DevOps 拡張機能を使用して、わずか数分でコードをリリース</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/ship-code-within-minutes-with-the-gemini-cli-devops-extension/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 5 月 9 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/ship-code-within-minutes-with-the-gemini-cli-devops-extension?e=48754805&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Antigravity や Claude Code のような AI コーディング ツールを使うと、実用的なウェブアプリを記録的な速さで構築できます。しかし、デプロイとなると話は別です。これまでの私なら、Dockerfile、IAM バインディング、YAML の設定に午後の残りの時間をすべて費やしていたでしょう。結局は、多くの開発者と同じ近道、つまり、デプロイしないことを選択したはずです。アプリは私のノートパソコンに残り続け、私の仕事がリリースされることはないでしょう。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これは、&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/ja/products/application-development/transform-your-developer-experience-with-google-cloud?e=48754805&amp;amp;hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;インナーループ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（コードの記述やテストといった高速なローカル サイクル）と&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/ja/products/application-development/richard-seroter-on-shifting-down-vs-shifting-left?e=48754805&amp;amp;hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;アウターループ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（コンテナ化、CI / CD パイプライン、本番環境インフラストラクチャ）の間にある典型的な緊張関係です。ほとんどの開発者はどちらか一方では生産性を発揮しますが、もう一方では発揮できません。このギャップがプロジェクトの停滞につながります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/gemini-cli-extensions/cicd" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;CI / CD 用の Gemini CLI 拡張機能&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;は、このギャップを埋めます。単一のターミナル インターフェースから、迅速なデプロイと完全なパイプライン生成の両方を処理できます。その方法をご紹介しましょう。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;Cosmic Guestbook アプリを構築する&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このワークフローを実演するには、アプリが必要です。空のディレクトリから開始して、エージェントを使用し、&lt;/span&gt;&lt;a href="https://github.com/kweinmeister/cosmic-guestbook" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cosmic Guestbook&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; というまったく新しいプロジェクトを「バイブ コーディング」しましょう。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;フルスタック アーキテクチャ（React フロントエンドと Node.js Express バックエンド API）を構築します。これを手動でスキャフォールディングする代わりに、アプリをすぐに作成するようエージェントに依頼します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;&amp;quot;Build a \&amp;#x27;Cosmic Guestbook\&amp;#x27; web app. I need a dynamic Node.js Express backend and a React frontend utilizing Vite. Make the frontend look like a beautiful, glassmorphic sci-fi interface.&amp;quot;（「Cosmic Guestbook」というウェブアプリを構築して。動的な Node.js Express バックエンドと、Vite を利用した React フロントエンドが必要。フロントエンドは、美しいグラスモーフィズムの SF 風インターフェースにして。）&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddb598a90&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントはすぐに、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;server.js&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を含む &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;backend/&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ディレクトリと、完全にスタイル設定された React アプリを含む &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;frontend/&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ディレクトリをスキャフォールディングします。これで、ノートパソコン上で動作する 2 層構造のウェブアプリが完成しました。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/guest_book.max-1000x1000.png"
        
          alt="guest_book"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;拡張機能をインストールする&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;しかし、ノートパソコン上のコードはリリースされません。このゲストブックをオンラインにするには、選択した環境に CI / CD 拡張機能を導入する必要があります。どのような設定であっても、まず &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/sdk/docs/install-sdk"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;gcloud CLI&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; がインストールされていることを確認し、アプリケーションのデフォルト認証情報を使用して認証します（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;gcloud auth application-default login&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;次に、使用する開発環境に拡張機能をインストールします。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Gemini CLI の場合&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ターミナルで次のコマンドを直接実行します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;gemini extensions install https://github.com/gemini-cli-extensions/cicd&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddb5988b0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Claude Code の場合&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;マーケットプレイスを追加し、ターミナルからプラグインを直接インストールします。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;# 1. Marketplace を追加する\r\nclaude plugin marketplace add https://github.com/gemini-cli-extensions/cicd.git\r\n\r\n# 2. プラグインをインストールする\r\nclaude plugin install cicd&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddb598640&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Antigravity、および npx skills でサポートされているエージェントの場合&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;拡張機能の MCP サーバーをカスタム MCP として有効にし、スキルをワークスペースに追加します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;# スキルを追加する\r\nnpx skills add https://github.com/gemini-cli-extensions/cicd --global --all --agent antigravity&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddb598340&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;仕組み&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;CI / CD 拡張機能は、これらすべてのエージェント環境で、インテントを安全かつプロダクション レディなインフラストラクチャに変換するよう設計された、強力な 3 層構造システムです。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;スキル&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;google-cicd-deploy&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; や &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;google-cicd-pipeline-design&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; などの専門的な AI スキルが拡張機能内で定義されています。これらは、AI エージェント（Gemini CLI、Claude Code、Antigravity）に思考方法を指示し、コードの分析、適切な質問、適切なエラー処理を支援します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;CI / CD MCP サーバー&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: バックグラウンドでは、Go ベースの専用 &lt;/span&gt;&lt;a href="https://modelcontextprotocol.io/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Model Context Protocol（MCP）&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;サーバーが実行されています。このサーバーは、シークレットのスキャンから Cloud Run サービスのプロビジョニングまで、エージェントが Google Cloud を実際に操作するために必要な一連のツールを提供します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;ローカル ナレッジベース&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 最も正確な回答ができるよう、システムには、検証済みのアーキテクチャ パターンを格納した、事前インデックス化済みの検索拡張生成（RAG）データベースが含まれています。これにより、エージェントは信頼できる情報源に基づいて設計上の判断を下すことができます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;選択した AI アシスタントが、これらのツールとパターンをオーケストレートし、一貫性のあるデプロイ ライフサイクルを実現します。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;インナーループ&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;プロトタイプを構築したり、新機能をテストしたりする場合、大規模なマルチ環境 CI / CD パイプラインは必要ありません。必要なのは、Webhook をテストしたり、関係者にデモを見せたりするための公開 URL だけです。これがインナーループです。インナーループは高速である必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;従来のアプローチでは、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;Dockerfile&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を手動で記述し、コンテナ レジストリを使って認証を行い、イメージをビルドして push し、最後にデプロイします。CI / CD 拡張機能を使用すると、これが単一の自然言語プロンプト（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;gemini "Deploy this application to Google Cloud using the google-cicd-deploy skill"&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;（google-cicd-deploy スキルを使用して、このアプリケーションを Google Cloud にデプロイして））に変わります。Claude Code を使用している場合は、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;claude -p "Deploy this application..."&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を使用してまったく同じようにプロンプトを入力できます。Antigravity では、デプロイ リクエストを入力するだけです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このプロンプトを実行すると、AI エージェントがローカルのワークスペースを分析して、最適なデプロイ方法を判断します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 1: デプロイ前のセキュリティ スキャン&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;シークレットの漏洩は、ソフトウェアにおいて最も一般的でコストのかかるセキュリティ障害の一つです。GitGuardian の &lt;/span&gt;&lt;a href="https://www.gitguardian.com/state-of-secrets-sprawl-report-2025" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;The State of Secrets Sprawl 2025&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; レポートによると、1 年間で 2,380 万件の新しい認証情報が公開 GitHub 上にさらされ、2022 年に漏洩したシークレットの 70% が現在もなお有効であることが判明しています。ローカルテスト中にハードコードしたデータベース パスワードを削除し忘れたまま push してしまうなど、このような事態はあっという間に生じます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この拡張機能は、問題になる前にこれを検出します。コードがマシンから送信される前に、ワークスペース全体に対してシークレット チェックが実行されます。ソース内に Stripe API キーやデータベース認証情報が見つかった場合、エージェントはデプロイを停止して警告を表示します。シークレットが誤ってクラウドに送信されることはありません。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ローカルホストで開発中にデータベース パスワードや Stripe API キーを誤って commit してしまっても、アシスタントがそれを検知してデプロイを阻止します。これこそが、実際の真の&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/application-development/richard-seroter-on-shifting-down-vs-shifting-left"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;シフトレフト&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; セキュリティです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 2: アプリケーションの分析とコンテナ化&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;次に、エージェントは &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;package.json&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; または &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;go.mod&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; をチェックして、使用しているフレームワークを判別し、&lt;/span&gt;&lt;a href="https://cloud.google.com/storage"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud Storage&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（静的サイトの場合）と &lt;/span&gt;&lt;a href="https://cloud.google.com/run"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Run&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（動的サービスの場合）のどちらを使用するかを自動的に決定します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Dockerfile がない動的サービスを構築する場合、拡張機能は &lt;/span&gt;&lt;a href="https://cloud.google.com/docs/buildpacks/overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud の Buildpack&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を利用して、その場でコンテナ化します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 3: 明確化とデプロイ&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;会話エージェントは、求められているアプリの構成をやみくもに推測するわけではありません。Google Cloud 環境に変更を加える前に、アシスタントはフローを一時停止し、分析中に判明した内容に基づいて優先順位付けの質問をします。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Cosmic Guestbook では、サービスを公開するかどうかやリージョンを指定しませんでした。アシスタントは一時停止し、その点について尋ねてきました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;「分析を完了し、Cloud Run への統合デプロイに向けてアプリケーションの準備を整えました。Node.js Buildpack では単一のエントリ ポイントが必要であるため、React フロントエンドを構築し、Express バックエンドがそれを静的に提供できるようにするカスタム ビルド スクリプトを含むルート &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;package.json&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を作成しました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;また、シークレット スキャンも正常に完了しました。機密性の高い認証情報は検出されませんでした。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud Run のソース デプロイ オプション（Buildpack）を使用してデプロイする前に、デプロイ パラメータをいくつか明確にする必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;リージョン / ロケーション:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; gcloud のデフォルト設定ではロケーションが指定されません。どの Google Cloud リージョン（例: &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;us-central1&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;europe-west1&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）にデプロイしますか？&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;アクセス:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; このアプリケーションは一般公開しますか、それとも非公開にしますか？&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;サービス名:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;cosmic-guestbook&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; というサービス名にすることを提案します。いかがでしょうか？」&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このように会話が一時停止することで、高速なインナーループであっても、クラウド アーキテクチャを完全に制御し続けることができます。詳細を確認した後、エージェントはコードをライブ環境に push し、公開 URL を返します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;# 最終的な出力:\r\nYour application is now live and publicly accessible at the following URL:\r\nhttps://cosmic-guestbook-xxxxxxxx-uc.a.run.app&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddb598e20&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;バックグラウンドでは、デプロイは &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;cloudrun.deploy_to_cloud_run_from_source&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を使用して自動的に処理されます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;アウターループ&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;火曜日の午後にプロトタイプを作成するなら、おおざっぱなデプロイ プロンプトで十分ですが、ノートパソコンから本番環境システムを運用することはできません。最終的には、自動テスト、ソース管理の統合、正式な継続的デプロイといったアウターループの厳格さが必要となります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;cloudbuild.yaml&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ファイルの作成や、必要なインフラストラクチャ（&lt;/span&gt;&lt;a href="https://cloud.google.com/artifact-registry"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Artifact Registry&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; リポジトリや &lt;/span&gt;&lt;a href="https://cloud.google.com/developer-connect/docs/overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Developer Connect&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を介した GitHub 接続など）のプロビジョニングは、非常に面倒でエラーが発生しやすい作業として知られています。&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;google-cicd-pipeline-design&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; スキルを使用すると、AI エージェントがパーソナル プラットフォーム エンジニアリング コンサルタントとして機能します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;YAML をゼロから記述する代わりに、会話をします。エージェントは、テスト戦略とデプロイ先について質問し、必要な Google Cloud インフラストラクチャを自律的にプロビジョニングします。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 1: アーキテクチャの設計とフィードバック&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このプロセスは、会話型インターフェースで直接開始します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;# エージェントにプロンプトを入力し、設計プロセスを開始する\r\ngemini &amp;quot;Design a CI/CD pipeline using the google-cicd-pipeline-design skill&amp;quot;\r\n# または\r\nclaude -p &amp;quot;Design a CI/CD pipeline using the google-cicd-pipeline-design skill&amp;quot;&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddb598550&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;アシスタントはブラック ボックスの中で動作しているわけではありません。ナレッジベースから一般的な CI / CD パターンを取得し、最も関連性の高いナレッジに基づいて、確認用の具体的なプランを YAML で提案します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 2: インフラストラクチャのプロビジョニング&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;プランを承認すると、アシスタントは必要なインフラストラクチャの手順を順番に実行します。たとえば、まずコンテナのレジストリを作成します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;// レジストリをプロビジョニングする MCP 呼び出しの例\r\n{\r\n &amp;quot;name&amp;quot;: &amp;quot;create_artifact_repository&amp;quot;,\r\n &amp;quot;arguments&amp;quot;: {\r\n   &amp;quot;repository_id&amp;quot;: &amp;quot;demo-app-repo&amp;quot;,\r\n   &amp;quot;location&amp;quot;: &amp;quot;us-central1&amp;quot;,\r\n   &amp;quot;format&amp;quot;: &amp;quot;DOCKER&amp;quot;\r\n }\r\n}&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddb598520&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;その後、&lt;/span&gt;&lt;a href="https://cloud.google.com/build"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Build&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; がソースコードを読み取れるよう、Git 接続を設定する場合もあります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 3: パイプラインの生成とトリガー&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;最後に、エージェントはパイプライン ステージ（テスト、構築、デプロイ）を定義する実際の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;cloudbuild.yaml&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ファイルを生成します。以下は、リポジトリから生成された構成のスニペットです。初期ビルドステップが強調表示されています。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;steps:\r\n # ステップ 1: ツール（linter など）をインストールし、キャッシュをクリアする\r\n - name: \&amp;#x27;golang:1.24\&amp;#x27;\r\n   id: \&amp;#x27;Install Tools\&amp;#x27;\r\n   entrypoint: \&amp;#x27;sh\&amp;#x27;\r\n   args:\r\n     - \&amp;#x27;-c\&amp;#x27;\r\n     - |\r\n       set -e\r\n       export PATH=/workspace/bin:$$PATH\r\n       echo &amp;quot;Installing golangci-lint...&amp;quot;\r\n       go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.64.8\r\n       echo &amp;quot;Cleaning module cache...&amp;quot;\r\n       go clean -modcache\r\n   env:\r\n     - \&amp;#x27;GOPATH=/workspace\&amp;#x27;\r\n   dir: \&amp;#x27;devops-mcp-server\&amp;#x27;&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddb598d00&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;パイプラインを定義したら、それを自動的に実行する方法が必要です。エージェントは、&lt;/span&gt;&lt;a href="https://cloud.google.com/build/docs/automating-builds/create-manage-triggers"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Build トリガー&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を作成して処理を終えます。このトリガーは GitHub リポジトリと Cloud Build を結び付ける役割を果たし、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;main&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ブランチへの push が行われるたびに &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;cloudbuild.yaml&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; のステップが自動的に実行されるようにします。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;// トリガーを設定する MCP 呼び出しの例\r\n{\r\n &amp;quot;name&amp;quot;: &amp;quot;create_build_trigger&amp;quot;,\r\n &amp;quot;arguments&amp;quot;: {\r\n   &amp;quot;trigger_name&amp;quot;: &amp;quot;main-branch-deploy&amp;quot;,\r\n   &amp;quot;filename&amp;quot;: &amp;quot;cloudbuild.yaml&amp;quot;,\r\n   &amp;quot;branch_pattern&amp;quot;: &amp;quot;^main$&amp;quot;\r\n }\r\n}&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f9ddb5983d0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;セキュリティと管理&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AI を活用したインフラストラクチャ生成は素晴らしいことに思えますが、安全かどうか疑問に思うのはしごく当然です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この拡張機能は、ローカル &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/docs/authentication/application-default-credentials"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;アプリケーションのデフォルト認証情報（ADC）&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;の権限の範囲内で厳密に動作します。ユーザーができないことは、エージェントもできません。&lt;/span&gt;&lt;a href="https://modelcontextprotocol.io/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Model Context Protocol（MCP）&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を使用しているため、Artifact Registry の作成から Cloud Build トリガーの変更まで、エージェントが行うすべてのアクションは、厳密に型指定された検証可能なツールを介して実行されます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;提案されたパイプラインのステップが気に入らない場合は、エージェントに変更を指示します。インフラストラクチャの「編集長」は常にあなたです。ローカルの ADC と、生成されたパイプラインで使用するサービス アカウントの両方で、&lt;/span&gt;&lt;a href="https://en.wikipedia.org/wiki/Principle_of_least_privilege" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;最小権限の原則&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を遵守することを強くおすすめします。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;開発と運用の融合&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;コードを書きたいという思いとコードをリリースしなければならないという現実の間の葛藤が、ついに解消されつつあります。アプリをインターネット上に公開するには、YAML 形式に関する深い専門知識が不可欠だった時代は過ぎ去りました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;会話型 AI は、おおざっぱなインナーループと自動化されたアウターループの両方のボイラープレートを処理することで、開発者が本当に重要なビジネス ロジックに集中できるようにします。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;次のステップ&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この融合を実際に体験してみたい方は、以下の手順に沿って進めてください。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;ツールを入手する&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: &lt;/span&gt;&lt;a href="https://github.com/gemini-cli-extensions/cicd" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini CLI 用の CI / CD 拡張機能&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をインストールします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;インナーループをデプロイする&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 既存のサイド プロジェクトを使用（または、選択したエージェントに &lt;/span&gt;&lt;a href="https://github.com/kweinmeister/cosmic-guestbook" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cosmic Guestbook&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; のような新しいプロジェクトのスキャフォールディングを依頼）し、Google Cloud にデプロイするようプロンプトを入力すると、Cloud Run または Cloud Storage で即座に動作を確認できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;アウターループを自動化する&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 本番環境に移行する準備ができているリポジトリに対して設計コマンドを実行し、エージェントが &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;cloudbuild.yaml&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を生成してインフラストラクチャをプロビジョニングする様子を確認します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;構成ファイルとの格闘はやめて、リリースを始めましょう。皆様が何を構築したのか、&lt;/span&gt;&lt;a href="https://www.linkedin.com/in/karlweinmeister/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;LinkedIn&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://x.com/kweinmeister" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;X&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://bsky.app/profile/kweinmeister.bsky.social" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Bluesky&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; でぜひ教えてください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;- デベロッパーリレーションズ担当ディレクター、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Karl Weinmeister&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Tue, 19 May 2026 02:30:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/ship-code-within-minutes-with-the-gemini-cli-devops-extension/</guid><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/gemini_cli_devops_final.max-600x600.jpg" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Gemini CLI DevOps 拡張機能を使用して、わずか数分でコードをリリース</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/gemini_cli_devops_final.max-600x600.jpg</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/ship-code-within-minutes-with-the-gemini-cli-devops-extension/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Karl Weinmeister</name><title>Director, Developer Relations</title><department></department><company></company></author></item></channel></rss>