5-Day AI Agents

(Day 1) 5-Day AI Agents: Intensive Vibe Coding Course With Google

해맑은리트리버 2026. 6. 15. 15:42
5-Day of AI Agents: Intensive Vibe Coding Course는 Google이 제공하는 실습 중심의 AI 에이전트 개발 교육 프로그램이다. 이 과정은 최근 주목받고 있는 Vibe Coding을 중심으로 AI 에이전트의 핵심 개념부터 도구(Tool) 및 API 연동, 멀티 에이전트 아키텍처, 메모리 관리, 평가 및 보안, 그리고 실제 서비스 배포까지 전 과정을 5일에 걸쳐 학습할 수 있도록 설계되었다. 매일 이론과 실습, 예제를 함께 제공하며, 마지막에는 직접 AI 에이전트 시스템을 구축하는 캡스톤 프로젝트를 수행하게 된다.

 

이번 과정은 2026년 6월 15일부터 19일까지 진행된다. 


AI 에이전트 개발에 관심이 있거나 Vibe Coding을 활용한 개발 방식을 경험해 보고 싶다면 지금 바로 신청해 보자🙌

 

Day 1. 오늘의 과제가 도착했다!

🎒 Today's Assignments

Complete Unit 1 – "Introduction to Agents & Vibe Coding"
- Listen to the summary podcast episode for this unit.
- To complement the podcast, read "The New SDLC with Vibe Coding" whitepaper.
- Complete these codelabs:
	- Get started with Antigravity 2.0 and IDE
	- Build a Web Application in AI Studio and Deploy to Cloud Run
    
💡 What You’ll Learn

Today's whitepaper talks about the transition from manual syntax coding to intent-driven "vibe coding" and disciplined "agentic engineering." It explores how AI agents compress the traditional software development life cycle (SDLC) and explains the "factory model" where developers act as system orchestrators who design the evaluation, constraint, and context harnesses that safely guide autonomous execution.

In the codelabs, you'll familiarize yourself with Antigravity 2.0, the Antigravity IDE, and the Antigravity CLI to vibecode your first applications. You'll also use Google AI Studio to deploy your app to Cloud Run, enabling you to share your vibe coded app with your friends.

 

먼저 The New SDLC(Software Development Life Cycle) With Vibe Coding 백서를 읽어보자.

The most profound shift in software engineering isn't a new language, framework, or cloud service. It's the transition from writing code to expressing intent, and trusting intelligent systems to translate that intent into working software.

 

도입부에 등장하는 이 문장은 이번 과정이 지향하는 바를 잘 보여준다. AI의 발전으로 소프트웨어 개발의 진입장벽은 점점 낮아지고 있으며, 무엇을 만들고 왜 만들어야 하는가를 정의하는 일이 더욱 중요해지고 있다. 특히 AI 에이전트는 단순히 코드를 생성하는 것을 넘어 목표를 기반으로 스스로 계획을 세우고 필요한 도구를 활용해 작업을 수행할 수 있다. 이러한 변화를 보며 앞으로는 문제를 구조화하고 의도를 명확하게 전달하는 능력이 중요한 경쟁력이 될 것이라고 느꼈다.

 

아래는 일부 핵심 개념에 대해 정리한 내용이다.

AI Agent

Google은 AI Agent를 단순히 질문에 답변하는 챗봇이 아닌, 주어진 목표를 달성하기 위해 스스로 계획을 세우고 행동하는 소프트웨어 시스템으로 정의한다.

일반적인 챗봇은 사용자의 질문에 답변한 뒤 다음 입력을 기다리지만, AI Agent는 목표를 부여받으면 스스로 다음 행동을 결정하며 작업을 이어간다. 목표를 이해하고, 필요한 정보를 수집하고, 도구를 활용해 작업을 수행한 뒤 결과를 평가하고 다시 행동하는 과정을 반복한다.

 

예를 들어 "경쟁사 분석 보고서를 작성해줘"라는 목표를 받으면 단순히 답변을 생성하는 것이 아니라, 필요한 자료를 검색하고, 데이터를 정리하고, 보고서를 작성하는 일련의 과정을 스스로 계획하고 수행할 수 있다.

