Day 4: The Architect - Vibe Coding

학습 시간: 4시간
목표: PRD/TDD 작성법과 Vibe Coding으로 자동화 봇 만들기

📚 오늘 사용할 도구

도구공식 문서용도
Google ColabColab Help · Colab Enterprise Docs브라우저에서 Python 실행
Google AI StudioAI Studio · QuickstartGemini API 테스트 및 키 발급
Gemini APIAPI Docs · Getting StartedAI 모델 API

Part 1: Vibe Coding이란? (30분)

새로운 개발 패러다임

기존 개발

개발자가 코드를 한 줄씩 작성
→ 버그 수정
→ 테스트
→ 완성

Vibe Coding

flowchart LR
    H["👤 사람<br/>무엇을? (PRD)"] --> A["🤖 AI<br/>어떻게? (코드)"]
    A --> V["👤 사람<br/>검증/수정"]
    V --> F["✅ 완성"]
    V -.->|"수정 요청"| A

Vibe Coding의 핵심

역할사람AI
기획무엇을 만들지 정의-
설계큰 구조 결정상세 설계 제안
코딩검증, 수정 지시코드 생성
테스트시나리오 정의테스트 코드 생성
배포최종 확인배포 스크립트

핵심: 코딩 능력 없이도 기획력으로 프로덕트 제작 가능


필요한 것

  1. PRD (Product Requirements Document): 무엇을 만들지
  2. TDD (Technical Design Document): 어떻게 만들지
  3. AI 도구: 코드 생성기
  4. 실행 환경: Google Colab, Replit 등

Part 2: PRD 작성법 (1시간)

PRD란?

Product Requirements Document

제품 요구사항 정의서 - “무엇을 만들 것인가?”


PRD 템플릿

# [프로젝트명] PRD

## 1. 개요

- 프로젝트 이름:
- 작성자:
- 최종 수정일:
- 버전:

## 2. 배경 및 목적

### 문제 정의

- 현재 어떤 문제가 있는가?
- 왜 이 문제를 해결해야 하는가?

### 목표

- 이 프로젝트로 무엇을 달성하려 하는가?
- 성공 지표(KPI)는?

## 3. 사용자 정의

### 타겟 사용자

- 누가 사용하는가?
- 사용자의 기술 수준?

### 사용자 스토리

- "~로서, ~하기 위해, ~하고 싶다"

## 4. 기능 요구사항

### 핵심 기능 (Must Have)

1.
2.
3.

### 부가 기능 (Nice to Have)

1.
2.

### 제외 사항 (Out of Scope)

1.
2.

## 5. 비기능 요구사항

- 성능:
- 보안:
- 호환성:

## 6. 제약 조건

- 기술 제약:
- 시간 제약:
- 비용 제약:

## 7. 타임라인

- Phase 1:
- Phase 2:

예시: 바이어 자동 응답 봇 PRD

# 바이어 문의 자동 분류/응답 봇 PRD

## 1. 개요

- 프로젝트 이름: InquiryBot
- 작성자: 홍길동
- 최종 수정일: 2024-01-15
- 버전: 1.0

## 2. 배경 및 목적

### 문제 정의

- 하루 평균 50건 이상의 바이어 문의 이메일 수신
- 담당자가 일일이 분류하고 답변하는 데 3시간+ 소요
- 주말/휴일 응답 지연으로 바이어 이탈 발생

### 목표

- 문의 자동 분류로 담당자 업무 시간 50% 단축
- 간단한 문의에 자동 응답으로 첫 응답 시간 5분 이내

## 3. 사용자 정의

### 타겟 사용자

- 해외영업팀 담당자 (5명)
- 기술 수준: 엑셀 사용 가능, 코딩 불가

### 사용자 스토리

- 영업 담당자로서, 문의가 자동 분류되어
  우선순위 높은 것부터 처리하고 싶다
- 관리자로서, 주간 문의 통계를 확인하고 싶다

## 4. 기능 요구사항

### 핵심 기능 (Must Have)

1. 이메일 문의 자동 분류
   - 카테고리: 가격문의, 샘플요청, 기술문의, 불만, 기타
