본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 05. 25. 03:25

Google I/O 2026: Google이 AI 어시스턴트 구축을 멈추고 AI 엔지니어를 출시하기 시작한 해

요약

Google I/O 2026의 핵심인 자율 코딩 에이전트 'Jules'를 소개합니다. Jules는 기존의 동기적 방식에서 벗어나 비동기적으로 CI를 통과하고 PR을 생성하며, 개발자의 역할을 구현자에서 테크 리드로 격상시키는 패러다임 전환을 보여줍니다.

핵심 포인트

  • 자율 코딩 에이전트 Jules의 등장
  • 동기적 도구에서 비동기적 에이전트로의 전환
  • 개발자의 역할이 구현자에서 테크 리드로 변화
  • 단순 자동 완성을 넘어선 소프트웨어 구축 방식의 재설계

이 글은 Google I/O Writing Challenge를 위한 제출물입니다.

I/O 2026에 대한 내 생각을 바꾼 순간: Gemini 3.5 키노트가 아니었습니다. XR 글래스도 아니었습니다. 그것은 자율 코딩 에이전트(autonomous coding agent)인 Jules가 발표자가 여전히 말을 하고 있는 동안, CI(지속적 통합)를 통과하며 GitHub 리포지토리에 풀 리퀘스트(Pull Request, PR)를 생성하는 데모였습니다. 인간은 단 한 줄도 쓰지 않았습니다. 슬라이드가 넘어가기도 전에 PR이 준비되어 있었습니다. 그것은 단순한 기능이 아닙니다. 그것은 패러다임의 전환(paradigm shift)입니다.

I/O 2026의 실제 핵심
매년 Google I/O에는 화려한 데모 이면에 숨겨진 "진짜" 이야기가 있습니다. 2023년에는 "우리는 ChatGPT를 따라잡고 있다"였습니다. 2024년에는 "Gemini가 어디에나 있다"였습니다. 2025년에는 "멀티모달리티(multimodality)는 실재한다"였습니다. 2026년의 이야기는 설명하기 더 어렵습니다. 그리고 바로 그 점 때문에 대부분의 보도가 잘못된 방향으로 흐르고 있습니다.

Google I/O 2026은 새로운 AI 모델에 관한 것이 아니었습니다. 그것은 루프 내의 개발자(developer in the loop) 역할을 대체하는 것에 관한 것이었습니다. 개발자를 없애는 것이 아니라, 그들을 격상시키는 것입니다. 이 차이는 엄청나게 중요하며, 저는 마케팅 용어가 아닌 기술적 정밀함을 바탕으로 그 이유가 정확히 무엇인지 여러분께 설명하고자 합니다.

파트 1: 그들이 구축한 스택 (그리고 아무도 이를 일관되게 이야기하지 않는 것)
Google은 I/O 2026에서 많은 것을 출시했습니다. 문제는 쓸 거리를 찾는 것이 아니라, 각 발표를 개별적인 제품 출시로 취급하려는 유혹을 참는 것입니다. 그것들은 개별적이지 않습니다. 그것들은 조정된 스택(coordinated stack)입니다. 해독된 스택은 다음과 같습니다:

모든 발표는 이 스택의 한 단계에 맞물려 있습니다. 이런 관점으로 바라볼 때, I/O 2026은 제품 카탈로그처럼 보이는 것을 멈추고 소프트웨어가 구축되는 방식의 완전한 재설계(re-architecture)로 보이기 시작합니다.

파트 2: Jules — 더 길게 읽을 가치가 있는 발표
Jules는 Google의 자율적이고 비동기적인(asynchronous) 코딩 에이전트입니다. 이것이 우리가 이전에 보았던 모든 것과 기술적으로 구별되는 점입니다:

설계부터 비동기 방식 (이것이 핵심입니다)
Jules 이전의 모든 AI 코딩 도구 — Copilot, Cursor, Gemini Code Assist —는 동기적(synchronous)입니다. 프롬프트를 입력하고, 기다리고, 검토하고, 다시 프롬프트를 입력합니다. 인간이 스케줄러(scheduler) 역할을 합니다.

인간이 CI 러너 (CI runner)입니다. 인간이 컨텍스트 매니저 (context manager)입니다. Jules는 이를 완전히 뒤집습니다. 바로 그 마지막 지점이 핵심입니다. 당신은 다른 일을 하고 있었습니다.

이것이 왜 단순한 "더 나은 자동 완성 (Better Autocomplete)"와 다른가