Google은 이러한 AI Agent가 다음의 5가지 핵심 요소로 구성된다고 설명한다.

  • Model: 에이전트의 두뇌 역할을 하는 추론 엔진으로, 현재 상황을 이해하고 다음 행동을 결정한다.
  • Tools: API, 데이터베이스, 코드 실행 환경 등 외부 세계와 상호작용하기 위한 수단이다.
  • Memory: 이전 대화와 작업 내용을 기억해 맥락을 유지하고 지속적인 작업을 가능하게 한다.
  • Orchestration: 에이전트의 실행 흐름을 관리하는 제어 계층으로, 모델 호출과 도구 사용, 결과 평가를 반복 수행한다.
  • Deployment: 에이전트를 실제 서비스로 운영하기 위한 인프라와 모니터링, 인증 및 운영 환경을 의미한다.

Vibe Coding

이 용어는 2025년 2월 Andrej Karpathy가 처음 소개하면서 널리 알려졌다. 그는 개발자가 자연어로 원하는 기능을 설명하고, AI가 생성한 코드를 그대로 받아들이며, 문제가 발생하면 에러 메시지를 다시 AI에게 전달해 수정하는 개발 방식을 Vibe Coding이라고 표현했다.

 

이 개념은 많은 개발자들의 공감을 얻으며 빠르게 확산되었다. 실제로 이미 많은 개발자가 AI를 활용해 개발하고 있었지만, 이를 설명할 적절한 용어가 없었기 때문이다. 이후 Vibe Coding은 AI를 활용한 개발 전반을 가리키는 표현으로 사용되기 시작했다.

하지만 시간이 지나면서 용어의 범위가 지나치게 넓어졌다. 단순히 AI에게 코드를 맡기는 방식부터, 체계적인 설계와 아키텍처를 기반으로 AI를 활용하는 방식까지 모두 Vibe Coding으로 불리게 되면서 의미가 모호해졌다.

 

이에 Karpathy는 2026년 초, 보다 체계적이고 엔지니어링 중심의 AI 개발 방식을 설명하기 위해 Agentic Engineering이라는 개념을 제시했다. 이는 단순히 AI가 생성한 코드를 받아들이는 것이 아니라, 명확한 목표와 설계 아래 AI 에이전트를 활용해 개발 생산성을 높이는 접근 방식이라고 볼 수 있다.

핵심적인 차이는 AI를 사용하느냐가 아니라, AI가 생성한 결과물에 얼마나 많은 구조화된 프로세스, 검증 과정, 그리고 인간의 판단이 개입되는가에 있다. 즉, 간단한 프로토타입을 빠르게 만들어 보는 단계에서는 Vibe Coding이 효과적일 수 있지만, 실제 서비스 수준의 시스템을 구축할 때는 명확한 설계와 검증 과정을 포함하는 Agentic Engineering이 필요하다. 이번 과정 역시 단순히 AI에게 코드를 맡기는 방법이 아니라, AI 에이전트와 협업하며 신뢰할 수 있는 소프트웨어를 구축하는 방법에 초점을 맞추고 있다.

Context Engineering

AI 코딩이 확산되면서 흥미로운 사실이 발견되었다. 좋은 결과를 얻기 위해서는 프롬프트를 얼마나 영리하게 작성하느냐보다, AI에게 얼마나 적절한 맥락(Context)을 제공하느냐가 더 중요하다는 것이다. 문서에서는 이를 Context Engineering이라고 정의한다. 단순히 한두 줄의 지시사항을 입력하는 것이 아니라, 코드베이스 구조, 아키텍처, 개발 규칙, 프로젝트 목적과 같은 정보를 체계적으로 제공하여 AI가 더 정확한 판단을 내릴 수 있도록 만드는 과정이다.

백서에서는 컨텍스트를 크게 6가지 요소로 설명한다.

  • Instructions: 에이전트의 역할과 목표
  • Knowledge: 문서, 설계도, 도메인 지식
  • Memory: 이전 작업 내용과 프로젝트 상태
  • Examples: 참고할 코드와 예제
  • Tools: 사용할 수 있는 API와 외부 도구
  • Guardrails: 제약 조건과 검증 규칙

컨텍스트는 크게 두가지로 구분된다. Static Context시스템 프롬프트나 프로젝트 규칙처럼 항상 로드되는 정보이고, Dynamic Context작업에 따라 필요할 때만 불러오는 정보다. 모든 정보를 항상 제공하면 비용이 증가하고 중요한 신호가 묻힐 수 있기 때문에, 무엇을 기본적으로 제공하고 무엇을 필요할 때 가져올 것인지는 중요한 설계 결정이 된다. 이 Dynamic Context를 효율적으로 관리하는 방법으로 Agent Skills를 소개한다. Skills는 특정 작업을 수행하기 위한 절차와 지식을 모듈 형태로 저장해 두고, 필요할 때만 불러와 사용하는 방식이다. 이를 통해 에이전트는 모든 정보를 항상 가지고 있을 필요 없이, 작업에 맞춰 전문가 역할을 수행할 수 있다.

 

