C5 Day 5 — 한입 분해: Day 4 봇을 5 단계로
Case (사례·인용)lectureverifiedMon May 04

C5 Day 5 — 한입 분해: Day 4 봇을 5 단계로

별칭: C5 Day 5 · 비기너 5일차 · 한입 분해

#beginner#day5#one-bite#decomposition

요약

C5 비기너 7 일 코스의 5 일차 실습이다. 학습자는 60 분 안에 4 일차의 약속 봇 설계5 개의 한입 (one-bite) task 카드로 분해 한다. 한 task 의 단위는 2~5 분 안에 완료 가능한 원자적 작업 으로 정의되며, 각 task 는 입력·출력·검증 기준 을 명시해 독립적으로 검증 가능 해야 한다. 이날 학습자가 만나는 깨달음은 — AI 가 큰 작업을 받으면 폭주하지만, 5 개의 작은 task 로 쪼개 주면 각각 검증 가능해진다 는 점이며, 이것이 concept/orchestration (오케스트레이션) 의 시작점이다.

목표

60 분 안에 Day 4 봇을 5 단계 task 카드로 분해. 한 task = 2~5 분 안에 완료 가능한 원자적 작업.

한입 분해 5 단계 (약속 봇)

Day 5 task 카드한입 단위예상 소요
task/parse-natural-language.md"내일 점심 김밥" → {date, time, type} JSON2 분
task/check-calendar-conflict.md사용자 캘린더 events.list → 충돌 검사3 분
task/suggest-restaurant.mdtype 기반 식당 3 곳 검색 (Google Places)5 분
task/send-friend-message.md친구에게 제안 메시지 (카톡/슬랙)3 분
task/confirm-and-register.md친구 응답 받으면 캘린더 등록3 분

→ 합계 16 분. 각 task 가 독립적으로 검증 가능 — 한입 1 개에 입력 / 출력 / 검증 기준 기록됨.

한입 task 카드 골격

---
wiki_id: task/parse-natural-language
title: 자연어 → JSON 파싱
type: task
parent: concept/appointment-bot
estimated_minutes: 2
---

## 입력
"내일 점심 김밥 먹자"

## 출력
```json
{ "date": "2026-05-05", "time": "12:00", "type": "lunch", "cuisine": "korean" }

검증 기준 (testable)

  • 날짜 형식 ISO8601
  • time 24h
  • type ∈ {breakfast, lunch, dinner, snack}
  • 빈 입력 → 에러 처리

## 졸업 기준

- [ ] task 카드 5 장 작성
- [ ] 각 task 의 *입력 / 출력 / 검증 기준* 명시
- [ ] *코드 ❌* — 설계만

## 깨달음 (Day 5 의 *왜*)

> *"AI 가 *큰 작업* 을 시키면 폭주한다. *작은 task 5 개* 로 쪼개면 *각각 검증 가능*. 이게 [concept/orchestration](/vibe-coding/concept/orchestration/) 의 시작점."*

→ Day 4 의 *3 카드 설계* + Day 5 의 *5 task 분해* = HIAO 1-N-N 의 *L1 → L3* 첫 형태.

## 흔한 실수

| # | 증상 | 해결 |
|:---:|:---|:---|
| 1 | task 가 너무 큼 | 5 분 안에 끝나는 단위로 |
| 2 | 검증 기준 미작성 | testable 한 *명시 검증* 필요 |
| 3 | task 끼리 의존성 기록됨 | 가능한 *독립* 으로 분해 |

## 다음 — Day 6

[case/c5-day6-verification](/vibe-coding/case/c5-day6-verification/) — Claude 가 본인 카드를 평가