멘탈 모델 (mental model)의 변화: 자동 완성의 경우, 당신은 여전히 CPU입니다. 다음에 무엇을 구축할지 결정하고, 컨텍스트 (context)를 유지하며, 기능의 상태 머신 (state machine)을 관리합니다. AI는 당신의 결정에 대한 가속기 (accelerator) 역할을 합니다. 반면 Jules를 사용할 때, 당신은 구현을 위임한 테크 리드 (tech lead)에 더 가깝습니다. 당신은 수락 기준 (acceptance criteria)을 정의합니다. Jules는 PR (Pull Request)을 제출합니다. 당신은 주니어 엔지니어에게 하듯 이를 검토, 병합(merge) 또는 거절합니다. 이는 다음을 변화시킵니다:

  • 가치가 복리로 쌓이는 기술 (한 줄씩 실행하는 능력보다 시스템 사고 (systems thinking)가 중요해짐)
  • 팀의 확장 방식 (시니어 개발자 한 명이 여러 개의 Jules 작업을 병렬로 조율 가능)
  • 버그가 발생하는 지점 (PR 검토 품질이 핵심적인 제어 게이트 (control gate)가 됨)

Part 3: ADK 1.0 — Jules를 프로덕션 환경에 적합하게 만드는 요소

Jules가 헤드라인을 장식하지만, Agent Development Kit (ADK)가 1.0 버전에 도달했다는 점이야말로 실제로 제품을 출시할 수 있게 만드는 핵심입니다. ADK 1.0은 멀티 에이전트 시스템 (multi-agent systems)을 구축하기 위한 Google의 프로덕션 안정형 (production-stable), 코드 우선 (code-first) 프레임워크입니다. 핵심 단어는 프로덕션 안정형입니다. 프리뷰(preview)나 실험(experiment) 단계가 아닌, GA (General Availability) 단계입니다.

아키텍처 측면에서 중요한 점: 다중 언어 퍼스트 클래스 지원 (Multi-Language First-Class Support)

Python — ADK 1.0 이전에는 이것이 google.adk.agents에서 제공하는 유일한 퍼스트 클래스 옵션이었습니다.

from google.adk.agents import Agent, Tool

@agent
class CodeReviewAgent:
tools = [read_file, run_tests, open_pr]
model = "gemini-3.5-flash"

// TypeScript — 이제 ADK 1.0에서 완전히 지원됩니다.
import { Agent, defineTool } from '@google/adk';

const reviewAgent = new Agent({
tools: [readFile, runTests, openPR],
model: 'gemini-3.5-flash',
});

// Go — 엔터프라이즈 환경의 환영을 받습니다.
import "github.com/google/adk-go"

agent := adk.NewAgent(adk.AgentConfig{
Tools: []adk.Tool{ReadFile, RunTests, OpenPR},
Model: "gemini-3.5-flash",
})

왜 다중 언어가 중요할까요? 대부분의 엔터프라이즈 백엔드(enterprise backends)가 Java 또는 Go로 작성되어 있기 때문입니다.

Python 전용 AI 프레임워크는 에이전트형 AI (agentic AI)가 프로덕션 (production)으로 출시되지 못하고 데이터 과학 팀의 샌드박스 (sandbox)에 머물러 있게 만든 원인이었습니다. ADK 1.0은 플랫폼 엔지니어링 (platform engineering) 팀의 언어를 (말 그대로) 구사하는 최초의 프로덕션급 프레임워크입니다.

4단계 모델 (The Four-Rung Model): Google은 전체 에이전트 개발 여정을 일관된 사다리 형태로 구성했습니다:

단계도구대상
1Agent StudioPM, 로우코드 (low-code) 빌더
2Managed Agents API스타트업, 소규모 팀
3Antigravity 2.0풀스택 개발자 (Full-stack devs), 워크플로 (workflows)
4ADK 1.0플랫폼 엔지니어 (Platform engineers), 엔터프라이즈 (enterprise)

이는 영리한 제품 전략입니다. Google은 단순히 도구 하나를 출시하는 것이 아니라, 개발자들이 현재의 기술 수준에서 유입되어 함께 성장할 수 있는 온램프 (on-ramp) 시스템을 제공하고 있습니다. 사용자는 Agent Studio에서 시작하여 생태계를 전환하지 않고도 결국 ADK로 졸업할 수 있습니다.