2. 간단한 문의 자동 응답
   - 가격표 요청 → 가격표 PDF 자동 발송
   - MOQ 문의 → 정형화된 답변 발송
3. 분류 결과 스프레드시트 기록

### 부가 기능 (Nice to Have)

1. Slack 알림 (긴급 문의 시)
2. 주간 리포트 자동 생성

### 제외 사항 (Out of Scope)

1. 복잡한 협상 이메일 자동 응답
2. 다국어 자동 번역

## 5. 비기능 요구사항

- 응답 속도: 문의 수신 후 5분 이내 분류
- 정확도: 분류 정확도 85% 이상
- 보안: 고객 이메일 데이터 외부 미전송

## 6. 제약 조건

- 예산: 월 $50 이내 (API 비용)
- 기술: Google Workspace 환경 필수
- 시간: 2주 내 MVP 완성

🎯 실습 1: PRD 작성

미션: 자신의 업무에서 자동화하고 싶은 것을 PRD로 작성

# [프로젝트명] PRD

## 배경 및 목적
현재 문제:

해결하고자 하는 것:

## 핵심 기능
1.
2.
3.

## 제약 조건
- 비용:
- 기술:
- 시간:

Part 3: TDD 작성법 (30분)

TDD란?

Technical Design Document

기술 설계 문서 - “어떻게 만들 것인가?”


TDD 템플릿

# [프로젝트명] TDD

## 1. 시스템 아키텍처

### 개요

- 전체 구조 설명
- 주요 컴포넌트

### 아키텍처 다이어그램

[Input] → [Process] → [Output]

## 2. 기술 스택

- 언어:
- 프레임워크:
- 외부 서비스:
- 호스팅:

## 3. 데이터 흐름

1. 입력 처리
2. 로직 실행
3. 출력 생성

## 4. API 설계

### 엔드포인트

- GET /api/v1/...
- POST /api/v1/...

### 데이터 모델

```json
{
  "field1": "type",
  "field2": "type"
}
```

5. 보안 고려사항

  • 인증:
  • 데이터 암호화:
  • 접근 제어:

6. 에러 처리

  • 예상 에러 케이스
  • 처리 방법

---

### 예시: InquiryBot TDD

