<?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>Mon, 27 Apr 2026 01:36:10 +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>エージェントを強化する: Google 公式 Skills リポジトリを発表</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/level-up-your-agents-announcing-googles-official-skills-repository/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 4 月 23 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/level-up-your-agents-announcing-googles-official-skills-repository?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 モデルの性能向上に伴い、Firebase や Gemini API、BigQuery、GKE などの Google Cloud プロダクトを活用した開発にエージェント型 AI ツールを取り入れる技術者が増えています。では、こうしたテクノロジーに関する&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;a href="https://developers.google.com/knowledge/mcp" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google は、デベロッパー向けドキュメント用の Model Context Protocol（MCP）サーバーを提供しています&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;。ただし、MCP サーバーを過度に利用すると、「コンテキストの肥大化」と呼ばれる問題が生じることがあります。大量のコンテキストがコンテキスト ウィンドウに読み込まれることで、モデルが混乱し、トークンコストもかさんでしまうのです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;そこで必要になるのが、エージェントに追加の、しかも凝縮された専門知識を持たせる仕組みです。それを実現するのが &lt;/span&gt;&lt;a href="https://agentskills.io/home" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Skills&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（エージェント スキル）です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://agentskills.io/home" 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;とは、「エージェントに新たな機能と専門知識を与えるための、シンプルでオープンな形式」です。特定のテクノロジーやタスクについて、エージェント向けに最適化された簡潔なドキュメントだと考えると分かりやすいでしょう。スキルは Markdown で記述され、参照ファイル、コード スニペット、そのほかのアセットを含めることができます。エージェントは&lt;/span&gt;&lt;a href="https://agentskills.io/what-are-skills#how-skills-work" 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;a href="https://www.googlecloudevents.com/next-vegas/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud Next 2026&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; の初日に、Google 公式の Agent Skills リポジトリの公開を発表いたしました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/google/skills" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;github.com/google/skills&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このリポジトリは、Google Cloud テクノロジーに特化した 13 のスキルからスタートします。&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;対応プロダクト: AlloyDB、BigQuery、Cloud Run、Cloud SQL、Firebase、Gemini API、Google Kubernetes Engine（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;a href="https://docs.cloud.google.com/architecture/framework"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Well-Architected の柱&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;うち 3 つに対応したスキル: セキュリティ、信頼性、コスト最適化&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 のオンボーディング、認証、ネットワーク オブザーバビリティ向けの「レシピ」スキル&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/image_1_BwwkF6A.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;p&gt;&lt;code style="vertical-align: baseline;"&gt;npx skills install&lt;/code&gt;&lt;a href="http://github.com/google/skills" rel="noopener" target="_blank"&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;code style="text-decoration: underline; vertical-align: baseline;"&gt;github.com/google/skills&lt;/code&gt;&lt;/a&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&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://geminicli.com/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini CLI&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/agent_skills-2.max-1000x1000.png"
        
          alt="agent_skills-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;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;Google Cloud、シニア スタッフ デベロッパー アドボケイト&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt; Megan O'Keefe&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Mon, 27 Apr 2026 02:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/level-up-your-agents-announcing-googles-official-skills-repository/</guid><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/Agent_Skills_Blog_-_Hero.max-600x600.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>エージェントを強化する: Google 公式 Skills リポジトリを発表</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/Agent_Skills_Blog_-_Hero.max-600x600.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/level-up-your-agents-announcing-googles-official-skills-repository/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Megan O'Keefe</name><title>Senior Staff Developer Advocate</title><department></department><company></company></author></item><item><title>次世代のエージェントを推進する Gemini Enterprise Agent Platform を発表</title><link>https://cloud.google.com/blog/ja/products/ai-machine-learning/introducing-gemini-enterprise-agent-platform/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 4 月 22 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/ai-machine-learning/introducing-gemini-enterprise-agent-platform?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 の黎明期において、安全で信頼性の高いビジネス ツールを構築するには、膨大なエンジニアリング リソースと、試行錯誤に対する高い許容度が必要でした。私たちは、AI 開発プラットフォームである &lt;/span&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Vertex AI&lt;/span&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;AI エージェントがチームの一員として独立性と信頼性を持って行動できる真の自律的エンタープライズへと進化するためには、信頼性を維持できる強固な基盤が必要です。&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;：本日、AI エージェントの構築、スケーリング、ガバナンス、最適化を支援する、新しい包括的なプラットフォーム &lt;/span&gt;&lt;a href="https://console.cloud.google.com/agent-platform/overview"&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; を発表します。本プラットフォームは、Vertex AI の進化形であり、多くのお客様から高く評価されているモデルの選択、構築、エージェントの構築機能に加え、エージェントの統合、DevOps、オーケストレーション、セキュリティに関する新機能を統合しています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Gemini Enterprise Agent Platform は、技術チームが製品、サービス、運用を変革する AI エージェントを構築するためのワンストップの拠点となります。これらのエージェントは、&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/ai-machine-learning/whats-new-in-gemini-enterprise"&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;を通じて従業員にシームレスに提供され、IT 運用と緊密に統合することで、拡張する際にも、制御、ガバナンス、セキュリティの確保を支援します。 &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このプラットフォームは Model Garden を通じて、200 以上の主要なモデルへのアクセスを提供します。&lt;/span&gt;&lt;a href="https://deepmind.google/models/gemini/pro/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini 3.1 Pro&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://deepmind.google/models/gemini-image/flash/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini 3.1 Flash Image&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://deepmind.google/models/lyria/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Lyria 3&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を含む最新のファーストパーティ製モデルに加え、&lt;/span&gt;&lt;a href="https://deepmind.google/models/gemma/gemma-4/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gemma 4&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; などのオープンモデル、また、Anthropic の Claude Opus、Sonnet、Haiku といったサードパーティ製モデルもサポートしており、お客様は業務要件に合わせて最適なモデルを柔軟に選択できます。&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;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Gemini Enterprise Agent Platform がビジネスにもたらす価値&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;：Gemini Enterprise Agent Platform は、個々の 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;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;Agent Studio&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;のコードファーストのロジックまで、業務に最適な環境を選択できます。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;：再設計された &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Agent Runtime&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; により、本番環境への円滑なデプロイを実現します。数日間にわたって状態を維持する長時間実行型のエージェントをサポートし、永続的かつ長期的なコンテキストを保持する &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Memory Bank&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;Agent Identity、Agent Registry、Agent Gateway&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; により、一元的な管理体制を確立します。これらの機能により、Gemini Enterprise Agent Platform 上で構築されたエージェントから、パートナー エコシステムのエージェントまで、すべてのエージェントが追跡可能な ID を持ち、エンタープライズ グレードのガードレール内で動作することを支援します。&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;Agent Simulation、Agent Evaluation、Agent Observability&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/1_0_gemini_enterprise_agent_platform.max-1000x1000.jpg"
        
          alt="1 gemini enterprise agent platform"&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;Gemini Enterprise Agent Platform を使い始めましょう&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;：Google Cloud コンソールの &lt;/span&gt;&lt;a href="https://console.cloud.google.com/agent-platform/overview"&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; にアクセスして、新機能をお試しいただき、今すぐ構築を開始できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;最新リリースの詳細や、Gemini Enterprise Agent Platform があらゆる段階で信頼できる本番環境対応エージェントの実現をどのように支援するかについては、以下をご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;お客様が Gemini Enterprise Agent Platform で実現していること&lt;/strong&gt;&lt;/h3&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_gemini_enterprise_agent_platform.max-1000x1000.jpg"
        
          alt="2- GEAP Logo Wall"&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;「Burns &amp;amp; McDonnell では Gemini Enterprise Agent Platform を使用し、組織の知識を企業全体に適用する方法を変革しています。ADK を活用することで、数十年にわたるプロジェクト データをリアルタイムで実用的な インテリジェンス に変換する AI エージェントを構築しています。Gemini Enterprise Agent Platform は、確定的なビジネス ルールと確率的な推論を組み合わせることで、このイノベーションを責任ある形でスケーリングできます。これにより、AI は単なる生産性向上ツールではなく、信頼できる運用機能となります。Gemini Enterprise Agent Platform により、私たちは単に知識を管理するのではなく、経験を活性化させることで、より迅速で自信を持った意思決定を推進しています。」&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Burns &amp;amp; McDonnell、チーフ イノベーション オフィサー、Matt Olson 氏&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;「Color Health では、エンドツーエンドのケアを提供する Virtual Cancer Clinic を Gemini Enterprise Agent Platform で強化しています。Color Assistant を Agent Development Kit（ADK）で構築し、Agent Runtime を介してスケーリングすることで、より多くの女性が乳がん検診を受けられるよう支援しています。Color Assistant は、ユーザーに検診の適格性を確認するよう促し、臨床医に繋ぎ、予約をサポートします。このエージェントの強みはそのスケーラビリティにあり、より多くの人々にリーチし、個々のリスクや適格性にリアルタイムで対応することを可能にします。」&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Color、AI プラットフォーム 責任者、PhD.、Jayodita Sanghvi 氏&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;「Comcast の Xfinity Assistant を Agent Development Kit（ADK）で再構築したことで、単純なスクリプト型の自動化を超え、パーソナライズされたトラブルシューティングやセルフサービス サポートを顧客に提供する、対話型の生成インテリジェンスへと進化しました。Agent Runtime は Gemini を介した安全でグラウンディングされたやり取りを確実にしつつ、デジタル コンテインメントを向上させる高度なマルチエージェント アーキテクチャの展開を加速しています。私たちは、顧客の問題を初回で解決して再度の問い合わせを減らすだけでなく、顧客体験を大規模に再定義しています。」&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Comcast、コネクティビティ ＆ プラットフォーム 、チーフ テクニカル オフィサー、Rick Rioboli 氏&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;「Geotab では、AI Agent Center of Excellence の急速な加速に Gemini Enterprise Agent Platform を活用しています。Google の Agent Development Kit（ADK）は、単一のガバナンスされた本番環境への経路のもとで、さまざまなフレームワークを運用できる柔軟性を提供します。同時に、構築、テスト、デプロイのサイクルを大幅に短縮する卓越した開発者体験を提供しています。Geotab にとって ADK は、エージェンティック AI ソリューションを企業全体で迅速かつ安全に拡張するための基盤です。」&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Geotab、データ ＆ アナリティクス 担当副社長、Mike Branch 氏&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;「ぐるなびでは Gemini Enterprise Agent Platform を活用し、AI 飲食店探索アプリ『UMAME!』を開発しており、ユーザーのコンテキストを深く理解するために Memory Bank を活用しています。従来のプロンプト ベースのシステムとは異なり、エージェントはユーザーの過去の行動や好みを記憶し、最適な選択肢を積極的に提示します。これにより手動検索の手間が不要となり、ユーザー満足度を 30% 以上向上させるシームレスな体験を生み出します。私たちは、このメモリ機能が新しい食体験の未来にとって不可欠な機能であると考えています。」&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;株式会社ぐるなび、CTO、岩本 俊明 氏&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;「L'Oréal において Beauty Tech は単なるサポート機能ではなく、世界を動かす美を創造するための強力な原動力です。この目標を実現するため、L'Oréal は Google Cloud を基盤とした独自の Beauty Tech Agentic Platform を構築しています。Agent Development Kit（ADK）を活用し、決定論的なワークフローの自動化から、自律的な成果志向のエージェント運用への根本的な転換を推進しています。エージェントは、孤立した存在ではなく、Model Context Protocol（MCP）を通じて Beauty Tech Data Platform や主要な業務アプリケーションを含む、信頼できる企業の実体に安全に接続されています。Google Cloud は、人間による監視を中心に据えながら、このプラットフォームをグローバルに拡張するために必要なレジリエンス、マルチ LLM の柔軟性、エンタープライズ グレードの信頼フレームワークを提供してくれます。」&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;L'Oréal、グループ CIO、Etienne BERTIN 氏&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;「Payhawk では、Gemini Enterprise Agent Platform を使用して AI エージェントを単純なタスク実行者から真の財務アシスタントへと変革しています。Memory Bank を活用することで、ステートレスな対話から長期的なコンテキストの保持へと移行しました。私たちのエージェントは専任のチーム メンバーのように、ユーザー固有の制約や履歴を自律的に記憶します。例えば、Financial Controller Agent はユーザーの習慣を記憶して経費を自動提出するため、提出までにかかる時間を 50% 以上削減しています。この変化により、エージェントはプロンプトに反応するだけでなく、過去の行動に基づいてニーズを予測できるようになります。」&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Payhawk、プリンシパル アプライド AI エンジニア、Diyan Bogdanov 氏&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;「PayPal では、Gemini Enterprise Agent Platform を使用してエージェントを迅速に構築し、本番環境にデプロイしています。具体的には、Agent Development Kit（ADK）と視覚的なツールを使用してエージェントの相互作用を検査し、マルチエージェント ワークフローを管理しています。これにより、インテントと支払い権限のフローの段階的な可視性が得られます。Gemini Enterprise Agent Platform 上の Agent Payment Protocol（AP2）は、信頼できるエージェント決済のための重要な基盤となり、私たちのエコシステムが安全なエージェント ベースのコマース体験を迅速に提供できるよう支援します。」&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;PayPal、AI プリンシパル エンジニア、Nitin Sharma 氏&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;AI エージェントの構築&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;開発者からビジネス ユーザー、さらにはその中間に位置するあらゆるユーザーが、AI エージェントを大規模に構築し、デプロイできるよう支援することで、迅速かつ容易な AI エージェント作成を支援します。&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;ADK の大幅なアップグレード&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;：Gemini モデルでは、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/build/adk"&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; を通じて毎月 6 兆以上のトークンが処理されています。エージェントをサブエージェントのネットワークとして組織化することで、より高度な推論機能を実現します。この新しいグラフベースのフレームワークにより、エージェントが連携して複雑な問題を解決するための、明確で信頼性の高いロジックを定義できます。&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;：コアシステムから分離され、bash コマンドの実行やファイルの安全な管理を許可する、強化されたサンドボックス環境をエージェントに提供します。&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;strong style="vertical-align: baseline;"&gt;あらゆるシステムへの安全なアクセス&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;：Native Ecosystem Integrations によるプラグ アンド プレイ アーキテクチャを使用し、カスタム コーディングなしでエージェントを社内データやツールに接続します。 &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;：バッチ ＆ イベント駆動型エージェントにより、BigQuery や Pub/Sub のデータを活性化させます。これにより、コンテンツ評価やデータ分析などの大規模な非同期タスクをバックグラウンドで実行できます。 &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;strong style="vertical-align: baseline;"&gt;AI ドリブン開発の実現&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;：エージェントが 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;Agent Studio で直接エージェント構築が可能に&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/agent-studio"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Studio&lt;/span&gt;&lt;/a&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;構築済みのエージェントによる迅速な開始&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/agent-garden"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Garden&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;AI エージェントの拡張 &lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;概念実証（PoC）からライブ環境へ移行するには、実際の業務におけるパフォーマンス、状態管理、セキュリティ要件に対応できるプラットフォームが必要です。 &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;最新の Agent Runtime&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/scale/runtime/deploy-an-agent"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Runtime&lt;/span&gt;&lt;/a&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;数日間にわたるワークフローのサポート&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;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/scale/sandboxes"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Sandbox&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;：エージェントが複雑で、生成型、および確定的な運用パターンのサポートを含め、互いにシームレスにタスクを委譲できるようにします。これにより、コンプライアンスなどの重要なフローにおいて、エージェントは常に規定の経路に従います。 &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;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/scale/memory-bank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Memory Bank&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; は、会話から長期的な記憶を動的に生成し、管理します。新しい Memory Profiles を使用することで、エージェントは低レイテンシで高精度な詳細情報を想起でき、コンテキストが失われることはありません。 &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;：&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/scale/sessions"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Sessions&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を使用して履歴を保存、管理します。Custom Session IDs により、独自の識別子を使用してセッションを追跡し、社内データベースや CRM レコードに直接マッピングできます。 &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;：Bidirectional Streaming 向けの WebSocket プロトコルを使用することで、顧客や従業員とのリアルタイムのやり取りにおいてエージェントの応答性を高め、遅延なく音声や映像を処理できるよう支援します。 &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;AI エージェントのガバナンス&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Gemini Enterprise Agent Platform 上で構築されたものからパートナー エコシステムから提供されたものまで、組織内のあらゆるエージェントにエンタープライズ グレードの厳格さを適用する、セキュリティ バイ デザイン アーキテクチャでガバナンスを実現します。 &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ID およびアクセス管理に関する信頼できる企業の実体を通じて、すべてのエージェントを一元管理します。&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;すべてのエージェントに検証可能な ID を付与&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;：&lt;/span&gt;&lt;a href="https://clouddocs.devsite.corp.google.com/gemini-enterprise-agent-platform/govern/policies/assign-identity-iam" rel="noopener" target="_blank"&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; は、すべてのエージェントに固有の暗号化 ID を付与することで、エージェントのセキュリティ体制を向上させます。これにより、エージェントが行うすべての操作について、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/scale/runtime/agent-identity"&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;：新しい &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: 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://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; は、エージェント エコシステムにおける管制塔のような役割を果たします。あらゆる環境におけるエージェントとツールの間に安全で統合された接続性を提供すると同時に、一貫したセキュリティ ポリシーとプロンプト インジェクションやデータ漏洩から保護する &lt;/span&gt;&lt;a href="https://cloud.google.com/security/products/model-armor?e=48754805&amp;amp;hl=en"&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="vertical-align: baseline;"&gt;AI を活用したインサイトを活用し、ビジネスに影響が出る前に潜在的リスクや不審な挙動を検知&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;：Agent Anomaly Detection は、統計モデルと LLM-as-a-judge フレームワーク を使用して、異常な推論にフラグを立てます。これは &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/govern/view-security-findings"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Threat Detection&lt;/span&gt;&lt;/a&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;strong style="vertical-align: baseline;"&gt;脆弱性の自動発見&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;：&lt;/span&gt;&lt;a href="https://cloud.google.com/security/products/security-command-center"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Security Command Center&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を基盤とした新しい &lt;/span&gt;&lt;a href="https://clouddocs.devsite.corp.google.com/gemini-enterprise-agent-platform/view-security-findings" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Security&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;AI エージェントの最適化&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Gemini Enterprise Agent Platform は、AI のパフォーマンスを把握するために必要な可視性を提供し、ロジックの改善や継続的な学習を容易にします。 &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;：&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/optimize/evaluation"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Simulation &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="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;：&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/optimize/evaluate-agents"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Evaluation&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を使用し、単一の応答だけでなく会話全体のロジックを評価できるマルチ ターン自動評価機能を用いて、実際のトラフィックに対してエージェントを継続的にスコアリングします。すぐに利用可能なダッシュボードと &lt;/span&gt;&lt;a href="https://clouddocs.google.com/gemini-enterprise-agent-platform/optimize/observability/overview" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Observability&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;：ログを手動で調査する代わりに、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/optimize-agent"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Optimizer&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;span style="vertical-align: baseline;"&gt;詳細なテクニカル ガイドおよびアップデートの完全なリストは、更新された&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;ドキュメント&lt;/strong&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/release-notes"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;リリースノート&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;でご確認いただけます。&lt;/span&gt;&lt;a href="http://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; は、実験段階から本番規模でのインパクトへと移行するための、エンタープライズ エージェント開発の新しい標準です。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Wed, 22 Apr 2026 03:49:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/ai-machine-learning/introducing-gemini-enterprise-agent-platform/</guid><category>Developers &amp; Practitioners</category><category>Google Cloud Next</category><category>AI &amp; Machine Learning</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/0_gemini_enterprise_agent_platform.max-600x600.jpg" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>次世代のエージェントを推進する Gemini Enterprise Agent Platform を発表</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/0_gemini_enterprise_agent_platform.max-600x600.jpg</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/ai-machine-learning/introducing-gemini-enterprise-agent-platform/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Michael Gerstenhaber</name><title>VP, Product Management, Cloud AI</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Michael Bachman</name><title>VP/GM, Cloud Foundations</title><department></department><company></company></author></item><item><title>BigQuery、Pub/Sub、ADK を使用したイベント ドリブン データ エージェントの構築</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/building-event-driven-data-agents-with-bigquery-pubsub-and-adk/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 4 月 11 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/building-event-driven-data-agents-with-bigquery-pubsub-and-adk?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;リアルタイムの自律エージェントの必要性&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;しかし、多くのシステムは依然として、処理の遅いスケジュールされたバッチジョブや、変更を pull し続ける脆弱なマイクロサービスに依存しています。問題が表面化したときには、手遅れになっていることがよくあります。そのため、人間の調査担当者は、ログやデータベース クエリを掘り下げて情報をかき集め、それらをつなぎ合わせる作業に追われることになります。時間がかかり、骨の折れるプロセスで、スケーラビリティもありません。&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;時間のかかるパイプラインや手動のトリアージを待つ代わりに、データ プラットフォームが異常を検出するとすぐにアラートを push し、自律型 AI エージェントが調査して解決してくれるとしたらどうでしょうか。&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;a href="https://cloud.google.com/bigquery"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;BigQuery&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/pubsub/docs/overview"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Pub/Sub&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/agent-builder/agent-engine/overview"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Vertex AI Agent Engine&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; 上の &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/agent-builder/agent-development-kit/overview"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;ADK エージェント&lt;/strong&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;/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_image2.max-1000x1000.jpg"
        
          alt="blog_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;span style="vertical-align: baseline;"&gt;このイベント ドリブン パイプラインは、次の 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; BigQuery の継続的クエリは、ライブデータ ストリームをモニタリングし、ルールベースのエンジンを使用して異常を検出します。&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; Pub/Sub は、単一メッセージ変換（SMT）を使用してペイロードを 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; Vertex AI エージェント（ADK で構築）がイベントを受信し、カスタムツールを使用して調査し、意思決定をログに記録します。&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;パート 1: BigQuery の継続的クエリ&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://docs.cloud.google.com/bigquery/docs/continuous-queries-introduction?hl=ja"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;BigQuery の継続的クエリ&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;では、標準 SQL を使用してリアルタイムのイベント ストリームをネイティブに構築できます。これらは、継続的に実行される永続的な SQL クエリです。受信データを分析し、SQL の結果を Pub/Sub などの宛先に即座にエクスポートします。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;BigQuery でストリーミング イベントを pull 型からネイティブな push 型へと移行&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;することで、標準 SQL を使用してデータ ウェアハウス内で複雑な異常（ユーザーが指定した期間内に 2 つの異なる国で取引を行うなど）を検出できます。データを別のストリーミング分析エンジンに移動する必要はありません。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この変革は、BigQuery 継続的クエリの&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/bigquery/docs/continuous-queries?hl=ja#stateful_processing_with_joins_and_windowing_aggregations"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ステートフル データ処理&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;の公開プレビュー版のリリースによって実現しました。これにより、ストリーム間の JOIN、ウィンドウ集計、タンブリング ウィンドウのネイティブ サポートが導入されます。BigQuery で分散したデータ ストリームを関連付け、移動平均や総計などの複雑な指標を直接計算できるようにすることで、あらゆる SQL ユーザーがストリーム処理を行えるよう、その民主化を推進しています。その結果、イベントの発生を検知して即座に対応するリアルタイムの「アクション システム」を構築するために、専門の外部ツールや高度なデータ サイエンスの専門知識は必要なくなります。このアプローチは、LLM トークンの費用管理にも役立ちます。ステートフル SQL を使用して特定の異常をフィルタリングすることで、エージェントが元データに圧倒されることなく、まさに必要なコンテキストのみを処理できるようになります。&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;標準 SQL クエリと EXPORT DATA ステートメントを組み合わせることで、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/bigquery/docs/continuous-queries?hl=ja#export-pubsub"&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;/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 DATA OPTIONS (\r\n  format = &amp;quot;CLOUD_PUBSUB&amp;quot;,\r\n  uri = &amp;quot;https://pubsub.googleapis.com/projects/YOUR_PROJECT_ID/topics/cymbal-bank-escalations-topic&amp;quot;\r\n) AS (\r\n  WITH TransactionHeuristics AS (\r\n    SELECT\r\n      *,\r\n      _CHANGE_TIMESTAMP AS bq_changed_ts,\r\n    FROM APPENDS(TABLE `cymbal_bank.retail_transactions`, CURRENT_TIMESTAMP() - INTERVAL 10 MINUTE)\r\n  )\r\n  SELECT\r\n    TO_JSON_STRING(STRUCT(\r\n      window_end,\r\n      user_id,\r\n      COUNT(*) AS tx_count,\r\n      SUM(amount) AS total_window_spend,\r\n      MAX_BY(merchant_name, amount) AS highest_value_merchant,\r\n      MAX_BY(merchant_category_code, amount) AS highest_value_mcc,\r\n      100 AS final_risk_score,\r\n      STRUCT(\r\n        APPROX_COUNT_DISTINCT(location_country) &amp;gt; 1 AS is_impossible_travel,\r\n        LOGICAL_OR(NOT is_trusted_device) AS has_security_mismatch\r\n      ) AS logic_signals\r\n    )) AS data\r\n  FROM TUMBLE(TABLE TransactionHeuristics, &amp;quot;bq_changed_ts&amp;quot;, INTERVAL 2 MINUTE)\r\n  GROUP BY window_start, window_end, user_id\r\n  HAVING APPROX_COUNT_DISTINCT(location_country) &amp;gt; 1\r\n);&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;lang-sql&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39d0a5e190&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: Pub/Sub と単一メッセージ変換（SMT）&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Pub/Sub でスキーマのギャップを埋める。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;継続的クエリからエクスポートされたイベントデータは、Pub/Sub トピックに直接送信されます。この元データを AI エージェントが使用できるようにするには、エージェントが想定するスキーマに合わせてペイロードを変換する必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;専用の Cloud Functions などをデプロイしてこれらのメッセージを再フォーマットする代わりに、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/pubsub/docs/smts/smts-overview?hl=ja"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;単一メッセージ変換（SMT）&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を使用して Pub/Sub サブスクリプション内だけで完結させることができます。SMT を使用すると、軽量なインライン &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/pubsub/docs/smts/udfs-overview?hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;JavaScript ユーザー定義関数（UDF）&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を Pub/Sub 内で直接実行して、ペイロードをその場でマッピング、再形成、クリーンアップできます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;たとえば、BigQuery ペイロードをインターセプトし、Agent Engine が想定する正確な&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;クエリ&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;形式を抽出する JavaScript スニペットを記述した &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;transform.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;function process(res) {\r\n  let bq_payload = JSON.parse(res.message.data);\r\n  res.message.data = JSON.stringify({&amp;quot;query&amp;quot;: bq_payload});\r\n  return res;\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 0x7f39d0a5ebe0&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;には、Pub/Sub push サブスクリプションを作成します。このサブスクリプションは、変換されたすべての BigQuery イベントを AI エージェントの Webhook エンドポイントへ、自動的に直接 push します。&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 pubsub subscriptions create cymbal-bank-escalations-sub \\\r\n  --topic=projects/$PROJECT_ID/topics/cymbal-bank-escalations-topic \\\r\n  --message-transforms-file=setup/transform.yaml \\\r\n  --push-endpoint=&amp;quot;https://YOUR_AGENT_WEBHOOK_URL&amp;quot; \r\n  --push-no-wrapper \\\r\n  --ack-deadline=600 \\\r\n --push-auth-service-account=&amp;quot;adk-agent-sa@$PROJECT_ID.iam.gserviceaccount.com&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 0x7f39d0a5ef40&amp;gt;)])]&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/pub_sub_screenshot.max-1000x1000.png"
        
          alt="pub_sub_screenshot"&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;上記の push-endpoint パラメータに注目してください。この Webhook URL は、アーキテクチャの最後の部分である AI エージェント自体によって生成されます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;パート 3: ADK と Vertex AI Agent Engine&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントが &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/agent-builder/agent-engine/overview?hl=ja"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Vertex AI Agent Engine&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; にデプロイされると、プラットフォームは、これらの受信イベントを受け取るために特別に設計された安全な &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;streamQuery&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;これはオペレーションの頭脳です。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;異常が検出され、Pub/Sub 経由でルーティングされると、Vertex AI にデプロイされた ADK エージェントがメッセージによってトリガーされます。&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/vertex_ai_agent_engine.max-1000x1000.png"
        
          alt="vertex_ai_agent_engine"&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;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;investigation_agent = Agent(\r\n    model=&amp;quot;gemini-2.5-flash&amp;quot;,\r\n    name=&amp;quot;fraud_investigation_agent&amp;quot;,\r\n    description=&amp;quot;Expert fraud analyst agent that autonomously investigates alerts...&amp;quot;,\r\n    instruction=(\r\n        &amp;quot;You are an expert fraud investigator for Cymbal Bank. &amp;quot;\r\n        &amp;quot;Your goal is to investigate financial transaction alerts, &amp;quot;\r\n        &amp;quot;determine if they are fraudulent, and take appropriate action. &amp;quot;\r\n        &amp;quot;Use the BigQuery toolset to analyze data in the transactions table..&amp;quot;\r\n        &amp;quot;Use the Google Search toolset to search for the merchant...&amp;quot;\r\n        &amp;quot;Conslidate your findings and use the escalate_to_human tool if required...&amp;quot;\r\n    ),\r\n    tools=[\r\n        bigquery_toolset,\r\n        google_search,\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 0x7f39d0a5e0d0&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;具体的な指示とこのカスタム ツールセットを装備したエージェントは、外部のコンテキストを積極的に収集することでアラートを自律的に調査します。BigQuery にクエリを実行してユーザーの取引履歴を取得したり、領収書などの非構造化データを分析したり、Google 検索で調査結果をグラウンディングして販売者の評判を確認したりできます。最終的には、その取引を &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;FALSE_POSITIVE&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; として分類するか、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;ESCALATION_NEEDED&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;人間参加型のメリット&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このアプローチは、アーキテクチャのスケーラビリティの中核をなすものです。ノイズを効果的にフィルタリングすることで、運用上のオーバーヘッドを大幅に削減し、調査担当者が最も複雑なケースにのみ時間を費やせるようにします。ADK は豊富な&lt;/span&gt;&lt;a href="https://google.github.io/adk-docs/integrations/" 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;を提供しているため、エージェントはイベントを幅広いエンタープライズ システムにエスカレーションできます。これにより、人間参加型（Human-in-the-loop）のエンゲージメントを実現できるほか、人間監視型（Human-on-the-loop）オブザーバビリティを使用してパイプラインをエンドツーエンドで自動化することもできます。&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;パイプラインが稼働したら、作業は構築からモニタリングに移行します。従来型のソフトウェアとは異なり、自律エージェントはバックグラウンドで永続的に実行されます。バックグラウンドで動作するため、&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;span style="vertical-align: baseline;"&gt;デプロイ時に &lt;/span&gt;&lt;a href="https://adk.dev/integrations/bigquery-agent-analytics/" rel="noopener" target="_blank"&gt;&lt;code style="text-decoration: underline; vertical-align: baseline;"&gt;BigQuery Agent Analytics プラグイン&lt;/code&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を初期化することで、ADK はすべてのトレースデータ、ツールの使用状況、実行レイテンシを BigQuery に直接自動的に記録します。&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/bigquery_results3.max-1000x1000.png"
        
          alt="bigquery_results3"&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;このトレースデータをエージェントが出力した構造化された意思決定と結合することで、高度な分析が可能になります。これにより、動的なダッシュボードを構築し、カスタム アラートを設定して、AI ワークフォースをリアルタイムでモニタリングできるようになります。エージェント分析プラグインの使用方法について詳しくは、&lt;/span&gt;&lt;a href="https://codelabs.developers.google.com/adk-bigquery-agent-analytics-plugin" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;こちらの Codelab&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;リアルタイム データ ストリーミングとエージェント型 AI の融合により、運用上のアラートの処理方法が変わろうとしています。&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;BigQuery の継続的クエリを使用して&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;span style="vertical-align: baseline;"&gt;Pub/Sub SMT を使用して&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;span style="vertical-align: baseline;"&gt;Vertex AI Agent Engine を使用して&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;span style="vertical-align: baseline;"&gt;BigQuery Agent Analytics プラグインを使用して&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;p&gt;&lt;span style="vertical-align: baseline;"&gt;このアーキテクチャにより、ガバナンスが効いたスケーラブルなサーバーレスの 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;a href="https://codelabs.developers.google.com/bigquery-adk-event-driven-agents" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Codelab&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; では、この Cymbal Bank パイプラインをゼロから構築する方法を段階的に説明しています。&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、デベロッパー アドボケイト、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Rachael Deacon-Smith&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;BigQuery プロダクト マネージャー、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Nick Orlove&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Tue, 21 Apr 2026 02:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/building-event-driven-data-agents-with-bigquery-pubsub-and-adk/</guid><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/blog_hero_image_final.max-600x600.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>BigQuery、Pub/Sub、ADK を使用したイベント ドリブン データ エージェントの構築</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/blog_hero_image_final.max-600x600.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/building-event-driven-data-agents-with-bigquery-pubsub-and-adk/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Rachael Deacon-Smith</name><title>Developer Advocate, Google</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Nick Orlove</name><title>BigQuery Product Manager</title><department></department><company></company></author></item><item><title>Google Cloud のアプリケーション ロードバランサへの移行: 実践ガイド</title><link>https://cloud.google.com/blog/ja/products/networking/migrate-on-prem-application-load-balancing-to-google-cloud/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 4 月 11 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/networking/migrate-on-prem-application-load-balancing-to-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;既存のアプリケーション ロードバランサ インフラストラクチャをオンプレミスのハードウェア ソリューションから Cloud Load Balancing に移行すると、スケーラビリティと費用効率が大幅に向上し、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;p&gt;&lt;span style="vertical-align: baseline;"&gt;このガイドでは、既存のロードバランサを Google Cloud のアプリケーション ロードバランサに移行するための実践的なアプローチを紹介します。このアプローチでは、一般的な機能に対応するために、宣言型構成と革新的なイベント ドリブン型 Service Extensions エッジ コンピューティング機能の両方を活用します。&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;命令型のスクリプトベース システムからクラウドネイティブな宣言型ファースト モデルへの移行には、体系的な計画が必要です。そこで、4 つのフェーズからなるシンプルなアプローチをおすすめします。&lt;/span&gt;&lt;/p&gt;
&lt;p&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;移行を開始する前に、現状を把握する必要があります。現在のロードバランサの構成を分析して分類しましょう。各ルールの意図は何ですか？単純な HTTP から HTTPS へのリダイレクトを行っていますか？HTTP ヘッダーの操作（追加または削除）に関与していますか？それとも、複雑なカスタム認証ロジックを扱っていますか？&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ほとんどの構成は、次の 2 つの主なカテゴリに分類されます。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: circle; 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 ベースのアクセス制御リスト（ACL）など、ほとんどのウェブ アプリケーションに共通するロジック。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: circle; 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; カスタムの独自トークン認証、高度なヘッダーの抽出 / 置換、HTTP 属性に基づく動的なバックエンド選択、HTTP レスポンス本文の操作など、アプリケーションに固有の複雑なロジック。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;フェーズ 2: Google Cloud における同等機能の選択&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ルールを分類したら、次はそれらを適切な Google Cloud 機能にマッピングします。これは 1 対 1 の置き換えではなく、戦略的な選択となります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;オプション 1: 宣言型の方法（ルールの約 80%）&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;宣言型機能マッピングの一般的なパターン: &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: square; 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; -&amp;gt; &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;アプリケーション ロードバランサの URL マップ&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: square; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;ACL / スロットリング&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; -&amp;gt; &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Google Cloud Armor のセキュリティ ポリシー&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: square; 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; -&amp;gt; &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;バックエンド サービス構成&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;オプション 2: プログラムによる方法（複雑なカスタムルールの場合）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;複雑なカスタム ビジネス ロジックを扱う場合、プログラムによる同等の方法として &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/service-extensions/docs/overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Service Extensions&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; があります。これは、Rust、C++、Go で記述したカスタムコードをロードバランサのデータパスに直接挿入できる強力なエッジ コンピューティング機能です。このアプローチにより、最新のマネージド型高パフォーマンス フレームワークで柔軟性を確保できます。&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/image1_bkebSe1.max-1000x1000.jpg"
        
          alt="image1"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;&lt;p data-block-key="s1mli"&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;span style="vertical-align: baseline;"&gt;フェーズ 3: テストと検証&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;構成に適した方法を選択したら、本番環境のセットアップを反映したステージング環境に新しいアプリケーション ロードバランサ構成をデプロイする準備が整います。移行対象のロジックに特に注意しながら、アプリケーションのすべての機能を徹底的にテストします。自動テストと手動 QA を組み合わせて、リダイレクトやセキュリティ ポリシー、そしてカスタムの Service Extensions ロジックが想定どおりに動作することを検証します。&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;span style="vertical-align: baseline;"&gt;すべてのトラフィックについて切り替えを一度に行うのではなく、段階的な移行戦略を実施します。最初は、本番環境トラフィックの少ない割合（5～10% など）を新しい 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;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;先に分析してから移行する:&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 のマネージド型、宣言型の機能（URL マップ、Cloud 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;Service Extensions は戦略的に使用する:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Service Extensions は、宣言型機能では処理できない複雑なカスタム ビジネス ロジックのために取っておきます。&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 ロードバランサの両方を継続的にモニタリングします。トラフィック量、レイテンシ、エラー率などの主要な指標を注視して、問題が発生した場合は即座に検出して対処します。&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 Load Balancing のコンセプトについて、チームにトレーニングを提供します。これにより、チームは新しいインフラストラクチャを効果的に運用、維持できるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;既存のオンプレミス ロードバランサ インフラストラクチャからの移行は、単なる技術的なタスクではなく、アプリケーション配信をモダナイズする機会です。現在のロード バランシングの構成と機能を、宣言型のアプリケーション ロードバランサ機能またはプログラムによる Service Extensions のいずれかに入念にマッピングすることで、スケーラビリティ、復元力、費用対効果に優れたインフラストラクチャを構築し、将来の需要に対応できます。&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/load-balancing/docs/application-load-balancer"&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/service-extensions/docs/overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Service Extensions&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; の特徴や高度な機能を確認して、アプリケーションに適した設計を考案します。詳細なガイダンスや複雑なユースケースについては、&lt;/span&gt;&lt;a href="https://cloud.google.com/contact"&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;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;Gopinath Balakrishnan&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;Xiaozang Li&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Tue, 21 Apr 2026 01:10:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/networking/migrate-on-prem-application-load-balancing-to-google-cloud/</guid><category>Cloud Migration</category><category>Developers &amp; Practitioners</category><category>Networking</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Google Cloud のアプリケーション ロードバランサへの移行: 実践ガイド</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/networking/migrate-on-prem-application-load-balancing-to-google-cloud/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Gopinath Balakrishnan</name><title>Customer Engineer, Google Cloud</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Xiaozang Li</name><title>Customer Engineer, Google Cloud</title><department></department><company></company></author></item><item><title>データレイヤの有効化によるプロダクション レディな AI の実現</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/activating-your-data-layer-for-production-ready-ai/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 4 月 3 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/activating-your-data-layer-for-production-ready-ai?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 を使用したアプリケーションやシステムとそれらがもたらす新たな機会について議論する際、データはエコシステム内で代替不可能なコンポーネントとして位置づけられます。具体的には、企業が日々収集、保持、使用しているデータが該当します。このデータは、アプリケーション、分析、ナレッジベースなどの支柱として機能します。データの保存と操作にはデータベースが使用されます。AI を活用したイニシアチブや新しいアプリケーションのほとんどは、このデータレイヤを使用することになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;では、AI システムでデータを使用するにはどうすればよいでしょうか。Google データベースでデータを準備して 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;はじめに、セマンティック検索用のデータを準備して最初のテストを実行し、セマンティック検索の結果に基づいて生成 AI モデルの回答をグラウンディングすることで回答を強化します。グラウンディング データは、RAG（検索拡張生成）の基盤となります。その後、最新のインデックス作成手法を使用してエンベディングをインデックス化することで、検索のパフォーマンスを向上させることができます。&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/products/alloydb?e=48754805&amp;amp;hl=ja"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Google AlloyDB データベース&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;です。AlloyDB は AI モデルと直接統合されており、要求の高いワークロードにも対応できます。次のラボでは、AlloyDB クラスタの作成、サンプルデータの読み込み、エンベディングの生成から、それらのエンベディングを使用して生成 AI モデルから拡張回答を生成するまでのすべての手順を説明します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-aside"&gt;&lt;dl&gt;
    &lt;dt&gt;aside_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;title&amp;#x27;, &amp;#x27;ラボに移動&amp;#x27;), (&amp;#x27;body&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39d2b44040&amp;gt;), (&amp;#x27;btn_text&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;href&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;image&amp;#x27;, None)])]&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 の統合は AlloyDB に限定されません。すべての Google Cloud データベースに AI が統合されており、セマンティック検索用のエンベディングの生成や利用が可能です。たとえば、&lt;/span&gt;&lt;a href="https://cloud.google.com/sql?e=48754805&amp;amp;hl=ja"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud SQL&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を使用している場合は、既存の &lt;/span&gt;&lt;a href="https://cloud.google.com/sql/postgresql?e=48754805&amp;amp;hl=ja"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;PostgreSQL&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; または &lt;/span&gt;&lt;a href="https://cloud.google.com/sql/mysql?e=48754805&amp;amp;hl=ja"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;MySQL&lt;/strong&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;次の 2 つのラボは上で紹介したラボとよく似ていますが、Google AlloyDB for PostgreSQL の代わりに Cloud SQL for PostgreSQL と Cloud SQL for MySQL を使用し、モデルの回答のグラウンディング エンジンとしてセマンティック検索を使用します。SQL 言語やデータベース エンジンの違いにより、一部の手順は異なりますが、主な考え方は同じです。つまり、データを使用してモデルの回答をグラウンディングし、出力を改善します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-aside"&gt;&lt;dl&gt;
    &lt;dt&gt;aside_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;title&amp;#x27;, &amp;#x27;ラボに移動&amp;#x27;), (&amp;#x27;body&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39d2b44970&amp;gt;), (&amp;#x27;btn_text&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;href&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;image&amp;#x27;, None)])]&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 の生成 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;現実の世界では、当然のことながら視覚を含むすべての感覚を使って周囲の世界を評価します。Google のマルチモーダル エンベディング モデルは、理解のレイヤをさらに追加し、テキストだけでなく画像にもエンベディングを使用することで検索を改善します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;次のラボでは、AlloyDB に格納され、Google Cloud Storage の画像で補完された商品のカタログを使用します。このラボでは、テキストの説明と画像の両方をセマンティック検索に使用します。テキストと画像を相互に補完または置換させることで画像入力に基づく検索を自然に回答に組み込む方法を示します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-aside"&gt;&lt;dl&gt;
    &lt;dt&gt;aside_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;title&amp;#x27;, &amp;#x27;ラボに移動&amp;#x27;), (&amp;#x27;body&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39d2b44070&amp;gt;), (&amp;#x27;btn_text&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;href&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;image&amp;#x27;, None)])]&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;RAG と検索に利用できるツール全般について理解するにはデータを準備して最初の一歩を踏み出すことが重要ですが、Google はデータの準備なしで AI との直接的な統合によってデータ分析を行う機能を提供しています。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;AlloyDB AI 関数と再ランキング&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google AlloyDB データベースは、データの準備なしで一部の AI 機能を使用できる追加の AI 統合を備えています。たとえば、AI.IF 関数を使えばセマンティック検索を即座に実行できます。この関数は、自然言語クエリを使用して感情の評価や列のデータの比較を行い、クエリ条件でフィルタリングされた結果を返します。また、検索出力にランキング関数を適用して、最終的な結果を改善することもできます。以下のラボで新しい機能を試して、ご自身のユースケースに役立つかどうか感想を聞かせてください。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-aside"&gt;&lt;dl&gt;
    &lt;dt&gt;aside_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;title&amp;#x27;, &amp;#x27;ラボに移動&amp;#x27;), (&amp;#x27;body&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39d2b44b20&amp;gt;), (&amp;#x27;btn_text&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;href&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;image&amp;#x27;, None)])]&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;ところで、SQL にあまり詳しくない人や、データベースのデータ構造に慣れていない人はどうすればよいでしょうか。そうした人に対応するのが AlloyDB NL2SQL です。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;AlloyDB AI の自然言語を使用して SQL を生成する&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AlloyDB の「alloydb_ai_nl」拡張機能を使用すると、すぐに利用できるデフォルトのメタデータに基づいて SQL クエリを生成できるだけでなく、自動またはカスタムのコンテキストを構築して、クエリ生成機能を最大限に活用できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;NL2SQL 関数は、テーブルの実際のデータサンプルに基づいて、データ構造、テーブル間の関係、メタデータを記述するレイヤを追加できます。データ自体を損なうことなく、AI モデルが最適なクエリを構築する方法を理解するのに必要な情報を提供します。次のラボでは、新しい機能の使用を開始し、データスキーマに基づいて最初のクエリを生成する方法を説明します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-aside"&gt;&lt;dl&gt;
    &lt;dt&gt;aside_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;title&amp;#x27;, &amp;#x27;ラボに移動&amp;#x27;), (&amp;#x27;body&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39d2b44160&amp;gt;), (&amp;#x27;btn_text&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;href&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;image&amp;#x27;, None)])]&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;これらのラボは、Google の &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/ja/topics/developers-practitioners/production-ready-ai-with-google-cloud-learning-path?e=48754805&amp;amp;hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud でのプロダクション レディな AI&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; プログラムの「&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;データ基盤から高度な RAG へ&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;」モジュールの一部です。Google Cloud のサービスとツールが提供する AI 機能を導入するのに役立つ他のモジュールもご確認ください。これらのモジュールが、最新のテクノロジーの可能性を最大限に活用した高品質なアプリケーションの構築に役立つことを願っています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;また、AlloyDB と Cloud SQL のリリースノートにもご注目ください。エンジニアリング チームは、新機能と改善に取り組んでいます。無料試用をお楽しみください。&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;データベース、Cloud アドボケイト、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Gleb Otochkin&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Fri, 17 Apr 2026 02:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/activating-your-data-layer-for-production-ready-ai/</guid><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/hero_new.max-600x600.jpg" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>データレイヤの有効化によるプロダクション レディな AI の実現</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/hero_new.max-600x600.jpg</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/activating-your-data-layer-for-production-ready-ai/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Gleb Otochkin</name><title>Cloud Advocate, Databases</title><department></department><company></company></author></item><item><title>Envoy: エージェント型 AI ネットワーキングのための将来を見据えた基盤</title><link>https://cloud.google.com/blog/ja/products/networking/the-case-for-envoy-networking-in-the-agentic-ai-era/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 4 月 4 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/networking/the-case-for-envoy-networking-in-the-agentic-ai-era?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;a href="https://services.google.com/fh/files/misc/cloud_infrastructure_in_the_agent_native_era.pdf" rel="noopener" target="_blank"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;Cloud Infrastructure in the Agent-Native Era&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; で説明されているように、エージェント システムでは、モデル呼び出し、ツール呼び出し、エージェント間のやり取り、エージェントができることを定義するポリシーの決定の間にネットワークが位置します。多様なフレームワーク上に構築されることが多いエージェントが急速に普及しているため、すべてのエージェント パスにわたってガバナンスとセキュリティを一貫して大規模に適用する必要があります。これを実現するには、適用レイヤがアプリケーション レベルから基盤となるインフラストラクチャに移行する必要があります。つまり、ネットワークはもはや盲目的なトランスポート レイヤとして機能することはできず、より多くのことを理解し、より適切に適用を行い、より迅速に適応する必要があります。この移行において役立つのが Envoy です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Envoy は、高パフォーマンスの分散プロキシおよびユニバーサル データプレーンとして、大規模なスケーリングに対応するように構築されています。Google Cloud を含む要求の厳しいエンタープライズ環境で信頼されており、単一サービスのデプロイから、上り（内向き）、下り（外向き）、サイドカーの各パターンを使用した複雑なサービス メッシュまで、あらゆるものをサポートします。Envoy は、優れた拡張性、堅牢なポリシー統合、運用上の成熟度により、プロトコルが急速に変化し、制御が不十分な場合のコストが高くなる時代に特に適しています。エージェント型 AI を構築するチームにとって、Envoy は単なるコンセプトではなく、実用的でプロダクション レディな基盤です。&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_xPxMxF4.max-1000x1000.jpg"
        
          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;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;エージェント ワークロードは依然としてトランスポートとして HTTP を使用することが多いですが、従来の HTTP 仲介役が依存する前提の一部には従いません。&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）や &lt;/span&gt;&lt;a href="https://github.com/google/A2A" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent2agent&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（A2A）などのプロトコルは、HTTP 上で &lt;/span&gt;&lt;a href="https://www.jsonrpc.org/specification" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;JSON-RPC&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; または &lt;/span&gt;&lt;a href="https://grpc.io/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;gRPC&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を使用し、標準の HTTP リクエスト / レスポンス セマンティクスに加えて、クライアントとサーバーがそれぞれの機能を交換する MCP 初期化などのプロトコル レベルのフェーズを追加します。仲介役が適応する必要がある、エージェント システムの主な側面は次のとおりです。&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;ポリシー属性は、ヘッダーではなくメッセージ本文内に存在する。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;パスやヘッダーなどのポリシー入力に簡単にアクセスできる従来のウェブ トラフィックとは異なり、エージェント プロトコルでは、重要な属性（モデル名、ツール呼び出し、リソース ID など）が JSON-RPC または gRPC ペイロードの奥深くに埋もれていることがよくあります。このため、仲介役はメッセージの内容を解析して理解し、コンテキストに応じたポリシーを適用できる必要があります。&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;エージェントのプロトコルは一様ではありません。Streamable HTTP を使用する MCP のような一部のプロトコルでは、（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;Mcp-Session-Id&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;これらの要因により、企業は単なる接続性以上のものを必要としています。ネットワークは、前述した重要なガバナンスのニーズを満たす中心的な役割を果たす必要があります。これには、プロトコルとエージェントの動作の急速な進化に対応しながら、一元化されたセキュリティ、包括的な監査可能性、きめ細かいポリシーの適用、動的なガードレールなどの機能を提供することが含まれます。簡単に言えば、エージェント型 AI はネットワークを単なるトランジット パスから重要な制御ポイントに変えます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;Envoy がこの移行に対応できる理由&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Envoy は、以下の 3 つの理由から、エージェント型 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;strong style="vertical-align: baseline;"&gt;実証済み。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Envoy は、セキュリティが重要な大規模環境で企業がすでに利用しており、新世代のトラフィック管理とポリシー適用を支える信頼できるプラットフォームとなっています。&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;Envoy は、ネイティブ フィルタ、Rust モジュール、WebAssembly（Wasm）モジュール、&lt;/span&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/ext_proc_filter" 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;Envoy はすでに、コントロール プレーンのゲートウェイ、適用ポイント、オブザーバビリティ レイヤ、統合サーフェスとして機能しています。そのため、標準が定着するのを待たずに今すぐ移行する必要がある組織にとって、実用的な選択肢となります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Envoy は、以下の中核的な強みを基盤として、エージェント ネットワーキングに特有のニーズを満たすアーキテクチャの進歩を遂げています。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;1. Envoy はエージェント トラフィックを理解する&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;ただし、これはそれほど簡単ではありません。MCP、A2A、OpenAI スタイルの API などのプロトコルでは、重要なポリシー シグナルがリクエスト本文内に存在することがあります。従来の HTTP プロキシは、本文を不透明なバイト ストリームとして扱うように最適化されています。この設計は効率的ですが、プロキシで適用できることが制限されます。JSON メッセージを使用するプロトコルの場合、プロキシはポリシーの適用に必要な属性値を見つけるために、リクエスト本文全体をバッファリングする必要がある場合があります。特に、それらの属性が JSON メッセージの末尾にある場合はその必要性が高まります。使用されたトークンに基づくレート制限など、生成 AI プロトコルに固有のビジネス ロジックでも、サーバーのレスポンスの解析が必要になる場合があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これに対処するために、Envoy は、HTTP で伝送されるプロトコル メッセージをデフレーミングし、有用な属性をフィルタ チェーンの残りの部分に公開します。生成 AI プロトコルの拡張性モデルは、次の 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;RBAC（ロールベース アクセス制御）やトレーサーなど、生成 AI プロトコルにそのまま対応する既存の HTTP 拡張機能を簡単に再利用できる。&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;デベロッパーが HTTP や JSON エンベロープを処理する必要がなく、生成 AI のビジネス ロジックに集中できるように、生成 AI 固有の拡張機能用のデフレーミングされたメッセージに簡単にアクセスできる。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これらの目標に基づき、生成 AI プロトコルの新しい拡張機能は、依然として HTTP 拡張機能として構築され、HTTP フィルタ チェーンで構成されます。これにより、OAuth や mTLS 認証などの HTTP ネイティブのビジネス ロジックと生成 AI プロトコルのロジックを 1 つのチェーンで混在させる柔軟性が得られます。デフレーミング拡張機能は、HTTP で伝送されるプロトコル メッセージを解析し、抽出された属性、さらには解析されたメッセージ全体を含むアンビエント コンテキストを、既知のフィルタ状態とメタデータ値を介してダウンストリームの拡張機能に提供します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Envoy では、すべてのポリシー コンポーネントが JSON エンベロープやプロトコル固有のメッセージ形式を独自に解析することを強制するのではなく、これらの属性を構造化されたメタデータとして利用できるようにします。ゲートウェイがプロトコル メッセージをデフレーミングすると、&lt;/span&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/ext_authz_filter" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ext_authz&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; や RBAC などの既存の Envoy 拡張機能がプロトコル プロパティを読み取り、MCP のツール名、A2A のメッセージ属性、OpenAI のモデル名などのプロトコル固有の属性を使用してポリシーを評価できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;アクセスログには、モニタリングと監査を強化するためのメッセージ属性を含めることができます。プロトコル属性は &lt;/span&gt;&lt;a href="https://cel.dev/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Common Expression Language&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（CEL）ランタイムでも使用できるため、RBAC や複合拡張機能で複雑なポリシー式を簡単に作成できます。&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_t4lf1kG.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;バッファリングとメモリ管理&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Envoy は、HTTP リクエストをプロキシする際にできるだけ少ないメモリを使用するように設計されています。しかし、エージェント プロトコルの解析には、特に拡張機能でメッセージ全体をメモリに格納する必要がある場合、変動する量のバッファ領域が必要になることがあります。特に、信頼できないトラフィックが存在する場合は、拡張機能でより大きなバッファを使用できる柔軟性と、メモリ枯渇からの適切な保護のバランスを取る必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これを実現するために、Envoy ではリクエストごとにバッファサイズを制限できるようになりました。リクエスト データを保持するバッファもオーバーロード マネージャーと統合されているため、アイドル タイムアウトの短縮や、長期間にわたって最も多くのメモリを消費するリクエストのリセットなど、メモリ不足時のあらゆる保護アクションが可能になります。これらの変更により、Envoy はリソース効率を損なうことなく、生成 AI プロトコルのゲートウェイおよびポリシー適用ポイントとして機能できるようになっています。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;2. Envoy は重要な事項に関するポリシーを適用する&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;エージェント システムでは、ポリシーはエージェントがアクセスできるサービスだけでなく、エージェントが呼び出せるツール、使用できるモデル、提示する ID、消費できる量、追加の制御が必要な出力の種類も規定するものです。これらは、単純なレイヤ 4 またはパスベースの制御よりも価値の高い決定であり、エージェントが企業に代わって行動することを許可する場合に、企業が重視する種類の制御です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この点において Envoy は、トランスポート レベルのセキュリティとアプリケーション対応のポリシー適用を組み合わせることができるため、優れています。チームは、mTLS と SPIFFE ID でワークロードを認証し、RBAC、外部認証、外部処理、アクセス ロギング、CEL ベースのポリシー式を使用してプロトコル固有のルールを適用できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この機能は、プラットフォーム チームがエージェントの開発と適用を切り離せるため、非常に重要です。デベロッパーは有用なエージェントの構築に集中でき、オペレーターはツール、モデル、プロトコルが変化し続けても、ネットワーク レイヤで一貫したゼロトラスト体制を維持できます。このゼロトラストの分離の好例は、「エージェントの背後にユーザーがいる」重要なシナリオ、つまり AI エージェントが人間のユーザーに代わってタスクを実行する必要がある場合です。従来、ユーザーの認証情報をアプリケーションに直接渡すことは、重大なセキュリティ リスクをもたらします。エージェントが侵害されたり、プロンプト インジェクションによって操作されたりした場合、攻撃者は認証情報を抜き取ったり、不正使用したりできるためです。ID 管理を Envoy にオフロードすることで、プロキシはインフラストラクチャ レイヤでユーザー委任トークンをアウトバウンド リクエストに自動的に挿入できます。エージェントが機密性の高い認証情報を直接保持することはないため、侵害されたエージェントがトークンを不正使用したり漏洩させたりするリスクは完全に排除され、アクションはユーザーの実際の権限に厳密にバインドされたままになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ケーススタディ: エージェントを特定の GitHub MCP ツールに制限する&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;GitHub の問題をトリアージするエージェントを考えてみましょう。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;GitHub MCP サーバーは数十のツールを公開している可能性がありますが、エージェントに必要なのは、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;list_issues&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;get_issue&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;get_issue_comments&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 サーバーの前に Envoy を配置することで、ゲートウェイは mTLS handshake 中に SPIFFE を使用してエージェントの ID を検証し、&lt;/span&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/mcp/v3/mcp.proto#envoy-v3-api-msg-extensions-filters-http-mcp-v3-mcp" 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;を介して MCP メッセージを解析し、リクエストされたメソッドとツール名を抽出して、その特定のエージェント ID に対して承認されたツール呼び出しのみを許可するポリシーを適用できます。RBAC は、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;envoy.filters.http.rbac:\r\n  &amp;quot;@type&amp;quot;: type.googleapis.com/envoy.extensions.filters.http.rbac.v3.RBACPerRoute\r\n  rbac:\r\n    rules:\r\n      policies:\r\n        github-issue-reader-policy:\r\n          permissions:\r\n            - and_rules:\r\n                rules:\r\n                  - sourced_metadata:\r\n                      metadata_matcher:\r\n                        filter: envoy.http.filters.mcp\r\n                        path: [{ key: &amp;quot;method&amp;quot; }]\r\n                        value: { string_match: { exact: &amp;quot;tools/call&amp;quot; } }\r\n                  - sourced_metadata:\r\n                      metadata_matcher:\r\n                        filter: envoy.http.filters.mcp\r\n                        path: [{ key: &amp;quot;params&amp;quot; }, { key: &amp;quot;name&amp;quot; }]\r\n                        value:\r\n                          or_match:\r\n                            value_matchers:\r\n                              - string_match: { exact: &amp;quot;list_issues&amp;quot; }\r\n                              - string_match: { exact: &amp;quot;get_issue&amp;quot; }\r\n                              - string_match: { exact: &amp;quot;get_issue_comments&amp;quot; }\r\n          principals:\r\n            - authenticated:\r\n                principal_name:\r\n                  exact: &amp;quot;spiffe://cluster.local/ns/github-agents/sa/issue-triage-agent&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 0x7f39d07d2640&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-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_jtbLCMn.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;RBAC ルールを使用して表現できない複雑なコンプライアンス ポリシーは、&lt;/span&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/ext_authz_filter" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ext_authz&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; プロトコルを使用して外部認証サービスに実装できます。Envoy は、ext_authz RPC のコンテキストで、HTTP ヘッダーとともに MCP メッセージ属性を提供します。また、ピア証明書からエージェントの SPIFFE 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;http_filters:\r\n  - name: envoy.filters.http.ext_authz\r\n    typed_config:\r\n      &amp;quot;@type&amp;quot;: type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthz\r\n      grpc_service:\r\n        envoy_grpc:\r\n          cluster_name: auth_service_cluster\r\n      include_peer_certificate: true\r\n      metadata_context_namespaces:\r\n        - envoy.http.filters.mcp&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39d3343e20&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 サーバーがポリシーレイヤを認識する必要なく、エージェント ID、MCP メソッド、ツール名、その他のプロトコル属性の完全な組み合わせに基づいて、外部サービスが認証の決定を行うことができます。&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;Envoy がリクエストを拒否した場合、返されるエラーは呼び出し元のエージェントにとって意味のあるものである必要があります。MCP トラフィックの場合、Envoy は &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;local_reply_config&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を使用して、HTTP エラーコードを適切な JSON-RPC エラー レスポンスにマッピングできます。たとえば、403 Forbidden は、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;isError: true&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; および人間が読めるメッセージを含む JSON-RPC レスポンスにマッピングできます。これにより、エージェントは不透明な HTTP ステータス コードではなく、プロトコルに適した拒否を受け取ることができます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;3. Envoy はステートフルなエージェントのインタラクションを大規模にサポートする&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェント トラフィックのすべてがステートレスであるわけではありません。MCP の Streamable HTTP など、一部のプロトコルはセッション指向の動作に依存する場合があります。特に、トラフィックが複数のゲートウェイ インスタンスを通過してスケーラビリティと復元力を実現する場合、仲介役にとって新たな課題が生じます。MCP セッションは、そのセッションを確立したサーバーにエージェントを効果的にバインドします。すべての仲介役は、受信 MCP 接続を正しいサーバーに転送するために、このことを認識する必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;1 つのバックエンドでセッションが確立された場合、その会話における後のリクエストは正しい宛先に到達する必要があります。単一プロキシのデプロイでは簡単そうに聞こえますが、水平方向にスケールされたシステムでは、複数の Envoy インスタンスが同じエージェントからの異なるリクエストを処理する場合があり、より複雑になります。&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;よりシンプルなパススルー モードでは、Envoy はダウンストリーム接続ごとに 1 つのアップストリーム接続を確立します。主な用途は、外部 MCP サーバーに対するクライアントの認可、RBAC、レート制限、認証など、一元化されたポリシーの適用です。仲介役の間で転送されるセッション状態には、最初の HTTP 接続でセッションを確立したサーバーのアドレスのみが含まれる必要があります。これにより、セッション関連のすべてのリクエストがそのサーバーに送信されます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;異なる Envoy インスタンス間でのセッション状態の転送は、MCP サーバーから提供された MCP セッション ID に、エンコードされたセッション状態を追加することで実現されます。Envoy は、リクエストを宛先 MCP サーバーに転送する前に、セッション ID からセッション状態の接尾辞を削除します。このセッションの永続性は、Envoy の &lt;/span&gt;&lt;a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/http/stateful_session/envelope/v3/envelope.proto" rel="noopener" target="_blank"&gt;&lt;code style="text-decoration: underline; vertical-align: baseline;"&gt;envoy.http.stateful_session.envelope&lt;/code&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/4_j0wGyAp.max-1000x1000.png"
        
          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;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;集約モードでは、Envoy は複数のバックエンド MCP サーバーの機能、ツール、リソースを集約することで、単一の MCP サーバーとして機能します。これにより、ポリシーが適用されるだけでなく、エージェントの構成が簡素化され、複数の MCP サーバーのポリシー適用が統合されます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このモードでのセッション管理はより複雑になります。セッション状態に、ツールとリソースから、それらをアドバタイズしたサーバー アドレスとセッション ID へのマッピングも含まれる必要があるためです。Envoy がエージェントに提供するセッション ID は、ツールやリソースが認識される前に作成され、マッピングはその後、Envoy とバックエンド MCP サーバー間の MCP 初期化フェーズが完了した後に確立される必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;現在 Envoy で実装されているアプローチの一つは、ツールやリソースの名前と、その配信元サーバーの識別子およびセッション ID を組み合わせるというものです。通常、正確なツール名やリソース名はエージェントにとって意味がなく、この追加の来歴情報を伝えることができます。変更されていないツール名やリソース名が必要な場合は、マッピングのない Envoy インスタンスを使用し、特定のツールを呼び出す前に &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;tools/list&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; コマンドを発行してマッピングを再作成するというアプローチもあります。このアプローチは、レイテンシと引き換えに、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/images/5_61xwM79.max-1000x1000.png"
        
          alt="5"&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;これは、Envoy が単純なトラフィック転送にとどまらないことを意味するため重要です。これにより、Envoy は、実際のエージェント ワークフロー（複数のリクエスト、ツール、バックエンドにわたるものを含む）の信頼できる仲介役として機能できます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;4. Envoy はエージェントの検出をサポートする&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Envoy は、既知の AgentCard エンドポイントを介した A2A プロトコルとエージェントの検出のサポートを追加しています。エージェント機能が記載された JSON ドキュメントである AgentCard は、スキル、認証要件、サービス エンドポイントをアドバタイズすることで、検出とマルチエージェントの調整を可能にします。AgentCard は、直接レスポンス構成を介して静的にプロビジョニングすることも、xDS API または ext_proc API を介して一元化されたエージェント レジストリ サーバーから取得することもできます。A2A の実装とエージェントの検出の詳細は、今後のブログ投稿で公開する予定です。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;5. Envoy はエージェント ネットワーキングの課題に対する包括的なソリューション&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Envoy は、要求の厳しいデプロイで MCP プロトコルのポリシー適用が可能になった基盤と同じ基盤を基に、OpenAI と、エージェント プロトコルの RESTful HTTP API へのコード変換のサポートを追加しています。このコード変換機能により、生成 AI エージェントと既存の RESTful アプリケーションの統合が簡素化されます。また、OpenAPI ベースのアプリケーションがすぐにサポートされ、動的モジュールまたは Wasm 拡張機能を通じてカスタム オプションを利用できます。Envoy は、コード変換に加えて、割り当て管理などの高度なポリシー適用、&lt;/span&gt;&lt;a href="https://opentelemetry.io/docs/specs/semconv/gen-ai/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;生成 AI システムの OpenTelemetry セマンティック規則&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;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;ゲートウェイは、ソリューション全体の一部にすぎません。このポリシー管理とロールアウトを大規模に実現するにあたり、xDS プロトコル（ユニバーサル データプレーン API とも呼ばれる）を使用してデータプレーンを動的に構成するために別のコントロール プレーンが必要になります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;そこで重要になるのがコントロール プレーンです。Cloud Service Mesh は、&lt;/span&gt;&lt;a href="https://aigateway.envoyproxy.io/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Envoy AI Gateway&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; や &lt;/span&gt;&lt;a href="https://github.com/kubernetes-sigs/kube-agentic-networking" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;kube-agentic-networking&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; などのオープンソース プロジェクトとともに、Envoy をデータプレーンとして使用しながら、オペレーターがエージェント ワークロードのポリシーをより高いレベルで定義、管理できるようにします。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この組み合わせは強力です。Envoy はトラフィック パスに適用機能と拡張性を提供し、コントロール プレーンはチームがその機能を一貫してデプロイするために必要な運用モデルを提供します。&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;エージェント システムや生成 AI プロトコル（MCP、A2A、OpenAI など）への移行に伴い、ネットワーク仲介役の進化が求められています。Envoy が主に対応する複雑な課題は次のとおりです。&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;プロトコル デフレーミング拡張機能は、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;これらの内部属性を公開することで、RBAC や ext_authz などの既存の Envoy 拡張機能は、プロトコル固有の基準に基づいてポリシーを評価できます。これにより、ネットワーク オペレーターは、統一されたゼロトラストのセキュリティ ポスチャーを適用し、エージェントが特定のツールやリソースのアクセス ポリシーに準拠するようにできます。&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;Envoy は、MCP で使用される Streamable HTTP トランスポートのセッション状態の管理をサポートしており、仲介役のフリート全体でも、パススルー ゲートウェイ モードと集約ゲートウェイ モードの両方で堅牢なデプロイを可能にします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&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;Envoy は、本番環境での実証済みの成熟度、高度な拡張性、エージェント ワークロードのプロトコル認識の向上という、一度に持ち合わせることが難しい 3 つの特性を兼ね備えています。Envoy をエージェント ゲートウェイとして活用することで、組織はセキュリティとポリシーの適用をエージェント開発コードから切り離すことができます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これにより、Envoy は AI トラフィックを処理するプロキシ以上の存在になり、エージェント型 AI ネットワーキングの未来を見据えた基盤となります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;sup&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;このブログ記事の共同執筆者である、Google のソフトウェア エンジニア Boteng Yao、Google のソフトウェア エンジニア Tianyu Xia、Google のシニア プロダクト マネージャー Sisira Narayana に感謝します。&lt;/span&gt;&lt;/sup&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、スタッフ ソフトウェア エンジニア、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Yan Avlasov&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;Tetrate、プロダクトおよびプロダクト マーケティング マネージャー、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Erica Hughberg 氏&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Fri, 17 Apr 2026 01:30:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/networking/the-case-for-envoy-networking-in-the-agentic-ai-era/</guid><category>Containers &amp; Kubernetes</category><category>AI &amp; Machine Learning</category><category>GKE</category><category>Developers &amp; Practitioners</category><category>Networking</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Envoy: エージェント型 AI ネットワーキングのための将来を見据えた基盤</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/networking/the-case-for-envoy-networking-in-the-agentic-ai-era/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Yan Avlasov</name><title>Staff Software Engineer, Google</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Erica Hughberg</name><title>Product and Product Marketing Manager, Tetrate</title><department></department><company></company></author></item><item><title>Google ADK、MCP、Cloud Run を使用して専門家向けコンテンツ用のマルチ エージェント システムを構築する - パート 1</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/build-a-multi-agent-system-for-expert-content-with-google-adk-mcp-and-cloud-run-part-1/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 3 月 19 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/build-a-multi-agent-system-for-expert-content-with-google-adk-mcp-and-cloud-run-part-1?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 ワークロードを実行するまで、デベロッパーの取り組みを加速させることです。デベロッパーの成功を支援するため、Google はデベロッパーが最も切実に求めている質問を特定し、簡単に実装できるわかりやすいソリューションを提供するデモを構築することに重点を置いています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;最近、新しい &lt;/span&gt;&lt;a href="https://developers.google.com/knowledge/mcp?utm_campaign=CDR_0x91b1edb5_default_b485268863&amp;amp;utm_medium=external&amp;amp;utm_source=blog" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Developer Knowledge MCP サーバー&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;がリリースされたとき、私にはひらめきが湧きました。そこで、&lt;/span&gt;&lt;a href="https://github.com/google/adk-python" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Agent Development Kit（ADK）&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を使用して設計されたマルチエージェント システムである &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Dev Signal&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; を構築し、Reddit から技術的な質問を特定し、公式ドキュメントを使用して調査し、詳細な技術ブログ記事の下書きを作成しました。&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Dev Signal&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; には、&lt;/span&gt;&lt;a href="https://blog.google/innovation-and-ai/products/nano-banana-pro/?utm_campaign=CDR_0x91b1edb5_default_b485268863&amp;amp;utm_medium=external&amp;amp;utm_source=blo" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Nano Banana Pro&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を使用したカスタム ビジュアルも備わっています。エージェントが私の好みのスタイルやブログ記事の書き方を記憶できるように、長期&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/agent-builder/agent-engine/memory-bank/overview?utm_campaign=CDR_0x91b1edb5_default_b485268863&amp;amp;utm_medium=external&amp;amp;utm_source=blog&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;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;コーディング アシスタントである &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini/docs/codeassist/gemini-cli?utm_campaign=CDR_0x91b1edb5_default_b485268863&amp;amp;utm_medium=external&amp;amp;utm_source=blog"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini CLI&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; をデベロッパー ナレッジ MCP サーバーに接続することで、このシステム全体をわずか 2 日で構築して &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/run/docs?utm_campaign=CDR_0x91b1edb5_default_b485268863&amp;amp;utm_medium=external&amp;amp;utm_source=blog&amp;amp;hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google 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;ここでは、長期記憶を備えた複雑なマルチ エージェント システムを設計する方法、ローカルおよびリモートの MCP サーバーを利用してツールを標準化する方法、安全な Cloud Run デプロイのための詳細な Terraform スクリプトを作成する方法など、さまざまな方法をご紹介します。&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/GoogleCloudPlatform/devrel-demos/tree/main/ai-ml/dev-signal" 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;/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=abZxJiXGrJs"
      data-glue-modal-trigger="uni-modal-abZxJiXGrJs-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        &lt;img src="//img.youtube.com/vi/abZxJiXGrJs/maxresdefault.jpg"
             alt="A YouTube video that walks through a demo to set up the Dev Signal system"/&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-abZxJiXGrJs-"
     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="abZxJiXGrJs"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=abZxJiXGrJs"
      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;4 回に分けてお届けするこのブログシリーズでは、このプロジェクトをどのように実現したのか、その手順を段階的にご紹介します。各ブログ投稿では、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Dev Signal&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;strong style="vertical-align: baseline;"&gt;パート 1: エージェント機能を構築するためのツール &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; – まず、プロジェクト環境をセットアップし、Model Context Protocol（MCP）を使用してエージェントにツールを装備します。トレンドの発見に Reddit を、技術的なグラウンディングに Google Cloud ドキュメントを、画像生成にカスタム Nano Banana Pro ツールを使用する方法を学びます。&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;パート 2: 長期記憶を備えたマルチ エージェント アーキテクチャ &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;– ルート オーケストレーターと専門エージェント チームを実装して、システムの「頭脳」を構築します。また、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/agent-builder/agent-engine/memory-bank/overview?utm_campaign=CDR_0x91b1edb5_default_b485268863&amp;amp;utm_medium=external&amp;amp;utm_source=blog"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Vertex AI Memory Bank&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;パート 3: エージェントをローカルでテストする&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; – クラウドに移行する前に、エージェントのコンポーネントを同期し、ワークステーションでエージェントのパフォーマンスを検証します。専用のテストランナーを使用して、検出、調査、マルチモーダル作成のライフサイクル全体をシミュレートします。特に、ローカル エージェントをクラウドベースの Vertex AI Memory Bank に直接接続して、長期記憶の永続性を検証することに重点を置きます。&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;パート 4: Cloud Run へのデプロイと本番環境への移行&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; – 最後に、再現可能なインフラストラクチャを実現するため、Terraform を使用して Google Cloud Run にサービスをデプロイします。また、高品質で安全な本番環境システムに必要な次のステップについても説明します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;Dev Signal の概要&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Dev Signal&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; は、ノイズをフィルタして価値を生み出すように設計されたインテリジェントなモニタリング エージェントです。&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Dev Signal&lt;/strong&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;: Reddit を調査して、エンゲージメントの高い技術的な質問を見つけます。&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;/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;strong style="vertical-align: baseline;"&gt;Vertex AI Memory Bank&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;前提条件&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;始める前に、以下がインストールされていることを確認してください。&lt;/span&gt;&lt;/p&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Python 3.12 以降&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;uv&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;（Python パッケージ管理システム）: &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;curl -LsSf https://astral.sh/uv/install.sh | sh&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;a href="https://cloud.google.com/sdk/docs/install?utm_campaign=CDR_0x91b1edb5_default_b485268863&amp;amp;utm_medium=external&amp;amp;utm_source=blog"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud SDK&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;gcloud&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; CLI）（インストールおよび認証済み）&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://developer.hashicorp.com/terraform/install" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Terraform&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（Iinfrastructure as Code 用）&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.npmjs.com/downloading-and-installing-node-js-and-npm" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Node.js と npm&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（Reddit MCP ツールに必要）&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;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/resource-manager/docs/creating-managing-projects?utm_campaign=CDR_0x91b1edb5_default_b485268863&amp;amp;utm_medium=external&amp;amp;utm_source=blog"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud プロジェクト&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/endpoints/docs/openapi/enable-api?utm_campaign=CDR_0x91b1edb5_default_b485268863&amp;amp;utm_medium=external&amp;amp;utm_source=blog"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;有効な API&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;: Vertex AI、Cloud Run、Secret Manager、Artifact Registry。&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;Reddit API 認証情報&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;（クライアント ID、シークレット）- &lt;/span&gt;&lt;a href="https://www.reddit.com/prefs/apps" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Reddit デベロッパー ポータル&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;Developer Knowledge API Key&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;（Google Cloud ドキュメント検索用）- 入手方法については、&lt;/span&gt;&lt;a href="https://developers.google.com/knowledge/mcp?utm_campaign=CDR_0x91b1edb5_default_b485268863&amp;amp;utm_medium=external&amp;amp;utm_source=blog" 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;/ul&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;Dev Signal&lt;/strong&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;Remigiusz Samborski&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; 氏と &lt;/span&gt;&lt;a href="https://www.linkedin.com/in/vkolesnikov/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Vlad Kolesnikov&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=XCGbDx7aSks" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Factory のエピソード&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;で説明されている自動化されたアーキテクト ワークフローに従って、まず &lt;/span&gt;&lt;a href="https://github.com/GoogleCloudPlatform/agent-starter-pack" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Starter Pack&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;Starter Pack は、プロフェッショナルなインフラストラクチャ、CI / CD パイプライン、オブザーバビリティ ツールの作成を数秒で自動化するため、強力な出発点となります。これにより、基盤となるプラットフォームのセキュリティとスケーラビリティを確保しながら、エージェント独自のインテリジェンスに十分集中できるようになります。&lt;/span&gt;&lt;a href="https://blog.google/innovation-and-ai/technology/developers-tools/introducing-gemini-cli-open-source-ai-agent/?utm_campaign=CDR_0x91b1edb5_default_b485268863&amp;amp;utm_medium=external&amp;amp;utm_source=blog" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini CLI&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; と &lt;/span&gt;&lt;a href="https://antigravity.google/?utm_campaign=CDR_0x91b1edb5_default_b485268863&amp;amp;utm_medium=external&amp;amp;utm_source=blog" 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; の AI アシスタンスを使用して、生成されたボイラープレートを基に構築することで、開発プロセスが大幅に加速されます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Agent Starter Pack のアーキテクチャの概要:&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/agentstarterpack.max-1000x1000.png"
        
          alt="agentstarterpack"&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;1. プロジェクトを初期化する&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;プロジェクト用の新しいディレクトリを作成し、初期化します。ここでは、非常に高速な Python パッケージ管理システムである &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;uv&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 dev-signal&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39cf9225b0&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;このプロジェクトは次の構造に従います。これらのファイルにデータを段階的に入力していきます。&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;dev-signal/\r\n├── dev_signal_agent/\r\n│   ├── __init__.py\r\n│   ├── agent.py           # Agent logic &amp;amp; orchestration\r\n│   ├── fast_api_app.py    # Application server &amp;amp; memory connection\r\n│   ├── app_utils/         # Env Config\r\n│   │   └── env.py\r\n│   └── tools/             # External capabilities\r\n│       ├── __init__.py\r\n│       ├── mcp_config.py  # Tool configuration (Reddit, Docs)\r\n│       └── nano_banana_mcp/# Custom local image generation tool\r\n│           ├── __init__.py\r\n│           ├── main.py\r\n│           ├── nano_banana_pro.py\r\n│           ├── media_models.py\r\n│           ├── storage_utils.py\r\n│           └── requirements.txt\r\n├── deployment/\r\n│   └── terraform/         # Infrastructure as Code\r\n├── .env                   # Local secrets (API keys)\r\n├── Makefile               # Shortcuts for building/deploying\r\n├── Dockerfile             # Container definition\r\n└── pyproject.toml         # Dependencies&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39cf922430&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;3. 依存関係を定義する&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;pyproject.toml&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を更新します。エージェント フレームワークには &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;google-adk&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を、モデルのインタラクションには &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;google-genai&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;[project]\r\nname = &amp;quot;dev-signal&amp;quot;\r\nversion = &amp;quot;0.1.0&amp;quot;\r\ndescription = &amp;quot;A multi-agent system for monitoring and content creation.&amp;quot;\r\nreadme = &amp;quot;README.md&amp;quot;\r\nrequires-python = &amp;quot;&amp;gt;=3.12, &amp;lt;3.14&amp;quot;\r\ndependencies = [\r\n     &amp;quot;google-adk&amp;gt;=0.1.0&amp;quot;,\r\n    \xa0&amp;quot;google-genai&amp;gt;=1.0.0&amp;quot;,\r\n     &amp;quot;mcp&amp;gt;=1.0.0&amp;quot;,\r\n    \xa0&amp;quot;python-dotenv&amp;gt;=1.0.0&amp;quot;,\r\n     &amp;quot;fastapi&amp;gt;=0.110.0&amp;quot;,\r\n     &amp;quot;uvicorn&amp;gt;=0.29.0&amp;quot;,\r\n     &amp;quot;google-cloud-logging&amp;gt;=3.0.0&amp;quot;,\r\n     &amp;quot;google-cloud-aiplatform&amp;gt;=1.38.0&amp;quot;,\r\n    \xa0&amp;quot;fastmcp&amp;gt;=2.13.0&amp;quot;,\r\n     &amp;quot;google-cloud-storage&amp;gt;=3.6.0&amp;quot;,\r\n     &amp;quot;google-auth&amp;gt;=2.0.0&amp;quot;,\r\n     &amp;quot;google-cloud-secret-manager&amp;gt;=2.26.0&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 0x7f39cf922af0&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 sync&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;/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 dev_signal_agent\r\ncd dev_signal_agent&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39cf922340&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;エージェント機能の構築: MCP ツール&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントは外部とやり取りする必要があります。これを標準化するために、&lt;/span&gt;&lt;a href="https://modelcontextprotocol.io/" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Model Context Protocol（MCP）&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を使用します。&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Model Context Protocol（MCP）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;は、AI エージェントを外部のデータやツールに接続するための普遍的な基準です。カスタム API ラッパーを記述する代わりに、標準の MCP サーバーを使用します。これにより、共通のインターフェースを使用して、API（Reddit）、ナレッジベース（Google Cloud ドキュメント）、さらにはローカル スクリプト（Nano Banana Pro を使用した画像生成）にも接続できます。エージェント ツール用の新しいディレクトリを作成します。&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 tools\r\ncd tools&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39cf922cd0&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;code style="vertical-align: baseline;"&gt;dev_signal_agent/tools/mcp_config.py&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;このファイルでは、3 つの主要なツールの接続パラメータを定義します。&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;Reddit&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: ローカル stdio サブプロセス経由で接続されます。&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;: リモート 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;Nano Banana&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: ローカル stdio サブプロセス（Google のカスタム Python スクリプト）経由で接続されます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;Reddit 検索（発見ツール）&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://github.com/Arindam200/reddit-mcp" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Reddit MCP サーバー &lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;は Reddit API へのブリッジとして機能し、複雑な API ラッパーを記述しなくても、トレンドとなっている投稿をエージェントが発見してエンゲージメントを分析できるようにします。移植性を確保するために、コードでは「検索またはフェッチ」戦略が使用されています。まずローカル インストールをチェックし、見つからない場合は &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;npx&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;ネットワーク接続の代わりに、エージェントはサーバーをローカル サブプロセスとして起動し、標準入出力（stdio）を介して通信します。Google ADK 内の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;McpToolset&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; クラスは、これらの接続を標準化する普遍的なラッパーとして機能し、エージェントが共通のインターフェースを使用して、コミュニティ リソースからカスタム スクリプト（Nano Banana 画像生成ツールなど）まで、さまざまなツールとやり取りできるようにします。環境変数を介して API 認証情報を安全に渡すことで、システムはこれらの「プラグ アンド プレイ」モジュールが AI と外部プラットフォーム間のシームレスなブリッジとして機能することを保証します。&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;dev_signal_agent/tools/mcp_config.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;import os\r\nimport shutil\r\nfrom mcp import StdioServerParameters\r\nfrom google.adk.tools import McpToolset\r\nfrom google.adk.tools.mcp_tool import StreamableHTTPConnectionParams, StdioConnectionParams\r\n\r\ndef get_reddit_mcp_toolset(client_id: str = &amp;quot;&amp;quot;, client_secret: str = &amp;quot;&amp;quot;, user_agent: str = &amp;quot;&amp;quot;):\r\n    &amp;quot;&amp;quot;&amp;quot;\r\n    Connects to the Reddit MCP server.\r\n    This server runs as a local subprocess (stdio) and proxies requests to the Reddit API.\r\n    &amp;quot;&amp;quot;&amp;quot;\r\n    # Check if \&amp;#x27;reddit-mcp\&amp;#x27; is installed globally, otherwise use npx to run it\r\n    cmd = &amp;quot;reddit-mcp&amp;quot; if shutil.which(&amp;quot;reddit-mcp&amp;quot;) else &amp;quot;npx&amp;quot;\r\n    args = [] if shutil.which(&amp;quot;reddit-mcp&amp;quot;) else [&amp;quot;-y&amp;quot;, &amp;quot;--quiet&amp;quot;, &amp;quot;reddit-mcp&amp;quot;]\r\n    \r\n    # Inject secrets into the environment of the subprocess only\r\n    env = {\r\n        **os.environ, \r\n        &amp;quot;DOTENV_CONFIG_SILENT&amp;quot;: &amp;quot;true&amp;quot;, \r\n        &amp;quot;LANG&amp;quot;: &amp;quot;en_US.UTF-8&amp;quot;\r\n    }\r\n\r\n    if client_id: env[&amp;quot;REDDIT_CLIENT_ID&amp;quot;] = client_id\r\n    if client_secret: env[&amp;quot;REDDIT_CLIENT_SECRET&amp;quot;] = client_secret\r\n    if user_agent: env[&amp;quot;REDDIT_USER_AGENT&amp;quot;] = user_agent\r\n\r\n    return McpToolset(\r\n        connection_params=StdioConnectionParams(\r\n            server_params=StdioServerParameters(\r\n                command=cmd, \r\n                args=args, \r\n                env=env # Pass injected secrets directly to the subprocess\r\n            ),\r\n            timeout=120.0\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 0x7f39bd7de760&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;Google Cloud ドキュメント（ナレッジツール）&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://developers.google.com/knowledge/mcp?utm_campaign=CDR_0x91b1edb5_default_b485268863&amp;amp;utm_medium=external&amp;amp;utm_source=blog" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Developer Knowledge MCP サーバー&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;は、エージェントが Google Cloud の公式ドキュメントのコーパス全体を検索できるようにすることで、エージェントのグラウンディングを提供します。これは、ローカルの Reddit サーバーとは異なり、Google がホストするマネージド サービスであり、インターネット経由でリモート エンドポイントとしてアクセスされます。セマンティック クエリ用の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;google_developer_documentation_search&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; や、完全なマークダウン コンテンツを取得するための &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;google_developer_documentation_fetch&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;注:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;a href="https://blog.google/innovation-and-ai/technology/developers-tools/introducing-gemini-cli-open-source-ai-agent/?utm_campaign=CDR_0x91b1edb5_default_b485268863&amp;amp;utm_medium=external&amp;amp;utm_source=blog" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini CLI&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; や &lt;/span&gt;&lt;a href="https://antigravity.google/?utm_campaign=CDR_0x91b1edb5_default_b485268863&amp;amp;utm_medium=external&amp;amp;utm_source=blog" 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; などのコーディング アシスタント ツールをデベロッパー ナレッジ MCP サーバーに接続して、最新の便利な Google Cloud ドキュメントをアシスタントに提供することもできます。このブログ記事を書くときも使っています。&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;McpToolset&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; クラスと &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;StreamableHTTPConnectionParams&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を使用し、ローカル プロセスを起動する代わりにウェブ URL を指定します。リクエスト ヘッダーで渡される &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;DK_API_KEY&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;（&lt;/span&gt;&lt;a href="https://developers.google.com/knowledge/mcp?utm_campaign=CDR_0x91b1edb5_default_b485268863&amp;amp;utm_medium=external&amp;amp;utm_source=blog" rel="noopener" target="_blank"&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;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;次のコードを &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;dev_signal_agent/tools/mcp_config.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;def get_dk_mcp_toolset(api_key: str = &amp;quot;&amp;quot;):\r\n    &amp;quot;&amp;quot;&amp;quot;\r\n    Connects to Developer Knowledge (Google Cloud Docs).\r\n    This is a remote MCP server accessed via HTTP.\r\n    &amp;quot;&amp;quot;&amp;quot;\r\n    headers = {}\r\n    if api_key:\r\n        headers[&amp;quot;X-Goog-Api-Key&amp;quot;] = api_key\r\n    else:\r\n        # Fallback to os.environ for local testing if not passed via API\r\n        headers[&amp;quot;X-Goog-Api-Key&amp;quot;] = os.getenv(&amp;quot;DK_API_KEY&amp;quot;, &amp;quot;&amp;quot;)\r\n\r\n    return McpToolset(\r\n        connection_params=StreamableHTTPConnectionParams(\r\n            url=&amp;quot;https://developerknowledge.googleapis.com/mcp&amp;quot;,\r\n            headers=headers\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 0x7f39bd7dee80&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;画像生成ツール（Nano Banana MCP）&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Reddit とドキュメントには外部 MCP サーバーを使用しましたが、特定の Python ロジックをラップする独自のカスタム MCP サーバーを構築することもできます。この例では、Gemini 3 Pro Image（Nano Banana Pro とも呼ばれます）を搭載した画像生成ツールを作成します。これは、任意の Python 関数を、任意のエージェントが理解できるツールに標準化できることを示しています。&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://gofastmcp.com/getting-started/welcome" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;FastMCP&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;: &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;fastmcp&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ライブラリを使用してサーバーの作成を大幅に簡素化し、数行のコードで Python 関数をツールとして登録できるようにします。&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;Gemini のインテグレーション&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: サーバーは Google GenAI SDK を使用して &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;gemini-3-pro-image-preview&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;GCS へのアップロードとホスティング:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; エージェント インターフェースでは通常、画像を表示するために URL が必要となるため、サーバーは生成されたバイトを Google Cloud Storage（GCS）に自動的にアップロードし、公開リンクを返します。&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;code style="vertical-align: baseline;"&gt;StdioConnectionParams&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を使用します。これは、サーバーが標準入出力を介して通信するローカル サブプロセスとして実行されるためです。この転送方法は、サーバーのエントリポイントで定義する &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;transport="stdio"&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;code style="vertical-align: baseline;"&gt;dev_signal_agent/tools/mcp_config.py&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; で MCP 接続を定義します。&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;uv run&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;code style="vertical-align: baseline;"&gt;dev_signal_agent/tools/mcp_config.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;def get_nano_banana_mcp_toolset():\r\n    &amp;quot;&amp;quot;&amp;quot;\r\n    Connects to our local \&amp;#x27;Nano Banana\&amp;#x27; image generator.\r\n    This demonstrates how to wrap a local Python script as an MCP tool.\r\n    &amp;quot;&amp;quot;&amp;quot;\r\n    path = os.path.join(&amp;quot;dev_signal_agent&amp;quot;, &amp;quot;tools&amp;quot;, &amp;quot;nano_banana_mcp&amp;quot;, &amp;quot;main.py&amp;quot;)\r\n    bucket = os.getenv(&amp;quot;AI_ASSETS_BUCKET&amp;quot;)     \r\n    return McpToolset(\r\n        connection_params=StdioConnectionParams(\r\n            server_params=StdioServerParameters(\r\n                command=&amp;quot;uv&amp;quot;, \r\n                args=[&amp;quot;run&amp;quot;, path], \r\n                env={**os.environ, &amp;quot;AI_ASSETS_BUCKET&amp;quot;: bucket}\r\n            ),\r\n            timeout=600.0 # Image generation can take time\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 0x7f39bd7ded60&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;Nano Banana Pro サーバー ロジックの実装&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;次に、このサーバーの実際のロジックを実装します。この実装は、Remigiusz Samborski 氏による &lt;/span&gt;&lt;a href="https://www.youtube.com/watch?v=XCGbDx7aSks&amp;amp;list=PLIivdWyY5sqLXR1eSkiM5bE6pFlXC-OSs&amp;amp;index=2" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Factory&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; デモの&lt;/span&gt;&lt;a href="https://github.com/GoogleCloudPlatform/devrel-demos/tree/a9a5f64a3394a4b5ecc64061f397bd5ed82927ee/ai-ml/agent-factory-antigravity-nano-banana-pro/mcp" 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;に基づいています。Remi の元のコードには、MCP サーバーを Cloud Run にデプロイする手順が記載されていますが、ここでは開発とテストを迅速に行うために、ローカル サブプロセスとして実行します。&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;mkdir -p dev_signal_agent/tools/nano_banana_mcp\r\ncd dev_signal_agent/tools/nano_banana_mcp&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39bd7de7f0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;span style="vertical-align: baseline;"&gt;サーバー エントリポイント（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;main.py&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このファイルは、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;FastMCP の初期化: &lt;/strong&gt;&lt;code style="vertical-align: baseline;"&gt;FastMCP&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ライブラリを使用して、「MediaGenerators」という名前のサーバーを作成し、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;generate_image&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;code style="vertical-align: baseline;"&gt;_initialize_console_logging&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; 関数が重要な役割を果たします。この関数はすべてのログを &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;sys.stderr&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; に強制的に出力します。これは、MCP の「stdio」転送がエージェントとツールの間の通信に &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;sys.stdout&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を使用するためです。&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;stdout&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;code style="vertical-align: baseline;"&gt;mcp.run(transport="stdio")&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;次のコードを &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;dev_signal_agent/tools/nano_banana_mcp/main.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;import logging\r\nimport os\r\nimport sys\r\nfrom fastmcp import FastMCP\r\nfrom dotenv import load_dotenv\r\nfrom nano_banana_pro import generate_image\r\n\r\ndef _initialize_console_logging(min_level: int = logging.INFO):\r\n    # Ensure logs go to STDERR so they don\&amp;#x27;t break the MCP stdio protocol\r\n    handler = logging.StreamHandler(sys.stderr)\r\n    logging.basicConfig(level=min_level, handlers=[handler], force=True)\r\n\r\ntools = [generate_image]\r\nmcp = FastMCP(name=&amp;quot;MediaGenerators&amp;quot;, tools=tools)\r\n\r\nif __name__ == &amp;quot;__main__&amp;quot;:\r\n    load_dotenv()\r\n    _initialize_console_logging()\r\n    mcp.run(transport=&amp;quot;stdio&amp;quot;)&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 0x7f39bd7de070&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;span style="vertical-align: baseline;"&gt;生成ロジック（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;nano_banana_pro.py）&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ここでは、Gemini を使用して実際に画像が生成されます。&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;GenAI クライアント:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Google の生成モデルとやり取りするために、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;genai.Client()&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;code style="vertical-align: baseline;"&gt;gemini-3-pro-image-preview&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; モデルを対象とします。&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;response_modalities&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を「IMAGE」に設定して、テキストだけでなくピクセルも必要であることをモデルに伝えます。&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;code style="vertical-align: baseline;"&gt;MAX_RETRIES&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ループ（5 に設定）が含まれており、エージェントが有効な画像を複数回取得できるようにしています。&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;URI 変換:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 最後に、内部の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;gs://&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; パスを、ブラウザからアクセス可能な &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;https://&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; URL に置き換え、ユーザーが実際に画像を見られるようにします。&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;code style="vertical-align: baseline;"&gt;dev_signal_agent/tools/nano_banana_mcp/nano_banana_pro.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;import logging\r\nfrom typing import Literal, Optional\r\nfrom google import genai\r\nfrom google.genai import types\r\nfrom media_models import MediaAsset\r\nfrom storage_utils import upload_data_to_gcs\r\n\r\nAUTHORIZED_URI = &amp;quot;https://storage.mtls.cloud.google.com/&amp;quot;\r\nMAX_RETRIES = 5\r\n\r\nasync def generate_image(\r\n    prompt: str,\r\n    aspect_ratio: Literal[&amp;quot;16:9&amp;quot;, &amp;quot;9:16&amp;quot;] = &amp;quot;16:9&amp;quot;,\r\n) -&amp;gt; MediaAsset:\r\n    &amp;quot;&amp;quot;&amp;quot;Generates an image using Gemini 3 Image model.&amp;quot;&amp;quot;&amp;quot;\r\n    genai_client = genai.Client()\r\n    content = types.Content(parts=[types.Part.from_text(text=prompt)], role=&amp;quot;user&amp;quot;)\r\n    \r\n    logging.info(f&amp;quot;Starting image generation for prompt: {prompt[:50]}...&amp;quot;)\r\n    asset = MediaAsset(uri=&amp;quot;&amp;quot;)\r\n    \r\n    for _ in range(MAX_RETRIES):\r\n        response = genai_client.models.generate_content(\r\n            model=&amp;quot;gemini-3-pro-image-preview&amp;quot;,\r\n            contents=[content],\r\n            config=types.GenerateContentConfig(\r\n                response_modalities=[&amp;quot;IMAGE&amp;quot;],\r\n                image_config=types.ImageConfig(aspect_ratio=aspect_ratio)\r\n            )\r\n        )\r\n        if response and response.parts:\r\n            for part in response.parts:\r\n                if part.inline_data and part.inline_data.data:\r\n                    # Upload the raw bytes to GCS\r\n                    gcs_uri = await upload_data_to_gcs(\r\n                        &amp;quot;mcp-tools&amp;quot;,\r\n                        part.inline_data.data,\r\n                        part.inline_data.mime_type\r\n                    )\r\n                    asset = MediaAsset(uri=gcs_uri)\r\n                    break\r\n        if asset.uri: break\r\n\r\n    if not asset.uri:\r\n        asset.error = &amp;quot;No image was generated.&amp;quot;\r\n    else:\r\n        # Convert gs:// URI to an HTTP accessible URL if needed\r\n        asset.uri = asset.uri.replace(\&amp;#x27;gs://\&amp;#x27;, AUTHORIZED_URI)\r\n        logging.info(f&amp;quot;Image URL: {asset.uri}&amp;quot;)\r\n        \r\n    return asset&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 0x7f39bd7de940&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;span style="vertical-align: baseline;"&gt;GCS アップロード ヘルパー（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;storage_utils.py）&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントは画像を表示するためにリンクを必要とするため、このユーティリティは Google Cloud Storage（GCS）でホスティングを処理します。&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;AI_ASSETS_BUCKET&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; から &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;LOGS_BUCKET_NAME&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; 未加工の画像データの MD5 ハッシュを使用して、一意のファイル名を作成します。これにより、ファイル名の競合を防ぐことができ、同じ画像の重複アップロードを回避する簡単な方法として機能します。&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;code style="vertical-align: baseline;"&gt;blob.upload_from_string&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; メソッドは、未加工の画像バイトを GCS バケットに直接 push します。&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;code style="vertical-align: baseline;"&gt;dev_signal_agent/tools/nano_banana_mcp/storage_utils.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;import hashlib\r\nimport mimetypes\r\nimport os\r\nfrom google.cloud.storage import Client, Blob\r\nfrom dotenv import load_dotenv\r\n\r\nload_dotenv()\r\nstorage_client = Client()\r\nai_bucket_name = os.environ.get(&amp;quot;AI_ASSETS_BUCKET&amp;quot;) or os.environ.get(&amp;quot;LOGS_BUCKET_NAME&amp;quot;)\r\nai_bucket = storage_client.bucket(ai_bucket_name)\r\n\r\nasync def upload_data_to_gcs(agent_id: str, data: bytes, mime_type: str) -&amp;gt; str:\r\n    file_name = hashlib.md5(data).hexdigest()\r\n    ext = mimetypes.guess_extension(mime_type) or &amp;quot;&amp;quot;\r\n    blob_name = f&amp;quot;assets/{agent_id}/{file_name}{ext}&amp;quot;\r\n    blob = Blob(bucket=ai_bucket, name=blob_name)\r\n    blob.upload_from_string(data, content_type=mime_type, client=storage_client)\r\n    return f&amp;quot;gs://{ai_bucket_name}/{blob_name}&amp;quot;&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 0x7f39bd7de3a0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;span style="vertical-align: baseline;"&gt;データモデル（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;media_models.py&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）&lt;/span&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;構造化された出力:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Pydantic &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;BaseModel&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を使用することで、ツールが常に &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;uri&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;（リンク）とオプションの &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;error&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; メッセージを含む一貫した JSON オブジェクトを返すことを保証します。これにより、AI エージェントがツールの結果を理解して処理することがはるかに容易になります。&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;code style="vertical-align: baseline;"&gt;dev_signal_agent/tools/nano_banana_mcp/media_models.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 typing import Optional\r\nfrom pydantic import BaseModel\r\n\r\nclass MediaAsset(BaseModel):\r\n    uri: str\r\n    error: Optional[str] = None&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 0x7f39bd7dea00&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;span style="vertical-align: baseline;"&gt;ツールの依存関係（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;requirements.txt）&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;コードの実行には &lt;/span&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;requirements.txt&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ファイルは、Nano Banana サーバーが機能するために &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;uv&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;このファイルには、このツールに必要な 3 つのコアライブラリがリストされています。&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-cloud-storage:&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;google-genai:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Gemini 3 Pro の画像生成のロジックを提供します。&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;fastmcp:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Python スクリプトを標準化された MCP ツールに変えるフレームワークです。&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;code style="vertical-align: baseline;"&gt;dev_signal_agent/tools/nano_banana_mcp/requirements.txt&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;google-cloud-storage==3.6.*\r\ngoogle-genai==1.52.*\r\nfastmcp==2.13.*&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39bd7de310&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;シリーズのパート 1 では、Model Context Protocol（MCP）を通じて外部統合を標準化することにより、エージェントのコア機能を確立することに焦点を当てました。高速な依存関係管理のために &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;uv&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を使用してプロジェクトを初期化し、トレンド発見のための Reddit、技術的なグラウンディングのための Google Cloud ドキュメント、マルチモーダル画像生成のためのカスタム「Nano Banana」MCP サーバーという 3 つの重要なツールセットを構成しました。Google ADK の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;McpToolset&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;技術的基盤について詳しく確認するには、&lt;/span&gt;&lt;a href="https://developers.google.com/knowledge/mcp?utm_campaign=CDR_0x91b1edb5_default_b485268863&amp;amp;utm_medium=external&amp;amp;utm_source=blog" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Developer Knowledge MCP サーバー&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;でナレッジ グラウンディングの詳細を確認するか、&lt;/span&gt;&lt;a href="https://github.com/google/adk-python" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google ADK GitHub リポジトリ&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;ツールセットが完全に構成され、使用できる状態になったので、パート 2 に進みましょう。パート 2 では、マルチ エージェント アーキテクチャを構築し、Vertex AI Memory Bank を統合してこれらの機能をオーケストレートします。さらに詳しく調べる場合は、&lt;/span&gt;&lt;a href="https://github.com/GoogleCloudPlatform/devrel-demos/tree/main/ai-ml/dev-signal" 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;p&gt;&lt;span style="font-style: italic; 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="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt; Remigiusz Samborski &lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: italic; 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://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;a href="https://x.com/shirmeir86?lang=en" 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;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;AI / プロダクト / DevRel 責任者、&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, 09 Apr 2026 01:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/build-a-multi-agent-system-for-expert-content-with-google-adk-mcp-and-cloud-run-part-1/</guid><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/devsignalheroimage.max-600x600.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Google ADK、MCP、Cloud Run を使用して専門家向けコンテンツ用のマルチ エージェント システムを構築する - パート 1</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/devsignalheroimage.max-600x600.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/build-a-multi-agent-system-for-expert-content-with-google-adk-mcp-and-cloud-run-part-1/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Shir Meir Lador</name><title>Head of AI, Product DevRel</title><department></department><company></company></author></item><item><title>LLM 推論の効率的フロンティアに到達するための 5 つの手法</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/five-techniques-to-reach-the-efficient-frontier-of-llm-inference/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 3 月 28 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/five-techniques-to-reach-the-efficient-frontier-of-llm-inference?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;モデル推論に費やした費用の分だけ、レイテンシとスループットのグラフ上で良いポジションが得られます。上の図には、ハードウェアから可能な限り最大のパフォーマンスを引き出した、最適な構成の曲線が示されています。この曲線は、金融のポートフォリオ理論から借用したもので、&lt;/span&gt;&lt;a href="https://en.wikipedia.org/wiki/Efficient_frontier" rel="noopener" target="_blank"&gt;&lt;span style="font-style: italic; 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;ハードウェアの予算が固定されていると仮定すると、レイテンシとスループットをトレードオフできます。ただし、フロンティア曲線自体が移動しない限り、一方を改善するには他方を犠牲にする必要があります。根本的に異なる 2 つのダイナミクスが作用しており、これは本番環境で LLM を実行するすべての人にとって重要なインサイトです。&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/kubernetes-engine/docs/tutorials/serve-gemma-gpu-tensortllm?utm_campaign=CDR_0x2b6f3004_default&amp;amp;utm_medium=external&amp;amp;utm_source=blog&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://docs.cloud.google.com/kubernetes-engine/docs/best-practices/machine-learning/inference/llm-optimization?hl=ja#model-memory"&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/kubernetes-engine/docs/concepts/about-gke-inference-gateway?utm_campaign=CDR_0x2b6f3004_default&amp;amp;utm_medium=external&amp;amp;utm_source=blog&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://docs.cloud.google.com/vertex-ai/docs/blog/posts/from-research-to-production-accelerate-oss-llm-with-eagle-3-on-vertex?utm_campaign=CDR_0x2b6f3004_default&amp;amp;utm_medium=external&amp;amp;utm_source=blog&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://docs.cloud.google.com/kubernetes-engine/docs/best-practices/machine-learning/inference/llm-optimization?hl=ja#quantization"&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;2 つ目のダイナミクスは、フロンティア自体が常に外側に移動していることです。この部分は、ほとんどの場合、自分で制御できません。研究者は新しいアルゴリズムを発表し、ハードウェア ベンダーは新しいアーキテクチャを出荷し、オープンソース プロジェクトは成熟します。ブレイクスルーが起こるたびに、物理的に達成可能なことが再定義され、曲線が拡大されるため、昨日の最適な構成が今日の非効率になります。&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;すべての LLM リクエストには 2 つの計算フェーズがあり、それぞれ異なるハードウェア リソースでボトルネックが発生する可能性があります。&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;: このフェーズでは、GPU が入力プロンプト全体を一度に処理して、アテンション機構の &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/kubernetes-engine/docs/best-practices/machine-learning/inference/llm-optimization?hl=ja#attention-layer-optimization?utm_campaign=CDR_0x2b6f3004_default&amp;amp;utm_medium=external&amp;amp;utm_source=blog"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Key-Value（KV）キャッシュ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を構築します。命令は並列でバッチ処理されるため、GPU のコンピューティング コア（テンソルコア）の使用率が高くなります。このフェーズは高速かつ効率的です。プロセッサは、大規模な行列乗算を実行するために必要なすべてのデータをすぐに利用できます。プロンプトが長くなると、単純に計算量が増えます。&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;: このフェーズでは、新しいトークンが一度に 1 つずつ&lt;/span&gt;&lt;a href="https://en.wikipedia.org/wiki/Autoregressive_model" 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;に生成されます。1 つのトークンのみを生成する場合、GPU は作業をバッチ処理できません。モデル全体の重みと増大する KV キャッシュを&lt;/span&gt;&lt;a href="https://en.wikipedia.org/wiki/High_Bandwidth_Memory" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;高帯域幅メモリ（HBM）&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;からコンピューティング コアにフェッチする必要があります。その後、GPU はその 1 つのトークンを計算し、次のトークンに対して再び同じ処理を行うのを待ちます。&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-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/prefill-vs-decode.max-1000x1000.jpg"
        
          alt="prefill-vs-decode"&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;推論の 2 つの軸&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;LLM 推論の効率的フロンティアでは、リスクとリターンの代わりに、ハードウェア予算が固定されているという前提で、別の基本的なトレードオフが測定されます。&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;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;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;a href="https://bentoml.com/llm/inference-optimization/llm-inference-metrics" rel="noopener" target="_blank"&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;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;strong style="vertical-align: baseline;"&gt;レイテンシ（X 軸）&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;最初のトークンまでの時間（TTFT）+ トークン間の時間（TBT）&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;strong style="vertical-align: baseline;"&gt;スループット（Y 軸）&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;すべての同時ユーザーの 1 秒あたりの合計トークン数&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;/div&gt;
&lt;/div&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;フロンティアに到達する: 制御可能な 5 つの手法&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-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/interventions.max-1000x1000.jpg"
        
          alt="interventions"&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. モデル階層間のセマンティック ルーティング&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;すべてのクエリに 4,000 億パラメータのモデルが必要なわけではありません。単純な分類、要約、書式設定のタスクは、トークンあたりの費用が桁違いに安い、より小さな量子化モデルにルーティングできます。ゲートウェイ エッジの軽量分類器がクエリの複雑さを分析し、それに応じてルーティングします。難しい推論にはフロンティア クラスのモデル、それ以外には小規模モデルを使用します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://cloud.google.com/blog/ja/products/containers-kubernetes/how-gke-inference-gateway-improved-latency-for-vertex-ai?utm_campaign=CDR_0x2b6f3004_default&amp;amp;utm_medium=external&amp;amp;utm_source=blog&amp;amp;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;/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;p&gt;&lt;span style="vertical-align: baseline;"&gt;プレフィル フェーズには、コンピューティング能力の高い GPU が必要です。デコード フェーズには、高帯域幅メモリが必要です。両方のフェーズを同じ GPU に強制的に割り当てると、一方のリソースが常に十分に活用されない状態になります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;両方のフェーズをそれぞれ理論上のハードウェア上限に近づけるには、専用のプレフィル クラスタとデコード クラスタを実行します。これらのクラスタを、圧縮された KV キャッシュの状態のみを同じ GPU に転送する高速ネットワークで接続すると、一方のリソースが常に十分に活用されない状態になります。&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;a href="https://docs.cloud.google.com/kubernetes-engine/docs/best-practices/machine-learning/inference/llm-optimization?hl=ja#quantization?utm_campaign=CDR_0x2b6f3004_default&amp;amp;utm_medium=external&amp;amp;utm_source=blog"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;モデルの重み&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を FP16 から INT8 または INT4 形式に減らすと、メモリ使用量を半分または 4 分の 1 に削減できます。デコード フェーズにはメモリ帯域幅の制限があるため、4 ビットの重みは 16 ビットの重みよりも最大 4 倍速く読み取ることができます。このアプローチにより、TBT が直接改善されます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;単純な量子化ではモデル出力の品質が低下するため、品質とのトレードオフが生じます。Activation-aware Weight Quantization（AWQ）や GPTQ などの最新の手法では、重要な重みの品質を維持しながら、他の重みを積極的に圧縮して、INT4 の速度で FP16 に近い品質を実現します。&lt;/span&gt;&lt;/p&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;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;2026 年は、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/vertex-ai/generative-ai/docs/open-models/model-garden-published-notebooks/model_garden_advanced_features#prefix_caching_"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;接頭辞のキャッシュ保存&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;が基盤となっています。10 人のユーザーが 100 ページの RAG ドキュメントについてまったく同じ質問をしたり、同一の膨大なシステム プロンプトを使用したりする場合、コンピューティング負荷の高いプレフィル フェーズを 10 回実行すべきではありません。KV キャッシュを一度計算して保存し、他の 9 人のユーザーが再利用できるようにする必要があります。このアプローチにより、TTFT を最大 85% 短縮し、コンピューティング費用を大幅に削減できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ただし、注意点があります。標準の L4 ロードバランサはリクエストをランダムに分散します。ユーザー 2 のリクエストがユーザー 1 のリクエストとは異なる GPU に到達した場合、接頭辞のキャッシュは役に立たず、システムはキャッシュをゼロから再計算する必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;コンテキスト認識型 L7 ルーティングが差別化要因となるのはこのためです。インテリジェント ルーターは、受信したプロンプトの接頭辞を検査し、そのコンテキストをキャッシュにすでに保持している特定の Pod に意図的にリクエストをルーティングします。冗長な作業にコンピューティング能力を無駄に費やすことがなくなり、レイテンシとスループットをハードウェアの物理的な上限に即座に近づけることができます。&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/prefix-aware-routing.max-1000x1000.jpg"
        
          alt="prefix-aware-routing"&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;5. 投機的デコーディング&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;重要な点として、デコード フェーズでは、メモリ帯域幅にボトルネックがあるため、テンソルコアはほとんどアイドル状態です。&lt;/span&gt;&lt;a href="https://cloud.google.com/vertex-ai/docs/blog/posts/from-research-to-production-accelerate-oss-llm-with-eagle-3-on-vertex?utm_campaign=CDR_0x2b6f3004_default&amp;amp;utm_medium=external&amp;amp;utm_source=blog"&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;span style="font-style: italic; vertical-align: baseline;"&gt;検証&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;します。これは、シーケンシャル メモリ バウンドのオペレーションではなく、並列コンピューティング バウンドのオペレーションです。ドラフトモデルが候補を正しく予測した場合、1 トークンのメモリコストで 4～5 トークンを生成したことになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このアプローチにより直接、メモリ帯域幅によって設定された TBT の下限よりも短い TBT を達成できます。レイテンシの影響を受けやすいワークロードに投機的デコーディングを使用していない場合、利用可能な最も効果的な最適化の一つを活用できていないことになります。&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;なお、一部の新しいモデルでは自己投機的デコーディングが導入されており、2 つ目のモデルを管理するオーバーヘッドがなくなります。これらのモデルは、将来の追加トークンを同時に予測するようにトレーニングされた特殊な内部レイヤ（多くの場合、予測ヘッドと呼ばれる）を使用します。これらのモデルは一般に、非常に有意義なトークン ヒット率を達成します。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ケーススタディ: Vertex AI がフロンティアに近づいた方法&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Vertex AI エンジニアリング チームは、標準の Kubernetes Gateway API を基盤として構築された &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/containers-kubernetes/how-gke-inference-gateway-improved-latency-for-vertex-ai?utm_campaign=CDR_0x2b6f3004_default&amp;amp;utm_medium=external&amp;amp;utm_source=blog"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;GKE Inference Gateway&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を採用したときに、フロンティアに近づきました。Inference Gateway はレイヤ 7 でリクエストをインターセプトし、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;負荷認識ルーティング&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: モデルサーバーの Prometheus エンドポイントからリアルタイムの指標（KV キャッシュ使用率やキューの深さなど）を直接スクレイピングしました。このプロセスでは、リクエストを最も迅速に処理できる Pod にルーティングします。&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;: リクエストの接頭辞を検査し、そのコンテキストを KV キャッシュにすでに保持している Pod にトラフィックをルーティングしました。このプロセスでは、コストのかかる再計算を回避できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;本番環境のワークロードをこのインテリジェントなルーティング アーキテクチャに移行したところ、ネットワーク レイヤの最適化が、大規模なパフォーマンス向上を実現する鍵であることが、Vertex 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;Qwen3-Coder（コンテキストの多いコーディング エージェント ワークロード）で &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;TTFT が 35% 短縮&lt;/strong&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;DeepSeek V3.1（バースト性の高いチャット ワークロード）の &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;P95 テール レイテンシが 2 分の 1&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;（52%）に改善&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;接頭辞キャッシュ ヒット率が 2 倍&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;（35% から 70% に最適化）&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;LLM 推論には効率的フロンティアがあります。効率的フロンティアとは、特定のコンピューティング予算に対してレイテンシとスループットの最適なバランスが取れた絶対的な境界を表します。&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;。現在、継続的なバッチ処理、アテンションの分割、インテリジェント L7 ルーティング、投機的デコーディング、量子化、プレフィルとデコードの分離といった手法が存在します。GKE Inference Gateway のケーススタディでは、ハードウェア、モデル、クラスタサイズを変更せずに、ルーティングのみで、TTFT が 35% 短縮され、キャッシュ効率が 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;。この部分は、自分で制御できません。研究者は新しいアルゴリズムを発表し、ハードウェア ベンダーは新しいアーキテクチャを出荷し、オープンソースのサービング フレームワークはこれらのアルゴリズムとアーキテクチャを統合します。18 か月前には最先端の最適化だったものが、今では基本的な必須事項となっています。次にどのようなブレークスルーが起こるかを予測するのではなく、ブレークスルーが起こったときにそれを吸収できる柔軟なインフラストラクチャを構築することが、あなたの仕事です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;推論エコノミクスで成功する組織は、GPU を最も多く保有している組織ではなく、現在のフロンティアとのギャップを体系的に埋めながら、明日のフロンティアに備える組織です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;これらの最適化手法をご自身の LLM 推論ワークロードに適用したことがある方は、その体験談をぜひお聞かせください。構築したものを &lt;/span&gt;&lt;a href="https://www.linkedin.com/in/karlweinmeister/" rel="noopener" target="_blank"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;LinkedIn&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://x.com/kweinmeister" rel="noopener" target="_blank"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;X&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: italic; 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="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;Bluesky&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: italic; 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;Karl Weinmeister&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Wed, 08 Apr 2026 02:10:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/five-techniques-to-reach-the-efficient-frontier-of-llm-inference/</guid><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/hero-image.max-600x600.jpg" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>LLM 推論の効率的フロンティアに到達するための 5 つの手法</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/hero-image.max-600x600.jpg</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/five-techniques-to-reach-the-efficient-frontier-of-llm-inference/</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>AI リテラシーの新しい形: 学生デベロッパーを対象とした調査結果</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/how-uc-berkeley-students-use-ai-as-a-learning-partner/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 3 月 27 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/how-uc-berkeley-students-use-ai-as-a-learning-partner?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;AI により、学生デベロッパーはかつてないレベルで作業を効率化し、難しい問題を解決したり、野心的なプロジェクトに取り組んだりできるようになりました。一方、この新技術の登場によって、技術専攻の学生たちは学習について本質的な問いに向き合うようになってきています。&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;a href="https://dora.dev/dora-report-2025/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google の DORA 2025 レポート&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;によると、現在、日々の業務で AI を使用している技術者は 90% に達しています。こうした状況の中で、次世代が AI ツールとどう付き合っているのかを理解することがこれまでになく重要になっています。カリフォルニア大学バークレー校の学生を対象とした Google の調査では、学業における不正行為や知的作業の省略といった懸念を覆す結果が明らかになりました。学生は AI を近道としてではなく、学習パートナーとして捉え、タスクによって意図的に使用したり、使用を控えたりしています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AI がソフトウェア開発の基盤となるにつれ、AI ツールを導入するかどうかよりも、懸命な活用方法が焦点になってきています。カリフォルニア大学バークレー校の学生たちは、その答えの一つを示してくれます。それは、彼らのもつ好奇心や、慎重さ、学習に対する純粋な意欲を、AI は支えることはできても、取って代わることはできない、ということです。&lt;/span&gt;&lt;/p&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;カリフォルニア大学バークレー校の 4 人の学生チーム（Andrew Harlan、Mindy Tsai、Kenny Ly Hong、Karissa Wong）が、学業での AI の利用状況を把握するため、コンピュータ サイエンス、電気工学、デザイン、データ サイエンス専攻の学生を対象に調査を実施しました。この調査には、混合手法を使用しています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;また、同校の別のチーム（Edward Fraser、Jessie Deng、Eileen Thai）が、デベロッパー歴 1～5 年の人々を対象に、アイ トラッキング技術を使って AI コーディング アシスタントの使用状況を観察しました。両チームとも専任メンターの支援のもと調査を進め、混合手法調査については Google 社員の Harini Sampath、Becky Sohn、Derek DeBellis が、アイトラッキング調査についてはカリフォルニア大学バークレー校の John Chuang 教授（博士）が助言を行っています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これらの調査から、学生が AI を活用すると同時に、真の専門知識を身につけるためにどのような方法をとっているのか、3 つの重要な結果が明らかになりました。学生の間で見られるパターンは、実際に開発職に就いている人々を対象にした DORA の調査結果とよく似通っています。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;調査結果その 1: 24 時間 365 日、いつでも頼れる先生&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;AI は近道ではなく家庭教師&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;調査で AI との関係性について尋ねられた学生は皆一様に、学びの場ならではの言葉を使いました。AI のことを、アシスタントや生産性向上ツールではなく、「家庭教師」や「先生」と呼んでいたのです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;「AI は教師のような存在です。内容の濃い資料を解説してもらったり、データベースにあらかじめ記述されているコードを部分的に説明してもらったりするなど、プロジェクトの基礎的な部分について理解を深めるためにとても役立っています。」&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;「[AI を] お抱えの家庭教師として利用しています。授業や講義の特定のトピックの [理解を深める] ために。コンピュータ サイエンスだけでなく、あらゆる授業で使っています。」&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ここで重要なのは、学生が AI に依存せず、計画的に使用しているということです。AI に課題を完成させるのではなく、自分の理解度を踏まえて AI を使用し、知識の抜けを特定したり、不確かな概念を明らかにしたり、学習プロセスをリードしてもらったりしています。回答の中には、講義で取り上げられた複数の学術論文を要約してもらい、どれを深く読みこむべきかを判断するといった使い方や、コードでエラーが発生する理由を 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="font-style: italic; vertical-align: baseline;"&gt;「教授の説明がわからなかったときは AI に尋ねます。たとえば、ある概念や、コードの機能について説明してもらったりします。また、ラボのどこから手をつけたらよいかわからないときは、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="font-style: italic; vertical-align: baseline;"&gt;「私は学習障がいがあるため、問題を理解するのに人より時間がかかります。AI にはすごく助けられています。24 時間 365 日、いつでも付いていてくれるサブ教師のような存在です。」&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AI を使えば、学校の営業時間に縛られることなく、いつでも理解を掘り下げられます。AI のおかげで脳の処理能力に余裕が生まれ、より高度な思考が可能となります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;「実際にコーディングする時間は減り、全体のアイデアを練るのに時間をかけられるようになりました。今では、手動でコードを生成する代わりに、ロジックとコンセプトの検討や、アイデアの創出に時間を費やしています。」&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;こうしたコメントから、AI が最終的な作品を仕上げるためではなく、探索ツールとして利用されている様子が浮かび上がります。これは、DORA の調査結果と一致しています。調査によると、AI がルーチンワークを引き受けることで、デベロッパーはユーザーへの価値提供に専念できるようになっています。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;調査結果その 2: 過度な依存に対する積極的な抵抗&lt;/strong&gt;&lt;/h3&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;学生たちは、AI を学習ツールとして活用する一方で、AI への過依存への不安を率直に表現しました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;「AI がなくなったら、自分で解決方法を探すのに苦労してしまうかもしれません。」&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エッセイ執筆中の脳活動を脳波検査で測定した最近の研究では、AI の利用者は、検索エンジンやツールを使用しない人に比べ、認知エンゲージメントのパターンが弱いことがわかりました。また、AI のヘビーユーザーが、アシスタントを使わずにエッセイを書いてみたところ、以前に書いた作品についての記憶があまりなく、自分の作品であるという意識も低いことがわかりました。このことを、論文の著者は「認知の負債」と表現しています。&lt;/span&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;span style="vertical-align: baseline;"&gt;機械工学専攻のある学生は、電子機器を何年も使用するうちに、以下のように能力ベースの AI 使用ルールを確立したといいます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;「サーボや超音波などの基本的センサーなら自分でコーディングできますが、複雑なセンサーで、かつ、機能を厳密に把握する必要性がないときは、AI を使用します」と回答し、次のように説明しています。「何かがうまくいかないとき、その理由を理解できても、問題を解決するための直接的な言語を知らない場合があります。AI は、そのような状況で役立ちます。」&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この学生は、最近携わったプロジェクト（触って操作できるストーリーテリング ツールの構築）において、基本的なコンセプトを理解した後、カウントおよび比較のシステム構築のために助けを求めたとのことです。「AI は、基本構造のセットアップに大変役立ちましたが、その後、微調整のコーディングは自力でやる必要がありました。」また、作業の振り分けについては、次のように明確な意見を述べています。「自分でも引き続き、コードを書いています。技術者のように丸投げするわけではなく、AI と共同で作業を進め、私が司令塔となって AI にやってほしいことを指示します。ただやみくもにリクエストしても、まったく役に立ちません。」&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="font-style: italic; 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="vertical-align: baseline;"&gt;高度なモデルの利用を避ける:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;「料金制の AI ツールを使用するつもりはありません。AI モデルを使いすぎてしまう恐れがありますから。」&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;AI の使用、不使用を交互に繰り返す:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;「for ループの処理など、一部の処理はまた自分で書くようになりました。」&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="font-style: italic; vertical-align: baseline;"&gt;「AI ツールがデベロッパーの生産性を高めるために役立つことは間違いありません。ただし、バイブ コーディングに慣れてしまわないよう、十分な注意が必要です。AI が生成するコードを理解して検証し、適切な方法で使用するということが大前提です。」&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;こうした懸念は、学生たちが認知について意識的に考えているということを示しています。彼らは、一番楽な方法が最も学習効果が高いわけではないと認識しています。これは DORA の調査結果とも一致しています。調査によると、AI の導入率が 90% にのぼるにもかかわらず、利用者の約 30% が AI が生成したコードをほとんど（あるいはまったく）信用していないと答えています。AI を効果的に使用するには、単に導入するだけでなく、厳しい評価と検証の方法を習得することが求められます。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;調査結果その 3: AI の使いどころを心得ている&lt;/strong&gt;&lt;/h3&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～5 年の経験を持つデベロッパーを対象に、AI コーディング アシスタントとやり取りする様子を観察したところ、タスクの種類によって 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;strong style="vertical-align: baseline;"&gt;思考と深い理解が必要なタスク&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: AI への視覚的注目が 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;機械的なタスク（ボイラープレート コードなど）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: AI への視覚的注目が 19%&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;高度な作業においては、たとえ AI の提案が正確で時間の節約につながるような場合でも、敢えて無視されていることがわかりました。深い理解が必要なときは、AI は認知上の負担となります。熟練デベロッパーは、AI をオフにすべきときを心得ています。&lt;/span&gt;&lt;/p&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;学生への聞き取り調査からも、学生が AI を用途に応じて使い分けている様子が伺えます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;「私は普段、とっかかりとなるアイデアを得るために AI を使っています。」&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;「AI の使用が許可されていることは知ってましたが、学習と試行錯誤のプロセスを大事にしました。創造性の余地も必要です。」&lt;/span&gt;&lt;/p&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;現在、ほとんどの AI コーディング アシスタントは、インライン提案のオン / オフを切り替えたり、オンデマンド専用モードに設定したり、提案頻度を調整したりできます。これらの設定を試して、タスクとその認知要件に応じて AI を使い分けることで、ルーチンワークでは助けてもらいつつ、自分で深く考えたい仕事の邪魔をされないようにすることができます。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;この調査結果が業界において意味すること&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;AI を利用した開発の未来を形作っていくのは、今の学生たちです&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;調査に協力してくれた学生たちは、時代の一歩先をいっており、すでに AI リテラシーを身につけています。用途に応じた使い分けや、出力の検証方法を心得ており、自らの理解力を維持するためにときには敢えて手動で作業するといった対策をとっています。AI 導入を検討中の方にとって、こうした学生の経験は、進むべき方向を探るヒントとなります。&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;ワークフローに検証プロセスを取り入れる&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;: スピードよりも深い理解が重要となる高度な問題には、AI の助けを借りずに自分で取り組むようにしましょう。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AI がソフトウェア開発の基盤となるにつれ、AI ツールを導入するかどうかよりも、懸命な活用方法が焦点になってきています。カリフォルニア大学バークレー校の学生たちは、その答えの一つを示してくれます。それは、彼らのもつ好奇心や、慎重さ、学習に対する純粋な意欲を、AI は支えることはできても、取って代わることはできない、ということです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;業界の専門家が AI の導入をどのように進めているかについて詳しくは、&lt;/span&gt;&lt;a href="https://dora.dev/dora-report-2025/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;2025 年 DORA レポート: AI 支援によるソフトウェア開発の現状&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をダウンロードしてご覧ください。&lt;/span&gt;&lt;a href="https://dora.dev/insights/tags/uc-berkeley/" 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;hr/&gt;
&lt;p&gt;&lt;sup&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;1. Kosmyna, Nataliya, et al. "Your Brain on ChatGPT: Accumulation of Cognitive Debt when Using an AI Assistant for Essay Writing Task." arXiv, 10 June 2025, doi:10.48550/arXiv.2506.08872.（参照日付: 2026 年 1 月 28 日）&lt;/span&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- Andrew Harlan 博士&lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;（独立系 UX リサーチャー兼クリエイティブ テクノロジスト）&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- Steve Fadden 博士&lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;（Google、UX リサーチ担当リード）&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Tue, 07 Apr 2026 01:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/how-uc-berkeley-students-use-ai-as-a-learning-partner/</guid><category>AI &amp; Machine Learning</category><category>Developers &amp; Practitioners</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>AI リテラシーの新しい形: 学生デベロッパーを対象とした調査結果</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/how-uc-berkeley-students-use-ai-as-a-learning-partner/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Andrew Harlan, Ph.D.</name><title>UX Researcher &amp; Creative Technologist, Independent</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Steve Fadden, Ph.D.</name><title>UX Research Lead, Google</title><department></department><company></company></author></item><item><title>分散 AI エージェントの構築</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/building-distributed-ai-agents/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 3 月 19 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/building-distributed-ai-agents?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 回だけ動作する AI エージェントを構築するのは簡単です。しかし、本番環境で&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;確実に&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;動作する AI エージェントを構築し、既存の React や Node.js アプリケーションと統合する場合は、まったく別の話です。&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://github.com/amitkmaraj/course-creation-ai-agent-architecture" rel="noopener" target="_blank"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;GitHub のコース作成エージェントのアーキテクチャ&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;をご覧ください。）&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;身近な例で考えてみましょう。トピックを調査し、コンテンツを生成して、それを評価するという複雑なワークフローがあるとします。このワークフローを、1 つの巨大な Python スクリプトまたは大きなプロンプトに詰め込んだとしましょう。ローカルマシンでは正常に動作しましたが、スマートな外観のフロントエンドに接続しようとすると、厄介なことになります。レイテンシが急上昇し、デバッグが困難で、スケールするためにモノリス全体の複製が必要となります。&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;span style="font-style: italic; vertical-align: baseline;"&gt;オーケストレーター パターン&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;という優れた方法について説明します。具体的には、すべてを請け負う強力なエージェントを 1 つだけ作るのではなく、複数の特化した分散マイクロサービスから成るチームを構築します。このアプローチにより、モノリスの書き換えに悩まされることなく、強力な AI 機能を既存のフロントエンド アプリケーションに直接統合することが可能となります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;そのために、Google の &lt;/span&gt;&lt;a href="https://github.com/google/adk-python" 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://a2a-protocol.org/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent-to-Agent（A2A）&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;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;すでに完成された状態の Next.js アプリケーションがあるとします。これに、「コース作成ツール」という機能を追加したいとしましょう。&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;/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; フロントエンドは 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;個別にスケーリング:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 評価ステップに時間がかかる場合は、そのサービスだけを 100 インスタンスにスケールアップし、調査サービスは小規模のままにできます。&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; 高パフォーマンスのネットワーキング部分を Go で、データ サイエンス部分を Python で記述できます。これらの通信には HTTP を使用します。&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/original_images/building-distributed-ai-agents-course-creator.gif"
        
          alt="building-distributed-ai-agents-course-creator"&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;/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;評価担当&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 品質を保証する QA スペシャリスト。&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;/ol&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;まず、調査の担当者が必要です。ADK を使って、Google 検索の部分のみを担当するエージェントを構築しましょう。&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;# researcher/app/agent.py\r\nfrom google.adk.agents import Agent\r\nfrom google.adk.tools import google_search\r\n\r\nresearcher = Agent(\r\n    name=&amp;quot;researcher&amp;quot;,\r\n    model=&amp;quot;gemini-2.5-flash&amp;quot;,\r\n    description=&amp;quot;Gathers information on a topic using Google Search.&amp;quot;,\r\n    instruction=&amp;quot;&amp;quot;&amp;quot;\r\n    You are an expert researcher. Your goal is to find comprehensive information.\r\n    Use the `google_search` tool to find relevant information.\r\n    Summarize your findings clearly.\r\n    &amp;quot;&amp;quot;&amp;quot;,\r\n    tools=[google_search],\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 0x7f39bd6cfe50&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;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 2: 評価担当者（構造化されたデータ出力）&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/building-distributed-ai-agents-judge.max-1000x1000.png"
        
          alt="building-distributed-ai-agents-judge"&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;エージェントからの長ったらしい説明はいりません。コード側で判断しやすいよう、合格（pass）または不合格（fail）の厳密な評価が必要です。&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Pydantic&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;# judge/app/agent.py\r\nfrom pydantic import BaseModel, Field\r\nfrom typing import Literal\r\n\r\nclass JudgeFeedback(BaseModel):\r\n    status: Literal[&amp;quot;pass&amp;quot;, &amp;quot;fail&amp;quot;] = Field(\r\n        description=&amp;quot;Whether the research is sufficient (\&amp;#x27;pass\&amp;#x27;) or needs more work (\&amp;#x27;fail\&amp;#x27;).&amp;quot;\r\n    )\r\n    feedback: str = Field(\r\n        description=&amp;quot;Detailed feedback on what is missing.&amp;quot;\r\n    )\r\n\r\njudge = Agent(\r\n    name=&amp;quot;judge&amp;quot;,\r\n    model=&amp;quot;gemini-2.5-flash&amp;quot;,\r\n    description=&amp;quot;Evaluates research findings.&amp;quot;,\r\n    instruction=&amp;quot;&amp;quot;&amp;quot;\r\n    You are a strict editor. Evaluate the findings.\r\n    If they are missing key info, output status=\&amp;#x27;fail\&amp;#x27; and provide feedback.\r\n    &amp;quot;&amp;quot;&amp;quot;,\r\n    output_schema=JudgeFeedback, # Enforce the contract!\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 0x7f39bd6cf880&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;これで、評価担当者が JSON で話すようになり、アプリケーション ロジックはそれを信頼できます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 3: 共通言語（A2A プロトコル）&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/building-distributed-ai-agents-a2a-protoco.max-1000x1000.png"
        
          alt="building-distributed-ai-agents-a2a-protocol"&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;a href="https://a2a-protocol.org/" 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;code style="vertical-align: baseline;"&gt;agent.json&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）、標準の HTTP で通信します。&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;# researcher/app/server.py\r\nfrom fastapi import FastAPI\r\nfrom a2a.server.apps import A2AFastAPIApplication\r\nfrom app.agent import app as adk_app\r\n\r\n# ... setup runner ...\r\n\r\n# Create the A2A App wrapper\r\na2a_app = A2AFastAPIApplication(agent_card=agent_card, http_handler=request_handler)\r\n\r\napp = FastAPI(lifespan=lifespan)\r\n\r\n# Register routes: /.well-known/agent.json and /rpc\r\na2a_app.add_routes_to_app(app)&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 0x7f39d0642f10&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;これで、リサーチャー（ポート 8000 で実行されるマイクロサービス）を配備できました。このサービスを、オーケストレーターなど、あらゆるものから呼び出すことが可能です。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 4: オーケストレーター パターン&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/building-distributed-ai-agents-orchestrato.max-1000x1000.png"
        
          alt="building-distributed-ai-agents-orchestrator"&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;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;重要な点は、&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;/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;# orchestrator/app/agent.py\r\nfrom google.adk.agents import LoopAgent, SequentialAgent\r\nfrom google.adk.agents.remote_a2a_agent import RemoteA2aAgent\r\n\r\n# Connect to the remote Researcher service\r\nresearcher = RemoteA2aAgent(\r\n    name=&amp;quot;researcher&amp;quot;,\r\n    agent_card=&amp;quot;http://researcher-service:8000/.well-known/agent.json&amp;quot;,\r\n    description=&amp;quot;Gathers information on a topic.&amp;quot;\r\n)\r\n\r\n# Connect to the remote Judge service\r\njudge = RemoteA2aAgent(\r\n    name=&amp;quot;judge&amp;quot;,\r\n    agent_card=&amp;quot;http://judge-service:8000/.well-known/agent.json&amp;quot;,\r\n    description=&amp;quot;Evaluates research findings.&amp;quot;\r\n)\r\n\r\n# The Orchestrator manages the loop\r\nresearch_loop = LoopAgent(\r\n    name=&amp;quot;research_loop&amp;quot;,\r\n    sub_agents=[researcher, judge, escalation_checker],\r\n    max_iterations=3,\r\n)\r\n\r\n# The full pipeline\r\nroot_agent = SequentialAgent(\r\n    name=&amp;quot;course_creation_pipeline&amp;quot;,\r\n    sub_agents=[research_loop, content_builder],\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 0x7f39d06426a0&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;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 にデプロイすることを、私は「食料品店」モデルと呼んでいます。チェックアウトの列（リサーチャーのタスク）が長くなっても、新しい店舗を建設する必要はありません。レジを増やせばいいだけです。Cloud Run は、調査の負荷増大に対応するために調査サービスのみをスケールし、評価サービスはそのまま保たれます。&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;認証&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: このデモでは、エージェントはオープンな HTTP を介して通信しています。本番環境では、このアクセスを&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;制限する必要&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;があります。mTLS、OIDC、または 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;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;あらゆる作業を請け負う 1 つの巨大なエージェントを構築するのはやめましょう。&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;オーケストレーター パターン&lt;/span&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://github.com/amitkmaraj/course-creation-ai-agent-architecture" 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;p&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;a href="https://github.com/google/adk-python" 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;、&lt;/span&gt;&lt;a href="https://a2a-protocol.org/" 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;/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;AI デベロッパーリレーションズ エンジニア、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Amit Maraj&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Thu, 02 Apr 2026 03:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/building-distributed-ai-agents/</guid><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/building-distributed-ai-agents-hero.max-600x600.jpg" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>分散 AI エージェントの構築</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/building-distributed-ai-agents-hero.max-600x600.jpg</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/building-distributed-ai-agents/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Amit Maraj</name><title>AI Developer Relations Engineer</title><department></department><company></company></author></item><item><title>マルチクラスタ GKE Inference Gateway のご紹介: 世界中で AI ワークロードをスケール</title><link>https://cloud.google.com/blog/ja/products/containers-kubernetes/multi-cluster-gke-inference-gateway-helps-scale-ai-workloads/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 3 月 18 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/containers-kubernetes/multi-cluster-gke-inference-gateway-helps-scale-ai-workloads?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;strong style="vertical-align: baseline;"&gt;マルチクラスタ GKE Inference Gateway&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; のプレビュー版がリリースされましたのでお知らせいたします。これにより、複数の Google Kubernetes Engine（GKE）クラスタにわたり（異なる Google Cloud リージョンにまたがる場合も含め）、AI / ML 推論ワークロードのスケーラビリティ、復元力、効率性を強化できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.cloud.google.com/kubernetes-engine/docs/concepts/gateway-api?hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;GKE Gateway API&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; の拡張機能として構築されたマルチクラスタ Inference Gateway は、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/kubernetes-engine/docs/concepts/multi-cluster-gateways?hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;マルチクラスタ Gateway&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_gRilinA.max-1000x1000.jpg"
        
          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;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;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;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; 単一のクラスタまたはリージョン内で、ハードウェアの上限（GPU / TPU）に達してしまいます。&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;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;マルチクラスタ GKE Inference Gateway は、これらの課題に正面から取り組み、次のようなさまざまな機能とメリットを提供します。&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 クラスタにわたってトラフィックをインテリジェントにルーティングします。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;スケーラビリティの向上とリソース使用量の最適化:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; さまざまなクラスタから GPU / TPU リソースをプールして活用できます。単一クラスタの容量を超えてバーストすることで需要の急増に対応し、利用可能なアクセラレータをフリート全体で効率的に活用できます。&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; Inference Gateway は、高度なシグナルを使用してスマートなルーティング判断を下すことができます。&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;GCPBackendPolicy&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を使用して、リアルタイムのカスタム指標（モデルサーバーの KV キャッシュ使用率指標など）に基づいてロード バランシングを構成できるので、最適なバックエンド インスタンスにリクエストが送信されるようになります。処理中リクエストの制限など、他のモードもサポートされています。&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; モデルを複数の「ターゲット クラスタ」で実行しながら、専用の GKE「構成クラスタ」で 1 つの Inference Gateway 構成を使用して、グローバルに分散された AI サービスへのトラフィックを管理できます。&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;GKE Inference Gateway には、&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;code style="vertical-align: baseline;"&gt;InferenceObjective&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; という 2 つの基本リソースがあります。&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;InferencePool&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; は、同じコンピューティング ハードウェア（GPU や TPU など）とモデル構成を共有する Pod のリソース グループとして機能し、スケーラブルで高可用性のサービングを実現します。&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;InferenceObjective&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; は、特定のモデル名を定義し、サービングの優先順位を割り当てます。これにより、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/2_ek1kPQE.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;span style="vertical-align: baseline;"&gt;このリリースでは、Kubernetes カスタム リソースを使用して、分散推論サービスが管理されます。各「ターゲット クラスタ」の &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;code style="vertical-align: baseline;"&gt;GCPInferencePoolImport&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; リソースとして表示されます。構成クラスタ内の標準の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;Gateway&lt;/code&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;code style="vertical-align: baseline;"&gt;CUSTOM_METRICS&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; や &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;IN_FLIGHT&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; リクエストの使用など、きめ細かいロード バランシングの動作は、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;GCPInferencePoolImport&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; にアタッチされた &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;GCPBackendPolicy&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;GKE Inference Gateway のコアコンセプトについて詳しくは、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/kubernetes-engine/docs/concepts/about-gke-inference-gateway#understand_key_concepts"&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;AI 推論サービング ワークロードをより多くの場所とより多くのユーザーにスケールする際に、マルチクラスタ GKE Inference Gateway をぜひお試しください。詳細と利用方法については、次のドキュメントをご覧ください。&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/concepts/about-multi-cluster-inference-gateway"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;マルチクラスタ 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;a href="https://cloud.google.com/kubernetes-engine/docs/how-to/setup-multicluster-inference-gateway"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;マルチクラスタ 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;a href="https://cloud.google.com/kubernetes-engine/docs/how-to/customize-backend-multicluster-inference-gateway"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;GCPBackendPolicy でバックエンド構成をカスタマイズする&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;シニア プロダクト マネージャー、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Arman Rye&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;Andres Guedez&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Wed, 25 Mar 2026 03:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/containers-kubernetes/multi-cluster-gke-inference-gateway-helps-scale-ai-workloads/</guid><category>AI &amp; Machine Learning</category><category>GKE</category><category>Networking</category><category>Developers &amp; Practitioners</category><category>Containers &amp; Kubernetes</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>マルチクラスタ GKE Inference Gateway のご紹介: 世界中で AI ワークロードをスケール</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/containers-kubernetes/multi-cluster-gke-inference-gateway-helps-scale-ai-workloads/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Arman Rye</name><title>Senior Product Manager</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Andres Guedez</name><title>Senior Staff Software Engineer</title><department></department><company></company></author></item><item><title>Vertex AI で復元力の高い LLM アプリケーションを構築し、429 エラーを減らす</title><link>https://cloud.google.com/blog/ja/products/ai-machine-learning/reduce-429-errors-on-vertex-ai/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 3 月 13 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/ai-machine-learning/reduce-429-errors-on-vertex-ai?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;Vertex AI で大規模言語モデル（LLM）を活用したアプリケーションを構築するのは楽しいことですが、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/vertex-ai/generative-ai/docs/provisioned-throughput/error-code-429?hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;429 エラー&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 はこれらの 429 エラーの処理に関する&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/ai-machine-learning/learn-how-to-handle-429-resource-exhaustion-errors-in-your-llms?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;しました。この記事では、Vertex AI の使用量モデルについて詳しく掘り下げ、リクエスト フローを管理するためのアーキテクチャのベスト プラクティスについて説明します。これにより、スムーズで復元力が高く、真にスケーラブルな 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;Vertex AI は、さまざまなタイプとボリュームの API トラフィックに対応するように設計された、幅広い使用量モデルが用意されています。429 エラーを最小限に抑えるための主な戦略は、アプリケーション固有のトラフィック パターンに最も適した使用量モデルを選択することです。&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/Build_Resilient_LLM_Applications_on_Vertex.max-1000x1000.jpg"
        
          alt="Build Resilient LLM Applications on Vertex AI and Reduce 429 Errors"&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;span style="vertical-align: baseline;"&gt;Vertex AI の Gemini におけるデフォルト オプションは、Standard 従量制（Paygo）です。&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/vertex-ai/generative-ai/docs/standard-paygo?hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Standard 従量制&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（Paygo）トラフィックの場合、Vertex AI は使用量ティアシステムを使用します。この動的なアプローチでは、共有プールからリソースが割り当てられ、組織の過去の費用に基づいて使用量ティアとベースライン スループット（TPM）が決まります。このベースラインにより、一般的なワークロードの予測可能なパフォーマンスの下限が決まるものの、アプリケーションは引き続きベスト エフォート ベースでそれ以上のパフォーマンスを発揮できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;予測不可能で、Standard Paygo よりも高い信頼性を必要とする、重要なユーザー向けトラフィックをアプリケーションが生成する場合は、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/vertex-ai/generative-ai/docs/priority-paygo?hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Priority Paygo&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;リアルタイム トラフィックの量が常に多いアプリケーションの場合、共有 PayGo プールから分離できる使用量オプションは&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/vertex-ai/generative-ai/docs/provisioned-throughput/overview?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;（PT）だけであり、PayGo における競合が激しい場合でもエクスペリエンスが安定します。PT では、保証されたスループットを予約して料金を支払うことで、重要なトラフィックがスムーズに流れるようにします。&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/ja/products/ai-machine-learning/provisioned-throughput-on-vertex-ai?e=48754805&amp;amp;hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Vertex AI での PT について詳しくは、こちらのガイドをご覧ください。&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;Vertex AI には、レイテンシの影響を受けにくいトラフィック向けに、費用対効果の高いオプションが用意されています。&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/vertex-ai/generative-ai/docs/flex-paygo"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Flex PayGo&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; は、レイテンシが許容されるトラフィックに適しており、リクエストを低料金で処理します。オフライン分析や一括データ拡充などの大規模な非同期ジョブは、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/vertex-ai/generative-ai/docs/multimodal/batch-prediction-gemini"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Batch&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; で処理するのが最適です。このサービスは、スケーリングや再試行を含むワークフロー全体をより長い期間（約 24 時間）にわたって管理し、メインのアプリケーションをこの高い負荷から保護します。&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;複雑なアプリケーションでは、ハイブリッド アプローチがよく利用されます。PT は最も重要なリアルタイム トラフィック、Priority Paygo は変動するトラフィック、Standard Paygo は一般的なリクエスト、Batch / Flex はレイテンシが許容されるオフラインのリクエスト フローに使用されます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;Vertex AI で 429 エラーを減らす 5 つの方法&lt;/strong&gt;&lt;/h4&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;アプリケーションで 429（リソース不足）や 503（サービス利用不可）などの一時的なオーバーロード エラーが発生した場合、すぐに再試行することは推奨されません。ベスト プラクティスとして、ジッターを伴う指数バックオフと呼ばれる再試行戦略を実装できます。指数バックオフとは、再試行の間隔が指数関数的に長くなり、通常は事前定義された上限まで長くなることを意味します。これにより、サービスが過負荷状態から回復する時間を確保できます。&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;SDK とライブラリ:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/vertex-ai/generative-ai/docs/retry-strategy#configuring-retries"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Gen AI SDK&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; には、クライアント パラメータの HttpRetryOptions を使用して構成できるネイティブの再試行動作が含まれています。ただし、&lt;/span&gt;&lt;a href="https://github.com/jd/tenacity" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Tenacity&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（Python 用）などの専用ライブラリを活用したり、カスタム ソリューションを構築したりすることもできます。詳しくは、こちらの&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/ai-machine-learning/learn-how-to-handle-429-resource-exhaustion-errors-in-your-llms"&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; エージェントを開発するために、&lt;/span&gt;&lt;a href="https://google.github.io/adk-docs/" 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://google.github.io/adk-docs/integrations/reflect-and-retry/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Reflect and Retry プラグイン&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;が用意されています。このプラグインは、429 エラーを自動的にインターセプトすることで、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; &lt;/span&gt;&lt;a href="https://github.com/GoogleCloudPlatform/apigee-samples/tree/main/llm-circuit-breaking" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Apigee によるサーキット ブレーキング&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="vertical-align: baseline;"&gt;2. グローバル モデル ルーティングの活用&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Vertex AI のインフラストラクチャは複数のリージョンに分散されています。デフォルトでは、特定のリージョン エンドポイントをターゲットにした場合、リクエストはそのリージョンから処理されます。これは、その単一リージョンの容量に基づいてアプリケーションの可用性が決まることを意味します。そして、グローバル エンドポイントが、可用性と復元力を高めるための効果的なツールとなります。グローバル エンドポイントは、1 つのリージョンに限定されるのではなく、可用性がより高い可能性のあるリージョン フリート全体にトラフィックをルーティングし、潜在的なエラー率を低減します。&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;Vertex AI の負荷を軽減する効果的な方法として、繰り返しクエリの呼び出しを避けることができます。多くの本番環境アプリケーション、特に chatbot やサポートシステムでは、似たような質問が頻繁に寄せられます。それらの質問を再処理する代わりに、&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/ai-machine-learning/vertex-ai-context-caching?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;を実装できます。コンテキスト キャッシュ保存を使用すると、Gemini は事前に計算されたキャッシュ トークンを再利用するため、API トラフィックとスループットを削減できます。これにより、費用を節約できるだけでなく、プロンプト内の繰り返しコンテンツのレイテンシも短縮されます。&lt;/span&gt;&lt;/p&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;各リクエストのトークン数を減らすと、TPM の使用量と費用が直接削減されます。&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;Flash-Lite による要約: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Gemini Pro などのモデルに長い会話履歴を送信する前に、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/2-5-flash-lite"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini 2.5 Flash-Lite&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;エージェント ワークロードでは、Vertex AI &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/agent-builder/agent-engine/memory-bank/overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Engine Memory Bank&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; プロンプトを確認し、詳細すぎる JSON スキーマの説明（モデルがすでに精通している場合）を減らし、過剰な空白や冗長な書式設定を削除します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;5. トラフィックのシェイプ&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;リクエストの急激なバーストは、429 エラーの主な原因です。平均トラフィック レートが低くても、急激に増加するとリソースに負荷がかかる可能性があります。目標は、トラフィックを平滑化し、長期間にわたってリクエストを分散することです。&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;a href="https://github.com/GoogleCloudPlatform/vertex-ai-samples/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt; GitHub の Vertex AI サンプル&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を確認するか、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/vertex-ai/generative-ai/docs/learn/overview?hl=ja"&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;a href="https://docs.cloud.google.com/vertex-ai/generative-ai/docs/start"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Vertex AI クイックスタート&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を使用して次のプロジェクトをすぐに開始するか、&lt;/span&gt;&lt;a href="https://google.github.io/adk-docs/" 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;で次の AI エージェントの構築を開始してください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- Google Cloud シニア プロダクト マネージャー、Richard Liu&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- Cloud AI テクニカル エバンジェリスト、Pedro Melendez&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Mon, 23 Mar 2026 02:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/ai-machine-learning/reduce-429-errors-on-vertex-ai/</guid><category>Developers &amp; Practitioners</category><category>AI &amp; Machine Learning</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Vertex AI で復元力の高い LLM アプリケーションを構築し、429 エラーを減らす</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/ai-machine-learning/reduce-429-errors-on-vertex-ai/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Richard Liu</name><title>Senior Product Manager, Google Cloud</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Pedro Melendez</name><title>Cloud AI Technical Evangelist</title><department></department><company></company></author></item><item><title>Ollama、GKE の GPU 共有、vCluster を使って、費用対効果の高い AI を実現する</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/cost-effective-ai-with-ollama-gke-gpu-sharing-and-vcluster/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 3 月 7 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/cost-effective-ai-with-ollama-gke-gpu-sharing-and-vcluster?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 ワークロードをスケールすると、主に 2 つの課題が浮上します。1 つは、使用率の低い GPU に費用がかさむということ、もう 1 つは、複数チームの分離環境を管理運用するのが複雑であるということです。経験則として、GPU 全体を 1 つの Pod に割り当てるのは非効率です。また一方で、チームごとに個別のクラスタを管理すると、運用上の負担が大きくなるという問題があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この投稿では、Google Kubernetes Engine（GKE）の &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/kubernetes-engine/docs/concepts/timesharing-gpus#gpu_time-sharing_or_nvidia_mps"&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://www.vcluster.com/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;vCluster&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を組み合わせて、この両方の問題を解決する方法を紹介します。具体的には、分離した複数の仮想環境に &lt;/span&gt;&lt;a href="https://ollama.com/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Ollama&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; をデプロイしてオープンモデル（Mistral など）を提供し、これらの環境で 1 つの物理的な GPU インフラストラクチャを共有します。&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;このアーキテクチャでは、GKE Autopilot を活用して物理インフラストラクチャを抽象化しています。ワークロードをデプロイすると、Autopilot が GPU やドライバなどの必要なハードウェアをオンデマンドでプロビジョニングしてくれるため、ノードの管理は不要です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これにより複数のチームがそれぞれ分離された環境内で、API、Ollama インスタンスや、場合によっては異なるモデルを使用しながら、これらをすべて費用対効果の高い同じ共有 GPU ノードで実行することが可能となります。たとえば、チーム A（法務調査など）とチーム B（カスタマー サポートなど）が、GPU リソースを共有しながら、別々の環境で作業できます。&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/cost-effective-ai-ollama-gke-vcluster-shar.max-1000x1000.png"
        
          alt="cost-effective-ai-ollama-gke-vcluster-shared-nodes"&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;vCluster では、既存の Kubernetes クラスタ上に仮想 Kubernetes クラスタを作成できます。vCluster はさまざまなテナンシー モードをサポートしています。たとえば、この図に示されている共有ノードモデルでは、各仮想クラスタが独自の分離したコントロール プレーンを取得しながら、基盤となるワーカーノードを共有しています。個々の仮想クラスタには、そのクラスタへのフルアクセスを持つ管理者がアクセスでき、他のチームとの干渉は発生しません。このモデルでは、ホストクラスタ機能も適宜利用できるほか、各仮想クラスタ内に独自のコントローラや CRD をデプロイできます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;vCluster では、次のいずれかのテナンシー モードを使用できます。&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;: このモードでは、複数の仮想クラスタが同じ物理 Kubernetes ノードでワークロードを実行できます。この構成は、リソース使用率の最大化が最優先のシナリオに最適です。特に、社内の開発環境、CI / CD パイプラインや、コスト重視のユースケースに適しています。&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;: このモードでは、ホストクラスタのワーカーノードを共有せず、個々の vCluster にそれぞれワーカーノードを追加します。これらのプライベート ノードはその vCluster のワーカーノードとして機能し、同じホストクラスタ内の他の vCluster には共有されません。&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;: ノードとリソースの要件に基づいて、ワーカーノードを自動的にプロビジョニングして追加するように vCluster を構成します。自動ノードを使用するには、vCluster Platform をインストールし、それに vCluster を接続する必要があります。&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 ディストリビューションと同様、vCluster はノードに直接デプロイされます。スタンドアロンの vCluster は、ベアメタル ノードや VM など、あらゆるタイプのノードで実行できます。コントロール プレーンやワーカーノードの共有ホストクラスタがないため、ワークロードを最も厳格に分離できます。&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;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;/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="http://vcluster.com/install" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;vcluster CLI&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://kubernetes.io/docs/reference/kubectl/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;kubectl&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://kubectx.org/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;kubectx&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 1: GKE Autopilot クラスタを設定して作成する&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;GKE Standard とは異なり、ノード数を計算したり、ノードプールを手動で構成したりする必要はありません。自動的にクラスタが作成されて、認証情報が取得されます。&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;環境変数を設定し、GKE Autopilot クラスタを作成します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;export PROJECT_ID=YOUR_PROJECT_ID&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;export REGION=YOUR_REGION_ID&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;# GKE Autopilot クラスタを作成する&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;gcloud container clusters create-auto vcluster-gpu-sharing \&lt;/code&gt;&lt;/p&gt;
&lt;ol start="2"&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;code style="vertical-align: baseline;"&gt;  --region=$REGION --project $PROJECT_ID&lt;/code&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; &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;YOUR_PROJECT_ID&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; と &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;YOUR_REGION_ID&lt;/code&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;span style="vertical-align: baseline;"&gt;ローカルの kubectl を構成するために、認証情報を取得します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;gcloud container clusters get-credentials vcluster-gpu-sharing \&lt;/code&gt;&lt;/p&gt;
&lt;ol start="5"&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;code style="vertical-align: baseline;"&gt;  --region $REGION --project $PROJECT_ID&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 2: 仮想クラスタ（vCluster）を作成する&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Autopilot クラスタを実行すると、テナントに対して分離環境を作成できるようになります。ここでは、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;demo1&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; と &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;demo2&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; の 2 つの vCluster を作成します。構成には &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;vcluster.yaml&lt;/code&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;GKE Autopilot を使用する場合、最初の vCluster の作成には数分かかることがあります。これは、独自のコントロール プレーンの Pod が稼働するのを待機するためです。Autopilot はこの新しいワークロードに対して基盤となるノードを動的にプロビジョニングするため、インフラストラクチャが初期化されるまで少々遅延が発生します。&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;# Create the vcluster configuration file\r\ncat &amp;lt;&amp;lt;EOF &amp;gt; vcluster.yaml\r\n# Place your vCluster configuration here. \r\n# For GPU workloads on GKE Autopilot, this typically involves \r\n# enabling node synchronization so the vCluster can see the \r\n# underlying GPU nodes provided by Autopilot.\r\nsync:\r\n fromHost:\r\n   ingressClasses:\r\n     enabled: true\r\n   nodes:\r\n     enabled: true\r\n toHost:\r\n   ingresses:\r\n     enabled: true\r\nEOF\r\n\r\n# Create the first virtual cluster\r\nvcluster create demo1 -n demo1 -f vcluster.yaml\r\n\r\n# Create the second virtual cluster\r\nvcluster create demo2 -n demo2 -f vcluster.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 0x7f39cc11fc70&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="font-style: italic; vertical-align: baseline;"&gt;注&lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;: vCluster を別の vCluster 内に作成しようとしているというエラー警告が表示された場合は、[&lt;/span&gt;&lt;code style="font-style: italic; vertical-align: baseline;"&gt;no&lt;/code&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;] を選択して、正しいホスト コンテキストに切り替えてください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 3: Ollama を仮想クラスタにデプロイする&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;まず、Ollama のデプロイ マニフェストを作成します。このマニフェストによって Ollama をデプロイし、Kubernetes Service を使用してポート 11434 で公開します。&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;Ollama の デプロイ マニフェストを作成します。このマニフェストによって Ollama をデプロイし、Kubernetes Service を使用してポート 11434 で公開します。&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/kubernetes-engine/docs/concepts/timesharing-gpus"&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;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;# Ollama のデプロイ マニフェストを作成する&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;cat &amp;lt;&amp;lt;EOF &amp;gt; ollama.yaml&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;apiVersion: apps/v1&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;kind: Deployment&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;metadata:&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt; name: ollama&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt; namespace: default&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;spec:&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt; replicas: 1&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt; selector:&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;   matchLabels:&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;     app: ollama&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt; template:&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;   metadata:&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;     labels:&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;       app: ollama&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;   spec:&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;     nodeSelector:&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;    # GPU タイム シェアリングを使用するノードを選択する。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;    # 基盤の GPU を一定数のコンテナで共有することを&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;    # Nvidia L4 GPU を搭載したノードを選択する。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;       cloud.google.com/gke-gpu-sharing-strategy: "time-sharing"&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;       cloud.google.com/gke-max-shared-clients-per-gpu: "5"&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;       cloud.google.com/gke-accelerator: nvidia-l4&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;     containers:&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;     - name: ollama&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;       image: ollama/ollama:latest&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;       ports:&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;       - containerPort: 11434&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;       resources:&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;         limits:&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;           nvidia.com/gpu: 1&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;---&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;apiVersion: v1&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;kind: Service&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;metadata:&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt; name: ollama&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt; namespace: default&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;spec:&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt; selector:&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;   app: ollama&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt; ports:&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt; - port: 11434&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;   targetPort: 11434&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt; type: ClusterIP&lt;/code&gt;&lt;/p&gt;
&lt;ol start="2"&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;code style="vertical-align: baseline;"&gt;EOF&lt;/code&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;vCluster がアクティブになったら、コンテキストを切り替えて demo1 内で作業します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;# 仮想クラスタ demo1 に接続する&lt;/span&gt;&lt;/p&gt;
&lt;ol start="4"&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;code style="vertical-align: baseline;"&gt;vcluster connect demo1 -n demo1&lt;/code&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;仮想環境に Ollama をデプロイします。&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;ol start="6"&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;code style="vertical-align: baseline;"&gt;kubectl apply -f ollama.yaml&lt;/code&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;仮想クラスタ内にいても、GPU をリクエストする Pod を作成すると、このリクエストはホストに同期されます。GKE Autopilot はこのリクエストを検出し、ワークロードを実行するノードに必要な GPU ハードウェアを自動的にアタッチします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 4: モデルの pull とテスト&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;サーバーが実行されたら、仮想クラスタのコンテキスト内で、モデルの pull とテストを実行します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;# Pod 内で pull コマンドを実行する&lt;/span&gt;&lt;/p&gt;
&lt;ol start="2"&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;code style="vertical-align: baseline;"&gt;kubectl exec -it &amp;lt;pod-name&amp;gt; -- ollama pull mistral&lt;/code&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 を検証します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;# Ollama サービスをポート転送する&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;kubectl port-forward svc/ollama 8080:11434&lt;/code&gt;&lt;/p&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;curl -s http://localhost:8080/api/chat \&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt; -H "Content-Type: application/json" \&lt;/code&gt;&lt;/p&gt;
&lt;ol start="4"&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;code style="vertical-align: baseline;"&gt; -d '{ "model": "mistral", "stream": false, "messages": [ {"role": "user", "content": "Explain GKE Autopilot"} ] }' | jq -r '.message.content'&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 5: Ollama を vCluster demo2 にデプロイする&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;同じ手順を繰り返して、Ollama をデプロイし、モデルを 2 つ目の仮想クラスタに pull します。&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\nvcluster connect demo2 -n demo2\r\n\u200b\r\n# デプロイ マニフェストを適用する\r\nkubectl apply -f ollama.yaml\r\n\u200b\r\n# Pod 内で pull コマンドを実行する\r\nkubectl exec -it &amp;lt;pod-name&amp;gt; -- ollama pull mistral\r\n\u200b\r\n# Ollama サービスをポート転送する\r\nkubectl port-forward svc/ollama 8080:11434\r\n\u200b\r\n# 新しいウィンドウでチャット リクエストを送信する\r\ncurl -s http://localhost:8080/api/chat \\\r\n-H &amp;quot;Content-Type: application/json&amp;quot; \\\r\n-d \&amp;#x27;{ &amp;quot;model&amp;quot;: &amp;quot;mistral&amp;quot;, &amp;quot;stream&amp;quot;: false, &amp;quot;messages&amp;quot;: [ {&amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;, &amp;quot;content&amp;quot;: &amp;quot;Explain GKE Autopilot&amp;quot;} ] }\&amp;#x27; | jq -r \&amp;#x27;.message.content\&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 0x7f39cc11f070&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;それでは、ホストクラスタのコンテキストに戻って、何が起こっているかを確認しましょう。&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;プロビジョニングされたノードの数と、Ollama Pod が実行されている場所を確認します。&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;p&gt;&lt;code style="vertical-align: baseline;"&gt;kubectx&lt;/code&gt;&lt;/p&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;kubectx gke_$PROJECT_ID_$REGION_vcluster-gpu-sharing&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;# ノードを一覧表示する&lt;/span&gt;&lt;/p&gt;
&lt;ol start="2"&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;code style="vertical-align: baseline;"&gt;Kubectl nodes&lt;/code&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;2 つのノードが表示されるはずです。1 つは vCluster コンポーネントを実行しています。もう 1 つは、L4 GPU を使用して Ollama インスタンスを実行しています。出力は次のようになります（ノード名は異なります）。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;# kubectl get nodes の出力&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;$ kubectl get nodes&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;NAME                                                  STATUS   ROLES    AGE    VERSION&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;gk3-vcluster-gpu-sharing-nap-1w88cyly-895203e4-xbqk   Ready    &amp;lt;none&amp;gt;   7h8m   v1.33.5-gke.2072000&lt;/code&gt;&lt;/p&gt;
&lt;ol start="4"&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;code style="vertical-align: baseline;"&gt;gk3-vcluster-gpu-sharing-pool-2-0a984fed-7mff         Ready    &amp;lt;none&amp;gt;   4d     v1.33.5-gke.2072000&lt;/code&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;Ollama Pod が実行されている場所を確認します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;# Ollama Pod を実行しているノードを確認する&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;kubectl get pods -n demo1 -o wide&lt;/code&gt;&lt;/p&gt;
&lt;ol start="6"&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;code style="vertical-align: baseline;"&gt;kubectl get pods -n demo2 -o wide&lt;/code&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;両方の Ollama Pod が同じノードで実行されていることに注目してください。このノードは GKE Autopilot によってプロビジョニングされ、L4 GPU と GPU 共有を使用するように構成されています。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&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;この例では、GKE Autopilot を使用することで、GPU ノードプールやタイム シェアリングを手動で構成せずに済んでいます。Autopilot によってリソースが動的に提供される一方で、vCluster によって、チーム A の法務調査データとチーム B のカスタマー サポートの bot が完全に分離されています。この実装方法により、AI ワークロードのスケーリングにおいて堅牢でメンテナンスの少ないプラットフォームを実現できます。&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;Abdel Sghiouar&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;vCluster デベロッパーリレーションズ、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt; Saiyam Pathak&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Tue, 17 Mar 2026 02:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/cost-effective-ai-with-ollama-gke-gpu-sharing-and-vcluster/</guid><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/original_images/cost-effective-ai-ollama-gke-vcluster-hero.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Ollama、GKE の GPU 共有、vCluster を使って、費用対効果の高い AI を実現する</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/original_images/cost-effective-ai-ollama-gke-vcluster-hero.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/cost-effective-ai-with-ollama-gke-gpu-sharing-and-vcluster/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Abdel Sghiouar</name><title>Senior Cloud Developer Advocate</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Saiyam Pathak</name><title>DevRel</title><department></department><company>vCluster</company></author></item><item><title>プロダクション レディな AI エージェントに関するデベロッパー ガイド</title><link>https://cloud.google.com/blog/ja/products/ai-machine-learning/a-devs-guide-to-production-ready-ai-agents/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 2 月 26 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/ai-machine-learning/a-devs-guide-to-production-ready-ai-agents?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 年間で、デベロッパー コミュニティに変化が生じました。AI エージェントは、「興味深い研究コンセプト」から「チームが実際に構築しているもの」へと進化したのです。プロトタイプは機能しています。デモが示す可能性には目を見張るものがあります。ところが、ここで難題が持ち上がります。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;開発者がこれらの課題を解決できるよう、Google はエージェントのライフサイクル全体を網羅したガイド集を公開しました。これらのリソースは、Kaggle の &lt;/span&gt;&lt;a href="https://blog.google/innovation-and-ai/technology/developers-tools/ai-agents-intensive-recap/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;5 日間 AI エージェント集中講座&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-paragraph_with_image"&gt;&lt;div class="article-module h-c-page"&gt;
  &lt;div class="h-c-grid uni-paragraph-wrap"&gt;
    &lt;div class="uni-paragraph
      h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6
      h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3"&gt;

      






  

    &lt;figure class="article-image--wrap-small
      
      "
      &gt;

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

  





      &lt;p data-block-key="85i7q"&gt;&lt;b&gt;エージェントとは&lt;/b&gt;&lt;/p&gt;&lt;p data-block-key="6j6kl"&gt;エージェントの中核をなすものは、推論、行動、経時的な改善を行う自律的なエンティティです。エージェントの頭脳は大規模言語モデルです。これは、タスクを理解し、回答を生成し、コンテキストに基づいて意思決定を行う認知エンジンです。エージェントは静的なツールとは異なり、動作する中で適応します。思考、行動、観察という再帰的なループに基づいて機能します。各サイクルでエージェントは進歩し、その過程でアプローチを洗練させます。&lt;/p&gt;&lt;p data-block-key="18h6j"&gt;この中核の周囲にあるのがオーケストレーション レイヤであり、これは通信とデータフローを管理する神経系の役割を果たします。専門的なツールや外部サービスを調整する指揮者のようなものです。これには、即座に思い出すための短期記憶（セッションの状態）、過去のインタラクションを保持するための長期記憶（メモリサービス）、情報検索（RAG）、外部の世界でアクションを実行するためのモジュール（ツールの使用）などが含まれます。セキュリティ フレームワークにより、エージェントが安全に、意図された境界内で動作することが保証されます。このアーキテクチャの目的は、インテリジェントで有用かつ信頼できるアシスタントを作成することです。&lt;/p&gt;&lt;p data-block-key="cr1dd"&gt;これらの基本コンセプトの詳細については、&lt;a href="https://www.kaggle.com/whitepaper-introduction-to-agents"&gt;エージェントの概要&lt;/a&gt;に関するガイドをご覧ください。&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_with_image"&gt;&lt;div class="article-module h-c-page"&gt;
  &lt;div class="h-c-grid uni-paragraph-wrap"&gt;
    &lt;div class="uni-paragraph
      h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6
      h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3"&gt;

      






  

    &lt;figure class="article-image--wrap-small
      
      "
      &gt;

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

  





      &lt;p data-block-key="szm03"&gt;&lt;b&gt;ツールと相互運用性&lt;/b&gt;&lt;/p&gt;&lt;p data-block-key="1v29r"&gt;エージェントが真に有用であるためには、ツール、データソース、他のエージェントとやり取りできる必要があります。2 つの新しいプロトコルが、そうした接続に対する標準化されたアプローチを提供します。&lt;/p&gt;&lt;p data-block-key="bfshe"&gt;Anthropic の Model Context Protocol（MCP）により、エージェントは外部のデータソースやステートレス ツールに標準化された方法で接続できます。デベロッパーは、サービスごとにカスタム統合を構築する代わりに、MCP の標準化されたインターフェースを使用して開発を簡素化し、相互運用性を向上させることができます。&lt;/p&gt;&lt;p data-block-key="7f2l9"&gt;Google の Agent2Agent プロトコル（A2A）はさらに一歩踏み込み、基盤となるフレームワークにかかわらずエージェント間の直接通信を可能にします。A2A を使用するエージェントは、安全かつ構造化されたメッセージの交換を通じて、互いの能力を把握し、やり取りの方法を交渉し、連携してタスクを処理します。&lt;/p&gt;&lt;p data-block-key="87mj8"&gt;これらのプロトコルを組み合わせることで、ツール、データ、他のエージェントとの接続を通じてより広範なエコシステム内で動作するエージェントの基盤が構築されます。&lt;a href="https://www.kaggle.com/whitepaper-agent-tools-and-interoperability-with-mcp"&gt;ツールと MCP による相互運用性&lt;/a&gt;に関するガイドでは、実装例とともにこれら 2 つのプロトコルについて詳しく説明しています。&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_with_image"&gt;&lt;div class="article-module h-c-page"&gt;
  &lt;div class="h-c-grid uni-paragraph-wrap"&gt;
    &lt;div class="uni-paragraph
      h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6
      h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3"&gt;

      






  

    &lt;figure class="article-image--wrap-small
      
      "
      &gt;

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

  





      &lt;p data-block-key="szm03"&gt;&lt;b&gt;コンテキスト エンジニアリング&lt;/b&gt;&lt;/p&gt;&lt;p data-block-key="c2rl4"&gt;LLM がエージェントの脳であるとすれば、コンテキスト エンジニアリングは、適切な情報を適切なタイミングで LLM に提供する手法です。これには、プロンプト設計、検索メカニズム、ツールの選択、会話履歴など、エージェントが各リクエストを理解して応答する方法を形作るすべてのものが含まれます。&lt;/p&gt;&lt;p data-block-key="23pck"&gt;コンテキスト エンジニアリングにより、汎用モデルがパーソナライズされたアシスタントに変わります。コンテキスト エンジニアリングは、どのメモリを取得するか、どのツールを提供するか、各インタラクションをどのように構成するかを決定します。効果的なコンテキスト エンジニアリングにより、複数のセッションをまたいで一貫性を保持する有用なエージェントが作成されます。コンテキスト エンジニアリングが実装されない場合、エージェントは記憶を忘却したり、同じことを繰り返したり、的外れな回答を返したりすることになります。&lt;/p&gt;&lt;p data-block-key="51acn"&gt;&lt;a href="https://www.kaggle.com/whitepaper-context-engineering-sessions-and-memory"&gt;コンテキスト エンジニアリング&lt;/a&gt; ガイドでは、コンテキスト エンジニアリングのフレームワークと実装のための実用的な手法について説明しています。&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_with_image"&gt;&lt;div class="article-module h-c-page"&gt;
  &lt;div class="h-c-grid uni-paragraph-wrap"&gt;
    &lt;div class="uni-paragraph
      h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6
      h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3"&gt;

      






  

    &lt;figure class="article-image--wrap-small
      
      "
      &gt;

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

  





      &lt;p data-block-key="szm03"&gt;&lt;b&gt;テストと評価&lt;/b&gt;&lt;/p&gt;&lt;p data-block-key="7nue8"&gt;自律エージェントには、品質保証に対する新しいアプローチが必要です。エージェントが独自の判断を下す場合、その成否は正しい出力を生成できるかという点だけでなく、プロセス全体にわたって正しい判断ができているかという点にもかかっています。&lt;/p&gt;&lt;p data-block-key="b05d4"&gt;エージェントを評価するにあたっては、最終的な回答の正しさだけでなく、エージェントが結果に至るまでに行う一連の意思決定と行動の軌跡に重点が置かれます。2 つのエージェントがまったく異なる経路で同じ結論に達する可能性があり、その経路を理解することが重要です。優れた評価では、ツールの選択、推論の質、エラー回復、エージェントが明確化のための質問をすべきときに質問したかどうかを調べます。&lt;/p&gt;&lt;p data-block-key="654p7"&gt;実用的な評価アプローチには、個々のコンポーネントの単体テスト、複数ステップの意思決定シーケンスの軌跡分析、サンドボックスからカナリア、本番環境への段階的な公開が含まれます。各ステージでは、より多くのユーザーに公開する前に、エージェントの動作のさまざまな側面を検証します。&lt;/p&gt;&lt;p data-block-key="af80"&gt;評価フレームワークとテスト方法の詳細については、&lt;a href="https://www.kaggle.com/whitepaper-agent-quality"&gt;エージェントの品質&lt;/a&gt;ガイドをご覧ください。&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_with_image"&gt;&lt;div class="article-module h-c-page"&gt;
  &lt;div class="h-c-grid uni-paragraph-wrap"&gt;
    &lt;div class="uni-paragraph
      h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6
      h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3"&gt;

      






  

    &lt;figure class="article-image--wrap-small
      
      "
      &gt;

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

  





      &lt;p data-block-key="szm03"&gt;&lt;b&gt;エージェントの本番環境へのデプロイ&lt;/b&gt;&lt;/p&gt;&lt;p data-block-key="etksc"&gt;プロトタイプから本番環境に移行するには、エージェント固有のニーズに合わせて設計されたインフラストラクチャが必要です。状態を維持し、ツールを動的に使用し、自律的に動作するシステムを実現するには、従来型のデプロイ パターンに適応性を持たせることが求められます。&lt;/p&gt;&lt;p data-block-key="6772f"&gt;本番環境のエージェントには、インタラクション全体でコンテキストを維持するためのセッション管理、長期記憶のための永続的なメモリシステム、適切な認証と権限によるツール統合、エージェントの意思決定とアクションを追跡するためのリアルタイムのロギングが必要です。&lt;/p&gt;&lt;p data-block-key="68abv"&gt;ほとんどのチームは、内部テスト用のサンドボックス、限定的な実環境でのテスト用のカナリア、完全なロールアウト用の本番環境という段階でデプロイします。各ステージでパフォーマンスを検証し、アクセスを拡大する前に問題を検出します。&lt;/p&gt;&lt;p data-block-key="43lvt"&gt;&lt;a href="https://www.kaggle.com/whitepaper-prototype-to-production"&gt;プロトタイプから本番環境へ&lt;/a&gt;のガイドでは、プロダクション レディなエージェント インフラストラクチャを構築するためのアーキテクチャに関するガイダンスとコードサンプルを提供しています。&lt;/p&gt;
    &lt;/div&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://www.kaggle.com/whitepaper-introduction-to-agents" 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.kaggle.com/whitepaper-agent-tools-and-interoperability-with-mcp" 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;や&lt;/span&gt;&lt;a href="https://www.kaggle.com/whitepaper-context-engineering-sessions-and-memory" 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.kaggle.com/whitepaper-agent-quality" 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.kaggle.com/whitepaper-prototype-to-production" 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;- &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;、Kanchana Patlolla&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、シニアスタッフ ML エンジニア兼生成 AI 集中講座創設者&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;、Anant Nawalgaria&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/ai-machine-learning/a-devs-guide-to-production-ready-ai-agents/</guid><category>Data Analytics</category><category>Developers &amp; Practitioners</category><category>AI &amp; Machine Learning</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/production_ready_ai.max-600x600.jpg" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>プロダクション レディな AI エージェントに関するデベロッパー ガイド</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/production_ready_ai.max-600x600.jpg</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/ai-machine-learning/a-devs-guide-to-production-ready-ai-agents/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Kanchana Patlolla</name><title>Technical Solutions Manager</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Anant Nawalgaria</name><title>Sr. Staff ML Engineer &amp; Founder of Gen AI Intensive, Google</title><department></department><company></company></author></item><item><title>RAG 対応生成 AI アプリケーションのプライベート ネットワーク接続の設計</title><link>https://cloud.google.com/blog/ja/products/networking/design-private-connectivity-for-rag-ai-apps/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 3 月 3 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/networking/design-private-connectivity-for-rag-ai-apps?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 ワークロード向けに安全で信頼性の高いアーキテクチャを構築することを可能にします。この投稿では、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/architecture/private-connectivity-rag-capable-gen-ai?hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;検索拡張生成（RAG）対応生成 AI アプリケーションのプライベート接続&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;のリファレンス アーキテクチャについて説明します。このアーキテクチャは、システム全体で通信にプライベート IP アドレスを使用する必要があるようなシナリオで、通信がインターネットを通過してはならないような場合に適しています。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;RAG の効力&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;RAG は、大規模言語モデル（LLM）の出力を最適化するために使用されるパワフルな手法であり、LLM の出力を、元のトレーニング データ以外の特定の信頼できるナレッジベースにグラウンディングできます。アプリケーションから RAG を使って、ドキュメント、データソース、データベースから関連情報をリアルタイムで取得することができます。ここで取得したコンテキストは、ユーザーのクエリとともにモデルに提供されます。これにより、AI の回答を正確で検証可能なものにするとともに、業務内容との関連性を高めます。この仕組みによって、回答の質が向上し、ハルシネーションが減少します。&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;RAG アプリケーションのプライベート接続向けにネットワークを設定するということを念頭におきながら、このようなリージョン設計のパターンを見ていきましょう。&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;strong style="vertical-align: baseline;"&gt;Google Cloud 環境&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;で構成されています。Google Cloud 環境は、&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;RAG 用の共有 VPC ホスト プロジェクト&lt;/strong&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;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;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/network-connectivity/docs/interconnect/concepts/overview"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Interconnect&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt; または &lt;/strong&gt;&lt;a href="https://docs.cloud.google.com/network-connectivity/docs/vpn/concepts/topologies#vpn-overview"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud VPN&lt;/strong&gt;&lt;/a&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: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/overview"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Network Connectivity Center&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; VPC スポークおよびハイブリッド スポークを介して、ルーティング VPC ネットワークと RAG VPC ネットワーク間の接続を管理するオーケストレーション フレームワーク&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/network-connectivity/docs/router/concepts/overview"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Router&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; ルーティング プロジェクト内で、外部ネットワークと Google Cloud 間の動的な BGP ルート交換を行う&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/vpc/docs/private-service-connect?hl=ja"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Private Service Connect&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; ルーティング VPC ネットワークにプライベート エンドポイントを提供し、パブリック インターネットを経由せずに 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;a href="https://docs.cloud.google.com/vpc/docs/shared-vpc"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;共有 VPC&lt;/strong&gt;&lt;/a&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: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Google &lt;/strong&gt;&lt;a href="https://docs.cloud.google.com/armor/docs/cloud-armor-overview"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Armor&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt; とアプリケーション &lt;/strong&gt;&lt;a href="https://docs.cloud.google.com/load-balancing/docs/application-load-balancer"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;ロードバランサ&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;/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/security/vpc-service-controls"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;VPC Service Controls&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;/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/1-rag-gen-ai.max-1000x1000.png"
        
          alt="1-rag-gen-ai"&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;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;RAG の挿入フロー&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;が &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;RAG の挿入フロー&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;外部ネットワークからのデータが、Cloud Interconnect または Cloud VPN 経由で渡されます。&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;Private Service Connect エンドポイント&lt;/strong&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;データ取り込みサービス プロジェクト内の&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;Cloud Storage バケット&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;AI モデルがチャンクからベクトルを作成し、データ取り込みサブシステムに返します。データ取り込みサブシステムはこれを受け、サービング サービス プロジェクトの &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;RAG データストア&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;上の図の&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;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 Interconnect または Cloud VPN 経由でルーティング VPC ネットワークに渡され、その後、VPC スポーク経由で &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;RAG 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;span style="vertical-align: baseline;"&gt;リクエストは、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Cloud Armor&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;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;フロントエンド サブシステムはリクエストを&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;RAG データストア&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;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;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;Network Connectivity Center のハイブリッド スポークと VPC スポーク&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;が、ルーティング ネットワークと RAG VPC ネットワーク間のコントロール プレーンとルート オーケストレーションを管理する様子を表しています。これにより、外部ネットワークから学習したルートが環境全体に適切に伝播されます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;IAM 権限、VPC Service Controls、デプロイに関する考慮事項などについて詳しくは、アーキテクチャ ドキュメント「&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/architecture/private-connectivity-rag-capable-gen-ai?hl=ja"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;RAG 対応生成 AI アプリケーションのプライベート接続&lt;/strong&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;クロスクラウド ネットワークの詳細や、RAG を使用した生成 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;ドキュメント リスト: &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/architecture/rag-reference-architectures"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;RAG を使用した生成 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;span style="vertical-align: baseline;"&gt;ドキュメント: &lt;/span&gt;&lt;a href="https://cloud.google.com/architecture/ccn-distributed-apps-design"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;分散型アプリケーション向けのクロスクラウド ネットワーク&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://cloud.google.com/blog/ja/topics/developers-practitioners/build-your-first-adk-agent-workforce?e=48754805&amp;amp;hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;最初の ADK エージェント チームを構築する&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>Fri, 13 Mar 2026 03:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/networking/design-private-connectivity-for-rag-ai-apps/</guid><category>AI &amp; Machine Learning</category><category>Hybrid &amp; Multicloud</category><category>Developers &amp; Practitioners</category><category>Networking</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/0-rag-hero.max-600x600.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>RAG 対応生成 AI アプリケーションのプライベート ネットワーク接続の設計</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/0-rag-hero.max-600x600.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/networking/design-private-connectivity-for-rag-ai-apps/</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>エージェント型 chatbot に高速で信頼性の高い長期メモリを提供</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/improve-chatbot-memory-using-google-cloud/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 2 月 28 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/improve-chatbot-memory-using-google-cloud?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;span style="vertical-align: baseline;"&gt;この記事では、Google Cloud のソリューションを用いて、AI の 2 つのデータ課題（リアルタイムチャットのコンテキスト更新を高速化すること、長期履歴の検索を効率化すること）をどう解決するかをご紹介します。また、Redis、Bigtable、BigQuery を組み合わせるポリグロットなアプローチにより、直近のやり取りから数か月前のアーカイブまで、エージェントが細部と文脈の連続性を保てるようにする方法も解説します。&lt;/span&gt;&lt;/p&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/1_-_Polyglot_Persistence_Layer.max-1000x1000.png"
        
          alt="1 - Polyglot Persistence Layer"&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;ポリグロット アプローチとは、単一のデータベースに集約するのではなく、用途に特化した複数のデータサービスを組み合わせ、データのライフサイクルに応じて使い分ける多層型のストレージ戦略です。これにより、たとえば、高速化のためのインメモリ キャッシュ、大規模データを扱うための NoSQL、非構造データを置くための Blob ストレージ、分析のためのデータウェアハウスといったように、それぞれの強みを活かしながら、データの「鮮度」や量に応じて効率的に処理できます。&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;会話の継続性を保つため、Google Cloud 上では次のように組み合わせて、このポリグロット アプローチを実装できます。すなわち、ミリ秒未満で「ホット」なコンテキストを取得する用途には Memorystore for Redis を、永続的な履歴を蓄積するペタバイト規模の記録基盤には Cloud Bigtable を、長期アーカイブや分析的な洞察には BigQuery を用います。また、画像や音声などの非構造マルチメディアは Cloud Storage で扱い、Pub/Sub と Dataflow による非同期パイプラインで連携させます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;1. 短期メモリ: Memorystore for Redis&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;Memorystore for Redis&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; が主要なキャッシュとして機能します。フルマネージドのインメモリ データストアである Redis は、自然な会話の流れを維持するために必要なサブミリ秒レベルの低レイテンシを提供します。チャット セッションはメッセージが順次追加されていくリスト構造のため、履歴は &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Redis リスト&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;を使って保存します。ネイティブの RPUSH コマンドを使えば、アプリケーションは最新のメッセージだけを追加すればよく、Memcached のような単純なストアで発生しがちな「読み取り → 更新 → 書き込み」というネットワーク負荷の大きい処理を避けることができます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;2. 中期メモリ: Cloud Bigtable&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;Bigtable&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; が、永続性を備えた中期ストアとして、また全チャット履歴の正式な記録として機能します。Bigtable は、高速で書き込みが集中するワークロード向けに設計されたペタバイト級の NoSQL データベースで、数百万件の同時チャットを取り込む用途に適しています。大量のデータを扱いつつも、ガベージ コレクション ポリシーを設定すれば、アクティブなクラスタを必要最小限に保てます。たとえば、高性能ティアには直近 60 日分だけ残すといった運用が可能です。検索を高速化するため、キーは user_id#session_id#reverse_timestamp というパターンで設計します。これにより、同一セッションのメッセージが近接して格納され、範囲スキャンで直近のメッセージを効率よく取り出せるため、履歴の再読み込みがスムーズになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;3. 長期メモリと分析: BigQuery&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;BigQuery&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; に移されます。BigQuery は、このシステムにおける長期メモリの役割を担います。Bigtable が稼働中のアプリケーション向け処理に最適化されているのに対し、BigQuery は大規模な複雑 SQL クエリを実行するために設計された Google のサーバーレス型データ ウェアハウスです。これにより、チームは単なるログ保存にとどまらず、そこから分析的なインサイトを引き出せるようになります。最終的には、この運用データがフィードバック ループとして機能し、ユーザー向けコンポーネントのパフォーマンスに影響を与えることなく、エージェントやユーザー体験の改善につながります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;4. アーティファクト ストレージ: Cloud Storage（GCS）&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;Cloud Storage&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;を採用します。Redis や Bigtable のレコード側には、実体データそのものではなく、オブジェクトを指し示す &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;URI&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;（例: gs://bucket/file）を保持します。セキュリティ面では、アプリケーションが&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;署名付き URL&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;データの流れを最適化するハイブリッド同期 / 非同期戦略&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;/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_-_Sequence_Diagram.max-1000x1000.png"
        
          alt="2 - Sequence Diagram"&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;/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_-_History_Seq_Diagram.max-1000x1000.png"
        
          alt="3 - History Seq Diagram"&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;/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://cloud.google.com/products/agent-builder"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Vertex AI Agent Builder&lt;/span&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt; を使って、エージェント型ワークフローのプロトタイピングを始めましょう。&lt;/strong&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;a href="https://cloud.google.com/memorystore/docs/redis/redis-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Memorystore for Redis の構成&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;堅牢な Bigtable スキーマを設計する&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: スキーマ設計の&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/bigtable/docs/schema-design"&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;: &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/bigtable/docs/change-streams-to-bigquery-quickstart"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Bigtable の Change Stream から BigQuery へのテンプレート&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; &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/looker/docs/conversational-analytics-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Looker Conversational Analytics&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;AI ソリューション アクセラレーション アーキテクト&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt; Aishwarya Prabhat&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; Yun Pang&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Thu, 12 Mar 2026 00:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/improve-chatbot-memory-using-google-cloud/</guid><category>Developers &amp; Practitioners</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>エージェント型 chatbot に高速で信頼性の高い長期メモリを提供</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/improve-chatbot-memory-using-google-cloud/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Aishwarya Prabhat</name><title>AI Solutions Acceleration Architect</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Yun Pang</name><title>Principal Architect</title><department></department><company></company></author></item><item><title>Java SDK「MCP ツールボックス」リリースのお知らせ</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/announcing-the-mcp-toolbox-java-sdk/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 3 月 4 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/announcing-the-mcp-toolbox-java-sdk?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;エンジニアリング チームは、単純な chatbot から、ミッション クリティカルなデータベースと直接やり取りするエージェント システムの構築へと移行しています。しかし、このようなエンタープライズ エージェントを構築する際には、カスタムのグルーコード、脆弱な API、複雑なデータベース ロジックという統合の壁にぶつかることがよくあります。&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/googleapis/mcp-toolbox-sdk-java" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;「データベース向け Model Context Protocol（MCP）ツールボックス」&lt;/span&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Java SDK&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt; をリリース&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;しました。このリリースにより、世界で最も広く採用されているエンタープライズ エコシステムで、最高水準の型安全なエージェント オーケストレーションが実現します。Java の成熟したアーキテクチャは、このような厳しい要求に対応できるよう構築されており、本番環境でミッション クリティカルな AI エージェントを安全にスケールするために必要な高い同時実行性、厳格なトランザクションの整合性、堅牢な状態管理を提供します。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;MCP: AI エージェント向けの USB Type-C&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Model Context Protocol（MCP）は、AI のユニバーサル トランスレータのようなものです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;MCP は、AI モデルが外部のツールやデータセットに接続する方法を標準化するために作成されており、カスタムの断片的な統合スクリプトをセキュアなユニバーサル プロトコルに置き換えます。エージェントがトランザクション SQL クエリの実行、数千ものポリシー ドキュメントの検索、REST API のトリガーなどを行うときに、MCP が単一の統合インターフェースを提供します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://googleapis.github.io/genai-toolbox/getting-started/introduction" 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;を使用すると、このプロトコルの実装が簡単になります。&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;a href="https://googleapis.github.io/genai-toolbox/getting-started/introduction" 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;は、データベース用のオープンソース MCP サーバーです。AlloyDB、Cloud SQL、Cloud Spanner をはじめ、サードパーティを含む 42 種類のデータソースをネイティブにサポートしています。重要なのは、AI エージェントの自然言語の意図を特定のデータベース操作に直接、安全にマッピングする&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;strong style="vertical-align: baseline;"&gt;Python、JavaScript、TypeScript、Go&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 向けの堅牢かつプロダクション レディな SDK はすでに提供していました。しかし、高い同時実行性、トランザクションの整合性、会話の状態管理が不可欠な Day 2（2 日目からの）本番環境ワークロードに関しては、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Java と Spring Boot&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;この新しい Java SDK を使用すると、好みの技術スタックから離れることなく、ステートフルで同時実行性の高いマルチエージェント システムをネイティブに構築できます。この SDK は、場合によってはエンタープライズ アーキテクトにとって最優先事項となる、最高水準の型安全なオーケストレーションを Java にもたらします。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;この Java SDK を使ってみる&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;「MCP ツールボックス」Java SDK は、企業チームがスムーズに利用できるように設計されています。今すぐエージェントの構築を開始できます。&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;MCP ツールボックスは、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;pom.xml&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; に次の依存関係を追加するだけで、Java または Spring Boot のプロジェクトに組み込むことができます。&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;lt;dependency&amp;gt;\r\n   &amp;lt;groupId&amp;gt;com.google.cloud.mcp&amp;lt;/groupId&amp;gt;\r\n   &amp;lt;artifactId&amp;gt;mcp-toolbox-sdk-java&amp;lt;/artifactId&amp;gt;\r\n   &amp;lt;version&amp;gt;0.2.0&amp;lt;/version&amp;gt;\r\n&amp;lt;/dependency&amp;gt;&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39d0a45a30&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;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;「MCP ツールボックス」Java SDK を &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;AlloyDB&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; と組み合わせて活用する例として、交通機関のユースケースを見てみましょう。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/GoogleCloudPlatform/devrel-demos/tree/main/agents/cymbal-transit" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cymbal Transit&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; は架空の都市間バス交通ネットワークです。利用者は、旅行を計画するのに、15 個ものプルダウン メニューをクリックしたくはありません。次のように質問できれば理想的です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; 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;このケースは、「MCP ツールボックス」Java SDK を使用して次のように構築します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;基盤となるデータベース（ネイティブ エンベディングを備えた AlloyDB スキーマ）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AlloyDB は、リレーショナル データと高次元の AI ベクトルを単一のクエリエンジンで処理するため、この目的に最適なエンジンです。AlloyDB はさらに、google_ml_integration &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/ai/configure-vertex-ai#verify-installed-extension"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;拡張機能&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を使用してエンベディングをネイティブに生成できるため、構築する Java アプリケーションとエンベディング API との間でテキストをやり取りする必要がありません。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;まず、こちらの&lt;/span&gt;&lt;a href="https://codelabs.developers.google.com/quick-alloydb-setup" 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;に沿って、AlloyDB のクラスタとインスタンスを設定します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;次に、以下の SQL ステートメントを使用してデータベース オブジェクトを設定します。&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;quot;-- AI セマンティック検索とエンベディング生成に必要な拡張機能を有効にする\r\nCREATE EXTENSION IF NOT EXISTS vector;\r\nCREATE EXTENSION IF NOT EXISTS google_ml_integration;\r\n\u200b\r\n-- 表 1: 交通機関のポリシー（RAG 用の非構造化データ）\r\nCREATE TABLE transit_policies (\r\n   policy_id SERIAL PRIMARY KEY,\r\n   category VARCHAR(50),\r\n   policy_text TEXT,\r\n   policy_embedding vector(768)\r\n);\r\n\u200b\r\n-- 表 2: 都市間バスの運行スケジュール（構造化データ）\r\nCREATE TABLE bus_schedules (\r\n   trip_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\r\n   origin_city VARCHAR(100),\r\n   destination_city VARCHAR(100),\r\n   departure_time TIMESTAMP,\r\n   arrival_time TIMESTAMP,\r\n   available_seats INT DEFAULT 50,\r\n   ticket_price DECIMAL(6,2)\r\n);\r\n\u200b\r\n-- 表 3: 予約台帳（トランザクション アクション データ）\r\nCREATE TABLE bookings (\r\n   booking_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\r\n   trip_id UUID REFERENCES bus_schedules(trip_id),\r\n   passenger_id VARCHAR(100),\r\n   status VARCHAR(20) DEFAULT &amp;#x27;CONFIRMED&amp;#x27;,\r\n   booking_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP\r\n);&amp;quot;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39d0a45d60&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;テーブルを定義し、ベクトル サポートを有効にしたことで、AlloyDB が構造化されたトランザクション データとセマンティック ナレッジベースの両方に対応する統合ブレインとして機能する準備が整いました。&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;エージェントのコンテキスト ウィンドウで推論に使用できる現実的なオプションを確保するには、堅牢なデータセットが必要です。AlloyDB で PostgreSQL の強力な generate_series を使用すると、翌日以降の現実的なバス旅行のデータ 200 件以上を即座にデータベースに供給できます。このデモ アプリケーションのモックデータの取り込みには、このアプローチを採用しました。&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. AlloyDB で非構造化ポリシーを挿入し、現実的なエンベディングをネイティブに生成する\r\nINSERT INTO transit_policies (category, policy_text, policy_embedding)\r\n...（完全なステートメントはリポジトリを参照）\r\n\u200b\r\n-- 2. generate_series を使用して、今後 7 日間の現実的なスケジュールを 200 件以上生成する\r\nINSERT INTO bus_schedules (origin_city, destination_city, departure_time, arrival_time, ticket_price, available_seats)\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 0x7f39d0a45d00&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/GoogleCloudPlatform/devrel-demos/tree/main/agents/cymbal-transit" 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;このようにして、現実的なスケジュールとネイティブに生成されたエンベディングがデータベースに動的に入力され、AI エージェントはデータが豊富でクエリ可能な環境に即座にアクセスできるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Spring Boot のステートフル エージェント アーキテクチャ&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;会話型 UI の構築で最も難しいのは&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;セッション管理&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;です。ユーザーが「空いている時間は？」と尋ねた後、「午前 8 時の便を予約して」と言った場合、エージェントはコンテキストを覚えている必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;「MCP ツールボックス」Java SDK&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; を &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Spring Boot&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;LangChain4j&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; と併せて使用すると、HTTP セッションで会話の記憶をシームレスに維持し、エージェントの思考プロセスに注入できます。最新のフロントエンドと、このステートフル バックエンドを組み合わせることで、エンタープライズ アプリケーションは連続的でインテリジェントなワークスペースになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ユーザーの意図を解析するために大量の if / else ブロックを記述する代わりに、宣言型の AI インターフェースを定義し、それに 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;interface TransitAgent {\r\n   @SystemMessage({\r\n       &amp;quot;You are the Cymbal Transit Concierge.&amp;quot;,\r\n       &amp;quot;Use the \&amp;#x27;querySchedules\&amp;#x27; tool for finding schedules.&amp;quot;,\r\n       &amp;quot;Use \&amp;#x27;bookTicket\&amp;#x27; to execute transactions.&amp;quot;,\r\n       &amp;quot;Use \&amp;#x27;searchPolicies\&amp;#x27; to look up luggage and pet rules.&amp;quot;\r\n   })\r\n   String chat(@MemoryId String sessionId, @UserMessage String userMessage);\r\n}\r\n\u200b\r\n@Service\r\nclass TransitAgentTools {\r\n   // これらのメソッドは、データベース向け MCP ツールボックス サーバーを自動的に呼び出します。\r\n   @Tool(&amp;quot;Query specific schedules between an origin and destination city.&amp;quot;)\r\n   public String querySchedules(String origin, String destination) { ... }\r\n\u200b\r\n   @Tool(&amp;quot;Book a ticket for a passenger.&amp;quot;)\r\n   public String bookTicket(String tripId, String passengerName) { ... }\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 0x7f39d0a45070&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;LangChain4j により、LLM プロンプトのロジックが実際のツールの実行から明確に分離されるため、エージェントは目標を失うことなく、予測可能で、時間が経過しても非常に簡単にメンテナンスできる状態が維持されます。最新のフロントエンドと、このステートフルな Spring Boot バックエンドを組み合わせることで、エンタープライズ アプリケーションは、つながりのない一連のプロンプトではなく、連続的でインテリジェントなワークスペースになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;意図と SQL のマッピング: tools.yaml&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;データベース向け MCP ツールボックスの真の魅力は、これらのカスタムツールの定義方法にあります。Java アプリケーションは SQL に直接アクセスする必要がなく、LLM はテーブル スキーマに関してハルシネーションを起こす必要がありません。代わりに、MCP サーバーにクリーンな tools.yaml 構成を提供します。このファイルは、エージェントのツール呼び出しを AlloyDB のパラメータ化された SQL ステートメントにセキュアにマッピングします。&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;tools:\r\n query-schedules:\r\n   kind: postgres-sql\r\n   source: alloydb\r\n   description: Find available bus schedules between cities.\r\n   parameters:\r\n     - name: origin\r\n       type: string\r\n     - name: destination\r\n       type: string\r\n   statement: |\r\n     SELECT CAST(trip_id AS TEXT) AS trip_id, departure_time, ticket_price\r\n     FROM bus_schedules\r\n     WHERE lower(origin_city) = lower($1) AND lower(destination_city) = lower($2)\r\n\u200b\r\n search-policies:\r\n   ... 完全な tools.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 0x7f39bcbe28e0&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;このシンプルな宣言型構成により、データベース スキーマを LLM に直接公開することなく、自然言語の意図と複雑な SQL クエリのギャップを埋めることができます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;点と点をつなぐ: Java でのツールのリスト表示、呼び出し、実行&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;データベースとツールを構成したら、それらとのやり取りという手間のかかる作業は、「MCP ツールボックス」Java SDK が処理します。この SDK は、直感的で型安全な API を提供し、Spring Boot サービスからトランザクションをセキュアに検出、クエリ、実行できます。&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. クライアントの初期化\r\nMcpToolboxClient mcpClient = McpToolboxClient.builder()\r\n   .baseUrl(&amp;quot;https://toolbox-my-project-uc.a.run.app&amp;quot;)\r\n   .apiKey(myIdToken)\r\n   .build();\r\n\u200b\r\n// 2. 検出可能なツールのリスト表示\r\nmcpClient.listTools().thenAccept(tools -&amp;gt; {\r\n   System.out.println(&amp;quot;Successfully discovered &amp;quot; + tools.size() + &amp;quot; tools.&amp;quot;);\r\n});\r\n\u200b\r\n// 3. ツールの呼び出し（読み取り専用データ）\r\nString schedules = mcpClient.invokeTool(&amp;quot;query-schedules&amp;quot;, Map.of(\r\n   &amp;quot;origin&amp;quot;, &amp;quot;New York&amp;quot;,\r\n   &amp;quot;destination&amp;quot;, &amp;quot;Boston&amp;quot;\r\n)).join().content().get(0).text();\r\n\u200b\r\n// 4. トランザクション ツールの実行（バインドされた認証が必要）\r\nAuthTokenGetter toolAuthGetter = () -&amp;gt; CompletableFuture.completedFuture(myIdToken);\r\n\u200b\r\nString bookingConfirmation = mcpClient.loadTool(&amp;quot;book-ticket&amp;quot;, Map.of(&amp;quot;google_auth&amp;quot;, toolAuthGetter))\r\n   .thenCompose(tool -&amp;gt; {\r\n       // 認証されたユーザー コンテキストをセキュアにバインドする\r\n       tool.bindParam(&amp;quot;passenger_name&amp;quot;, &amp;quot;Jane Doe&amp;quot;);\r\n       // 可変トランザクションを実行する\r\n       return tool.execute(Map.of(&amp;quot;trip_id&amp;quot;, &amp;quot;123e4567-e89b-12d3-a456-426614174000&amp;quot;));\r\n   }).join().content().get(0).text()&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39bcbe22e0&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;これで完了です。型安全な Java のコード数行で、Spring Boot アプリケーションがローカル メソッドかのようにリモートツールをセキュアに検出して実行します。上の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;bindParam&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; メソッドに注目してください。この強力な機能を使用すると、アプリケーション レベルのコンテキスト（認証されたユーザーの ID など）をデータベース トランザクションにセキュアに直接挿入し、LLM を完全にバイパスできます。詳しくは、「MCP ツールボックス」Java SDK の&lt;/span&gt;&lt;a href="https://github.com/googleapis/mcp-toolbox-sdk-java?tab=readme-ov-file#why-bind-parameters" 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;アプリケーションのデフォルト認証情報（ADC）によるゼロ構成のセキュリティ&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ハードコードされたシークレットや JSON キーの管理が不要であることに注目してください。Java アプリケーションは、Google のアプリケーションのデフォルト認証情報（ADC）を使用して、バックグラウンドで myIdToken を取得することで、環境から直接、セキュアな ID を自動的に継承します。gcloud CLI を使用してローカルで開発する場合でも、本番環境で実行する場合でも、アプリケーションはデフォルトでセキュアに保たれ、手動で認証情報を構成する必要がありません。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;フリートを Cloud Run にデプロイ&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;先ほど説明した「2 日目」のエンタープライズ要件を覚えているでしょうか。高い同時実行性、トランザクションの整合性を適切に処理し、ステートフルな会話を大規模に維持するには、アーキテクチャが堅牢である必要があります。データベース向け MCP ツールボックスと Spring Boot エージェントは完全に分離されているため、Google Cloud Run で個別にスケーリングして、これらの正確な需要に対応できます。&lt;/span&gt;&lt;/p&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;# ツールボックスの CLI をダウンロードする\r\nexport VERSION=0.27.0\r\ncurl -L -o toolbox https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox\r\nchmod +x toolbox&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39bcbe2880&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;次に、ローカルのツールボックス サーバーを Cloud Run にデプロイします。公式ドキュメントの&lt;/span&gt;&lt;a href="https://googleapis.github.io/genai-toolbox/how-to/deploy_toolbox" 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;span style="vertical-align: baseline;"&gt;次に、Java Spring Boot エージェントをデプロイし、動的に生成された MCP ツールボックスの URL と Vertex AI の設定を環境変数として挿入します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Cymbal Transit エージェント アプリは次の手順で設定します。&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://github.com/GoogleCloudPlatform/devrel-demos/tree/main/agents/cymbal-transit" 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: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;次に、Java Spring Boot エージェントをデプロイし、動的に生成された MCP ツールボックスの URL と Vertex AI の設定を環境変数として挿入します。&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;gcloud run deploy cymbal-transit \\\r\n --source . \\\r\n --allow-unauthenticated \\\r\n --set-env-vars GCP_PROJECT_ID=my-project,GCP_REGION=us-central1,GEMINI_MODEL_NAME=gemini-2.5-flash,MCP_TOOLBOX_URL=https://toolbox-...&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39bcbe24f0&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;たった 1 つのコマンドで、ステートフルなマルチエージェントのエンタープライズ アプリケーションが Cloud Run にデプロイされ、ユーザーに代わってワークフローをセキュアにオーケストレートする準備が整いました。&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;ステートレスな chatbot から自律型のトランザクション エージェントへの移行は、この 10 年間の技術的変化を象徴するものです。しかし、エージェントの能力は、セキュアにやり取りできるシステムによって決まります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;「データベース向け MCP ツールボックス」Java SDK を使用することで、企業開発者はようやく、ネイティブでエレガントかつスケーラビリティの高い方法で、ビジネスを運営するミッション クリティカルな記録システムに対する読み取り / 書き込みアクセスを AI エージェントに付与できるようになります。&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;a href="https://github.com/googleapis/mcp-toolbox-sdk-java" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;「MCP ツールボックス」Java SDK の公式 GitHub リポジトリ&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をご覧ください。また、デモ アプリケーション、&lt;/span&gt;&lt;a href="https://github.com/GoogleCloudPlatform/devrel-demos/tree/main/agents/cymbal-transit" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Cymbal Bus エージェントの GitHub リポジトリ&lt;/strong&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;- Google &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;スタッフ デベロッパー アドボケイト&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt; Abirami Sukumaran&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Google ソフトウェア エンジニア&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;、Anubhav Dhawan&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Tue, 10 Mar 2026 02:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/announcing-the-mcp-toolbox-java-sdk/</guid><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/MCP_Toolbox_Java_SDK_Launch.max-600x600.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Java SDK「MCP ツールボックス」リリースのお知らせ</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/MCP_Toolbox_Java_SDK_Launch.max-600x600.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/announcing-the-mcp-toolbox-java-sdk/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Abirami Sukumaran</name><title>Staff Developer Advocate, Google</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Anubhav Dhawan</name><title>Software Engineer, Google</title><department></department><company></company></author></item><item><title>データ戦略 = AI 戦略シリーズ: Google Cloud で開発者を AI アーキテクトに進化させる</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/data-strategy-ai-strategy-series-transforming-developers-into-ai-architects-with-google-cloud/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 3 月 4 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/data-strategy-ai-strategy-series-transforming-developers-into-ai-architects-with-google-cloud?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;span style="vertical-align: baseline;"&gt;データが整理されていないと、エージェントは高い確信度で回答していても、実際にはハルシネーションを起こしている可能性があります。2026 年には、データ戦略と AI 戦略は実質的に同じものになります。どちらか一方だけでは成り立ちません。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このシリーズ「データ戦略 = AI 戦略」では、この戦略のさまざまな側面を取り上げ、自律エージェントを構築しながら、より決定論的なワークフローを設計する方法をご紹介します。本投稿は、データと AI アーキテクチャの融合に焦点を当てたシリーズの第 1 回です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;業界は重要な転換点を迎えつつあります。2024 年と 2025 年は「API 時代」と定義され、開発者はアプリやエンドポイントを通じて LLM を統合する方法を学びました。2026 年には、&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;span style="vertical-align: baseline;"&gt;課題は、使用する AI モデルだけではありません。それを支えるインフラストラクチャも重要です。アプリケーションがエンタープライズ グレードであるためには、&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;という 3 つの重要な柱の要件を満たす必要があります。本記事では、AI の導入を目的としたエージェントの構築から、十分に戦略化されたコンテキストに基づくエージェントの設計へと移行するという観点から、これらの柱に焦点を当てます。具体的には、このブログとリンク先の Codelab において実践的な学習プログラムを提供し、Google のデータクラウドを活用してアーキテクチャを構築する方法を示します。このアプローチでは、PostgreSQL と完全互換のリレーショナル データベースを使用します。&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;最新の AI スタックでは、データベースはもはや単なるストレージ レイヤではなく、&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;コンテキスト エンジン&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;としての役割を担うようになっています。Google の戦略は、AlloyDB for PostgreSQL や Cloud SQL など、PostgreSQL と完全互換のサービスを活用し、本番環境における AI の主なボトルネックであるレイテンシ、AI 機能、検索精度を解消することに重点を置いています。&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;1. インフラストラクチャ税の解消&lt;/strong&gt;&lt;/h4&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;」とも呼ばれる問題が大きな障壁となっていました。これは、クラスタ、インスタンス、VPC ネットワーク ピアリングの設定などに多くの時間を費やさなければならないことを指します。自動設定ユーティリティを導入することで、開発者はこうした構成上の障壁を回避できるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;その結果、焦点はインフラストラクチャの管理から、安全なデータフローや高スループットのベクトル パイプラインの設計へと移ります。最近開催されたインストラクター主導の Code Vipassana セッションでは、参加した開発者が、この変化により、各ラボで 1 時間以上の時間を節約できました。このアプローチにより、本番環境への移行を効果的に加速できます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;2. スケーラビリティを前提とした設計: 100 万ベクトル、ループなし&lt;/strong&gt;&lt;/h4&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;に重点を置いています。AlloyDB では、データベース レイヤ内でエンベディングを大規模に直接生成できます。この機能を活用することで、従来のループ処理に伴うレイテンシを解消し、大規模なデータセットに対してリアルタイム分析を行えるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;3. ソブリン インテリジェンスと行レベル セキュリティ（RLS）&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AI におけるセキュリティは、単にファイアウォールを設ければよいというものではなく、データ ガバナンスまで含めて考える必要があります。そのため Google は、アクセスが許可された特定のデータのみにアクセスするように AI エージェントを制御する仕組みとして、&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;行レベルのセキュリティ（RLS）&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;の活用を重視しています。この&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;プライベート Vault&lt;/span&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 は、エンタープライズ AI 開発の全体像を体系的に理解できるよう、一連のハンズオン形式の技術ラボを用意しました。各ラボは、インテリジェント スタックを構成する特定のレイヤに対応しています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;多くのラボでは AlloyDB を使用します。ただし、このアーキテクチャ戦略の流れは Cloud SQL のエコシステムにも広がっています。そのため、この学習プログラムには Cloud SQL for PostgreSQL ユーザー向けの代替ラボもいくつか含まれています。&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;a href="https://codelabs.developers.google.com/quick-alloydb-setup" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB クイックセットアップ ラボ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;このラボは、必要な VPC とネットワーク設定を備えた高性能な AlloyDB クラスタを数分でプロビジョニングする方法を紹介するアーキテクト向けの入門ラボです。ここでは、後続のすべての AI ロジックのための安全でスケーラブルな基盤を確立するための「&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;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://codelabs.developers.google.com/connect-to-alloydb-on-cloudrun" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;アプリを AlloyDB データに接続して Cloud Run にデプロイする&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（または &lt;/span&gt;&lt;a href="https://codelabs.developers.google.com/connect-to-cloudsql-on-cloudrun" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud SQL に接続して Cloud Run にデプロイする&lt;/span&gt;&lt;/a&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;）&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;デプロイの段階に進み、このラボではサーバーレス アプリケーションのアーキテクチャを取り上げます。開発者は、セキュリティ向上のためにマネージド ID や接続文字列を活用しながら、Cloud Run サービスを AlloyDB（または Cloud SQL）に接続する方法を学びます。このアプローチにより、アプリケーション レイヤもデータレイヤと同様に堅牢な構成にすることができます。&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;a href="https://codelabs.developers.google.com/gemini-3-flash-on-alloydb-sustainability-app" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;リアルタイム余剰エンジンを構築する: Gemini 3 Flash と AlloyDB&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（または &lt;/span&gt;&lt;a href="https://codelabs.developers.google.com/gemini-3-on-cloudsql-sustainability-app" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini 3 Flash と Cloud SQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;）&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;このラボでは、エンドツーエンドのデータドリブン AI アプリケーションを構築し、&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;スピード&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;の柱に対応します。高効率な Gemini 3 Flash モデルを用いてストリーミング データを処理し、リアルタイムのインサイトを生成する方法をご紹介します。このアプローチにより、データベースとエンドユーザーの間に応答性の高いフィードバック ループが構築されます。&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;a href="https://codelabs.developers.google.com/embeddings-at-scale-with-alloydb" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;100 万ベクトル、ループなし: AlloyDB によるスケーリング&lt;/span&gt;&lt;/a&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;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://codelabs.developers.google.com/zero-trust-agents-with-alloydb" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;プライベート Vault: RLS によるゼロトラスト インテリジェンス&lt;/span&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;の強化に焦点を当てています。このラボでは、開発者向けに&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;ゼロトラスト&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; エージェントの構築方法をご紹介します。PostgreSQL で RLS を実装することで、AI エージェントがユーザーごとのデータ境界を確実に尊重する仕組みを構築できます。このアプローチは、セキュリティを強化しながらコンプライアンスにも対応した AI システムを設計するための指針となります。&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;インフラストラクチャの負担を減らし、スピード、スケール、セキュリティという基本原則に注力することで、新世代の AI アーキテクトを育成することができます。この戦略的な転換により、現在構築されているアプリケーションが、将来の本番環境の要件にも対応できるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;今後開催されるインストラクター主導のハンズオン セッションに参加し、開発者からアーキテクトへのステップアップを始めたい方は、&lt;/span&gt;&lt;a href="https://codevipassana.dev/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Code Vipassana にご登録ください&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;Google、スタッフ デベロッパー アドボケイト&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt; Abirami Sukumaran&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Tue, 10 Mar 2026 02:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/data-strategy-ai-strategy-series-transforming-developers-into-ai-architects-with-google-cloud/</guid><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/ai-strategy-transform-devs-ai-architects-her.max-600x600.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>データ戦略 = AI 戦略シリーズ: Google Cloud で開発者を AI アーキテクトに進化させる</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/ai-strategy-transform-devs-ai-architects-her.max-600x600.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/data-strategy-ai-strategy-series-transforming-developers-into-ai-architects-with-google-cloud/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Abirami Sukumaran</name><title>Staff Developer Advocate, Google</title><department></department><company></company></author></item><item><title>Gemini 3 Pro Image を使ってみる</title><link>https://cloud.google.com/blog/ja/topics/developers-practitioners/getting-started-with-gemini-3-unlocking-the-cloud-with-the-free-trial/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 2 月 19 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/getting-started-with-gemini-3-unlocking-the-cloud-with-the-free-trial?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;a href="https://cloud.google.com/blog/ja/topics/developers-practitioners/getting-started-with-gemini-3-hello-world-with-gemini-3-flash?hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini API キー&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を取得し、最初の「Hello World」AI アプリを構築しました。さらに、Google AI Studio のバイブ コーディングを活用して&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/ja/topics/developers-practitioners/getting-started-with-gemini-3-deploy-your-first-gemini-3-app-to-google-cloud-run?hl=ja"&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;しかし、Google Cloud プロジェクトを設定しないまま&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/ja/topics/developers-practitioners/getting-started-with-gemini-3-deploy-your-first-gemini-3-app-to-google-cloud-run?hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;パート 2&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; の [デプロイ] ボタンを押そうとすると、少し手間取ったかもしれません。Google Cloud プロジェクトを作成すれば、AI アプリのホスティングや大規模データセットの保存が可能になるほか、&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/ja/products/ai-machine-learning/nano-banana-pro-available-for-enterprise?hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Nano Banana Pro（Gemini 3 Pro Image）&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をはじめとする Gemini Pro モデルの機能をフル活用できるようになります。&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;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;Google AI Studio はプロトタイピングやテストに最適な環境であり、アプリケーションを Cloud Run に直接デプロイすることもできます。しかし、アプリケーションが成長していくと、拡張や運用管理のために、より幅広い 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;: 有効期限のない URL で 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;: ユーザーやアプリケーションのデータ、画像、ファイルを保存および検索できる場所が必要な場合。&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;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud はこうしたニーズに応えます。&lt;/span&gt;&lt;a href="https://cloud.google.com/infrastructure"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google 検索や YouTube と同じインフラストラクチャ&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 の無料特典は、次の 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;300 ドル分のクレジット（無料トライアル）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; - 新規のお客様には、91 日間利用できる 300 ドル分の無料クレジットが提供されます。このクレジットは、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/free/docs/free-cloud-features?_gl=1*1lu44ri*_up*MQ..&amp;amp;gclid=EAIaIQobChMI0b7CpuGNkgMVplqRBR1w5jvHEAAYASAAEgK-2fD_BwE&amp;amp;gclsrc=aw.ds#during-free-trial"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;さまざまな Google Cloud プロダクト&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: decimal; 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;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud の無料枠&lt;/strong&gt;&lt;/a&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;/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 Run&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 1 か月あたり 200 万回の呼び出し（&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/ja/topics/developers-practitioners/getting-started-with-gemini-3-deploy-your-first-gemini-3-app-to-google-cloud-run"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;パート 2&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;Compute Engine&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 1 か月あたり非プリエンプティブル e2-micro VM インスタンス 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;Cloud Storage&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 1 か月あたり 5 GB-月分の Regional 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;strong style="vertical-align: baseline;"&gt;BigQuery&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 1 か月あたり 1 TiB のクエリ処理と 10 GiB のストレージ。&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="font-style: italic; vertical-align: baseline;"&gt;注: 利用上限や対象リージョンは変更される場合があります。最新情報については、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/free/docs/free-cloud-features?_gl=1*1lu44ri*_up*MQ..&amp;amp;gclid=EAIaIQobChMI0b7CpuGNkgMVplqRBR1w5jvHEAAYASAAEgK-2fD_BwE&amp;amp;gclsrc=aw.ds#free-tier-usage-limits"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;無料枠の公式ドキュメント&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;次の 2 つの条件をいずれも満たしている場合、無料トライアルをご利用いただけます。&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;これまでに Google Cloud、Google Maps Platform、または Firebase を有料で利用したことがない。&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;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 1 - 開始する&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://cloud.google.com/free"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;cloud.google.com/free&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;注: [無料で開始] ボタンが表示されない場合は、過去に Google Cloud アカウントを有効化している可能性があります。ただし、その場合でも無料枠は利用できます。&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/kickboard-part3-screencast-01.gif"
        
          alt="kickboard-part3-screencast-01"&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;ステップ 2 - ログインする&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google アカウント（Gmail アドレス）でログインします。Google AI Studio で使用しているものと同じアカウントを使用できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;注:「Google アカウント（ユーザー名@gmail.com）をすでにお持ちのようです。別のプロバイダのメールアドレスで新しいアカウントを作成するには、[キャンセル] をクリックしてください。」というメッセージが表示された場合は、[ログイン] をクリックして続行してください。&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;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; 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/original_images/kickboard-part3-screencast-02.gif"
        
          alt="kickboard-part3-screencast-02"&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;不安を覚えている方もいらっしゃるかもしれませんので、明確にしておきたいと思います。Google では&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;strong style="vertical-align: baseline;"&gt;自動請求はありません:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;a href="https://cloud.google.com/signup-faqs?hl=en#:~:text=will%20i%20be%20billed%20after%20the%20trial%20ends?"&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://docs.cloud.google.com/billing/docs/how-to/verify-bank"&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;ステップ 5: 構築を始める&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;確認が完了するとコンソールが表示され、画面上部のバナーおよび [請求先アカウント] セクションに、300 ドル分の無料トライアル クレジット残高が表示されます。通常は「My First Project」などのデフォルトのプロジェクトが用意されており、そこから作業を開始できます。必要に応じて、新しいプロジェクトを作成することも可能です。&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/kickboard-part3-screencast-03.gif"
        
          alt="kickboard-part3-screencast-03"&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;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;AI Studio に戻る&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;課金が有効なプロジェクトを作成できたので、Google AI Studio に戻りましょう。有料 API キーの入力を求められた場合は、このプロジェクトを使用して Nano Banana Pro を利用できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;新しいプロジェクトを Google AI Studio にインポートする&lt;/strong&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/kickboard-part3-screencast-04-01.gif"
        
          alt="kickboard-part3-screencast-04-01"&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;新しくインポートしたプロジェクトと連携する新しい API キーを作成する&lt;/strong&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/kickboard-part3-screencast-04-02.gif"
        
          alt="kickboard-part3-screencast-04-02"&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;新しい API キーで Nano Banana Pro を呼び出す&lt;/strong&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/kickboard-part3-screencast-04-03.gif"
        
          alt="kickboard-part3-screencast-04-03"&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;300 ドル分のクレジットと強力なクラウド プラットフォームをご利用いただけるようになりました。では、実際にどのようなものをビルドできるのでしょうか。次回の投稿では、これらを利用して次世代の AI アプリケーションやエージェントをビルドする例をいくつかご紹介します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;それまでの間は、ぜひ Google の豊富な &lt;/span&gt;&lt;a href="https://codelabs.developers.google.com/?category=cloud" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Codelab ライブラリ&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;、Remigiusz Samborski&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Thu, 05 Mar 2026 00:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/developers-practitioners/getting-started-with-gemini-3-unlocking-the-cloud-with-the-free-trial/</guid><category>Developers &amp; Practitioners</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/Kickboard_-_Blog_3_1.max-600x600.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Gemini 3 Pro Image を使ってみる</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/Kickboard_-_Blog_3_1.max-600x600.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/developers-practitioners/getting-started-with-gemini-3-unlocking-the-cloud-with-the-free-trial/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Remigiusz Samborski</name><title>Lead Developer Relations Engineer</title><department></department><company></company></author></item><item><title>Conversational Analytics API を使用して BigQuery で会話型エージェントを構築する</title><link>https://cloud.google.com/blog/ja/products/data-analytics/build-data-agents-with-conversational-analytics-api/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 2 月 20 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/data-analytics/build-data-agents-with-conversational-analytics-api?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;データを BigQuery に取り込むことで情報は一元化できますが、真の課題はそのデータを利用できるようにすることです。技術的な障壁のために、知りたいことがある人（経営幹部からアナリストまで）が必要な回答を得られない、ということが少なくありません。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Gemini を搭載した &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini/docs/conversational-analytics-api/overview?hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Conversational Analytics API&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を使用すれば、複雑なシステムを使わなくてもインサイトが得られます。この API は、自然言語を理解し、BigQuery データをクエリして、テキスト、テーブル、グラフで回答を提供する、コンテキスト認識型エージェントの構築を支援するよう設計されています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;現在、API と連携できるソリューションであれば、どのようなものでも構築できます。たとえば、&lt;/span&gt;&lt;a href="https://discuss.google.dev/t/new-conversational-analytics-api-adk-demo/272389" 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;/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; サポートチームやセールスチームなどに、データに関する質問に即座に回答するエージェントを提供します。「Why did signups drop last week?（先週、登録者数が減ったのはなぜ？）」といった質問をチケットで問い合わせなくても、すぐに回答を得ることができます。&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;SaaS プロダクトを差別化:&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; 静的な PDF を超えるレポート機能です。核となるレポート機能を自動化し、レポートをリアルタイムの会話バージョンに効果的に置き換え、関係者が微妙なニュアンスのフォローアップの質問をしてより詳細な調査ができるようにします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この投稿では、Conversational Analytics API を使用して BigQuery で会話型エージェントを構築する方法をご紹介します。&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;データ分析エージェントをデプロイするには、最終的な作成呼び出しを行う前に、アクセス、コンテキスト、環境を構成する必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ご紹介する例では Python SDK を使用していますが、Conversational Analytics API はユーザーの好みや環境に応じて&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini/docs/conversational-analytics-api/overview#client-libraries"&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;クライアントを初期化し、BigQuery ソースを定義する&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;まず、API とのやり取りに必要なクライアント（DataAgentServiceClient）をインスタンス化します。このクライアントは、明示的な BigQueryTableReference オブジェクトと組み合わせて使用します。BigQueryTableReference オブジェクトは、エージェントが特定のテーブル（project_id、dataset_id、table_id で定義）にアクセスすることを承認します。こうした個々の参照は、bq フィールドの下の DatasourceReferences オブジェクトに集約されます。&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.cloud import geminidataanalytics\r\n\r\n# Set project-specific variables (client, location, project IDs)\r\ndata_agent_client = geminidataanalytics.DataAgentServiceClient()\r\nlocation = &amp;quot;global&amp;quot;\r\nbilling_project = &amp;quot;your-gcp-project-id&amp;quot;\r\ndata_agent_id = &amp;quot;google_trends_analytics_agent&amp;quot;\r\n\r\n# Define the BigQuery table sources\r\nbq_top = geminidataanalytics.BigQueryTableReference(\r\n    project_id=&amp;quot;bigquery-public-data&amp;quot;, dataset_id=&amp;quot;google_trends&amp;quot;, table_id=&amp;quot;top_terms&amp;quot;\r\n)\r\nbq_rising = geminidataanalytics.BigQueryTableReference(\r\n    project_id=&amp;quot;bigquery-public-data&amp;quot;, dataset_id=&amp;quot;google_trends&amp;quot;, table_id=&amp;quot;top_rising_terms&amp;quot;\r\n)\r\ndatasource_references = geminidataanalytics.DatasourceReferences(\r\n    bq=geminidataanalytics.BigQueryTableReferences(table_references=[bq_top, bq_rising]))&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39d3366790&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;system_instruction（エージェントの動作 / ロールを定義）と datasource_references（エージェントがアクセスできるデータを定義）をバンドルして、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini/docs/conversational-analytics-api/data-agent-authored-context-bq"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;コンテキスト オブジェクトを構築&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;します。完成したコンテキストは、最終オブジェクト DataAgent の DataAnalyticsAgent 構造体の中でネストされます。&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;# Set the context using our system_instruction string\r\npublished_context = geminidataanalytics.Context(\r\n    system_instruction=system_instruction,\r\n    datasource_references=datasource_references\r\n    example_queries=example_queries\r\n)\r\n\r\ndata_agent = geminidataanalytics.DataAgent(\r\n    data_analytics_agent=geminidataanalytics.DataAnalyticsAgent(\r\n        published_context=published_context\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 0x7f39d3366f40&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;data_agent_client.create_data_agent を呼び出します。このリクエストには、親リソースパス（projects/{billing_project}/locations/{location}）、一意のdata_agent_id、デプロイを完了できるようにすべて構成された data_agent オブジェクトが含まれます。&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;# Create the agent\r\ndata_agent_client.create_data_agent(request=geminidataanalytics.CreateDataAgentRequest(\r\n    parent=f&amp;quot;projects/{billing_project}/locations/{location}&amp;quot;,\r\n    data_agent_id=data_agent_id,\r\n    data_agent=data_agent,\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 0x7f39d3366b80&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;これで、エージェントが作成され、published_context によって定義されます。&lt;/span&gt;&lt;/p&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;Conversational Analytics API は、以下の 2 つの方法で会話を処理できます。&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; サーバーで「会話」を作成します。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;/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;def setup_conversation(conversation_id: str):\r\n    data_chat_client = geminidataanalytics.DataChatServiceClient()\r\n    conversation = geminidataanalytics.Conversation(\r\n        agents=[data_chat_client.data_agent_path(\r\n            billing_project, location, data_agent_id)],\r\n    )\r\n    request = geminidataanalytics.CreateConversationRequest(\r\n        parent=f&amp;quot;projects/{billing_project}/locations/{location}&amp;quot;,\r\n        conversation_id=conversation_id,\r\n        conversation=conversation,\r\n    )\r\n    try:\r\n        # Check if it already exists\r\n        data_chat_client.get_conversation(name=data_chat_client.conversation_path(\r\n            billing_project, location, conversation_id))\r\n    except Exception:\r\n        response = data_chat_client.create_conversation(request=request)\r\n        print(&amp;quot;Conversation created successfully.&amp;quot;)\r\n\r\nconversation_id = &amp;quot;my_first_conversation&amp;quot;\r\nsetup_conversation(conversation_id=conversation_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 0x7f39d3366b20&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 3: ストリーミング チャットループを作成する&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;インタラクティブな分析を可能にするため、会話フローを管理する関数 stream_chat_response を実装します。Data Analytics Agent 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="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; 生成された 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; 結果のデータ構造体（Pandas のような DataFrame など）。&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; データ可視化のための Vega-Lite JSON 仕様。&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;この関数は、ユーザーの質問を受け付けるように定義されています。内部では、DataChatServiceClient を初期化し、ストリーミング完了後にグラフをレンダリングする必要があるかどうかを追跡するための単純なフラグ（chart_generated_flag）を定義します。ユーザーの質問は、API リクエストに必要な Message オブジェクトにラップされます。&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;quot;def stream_chat_response(question: str):\r\n    data_chat_client = geminidataanalytics.DataChatServiceClient()\r\n    chart_generated_flag = [False] # Flag to help with visualization\r\n    \r\n    # Format the user&amp;#x27;s question into an API-ready Message object\r\n    messages = [\r\n        geminidataanalytics.Message(\r\n            user_message=geminidataanalytics.UserMessage(text=question)\r\n        )\r\n    ]&amp;quot;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39d07e5910&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;ConversationReference は必須です。&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;ステートフルな会話&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;に関連付け、先ほど作成した特定の data_agent にリンクします。親パス、メッセージ、参照を使ってリクエスト オブジェクトを完全に構築したら、data_chat_client.chat を呼び出します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;次に、返されたストリームを反復処理します。ここでは、ユーティリティ関数 show_message を使用して、さまざまなレスポンス タイプ（テキスト、グラフ、データ）を解析し、ユーザーに合わせて適切にフォーマットしています。最後に、ストリーム内で chart_generated_flag が設定されていた場合は、後処理ユーティリティ（preview_in_browser）が可視化のレンダリングを処理します。&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;# Reference the stateful conversation and the created Data Agent\r\n    conversation_reference = geminidataanalytics.ConversationReference(\r\n        conversation=data_chat_client.conversation_path(\r\n            billing_project, location, conversation_id\r\n        ),\r\n        data_agent_context=geminidataanalytics.DataAgentContext(\r\n            data_agent=data_chat_client.data_agent_path(\r\n                billing_project, location, data_agent_id\r\n            ),\r\n        ),\r\n    )\r\n    \r\n    # Prepare the chat request\r\n    request = geminidataanalytics.ChatRequest(\r\n        parent=f&amp;quot;projects/{billing_project}/locations/{location}&amp;quot;,\r\n        messages=messages,\r\n        conversation_reference=conversation_reference,\r\n    )\r\n    \r\n    # Process the streaming response\r\n    stream = data_chat_client.chat(request=request)\r\n    for response in stream:\r\n        # \&amp;#x27;show_message\&amp;#x27; is a utility function that formats\r\n        # and prints the different response types (text, data, chart)\r\n        show_message(response, chart_generated_flag)\r\n\r\n    # If a chart was generated, \&amp;#x27;preview_in_browser\&amp;#x27;\r\n    # is a utility to save and serve it as HTML\r\n    if chart_generated_flag[0]:\r\n        preview_in_browser()&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39d07e54c0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 4: エージェントと会話する&lt;/strong&gt;&lt;/h3&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;では、成果を見てみましょう。stream_chat_response 関数を使用して会話できます。&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;p&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;question = &amp;quot;Hey what data do you have access to?&amp;quot;\r\nstream_chat_response(question=question)&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39d07e5130&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;エージェントは、system_instruction で指定した説明を使用して、top_terms テーブルと top_rising_terms テーブルの概要を返します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;自然言語から SQL、そしてグラフへ&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;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;question = &amp;quot;What are the top 20 most popular search terms last week in NYC based on rank? Display each term and score as a column chart&amp;quot;\r\nstream_chat_response(question=question)&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39d07e5f70&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;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;生成された SQL クエリを表示します。このクエリは、top_terms テーブルにアクセスし、dma_name = 'New York NY' と直近の 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;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;Vega グラフの仕様を生成します。&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;preview_in_browser ユーティリティがこれを、縦棒グラフを表示する index.html ファイルとして提供します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&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;ここで、ステートフルな会話（ステップ 2）が力を発揮します。&lt;/span&gt;&lt;/p&gt;
&lt;p&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;question = &amp;quot;What was the percent gain in growth for these search terms from the week before?&amp;quot;\r\nstream_chat_response(question=question)&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f39d07e5f10&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;エージェントは、「these search terms（これらの検索語句）」が質問 2 の結果を指していることを記憶しています。新しいクエリを生成し、今回は（join_instructions の指示に沿って）top_terms テーブルと top_rising_terms テーブルを INNER JOIN して、同じ語句リストの percent_gain を取得します。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 5: エージェントを管理する&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントとメッセージのライフサイクル管理について詳しくは、Conversational Analytics API ドキュメントの、実行できるさまざまな API リクエスト（&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini/docs/conversational-analytics-api/build-agent-http#manage-data-agents-and-conversations"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;HTTP&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/docs/conversational-analytics-api/build-agent-sdk#manage-data-agents-and-conversations"&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://docs.cloud.google.com/gemini/docs/conversational-analytics-api/build-agent-http#manage-data-agents-and-conversations"&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/docs/conversational-analytics-api/build-agent-http#set-iam-policy-for-data-agent"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;SetIAM&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; API、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini/docs/conversational-analytics-api/build-agent-http#get-iam-policy-for-data-agent"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;GetIAM&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="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;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;始める&lt;/strong&gt;&lt;/h3&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/gemini/docs/conversational-analytics-api/overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Conversational Analytics 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://codelabs.developers.google.com/ca-api-bigquery#0" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Conversational Analytics API Codelab で学習する&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/python/docs/reference"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Python SDK のドキュメント&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;デベロッパーリレーションズ エンジニア&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;、David Tamaki Szajngarten&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;、Wei Hsia&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Wed, 04 Mar 2026 01:10:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/data-analytics/build-data-agents-with-conversational-analytics-api/</guid><category>Developers &amp; Practitioners</category><category>Data Analytics</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Conversational Analytics API を使用して BigQuery で会話型エージェントを構築する</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/data-analytics/build-data-agents-with-conversational-analytics-api/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>David Tamaki Szajngarten</name><title>Developer Relations Engineer</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Wei Hsia</name><title>Developer Advocate</title><department></department><company></company></author></item></channel></rss>