파트 4: Gemini 3.5 Flash — 이 모든 것을 경제적으로 실현 가능하게 만드는 모델

AI 분석에서 흔히 발생하는 실패 유형은 새로운 모델을 추상적인 벤치마크 (benchmarks)로만 취급하는 것입니다. 구체적으로 들어가 봅시다. Gemini 3.5 Flash는 위의 모든 것을 구동하는 GA (General Availability) 모델로 발표되었습니다. 사양서 (spec sheet) 너머로 중요한 점은 다음과 같습니다:

에이전트형 워크로드 (Agentic Workloads)와 공동 최적화됨
이 모델은 에이전트에서 우연히 잘 작동하는 범용 모델이 아닙니다. 에이전트 루프 (agentic loop) 효율성을 위해 특별히 튜닝되었습니다. 즉, 모델이 여러 번의 도구 호출 (tool calls)을 수행하고, 컨텍스트 (context)를 축적하며, 작업 중간에 재계획 (re-plans)을 세우고, 구조화된 출력 (structured outputs)을 작성하는 시나리오에 맞춰 토큰당 출력 품질이 최적화되어 있다는 의미입니다. 실질적인 관점에서 보면, 에이전트형 작업(예: Jules가 테스트를 실행하고 반복하는 작업)은 멀티턴 (multi-turn), 도구 중심 (tool-heavy), 컨텍스트 축적형 워크플로입니다. 단일 턴(single-turn) 질의응답에 뛰어난 모델이 이러한 작업에도 자동으로 뛰어난 것은 아닙니다. Gemini 3.5 Flash는 에이전트형 작업에 대해 구체적으로 벤치마크를 수행했으며, 코딩 및 에이전트 벤치마크에서 Gemini 3.1 Pro보다 성능이 뛰어나면서도 훨씬 더 빠르고 저렴합니다.

경제성이 마침내 확보되었습니다. 키노트에서는 말해주지 않지만 모든 엔지니어링 매니저가 신경 쓰는 핵심적인 사실이 있습니다. 잘못된 모델을 사용하면 에이전트 작업(Agent tasks) 비용이 매우 비싸진다는 점입니다. Jules 스타일의 작업 — 레포지토리(repo) 복제, 코드베이스 분석, 코드 작성, 테스트 실행, 반복(iterate) — 은 여러 번의 반복 과정에 걸쳐 반복당 수만 개의 컨텍스트 토큰(tokens of context)을 포함할 수 있습니다. Gemini 1.5 Pro의 가격 체계에서는 이로 인해 자율 에이전트(autonomous agents)가 제품이 아닌 프로토타입 수준에 머물렀습니다. 하지만 Gemini 3.5 Flash의 가격 계층은 프로덕션 규모(production scale)에서 경제적 계산이 가능하게 만듭니다. 중간 규모의 코드베이스에서 하루에 50개의 Jules 작업을 수행하는 팀은 이제 AI ROI(투자 대비 효율)에 대해 논의하는 예산 회의 대상이 아니라, 개발 도구 예산의 정식 항목이 되었습니다.

제5부: Firebase AI Logic — 에이전트 기반 앱에 부족했던 백엔드

Firebase AI Logic은 대부분의 헤드라인을 장식하지 못했습니다. 하지만 그랬어야 했습니다.

기존의 문제
I/O 2026 이전에는 Gemini 통합 기능을 갖춘 Firebase 앱을 구축하려면 두 가지 옵션뿐이었습니다:

  1. 클라이언트 측 Gemini 호출 — 구축은 빠르지만, API 키가 노출되고, 속도 제한(rate limiting)이 없으며, 감사 로그(audit log)도 없고, 서버 측 프롬프트 강제(prompt enforcement)도 불가능합니다.
  2. Cloud Functions 프록시 — 보안은 유지되지만, 단순한 기능 하나를 위해 백엔드, 콜드 스타트(cold starts), 배포 파이프라인, 그리고 전체 인프라 계층을 관리해야 합니다.
    두 옵션 모두 좋지 않습니다. 옵션 1은 보안에 취약하고, 옵션 2는 너무 무겁습니다.