```markdown
# InquiryBot TDD

## 1. 시스템 아키텍처

[Gmail]
   ↓ (새 이메일 감지)
[Google Apps Script]
   ↓ (이메일 내용 추출)
[Gemini API]
   ↓ (분류 + 응답 생성)
[Google Sheets] ← 분류 결과 기록

[Gmail] → 자동 응답 발송

## 2. 기술 스택
- 언어: JavaScript (Google Apps Script)
- AI: Gemini API (무료 티어)
- 저장소: Google Sheets
- 트리거: Gmail 이벤트 + 시간 기반

## 3. 데이터 흐름
1. Gmail에 새 이메일 도착
2. Apps Script가 5분마다 새 이메일 체크
3. 이메일 제목/본문을 Gemini API에 전송
4. 분류 결과(카테고리, 긴급도) 수신
5. Google Sheets에 기록
6. 자동 응답 해당 시 답장 발송

## 4. 프롬프트 설계

당신은 무역회사의 이메일 분류 전문가입니다.

아래 이메일을 분석하고 JSON 형식으로 답변하세요:

이메일: 제목: {subject} 본문: {body}

분류 기준:

  • category: PRICE_INQUIRY, SAMPLE_REQUEST, TECHNICAL, COMPLAINT, OTHER
  • urgency: HIGH, MEDIUM, LOW
  • auto_reply: true/false
  • reply_template: (자동응답 시 템플릿 ID)

응답 예시: { “category”: “PRICE_INQUIRY”, “urgency”: “MEDIUM”, “auto_reply”: true, “reply_template”: “PRICE_LIST” }


## 5. 에러 처리
- API 실패 시: 3회 재시도 후 수동 분류 플래그
- 파싱 오류: 기본값 "OTHER" 할당
- 스프레드시트 오류: 로그 기록 후 이메일 알림

Part 4: Google Colab으로 봇 만들기 (1.5시간)

Google Colab이란?

  • 브라우저에서 Python 코드 실행
  • 무료 GPU/TPU 제공
  • 구글 드라이브 연동
  • 설치 없이 바로 시작

접속: colab.google


실습: 간단한 이메일 분류 봇

Step 1: 새 노트북 생성

Colab 접속 → “새 노트북”

Step 2: 필요한 라이브러리

!pip install google-generativeai

Step 3: Gemini API 설정

import google.generativeai as genai

# API 키 설정 (AI Studio에서 발급)
genai.configure(api_key="YOUR_API_KEY")

# 모델 선택
model = genai.GenerativeModel('gemini-pro')

Step 4: 분류 함수

def classify_email(subject, body):
    prompt = f"""
    당신은 무역회사 이메일 분류 전문가입니다.

    아래 이메일을 분석하고 분류하세요:

    제목: {subject}
    본문: {body}

    다음 형식으로 답변:
    카테고리: [가격문의/샘플요청/기술문의/불만/기타]
    긴급도: [높음/보통/낮음]
    자동응답 가능: [예/아니오]
    요약: [한 문장 요약]
    """

    response = model.generate_content(prompt)
    return response.text

Step 5: 테스트

# 테스트 이메일
test_subject = "Price inquiry for skincare products"
test_body = """
Dear Sir/Madam,

We are a distributor in Vietnam and interested in
your skincare product line. Could you please send
us your price list and MOQ information?

Best regards,
Nguyen
"""

result = classify_email(test_subject, test_body)
print(result)

🎯 실습 2: 나만의 봇 만들기

미션: 위 코드를 수정해서 자신만의 분류 봇 만들기

  1. 분류 카테고리 수정
  2. 프롬프트 커스터마이징
  3. 여러 이메일 테스트

AI Studio 활용

Google AI Studio: aistudio.google.com

  • Gemini API 무료 테스트
  • 프롬프트 실험
  • API 키 발급

Part 5: 전체 워크플로우 (30분)

PRD → TDD → 코드 → 배포

flowchart TD
    P1["1️⃣ 문제 정의"]
    P2["2️⃣ PRD 작성<br/>(AI 도움)"]
    P3["3️⃣ TDD 작성<br/>(AI 도움)"]
    P4["4️⃣ 코드 생성<br/>(AI)"]
    P5["5️⃣ 테스트<br/>(내가 검증)"]
    P6["6️⃣ 수정 요청<br/>(AI에게)"]
    P7["7️⃣ 배포/운영"]

    P1 --> P2 --> P3 --> P4 --> P5
    P5 -->|"통과"| P7
    P5 -->|"실패"| P6 --> P4

AI에게 코드 요청하는 방법

PRD와 TDD를 함께 제공

다음 PRD와 TDD를 기반으로 코드를 작성해주세요:

[PRD 전체 내용]

[TDD 전체 내용]

요구사항:
- Google Colab에서 실행 가능
- 주석 포함
- 에러 처리 포함
- 테스트 코드 포함

Day 4 핵심 정리

개념설명
Vibe Coding기획으로 코딩하는 새 패러다임
PRD무엇을 만들지 정의하는 문서
TDD어떻게 만들지 설계하는 문서
Colab브라우저에서 코드 실행
AI StudioGemini API 테스트 및 발급

과정 전체 정리

Day역할핵심 역량
1Director마인드셋, CCO 프레임워크
2StrategistRAG 리서치, 페르소나 롤플레이
3Creator이미지, PPT, 랜딩페이지
4ArchitectPRD/TDD, Vibe Coding

다음 단계

  1. 일상 업무에 적용: 오늘 배운 것 하나씩 적용
  2. 자동화 프로젝트: 간단한 것부터 Vibe Coding 시도
  3. 지속 학습: AI 도구 변화에 계속 적응
  4. 공유: 배운 것을 팀과 나누기

숙제 (선택)

  1. 자신의 업무 자동화 PRD 1개 완성
  2. AI Studio에서 API 키 발급
  3. Colab에서 간단한 봇 코드 실행해보기