なぜレースカー上でAIを動かす必要があったのか
2026年5月、Google I/Oのステージを終えた直後のGDE(Google Developer Experts)たちがカリフォルニアのSonoma Racewayに集結しました。目的はシンプルです。時速160kmで走るレースカーの車内から、ドライバーに対して0.1秒単位のコーチングをリアルタイムで届けるAIを構築することでした。
なぜこれが重要なのか。一般的なチャットボットは「コーナー進入時にブレーキを遅らせましょう」といった理論的な助言しか返せません。しかし実際のトラックでは、Turn 2のミッドコーナーでスロットルゾーンが0.1秒ずれるだけでラップタイムが変わり、誤った助言は事故につながります。つまり、**「失敗が許されないドメインで生成AIをどう信頼できる形にするか」**という問題意識が出発点でした。
本記事では、Sonomaで実際に稼働したアーキテクチャを分解し、実務で「Trustable AI」を構築する際に参考になる設計ポイントを整理します。
根拠資料: Google Developers Blog - Bridging the Domain Gap: AI Race Coach built with Antigravity and Gemini
特に今回の事例は、ドメイン専門家(レーシングコーチ)とソフトウェアエンジニア(GDE)の協業モデルを示しています。AIが「ドメインブリッジ」として機能し、不慣れな分野の専門知識をシステムに組み込むパターンが印象的です。

5段階テレメトリパイプラインとコード構造
Sonomaアーキテクチャの核心は、**「エッジ収集 → リアルタイム処理 → ハイブリッドエッジ・クラウド推論 → 即時フィードバック」**という高速データパイプラインです。時速160kmの過酷な環境で動作させる必要があったため、無線遅延を回避するハードウェアレベルの工夫が不可欠でした。
ハードウェアレイヤー: USB経由での10Hzテレメトリ直結
コミュニティメンバーのBrian Lucが解決した部分が決定的でした。Pixel 10をレースカーのテレメトリネットワークにカスタムUSBインターフェースで直結し、数百のセンサーから10Hzのデータストリームを遅延なく取得しました。
# テレメトリ収集ワーカー(概念例)
import asyncio
from dataclasses import dataclass
@dataclass
class TelemetryFrame:
timestamp_ms: int
throttle: float # 0.0 ~ 1.0
brake: float # 0.0 ~ 1.0
steering_deg: float # -450 ~ 450
speed_kph: float
g_force_lat: float # 横加速度
async def telemetry_worker(usb_stream, queue: asyncio.Queue):
"""USB直結ストリームから10Hzでフレームを読み取りキューに投入"""
async for raw in usb_stream.frames():
frame = TelemetryFrame(
timestamp_ms=raw.ts,
throttle=raw.tps / 100.0,
brake=raw.bps / 100.0,
steering_deg=raw.steer,
speed_kph=raw.speed,
g_force_lat=raw.lat_g,
)
# キューが満杯の場合は最古のフレームを破棄しリアルタイム性を維持
if queue.full():
_ = queue.get_nowait()
await queue.put(frame)
推論レイヤー: Pixel 10オンデバイスTPUの有効化
最大の技術的ブレークスルーは、Pixel 10のTPUをオンデバイスで有効化したことです。Androidエンジニアと協業してTPUを起動した結果、性能は40 tokens/sまで向上し、この数値がリアルタイムコーチングの信頼性を担保する閾値となりました。
| 項目 | エッジ(Pixel 10 TPU) | クラウド(Vertex AI) |
|---|---|---|
| レイテンシ | 数十ms | ネットワーク依存(100ms+) |
| スループット | 40 tokens/s | 無制限(スケール可能) |
| ネットワーク依存 | なし(オフライン可) | 必須 |
| 適した処理 | 即時コーチング、安全判断 | 深層分析、戦略立案 |
オーケストレーションレイヤー: Antigravity + ADK
Antigravityはステートフルオーケストレーションとテレメトリ収集を担う「グルー」として機能しました。GDEたちはこのレイヤーのおかげで、低レベルのデータ処理ではなくコーチングロジックとシステム挙動に集中できました。さらにGCPとADK(Agent Development Kit)を組み合わせ、テレメトリデータをオンラインで深層分析しました。
# ADKベースのコーチングエージェント・スケッチ(概念例)
from google.adk.agents import Agent
race_coach = Agent(
name="race_coach",
model="gemini-2.5-pro",
instruction=(
"あなたはリアルタイムレースコーチです。テレメトリフレームを受け取り、"
"0.1秒以内に実行可能な助言を一文だけ返してください。"
"理論的な助言は禁止。必ず現在のラップの物理データに根拠を置くこと。"
),
)
async def coaching_loop(queue: asyncio.Queue):
while True:
frame = await queue.get()
# 直近Nフレームのウィンドウでコンテキストを構成
advice = await race_coach.run(input=frame)
await speak(advice.text) # 即座に音声出力
5段階パイプラインのまとめ
- エッジインジェスチョン: USB直結で10Hzテレメトリを収集
- リアルタイム処理: フレーム正規化とスライディングウィンドウ構成
- ハイブリッド推論: エッジTPU + クラウドエージェントの協調
- 意思決定: 物理ベース検証(Physics Grounding)による助言フィルタリング
- フィードバック: 音声・視覚で即時伝達
このパイプラインは、エネルギーパイプライン(COI EnergyのVijay Vivekanand)や農業管理(Bloom EnergyのJorge Mendieta)といったミッションクリティカル領域にもそのまま移植可能なパターンです。

