GEMINI LABEN
G4PRE — 7月21日、Google が Gemini 4 の事前学習開始を明らかにしました。リリース日・モデル ID・価格・仕様はいずれも未発表で、公開最新は 3.6 Flash のままですORACLE — 7月30日、Oracle が Google Cloud との提携を拡大しました。Fusion Applications の AI Agent Studio から Gemini を使えるようにし、NetSuite の組み込み AI にも採用する計画ですROBOT2 — 7月30日、Google DeepMind がヒューマノイド向けの新モデルを発表しました。全身の動きを協調させ、多段のタスクを計画しながら人間の環境へ適応することを狙っていますENTGA — Gemini Enterprise のワークフローエージェントとスキルが GA になり、Slack 連携も GA へ。Vertex AI は Gemini Enterprise Agent Platform へ改称され、参照先の差し替えが要りますNBAPP — Gemini Notebook に、取り込んだソースからプロンプト経由で対話的な HTML アプリを生成する App アーティファクトが開発中と伝えられていますSPARK — Gemini Spark に Chrome でのウェブ閲覧が加わり、提供地域が広がりました。複雑なウェブ上の用事を代行する機能も追加されていますG4PRE — 7月21日、Google が Gemini 4 の事前学習開始を明らかにしました。リリース日・モデル ID・価格・仕様はいずれも未発表で、公開最新は 3.6 Flash のままですORACLE — 7月30日、Oracle が Google Cloud との提携を拡大しました。Fusion Applications の AI Agent Studio から Gemini を使えるようにし、NetSuite の組み込み AI にも採用する計画ですROBOT2 — 7月30日、Google DeepMind がヒューマノイド向けの新モデルを発表しました。全身の動きを協調させ、多段のタスクを計画しながら人間の環境へ適応することを狙っていますENTGA — Gemini Enterprise のワークフローエージェントとスキルが GA になり、Slack 連携も GA へ。Vertex AI は Gemini Enterprise Agent Platform へ改称され、参照先の差し替えが要りますNBAPP — Gemini Notebook に、取り込んだソースからプロンプト経由で対話的な HTML アプリを生成する App アーティファクトが開発中と伝えられていますSPARK — Gemini Spark に Chrome でのウェブ閲覧が加わり、提供地域が広がりました。複雑なウェブ上の用事を代行する機能も追加されています
記事一覧/高度な活用
高度な活用/2026-07-31上級

Vertex AI 改称後に検索基盤を測ったら、壊れていたのは順位ではなく集計層でした

Vertex AI から Gemini Enterprise Agent Platform への改称を受けて、自前の運用ドキュメント検索を実測しました。順位はほとんど動かず、完全一致に依存した集計層だけが静かに欠落していました。

Gemini Enterprise Agent PlatformVertex AI12検索設計エイリアス運用設計11

プレミアム記事

リリースノートに「Vertex AI は Gemini Enterprise Agent Platform へ改称されました」という一行を見つけたのは、7月30日の夜でした。

最初に浮かんだのは、手元の運用手順書のことです。個人開発でアプリを6本ほど並行して回しておりますと、自分用の手順書とアプリ内ヘルプの検索インデックスが、いつのまにか小さな知識ベースになっています。そこに書かれた「Vertex AI」は、もう存在しない名前になりました。

明日から新しい名前で検索したとき、何も出てこなくなるのではないか。

そう思って、翌朝に測ってみました。結果は予想と逆でした。順位はほとんど動かず、代わりに、まったく別の層が静かに欠けていました。

何を測ったのか

手元の状況を再現できる最小構成を作りました。外部サービスへの依存をなくし、誰でも同じ数字を出せる形にしています。

  • コーパス: 運用ドキュメントの断片 30 件。うち 12 件が基盤側(デプロイ・クォータ・IAM・課金など)の記述で、10 件は旧名称「Vertex AI」を、2 件は新名称「Gemini Enterprise Agent Platform」を含みます
  • 検索器: BM25(k1=1.5、b=0.75)。日本語は 2-gram、英数字は語単位でトークン化
  • クエリ: 3 種類を各 5 問
    • トピック語つき(「クォータ超過はどう対処する」など、名称以外の手がかりがある)
    • 名称のみ(「◯◯ とは」「◯◯ の設定」など、名称が唯一の手がかり)
    • 無関係(キャッシュ TTL・AdMob など、対照群)

比べたのは 3 通りの対処です。

条件やること索引の再構築
A: 何もしない旧名称のまま放置不要
B: 一括書き換えチャンク内の旧名称を新名称へ置換して再索引必要
C: クエリ側展開索引はそのまま、クエリに双方向でエイリアスを足す不要