새로운 현실
이제 Firebase AI Logic은 다음 기능을 제공합니다:

  • 서버 프롬프트 템플릿 (Server Prompt Templates) — 시스템 프롬프트를 클라이언트 코드가 아닌 Firebase에 저장합니다. 클라이언트는 전체 프롬프트를 볼 수 없습니다. 프롬프트 인젝션(Prompt injection) 공격이 구조적으로 더 어려워집니다. API를 버전 관리하듯 프롬프트의 버전을 관리할 수 있습니다.
  • Firebase App Check 통합 — Gemini API 엔드포인트가 이제 보호됩니다. 검증된 앱 인스턴스만 호출할 수 있습니다. 웹 스크래퍼나 경쟁사의 봇이 아닌, 실제 귀하의 앱만 접근 가능합니다.
  • 에이전트 워크플로 지원 (Agentic Workflow Support) — 에이전트가 이제 별도의 커스텀 인프라 없이도 Firestore 상태를 읽고 쓸 수 있으며, Cloud Functions를 트리거하고 사용자를 인증할 수 있습니다. Firebase가 귀하의 에이전트를 위한 상태 계층(state layer)이 됩니다.

// 이전: API 키가 클라이언트에 노출됨, 감사(audit) 없음, 속도 제한(rate limiting) 없음
const result = await fetch ( ' https://generativelanguage.googleapis.com/... ' , { headers : { ' Authorization ' : Bearer ${ process . env . GEMINI_KEY } } // ↑ 이 키는 귀하의 JS 번들에 포함됩니다. 누구나 이를 추출할 수 있습니다. });

// 이후: Firebase AI Logic이 내부 로직(plumbing)을 처리함
import { getAI , getGenerativeModel } from ' firebase/ai ' ;
const ai = getAI ( firebaseApp ); // App Check가 자동으로 적용됨
const model = getGenerativeModel ( ai , { model : ' gemini-3.5-flash ' , systemInstruction : ' server-template://my-prompt-v2 ' // 서버 측에 저장됨 });
const result = await model . generateContent ( userMessage ); // API 키는 클라이언트 코드에 절대 포함되지 않습니다. 속도 제한(Rate limiting): 내장됨. 감사 로그(Audit logs): Firebase.

이러한 업데이트는 데모 문제를 해결하는 것이 아니라 인프라 문제를 해결하기 때문에 키노트(keynote)에서 다뤄지지 않습니다. 하지만 Firebase에서 프로덕션(production) 수준의 AI 기능을 구축하고 있다면, 이 업데이트는 귀하의 앱을 안전하게 출시할 수 있을지를 결정짓는 요소입니다.

Part 6: Flutter의 Agentic Hot Reload — 와일드카드 발표
솔직히 말씀드리면, 이것은 제가 예상하지 못했던 발표였으며, Google이 보여준 것 중 기술적으로 가장 우아한 부분일 수도 있습니다.

Flutter의 새로운 MCP 서버를 기반으로 하는 Agentic Hot Reload는 AI 코딩 에이전트가 실행 중인 Flutter 애플리케이션에 연결하여 프로그래밍 방식으로 핫 리로드(hot reload)를 트리거할 수 있게 해줍니다.
이것이 무엇을 가능하게 하는지 생각해 보십시오:
"UI를 설명"하는 것과 "실행 중인 앱에서 결과를 확인"하는 사이의 루프가 이제 완전히 자동화되었습니다.
개발자는 중간 단계가 아닌 최종 결과물을 검토합니다.
이는 다른 플랫폼이 제공하는 것과는 실질적으로 다릅니다.
React Native, SwiftUI, Compose — 그 어떤 것도 AI 에이전트가 실행 중인 애플리케이션 인스턴스와 상호 작용할 수 있는 표준화된 프로토콜을 가지고 있지 않습니다.
Flutter는 모바일 UI 개발 분야에서 최초로 프로덕션 준비가 된 에이전트-앱 프로토콜(agent-to-app protocol)을 출시했습니다.

GenUI SDK와 A2UI 프로토콜은 이를 한 단계 더 발전시킵니다. AI 에이전트는 단순히 정적인 위젯 트리(widget trees)를 작성하는 것에 그치지 않고, 런타임 컨텍스트(runtime context)를 기반으로 기능적이고 동적인 UI 컴포넌트(UI components)를 구성합니다. UI는 AI가 사용자의 상태에 대해 이해한 내용에 따라 말 그대로 적응합니다.

비판 (깊이 있는 분석은 정직함을 의미하므로)
저는 왜 I/O 2026이 진정한 아키텍처적 전환을 나타내는지에 대해 2,000단어에 걸쳐 설명했습니다. 여기서 제가 생각하기에 Google이 잘못했거나, 적어도 불완전하다고 느끼는 부분은 다음과 같습니다.

규모가 커질 때 Jules는 여전히 블랙박스(Black Box)입니다
비동기 PR(async PR) 모델은 Jules가 검증할 수 있는 완전한 테스트 커버리지(test coverage)를 가지고 있을 때 작동합니다. 하지만 대부분의 실제 코드베이스는 그렇지 않습니다. Jules가 테스트 커버리지가 60%인 코드베이스에 PR을 생성할 때, 테스트되지 않은 영역에 대한 책임은 누구에게 있을까요? PR을 검토하는 개발자는 이제 Jules가 '자신이 무엇을 모르는지조차 모르는' 부분에 대해 추론해야 합니다. 이는 새로운 기술이며, Google은 아직 이를 지원할 도구(tooling)를 출시하지 않았습니다.

ADK 1.0은 멀티 에이전트 조정(Multi-Agent Coordination) 측면에서 아직 초기 단계입니다
ADK 1.0의 멀티 에이전트 지원은 존재하며, 에이전트 메시(agent meshes)를 구축할 수 있습니다. 하지만 에이전트 간에 의견이 불일치하거나, 루프(loop)에 빠지거나, 충돌하는 상태 변경(state changes)을 생성할 때의 디버깅(debugging) 시나리오는 빈약합니다. 분산 시스템(Distributed systems) 디버깅은 어렵습니다. 분산 AI 에이전트 디버깅은 대체로 해결되지 않은 문제입니다. I/O에서 에이전트 관측성(agent observability)에 관한 더 구체적인 도구를 볼 수 있었으면 좋았을 것입니다.

Firebase 보안 전환이 불완전합니다
서버 프롬프트 템플릿(Server Prompt Templates)은 프롬프트 인젝션(prompt injection) 공격 표면을 해결합니다. App Check는 권한이 없는 호출자(unauthorized caller) 표면을 해결합니다. 하지만 둘 다 출력 검증(output validation) 문제는 해결하지 못합니다. 만약 Gemini가 형식이 잘못된 구조화된 JSON 응답을 반환한다면, Firebase AI Logic에는 내장된 스키마 강제(schema enforcement) 계층이 없습니다. 결국 직접 검증 미들웨어(validation middleware)를 작성해야 하는 상황으로 돌아가게 됩니다. 이는 Pydantic AI와 Instructor가 Python 생태계에서 채워온 공백이며, Firebase에도 이에 상응하는 기능이 필요합니다.

Gemini CLI 지원 종료는 더 많은 경고가 필요합니다
Gemini CLI는 2026년 6월 18일 이후로 요청 처리를 중단합니다. Antigravity CLI가 그 대체제입니다.

마이그레이션 경로(migration path)는 존재하지만, Gemini CLI를 기반으로 워크플로(workflows), CI 통합, 확장 에코시스템(extension ecosystems)을 구축해 온 팀들에게 30일이라는 시간은 매우 짧은 활주로입니다. 이로 인한 혼란은 제대로 보도되지 않고 있습니다.

구체적으로 당신에게 의미하는 바:

이 모든 상황에서 실제로 무엇을 해야 할지 파악하려는 개발자라면:

향후 30일 이내에:

  • 6월 18일 이전에 Gemini CLI에서 Antigravity CLI로 마이그레이션하십시오.
  • 팀의 백엔드에서 사용하는 언어에 맞춰 ADK 1.0을 탐색하십시오. 우선 주력 언어로 제공되는 퀵스타트(quickstart)부터 시작하십시오.
  • Firebase + Gemini 통합을 사용 중이라면, Firebase AI Logic과 App Check를 사용하여 리팩터링하십시오. 프로덕션 앱(production apps)에서 보안 차이(security delta)는 선택 사항이 아닙니다.

향후 90일 이내에:

  • 테스트 커버리지(test coverage)가 양호한 비핵심 리포지토리(non-critical repo)에서 Jules를 실험해 보십시오. 마치 새로운 엔지니어를 온보딩(onboarding)하는 것처럼 취급하십시오. 잘 정의된 작업부터 시작하고 모든 PR(Pull Request)을 주의 깊게 검토하십시오.
  • Flutter로 모바일 앱을 구축하고 있다면, A2UI 사양(spec)을 읽어보십시오. 이 프로토콜은 연말 이전에 서드파티(third-party) 구현체들이 나올 예정입니다.

향후 가져야 할 사고 모델(mental model)로서:
최적화를 중단하십시오

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0