実務に持ち込む際の注意点
1. 「Trustable AI」はアーキテクチャの問題であり、プロンプトの問題ではない
Sonomaチームが強調した核心は**「物理ベース検証(Physics Grounding)+リアルタイム検証」です。生成モデルがどれだけ賢くても、その出力を物理法則やドメイン制約で再検証するレイヤー**がなければ、高リスクの意思決定には使えません。自社システムにも「モデル出力 → 検証器 → 実行」の3段構造を必ず組み込んでください。
2. エッジTPUは万能ではない
40 tokens/sは印象的ですが、モデルサイズとコンテキスト長によって急激に低下します。 オンデバイス推論を設計する際は、以下を事前に計測してください。
- 量子化後の精度損失
- バッテリー・発熱によるスロットリング
- コンテキストウィンドウ拡張時のメモリスパイク
3. ハードウェアグルーのコストを過小評価しない
今回のプロジェクトの隠れた主役はカスタムUSBインターフェースでした。ソフトウェアだけでは無線遅延に勝てなかったのです。実務で「リアルタイム」を要求するシステムを設計するなら、ソフトウェア最適化よりも物理レイヤーの改善がより大きなレバレッジになり得ることを覚えておきましょう。
4. ドメイン専門家をループ内に置く
GDEたちはレーシング専門家が提供したコーチング方法論をシステムに組み込みました。AIがドメイン知識を代替するのではなく、伝達媒体となるよう設計すべきです。このパターンは、ドメイン規制の厳しい日本のエンタープライズ環境でも特に有効で、発注側のドメイン専門家を初期からパイプライン設計に参加させると手戻りが大幅に減ります。
5. 次のステップ: Interlagosへ
Sonoma検証を終えたチームはブラジル・Interlagosへ移動し、新たな気候と複雑なトラック構成でアーキテクチャをさらに堅牢化する予定です。つまりこのアーキテクチャはまだ「完成形」ではなく「継続的にハードニングされる」フレームワークである点を踏まえて参照してください。

まとめ: 自社ドメインにこのパターンをどう移植するか
Sonoma事例の本質は、**「AIが不慣れなドメインに参入するとき、どのようなアーキテクチャが信頼を生み出すか」**にあります。整理すると以下の通りです。
- エッジ+クラウドのハイブリッドでレイテンシと性能を同時に確保する
- 物理・ドメインベースの検証レイヤーを必ずパイプラインに組み込む
- ドメイン専門家を設計ループ内に置く
- ハードウェアレイヤーの改善をソフトウェア最適化と同等に扱う
エネルギー、ヘルスケア、物流、金融など「失敗が許されない」ドメインでAIを扱っているなら、この5段階パイプラインはそのまま参考になります。特に日本では規制や監査要件が厳しいため、検証レイヤーをログとして残す設計を最初から組み込むことを推奨します。
さらに実践したい方は、原文で紹介されているADK Crash CourseとTrustable AI Codelabを辿ってみてください。Vibe codingの段階を超え、プロダクション品質のエッジデプロイへ進む感覚が掴めます。
あわせて読みたい記事
- 顧客を本当に理解する4段階:言葉ではなく行動を見るべき理由 — リアルタイムコーチングのように「ユーザー行動データ」を扱うシステム設計への示唆が得られます。
- マルチステージ推薦システム、実際にどう運用するのか? (Feat. Kubeflow, Triton, FAISS) — 本記事の「エッジ+クラウドハイブリッド推論」パターンを推薦システムの観点で整理した記事です。