直感的には B が正解に見えます。データを新しい世界に合わせる、いちばん素直な対処だからです。

計測に使ったコード

依存パッケージなしで動きます。手元の環境に写して、コーパスを自分のものに差し替えれば、そのまま同じ計測ができます。

# -*- coding: utf-8 -*-
"""名称の改称が語彙検索に与える影響を測る最小構成(外部依存なし)"""
import math, re
from collections import Counter
 
OLD = "vertex ai"
NEW = "gemini enterprise agent platform"
 
def tok(s: str):
    """日本語は 2-gram、英数字は語単位。BM25 の語彙をこれで揃える"""
    s = s.lower()
    s = re.sub(r"[、。()()「」・,.]", " ", s)
    parts = []
    for w in s.split():
        if re.fullmatch(r"[a-z0-9_\-\.]+", w):
            parts.append(w)          # ascii はそのまま 1 語
        else:
            for i in range(len(w) - 1):
                parts.append(w[i:i + 2])   # 日本語は 2-gram
            if len(w) == 1:
                parts.append(w)      # 1 文字語の取りこぼしを防ぐ
    return parts
 
class BM25:
    def __init__(self, docs, k1=1.5, b=0.75):
        self.ids = [d[0] for d in docs]
        self.toks = [tok(d[1]) for d in docs]
        self.k1, self.b = k1, b
        self.N = len(docs)
        self.avgdl = sum(len(t) for t in self.toks) / self.N
        self.df = Counter()
        for t in self.toks:
            self.df.update(set(t))       # 文書頻度は集合で数える
        self.tf = [Counter(t) for t in self.toks]
 
    def search(self, q: str, topk=5):
        qt = tok(q)
        scores = []
        for i in range(self.N):
            s, dl = 0.0, len(self.toks[i])
            for w in qt:
                f = self.tf[i].get(w, 0)
                if not f:
                    continue
                idf = math.log(1 + (self.N - self.df[w] + 0.5) / (self.df[w] + 0.5))
                s += idf * (f * (self.k1 + 1)) / (
                    f + self.k1 * (1 - self.b + self.b * dl / self.avgdl))
            scores.append((s, self.ids[i]))
        # 同点のときの順序を固定しないと、計測が実行ごとにぶれます
        scores.sort(key=lambda x: (-x[0], x[1]))
        return [i for s, i in scores[:topk] if s > 0]
 
def expand_bidirectional(q: str) -> str:
    """条件 C。旧→新、新→旧の両方向に足す。片方向だけでは半分しか救えません"""
    ql = q.lower()
    if OLD in ql:
        return q + " " + NEW
    if NEW in ql:
        return q + " " + OLD
    return q
 
def precision_at_k(idx: BM25, queries, gold: set, k=5, expand=None):
    total = 0.0
    for q in queries:
        got = idx.search(expand(q) if expand else q, k)
        if not got:
            continue
        total += sum(1 for d in got if d in gold) / k
    return round(total / len(queries), 3)

expand_bidirectional を片方向だけにしなかったのには理由があります。旧名称のクエリだけを新名称へ寄せる実装をいちど書いたのですが、それだと「新名称で聞いてくる読者」を取りこぼしました。展開は双方向でないと意味がありません。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
改称直後の検索劣化を BM25 で実測した結果と、再現できる最小コード一式
チャンク一括書き換えが招く逆方向の損失(P@5 が 0.92 から 0.08 へ)
壊れるのはランキングではなく完全一致ゲート。エイリアス層を置くべき位置の判断基準
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Gemini Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

高度な活用2026-07-03
夜間バッチが朝の 429 を連れてくる — 1 プロジェクト内で対話機能の Gemini クォータを守る優先度つきアドミッション制御
同一プロジェクトの RPM/TPM をバルク処理と対話機能が奪い合う問題を、機能タグつき計測と優先度つきトークンバケットで解消した設計と実測を記録します。429率3.2%→0.03%。
高度な活用2026-07-02
プロンプトを直した後、過去の成果物をどこまで作り直すか — 予算で区切る計画的バックフィルの設計
プロンプト改善後に残る旧世代の生成物を、全件再生成せず予算と優先度で作り直す設計です。選定スコア・編集検知ハッシュ・置換前ゲート・再開可能なカーソルを実装コード付きで解説します。
高度な活用2026-05-01
Vertex AI Agent Engine × Gemini 2.5 Pro — 本番運用エージェントのマネージドデプロイ
Vertex AI Agent Engine に Gemini 2.5 Pro ベースのエージェントを本番デプロイする実装ガイド。Cloud Run との違い、セッション管理、ツール呼び出し、Trace、コスト設計まで網羅。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →