왜 레이스카 위에서 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가 '도메인 브릿지(Domain-bridging Engine)' 역할을 하면서, 익숙하지 않은 분야의 전문 지식을 시스템에 녹여내는 패턴이 인상적이에요.

5단계 텔레메트리 파이프라인과 코드 구조
Sonoma 아키텍처의 핵심은 **"엣지 수집 → 실시간 처리 → 하이브리드 엣지-클라우드 추론 → 즉각적 피드백"**으로 이어지는 고속 데이터 파이프라인입니다. 100mph(약 160km/h)의 적대적 환경에서 살아남아야 했기 때문에, 무선 지연(Wireless Latency)을 우회하는 하드웨어 레벨의 트릭이 필요했어요.
하드웨어 레이어: 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는 **상태 기반 오케스트레이션(Stateful Orchestration)**과 텔레메트리 수집을 담당하는 '글루(Glue)' 역할을 했습니다. 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단계 파이프라인 요약
- 엣지 인제스천(Edge Ingestion): USB 직결로 10Hz 텔레메트리 수집
- 실시간 처리(Real-time Processing): 프레임 정규화 및 슬라이딩 윈도우 구성
- 하이브리드 추론(Hybrid Edge-Cloud Reasoning): 엣지 TPU + 클라우드 에이전트 협업
- 의사결정(Decision): 물리 기반 검증(Physics Grounding)으로 조언 필터링
- 피드백(Feedback): 오디오/비주얼로 즉각 전달
이 파이프라인은 에너지 파이프라인(COI Energy의 Vijay Vivekanand), 농업 관리(Bloom Energy의 Jorge Mendieta) 같은 미션 크리티컬 도메인에도 그대로 이식 가능한 패턴입니다.

이 아키텍처를 실무에 가져올 때 주의할 점
1. 'Trustable AI'는 아키텍처 문제지, 프롬프트 문제가 아니다
Sonoma 팀이 강조한 핵심은 **"물리 기반 검증(Physics Grounding) + 실시간 검증"**입니다. 생성 모델이 아무리 똑똑해도, 그 출력을 물리 법칙이나 도메인 제약으로 다시 검증하는 레이어가 없으면 고위험 의사결정에 쓸 수 없습니다. 여러분의 시스템에도 "모델 출력 → 검증기 → 실행"의 3단 구조를 반드시 넣으세요.
2. 엣지 TPU는 만능이 아니다
40 tokens/s는 인상적이지만, 모델 크기와 컨텍스트 길이에 따라 급격히 떨어집니다. 온디바이스 추론을 설계할 때는 다음을 미리 측정하세요.
- 양자화(Quantization) 후 정확도 손실
- 배터리/발열로 인한 스로틀링
- 컨텍스트 윈도우 확장 시 메모리 스파이크
3. 하드웨어 글루 비용을 과소평가하지 말 것
이번 프로젝트의 숨은 영웅은 커스텀 USB 인터페이스였습니다. 소프트웨어만으로는 무선 지연을 이길 수 없었죠. 실무에서 '실시간'을 요구하는 시스템을 설계한다면, 소프트웨어 최적화보다 물리 레이어 개선이 더 큰 레버리지를 줄 수 있다는 점을 기억하세요.
4. 도메인 전문가를 루프 안에 두라
GDE들은 레이싱 전문가가 제공한 코칭 방법론을 시스템에 녹였습니다. AI가 도메인 지식을 대체하는 게 아니라, 전달 매체가 되도록 설계해야 합니다. 이 패턴은 국내 SI 환경에서도 특히 유효한데, 발주처 도메인 전문가를 초기부터 파이프라인 설계에 참여시키면 재작업이 크게 줄어듭니다.
5. 다음 단계: Interlagos로
Sonoma 검증을 마친 팀은 브라질 Interlagos로 이동해 새로운 기후와 복잡한 트랙 구성에서 아키텍처를 더 견고하게 다듬을 예정입니다. 즉, 이 아키텍처는 아직 '완성형'이 아니라 '지속적으로 하드닝되는' 프레임워크라는 점을 감안하고 참고하세요.

정리: 여러분의 도메인에 이 패턴을 어떻게 옮길까?
Sonoma 사례의 본질은 **"AI가 익숙하지 않은 도메인에 진입할 때, 어떤 아키텍처가 신뢰를 만들어내는가"**입니다. 정리하면 다음과 같아요.
- 엣지 + 클라우드 하이브리드로 지연과 성능을 동시에 잡는다
- 물리/도메인 기반 검증 레이어를 반드시 파이프라인에 넣는다
- 도메인 전문가를 설계 루프 안에 둔다
- 하드웨어 레이어 개선을 소프트웨어 최적화와 동등하게 취급한다
여러분이 에너지, 헬스케어, 물류, 금융 등 '실패가 용납되지 않는' 도메인에서 AI를 다루고 있다면, 이 5단계 파이프라인을 그대로 참고할 만합니다. 특히 국내 환경에서는 규제와 감사 요구사항이 강하기 때문에, 검증 레이어를 로그로 남기는 설계를 처음부터 넣어두시는 걸 추천합니다.
좀 더 실습해보고 싶다면, 원문에서 소개한 ADK Crash Course와 Trustable AI Codelab을 따라가 보세요. Vibe coding 단계를 넘어 프로덕션 등급 엣지 배포로 넘어가는 감각을 잡을 수 있습니다.
함께 보면 좋은 글
- 고객을 진짜 이해하는 4단계: 말이 아니라 행동을 봐야 하는 이유 — 실시간 코칭처럼 '사용자 행동 데이터'를 다루는 시스템 설계에 대한 통찰을 얻을 수 있어요.
- 멀티스테이지 추천 시스템, 실제로 어떻게 운영하나? (Feat. Kubeflow, Triton, FAISS) — 이번 글의 '엣지 + 클라우드 하이브리드 추론' 패턴을 추천 시스템 관점에서 다시 정리한 글입니다.