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

Race car on track transmitting real-time telemetry data to AI coaching system via edge devices Algorithm Concept Visual

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단계 파이프라인 요약

  1. 엣지 인제스천(Edge Ingestion): USB 직결로 10Hz 텔레메트리 수집
  2. 실시간 처리(Real-time Processing): 프레임 정규화 및 슬라이딩 윈도우 구성
  3. 하이브리드 추론(Hybrid Edge-Cloud Reasoning): 엣지 TPU + 클라우드 에이전트 협업
  4. 의사결정(Decision): 물리 기반 검증(Physics Grounding)으로 조언 필터링
  5. 피드백(Feedback): 오디오/비주얼로 즉각 전달

이 파이프라인은 에너지 파이프라인(COI Energy의 Vijay Vivekanand), 농업 관리(Bloom Energy의 Jorge Mendieta) 같은 미션 크리티컬 도메인에도 그대로 이식 가능한 패턴입니다.

Google Pixel 10 smartphone wired to race car telemetry network capturing 10Hz sensor data stream Development Concept Image

이 아키텍처를 실무에 가져올 때 주의할 점

1. 'Trustable AI'는 아키텍처 문제지, 프롬프트 문제가 아니다

Sonoma 팀이 강조한 핵심은 **"물리 기반 검증(Physics Grounding) + 실시간 검증"**입니다. 생성 모델이 아무리 똑똑해도, 그 출력을 물리 법칙이나 도메인 제약으로 다시 검증하는 레이어가 없으면 고위험 의사결정에 쓸 수 없습니다. 여러분의 시스템에도 "모델 출력 → 검증기 → 실행"의 3단 구조를 반드시 넣으세요.

2. 엣지 TPU는 만능이 아니다

40 tokens/s는 인상적이지만, 모델 크기와 컨텍스트 길이에 따라 급격히 떨어집니다. 온디바이스 추론을 설계할 때는 다음을 미리 측정하세요.

  • 양자화(Quantization) 후 정확도 손실
  • 배터리/발열로 인한 스로틀링
  • 컨텍스트 윈도우 확장 시 메모리 스파이크

3. 하드웨어 글루 비용을 과소평가하지 말 것

이번 프로젝트의 숨은 영웅은 커스텀 USB 인터페이스였습니다. 소프트웨어만으로는 무선 지연을 이길 수 없었죠. 실무에서 '실시간'을 요구하는 시스템을 설계한다면, 소프트웨어 최적화보다 물리 레이어 개선이 더 큰 레버리지를 줄 수 있다는 점을 기억하세요.

4. 도메인 전문가를 루프 안에 두라

GDE들은 레이싱 전문가가 제공한 코칭 방법론을 시스템에 녹였습니다. AI가 도메인 지식을 대체하는 게 아니라, 전달 매체가 되도록 설계해야 합니다. 이 패턴은 국내 SI 환경에서도 특히 유효한데, 발주처 도메인 전문가를 초기부터 파이프라인 설계에 참여시키면 재작업이 크게 줄어듭니다.

5. 다음 단계: Interlagos로

Sonoma 검증을 마친 팀은 브라질 Interlagos로 이동해 새로운 기후와 복잡한 트랙 구성에서 아키텍처를 더 견고하게 다듬을 예정입니다. 즉, 이 아키텍처는 아직 '완성형'이 아니라 '지속적으로 하드닝되는' 프레임워크라는 점을 감안하고 참고하세요.

Developer dashboard showing Gemini AI agent orchestrating real-time race coaching insights on cloud console Coding Session Visual

정리: 여러분의 도메인에 이 패턴을 어떻게 옮길까?

Sonoma 사례의 본질은 **"AI가 익숙하지 않은 도메인에 진입할 때, 어떤 아키텍처가 신뢰를 만들어내는가"**입니다. 정리하면 다음과 같아요.

  • 엣지 + 클라우드 하이브리드로 지연과 성능을 동시에 잡는다
  • 물리/도메인 기반 검증 레이어를 반드시 파이프라인에 넣는다
  • 도메인 전문가를 설계 루프 안에 둔다
  • 하드웨어 레이어 개선을 소프트웨어 최적화와 동등하게 취급한다

여러분이 에너지, 헬스케어, 물류, 금융 등 '실패가 용납되지 않는' 도메인에서 AI를 다루고 있다면, 이 5단계 파이프라인을 그대로 참고할 만합니다. 특히 국내 환경에서는 규제와 감사 요구사항이 강하기 때문에, 검증 레이어를 로그로 남기는 설계를 처음부터 넣어두시는 걸 추천합니다.

좀 더 실습해보고 싶다면, 원문에서 소개한 ADK Crash Course와 Trustable AI Codelab을 따라가 보세요. Vibe coding 단계를 넘어 프로덕션 등급 엣지 배포로 넘어가는 감각을 잡을 수 있습니다.

함께 보면 좋은 글

본 콘텐츠는 신뢰할 수 있는 출처를 바탕으로 AI 도구를 활용하여 초안이 작성되었으며, 편집자의 검토를 거쳐 발행되었습니다. 전문가의 조언을 대체하지 않습니다.