결국 Context Engineering의 핵심은 더 좋은 프롬프트를 작성하는 것이 아니라, AI가 올바른 판단을 내릴 수 있도록 필요한 정보를 적절한 시점에 제공하는 것이라고 이해했다.

Harness Engineering

AI 에이전트를 개발하다 보면 종종 모든 성능 차이를 모델 자체에서 찾으려는 경향이 있다. 새로운 모델이 출시되면 에이전트가 똑똑해지고, 성능이 떨어지면 모델의 한계 때문이라고 생각하기 쉽다.

하지만 실제로 사용자가 경험하는 AI 에이전트의 성능은 모델 자체보다도 그 주변을 둘러싼 시스템, 즉 Harness에 크게 영향을 받는다.

Harness는 모델이 실제 작업을 수행할 수 있도록 지원하는 실행 환경을 의미한다. 모델은 단지 추론을 담당할 뿐이며, 에이전트가 계획을 세우고 행동하며 결과를 검증하는 과정은 모두 Harness 위에서 이루어진다.

 

백서에서는 Harness를 다음과 같은 요소들의 집합으로 설명한다.

  • Instructions & Rule Files: 에이전트의 역할과 규칙 정의
  • Tools: API, MCP 서버, 외부 서비스 연동
  • Sandbox & Execution Environment: 코드 실행 환경과 권한 제어
  • Orchestration Logic: 에이전트 간 협업과 실행 흐름 관리
  • Guardrails & Hooks: 필수 검증 로직과 안전장치
  • Observability: 로그, 추적, 비용 및 성능 모니터링

흥미로운 점은 이러한 Harness가 소프트웨어 개발 생명주기(SDLC) 전반에 걸쳐 활용된다는 것이다.

요구사항 정의 단계에서는 에이전트가 따라야 할 규칙과 제약조건을 설정하고, 구현 단계에서는 도구와 샌드박스를 통해 안전하게 코드를 생성한다. 테스트 단계에서는 실행 결과를 다시 에이전트에게 전달하여 스스로 수정하도록 만들고, 운영 단계에서는 로그와 모니터링을 통해 에이전트의 행동을 추적한다.

 

결국 AI 에이전트의 품질은 단순히 어떤 모델을 사용하는가보다, 에이전트가 올바르게 동작할 수 있도록 어떤 환경과 프로세스를 설계했는가에 더 크게 좌우된다. 이는 전통적인 소프트웨어 개발에서 좋은 개발 환경과 아키텍처가 중요했던 것처럼, AI 시대에는 Harness Engineering이 핵심 역량이 될 수 있음을 보여준다.

Google AI Studio

이제 AI Studio에서 자연어 프롬프트만을 이용해 웹페이지를 만드는 실습을 해보자.

Create a formal looking frontend application that has two buttons: "Snowflakes" and "Balloons".  
If the user clicks on the "Snowflakes" button, snowflakes of medium size should start falling on the screen from top to bottom for 5 seconds.  
If the user clicks on the "Balloons" button, balloons of medium size should start floating from the bottom of the screen and float to the top for 5 seconds.

 

이 프롬프트는 두 개의 버튼이 있는 단순한 프론트엔드 애플리케이션을 요청한다. 사용자가 Snowflakes 버튼을 누르면 중간 크기의 눈송이가 화면 위에서 아래로 5초 동안 떨어지고, Balloons 버튼을 누르면 중간 크기의 풍선이 화면 아래에서 위로 5초 동안 떠오르도록 만드는 것이 목표다.

 

Build 버튼을 누르면 Gemini가 프롬프트를 바탕으로 웹페이지를 생성한다.

 

생성된 페이지에서 SNOWFLAKES 버튼을 누르면 화면 위에서 눈송이가 5초 동안 떨어지고,

 

BALLOONS 버튼을 누르면 화면 아래에서 풍선이 5초 동안 떠오르는 것을 확인할 수 있었다.

 

이제 만들어진 앱을 Publish 해보자. Publish가 완료되면 생성된 URL을 통해 누구나 웹페이지에 접속할 수 있다.

 

모바일 기기에서 해당 주소에 접속해 보니 별도의 배포 과정 없이 바로 사용할 수 있었다.

 

실습이 끝난 후에는 불필요한 공개를 방지하기 위해 Unpublish 하는 것을 잊지 말자.

 

그럼 이것으로 Day 1 내용을 마무리하고, 다음 글에서는 Day 2 내용을 정리해보도록 하겠다.