워밍업 실습 · 1일차 휴식 1 직후

테트리스에서 팩맨까지

같은 "게임 만들기"라도 복잡도가 달라지면 접근법도 달라져야 한다. 바이브코딩으로 테트리스를 만들어보고, 단일 프롬프트로 팩맨에 실패한 뒤 기획·개발·QA 3단계 멀티 에이전트로 재시도하며 그 차이를 몸으로 체감한다.

플랫폼: claude.ai 또는 Claude Code · 소요 시간: 40분(테트리스 10분 + 팩맨 25분 + 시사점 5분) · 관련: 2장 §2 단일 에이전트 한계

이 워밍업에서 체험하는 것
  • 테트리스(10분) — 바이브코딩 한 번의 프롬프트로 완성, 수정도 문제없이 반영
  • 팩맨(25분) — 단일 프롬프트로 실패 체험 → 기획·개발·QA 3단계 멀티 에이전트로 성공
  • 시사점(5분) — 복잡도가 높을수록 역할 분리의 가치는 기하급수적으로 증가

테트리스 — 바이브코딩으로 충분한 복잡도 (10분)

4장 실습에서는 참가자를 Claude / Antigravity 등 4개 그룹으로 나누지만, 이 워밍업에서는 전원이 동일한 플랫폼(claude.ai 또는 Claude Code)을 사용한다. 하네스 도구의 차이가 아닌 접근법의 차이에 집중하기 위함이다.

진행 방법

  1. 강사 시연(1분): claude.ai(또는 Claude Code)에 다음 프롬프트를 입력한다.
HTML Canvas로 테트리스 게임을 만들어줘

10~20초 안에 조작 가능한 테트리스가 나온다.

  1. 참가자 따라하기(5분): 각자 같은 프롬프트를 입력해 자신의 테트리스를 만든다.
  2. 수정 요청(4분): 완성된 테트리스에 자유롭게 수정을 요청해 본다.
배경색을 어두운 색으로 바꿔줘
점수판을 크게 만들어줘
다음 블록 미리보기를 추가해줘
핵심 메시지: 테트리스는 ~200줄 수준의 코드로 완성되는 비교적 단순한 게임이다. 이 정도 복잡도에서는 하네스 없이도 바이브코딩 단일 프롬프트로 충분히 작동하는 결과물을 얻을 수 있고, 수정 요청도 문제없이 반영된다.

팩맨 — 복잡도가 만든 한계 (25분)

이번에는 비슷해 보이지만 훨씬 복잡한 게임을 만들어 본다. 팩맨은 캐릭터 이동·유령 AI·충돌 감지·맵 설계·아이템 시스템 등 요소가 훨씬 많아, 완성하면 ~1,000~1,500줄에 달한다.

1단계: 실패 체험 (2~3분)

먼저 테트리스와 똑같은 방식으로 시도해 본다.

HTML Canvas로 팩맨 게임을 만들어줘

캐릭터 이동·유령 AI·충돌 감지·맵 설계가 동시에 하나의 프롬프트에 들어가면, 코드가 뒤엉켜 의도대로 작동하지 않는다. 이 "실패"가 이 워밍업의 핵심 체험이다.

왜 실패할까? 하나의 에이전트에게 너무 많은 역할을 동시에 주면 2장 §2에서 다루는 컨텍스트 과부하가 발생한다. 각 기능은 개별적으로 구현 가능해도, 동시에 조율하면 충돌과 누락이 생긴다.

2단계: 멀티 에이전트로 재시도 (각 step 약 7~8분)

이번에는 하나의 에이전트가 아닌 3개의 역할로 나누어 순차적으로 진행한다.

Step 1 — 기획 에이전트

팩맨의 기능 목록과 맵 구조를 명세서로 작성한다. 어떤 캐릭터가 있고, 맵이 어떻게 생겼으며, 게임 규칙이 무엇인지를 정의하는 단계다.

팩맨 게임의 기능 목록과 맵 구조를 명세서로 작성해줘. 다음 항목을 포함해:
- 캐릭터(팩맨, 유령 4종)의 동작 방식
- 맵 구조(벽, 점, 파워업 위치)
- 게임 규칙(점수, 생명, 레벨)
Step 2 — 개발 에이전트

Step 1에서 만든 명세서를 바탕으로 실제 HTML 팩맨 코드를 작성한다. 기획이 명확하니, 개발 에이전트는 "무엇을 만들지" 고민할 필요 없이 구현에만 집중한다.

아래 명세서를 기반으로 HTML Canvas로 팩맨 게임 코드를 작성해줘:
[Step 1 결과를 여기에 붙여넣기]
Step 3 — QA 에이전트

완성된 코드에서 버그를 찾고 수정한다. 실제로 게임을 실행해 보며, 캐릭터가 벽을 통과하는지, 유령 AI가 정상 동작하는지, 점수가 올바르게 계산되는지 검증한다.

이 팩맨 게임 코드의 버그를 찾아 수정해줘:
[Step 2 결과를 여기에 붙여넣기]
특히 다음을 확인해:
- 벽 충돌 감지가 정확한지
- 유령 AI가 각각 다른 패턴으로 움직이는지
- 점수와 생명이 올바르게 계산되는지
주의: 각 step에서 이전 step의 결과를 그대로 복사해 붙여넣어야 한다. 4장에서 배울 서브에이전트 호출처럼 자동 핸드오프가 아니라, 지금은 수동 핸드오프로 직접 경험하는 것이다.

시사점 — 복잡도가 높을수록 역할 분리의 가치는 기하급수적으로 증가 (5분)

테트리스팩맨
코드량~200줄~1,000~1,500줄
핵심 요소블록 낙하, 회전, 줄 삭제캐릭터 이동, 유령 AI, 충돌 감지, 맵 설계, 아이템
단일 프롬프트✅ 성공❌ 실패
멀티 에이전트 3단계불필요✅ 성공

테트리스처럼 단순한 작업은 바이브코딩(단일 프롬프트)만으로도 충분하다. 하지만 팩맨처럼 복잡도가 높아지면, 하나의 에이전트에게 모든 역할을 맡기는 것은 한계가 있다.

이것이 2장 §2에서 배운 단일 에이전트의 한계를 직접 체험한 것이다. 컨텍스트 과부하, 역할 충돌, 누락 — 이 모든 문제가 역할을 나누었을 때 해결된다.

핵심 메시지:

"복잡도가 높을수록 역할 분리의 가치는 기하급수적으로 증가한다"

이 워밍업에서 수동으로 체험한 핸드오프(기획→개발→QA)를, 이어지는 4장에서는 Claude Code·Claude Desktop App·Antigravity의 서브에이전트 기능과 Codex의 순차 역할 전환으로 자동화된 방식으로 더 깊이 체험하게 된다.

확인 질문

워밍업 실습 확인 질문
  1. 테트리스는 바이브코딩으로 잘 만들어졌지만, 팩맨은 왜 단일 프롬프트로 만들기 어려웠나요?
  2. 팩맨을 기획→개발→QA로 나눈 것과 하나의 에이전트에게 전부 맡긴 것의 차이는 무엇인가요? (→ 2장 §2 역할 충돌)