막연한 세금 챗봇 아이디어를 Claude Code + PDCA로 2주에 걸쳐 기획을 마무리한 과정

소개

### 시도하고자 했던 것

**"세금 잘 모르는 일반인을 위한 AI 상담 챗봇"**을 만들고 싶었습니다.

상속세, 증여세를 검색하면 복잡한 법령만 나오고, 세무사 상담은 비용이 부담스러운 사람들이 많습니다. "내가 세무사가 필요한 상황인지"조차 모르는 사람들에게 AI가 무료로 1차 상담을 해주면 어떨까 — 이게 시작이었습니다.

진행 방법

어떤 도구를 사용했고, 어떻게 활용하셨나요?

### 사용한 도구

| 도구 | 용도 |
|------|------|
| **Claude Code (Opus)** | 기획 대화, 문서 작성, 코드 구현, PDCA 전 과정 |
| **bkit (vibecoding kit)** | PDCA 방법론 관리, gap-detector, report-generator |
| **Next.js 15 + TypeScript** | 웹 프레임워크 |
| **Google Gemini 2.5 Flash** | 챗봇 AI 엔진 |
| **Tailwind CSS** | UI 스타일링 |

진행 과정

지난 주에 01-product-overview를 만들었다. 나의 머리속에 있는 생각들을 끄집어내서 클로드와 티키타카를 하며 만드는데 시간이 꽤 걸렸다. 전체적인 얼개가 나오자 그 이후의 기획들은 이전의 자료를 기반으로 일사천리로 진행되었다. 하지만 결과물을 읽다보면 중간중간에 구멍들이 나타나고 다시 이를 수정하기를 반복하며 진행해 나갔다.

### 과정 1: AI와 대화로 기획 정리

처음에는 "세금 챗봇 만들고 싶다"는 한 줄이 전부였습니다. Claude Code에게 이렇게 물어봤습니다:

```
세금을 잘 모르는 일반인을 위한 AI 상담 챗봇을 만들고 싶어.
어떤 세금에 집중하면 좋을지, 서비스 구조는 어떻게 하면 좋을지,
사업적으로 어떤 가능성이 있는지 함께 기획해줘.
```

이 대화에서 나온 결과가 **7개 기획 문서**입니다:

```
docs/
├── 01-product-overview.md    # 문제 정의, 솔루션, 핵심 원칙
├── 02-user-journey.md        # 사용자 시나리오, 감정 곡선, KPI
├── 03-rag-architecture.md    # 벡터 DB, 검색 전략 (Phase 2용)
├── 04-kakao-integration.md   # 카카오톡 연동 방안 (Phase 2용)
├── 05-tax-pro-portal.md      # 세무사 포털 설계 (Phase 2용)
├── 06-data-privacy.md        # 개인정보보호법, 보안
└── 07-monetization.md        # 수익 모델, 손익분기점
```

막연한 아이디어 하나가 사업 전체 구조로 확장됐습니다.

### 과정 2: PDCA로 체계적 구현 

기획이 끝나고 코드를 짜야 하는데, 이번에는 "그냥 만들기" 대신 **PDCA 사이클**을 적용했습니다.

```
/pdca plan tax-chatbot-mvp
```

이 한 줄로 PDCA가 시작됩니다. bkit이 Plan → Design → Do → Check → Report 순서를 가이드해줍니다.

**Plan (뭘 만들 것인가)**

7개 기획 문서를 분석해서 MVP 범위를 확정했습니다. 여기서 핵심 결정:

```
세무사 모집은 MVP에서 빼고, 나중에 2단계에서 고려할게.
지금은 챗봇이 잘 구동되는 것이 가장 중요해.
```

이 한 마디로 MVP가 확 집중됐습니다. 세무사 포털, 카카오톡, 결제 시스템 — 전부 Phase 2로 미루고 챗봇 핵심에만 집중.

**Design (어떻게 만들 것인가)**

```
/pdca design tax-chatbot-mvp
```

35개 구현 체크리스트를 포함한 설계 문서가 나왔습니다. 아키텍처, 페이지 구조, API 설계, 보안까지 전부 코드 짜기 전에 정리.

**Do (실제로 만들기)**

설계 문서를 보면서 하나씩 구현. 결과: **9개 파일, 899줄**.

```
src/app/
├── page.tsx               # 랜딩 페이지 (255줄)
├── chat/page.tsx          # 챗봇 UI (261줄)
├── api/chat/route.ts      # Gemini API 연동 (81줄)
├── privacy/page.tsx       # 개인정보 처리방침
├── not-found.tsx          # 404 페이지
├── opengraph-image.tsx    # OG 이미지
└── icon.tsx               # Favicon
```

**Check (설계대로 만들어졌는가)**

```
/pdca analyze tax-chatbot-mvp
```

gap-detector가 Design의 35개 체크리스트 vs 실제 코드를 항목별로 비교:

```
Match Rate: 97% (34/35 항목)

랜딩 페이지:  8/8  (100%)
채팅 페이지: 14/14 (100%)
API:          7/7  (100%)
공통:         5/6  (83%)  ← 반응형 3단계 중 2단계만 구현
```

"대충 다 된 것 같다"가 아니라 **97%라는 객관적 숫자**가 나옵니다.

**Report (기록으로 남기기)**

```
/pdca report tax-chatbot-mvp
```

완료 보고서 자동 생성. 뭘 계획했고, 뭘 만들었고, 다음엔 뭘 해야 하는지 기록.

### 과정 3: 로컬 테스트에서 발견한 문제들

빌드는 성공했지만, 실제로 돌려보니 문제가 3개 나왔습니다:

**문제 1: Gemini API 할당량 소진 (429 에러)**
```
Error: 429 Too Many Requests
Quota exceeded for metric: generate_content_free_tier_requests
```
→ Google AI Studio에서 결제 계정 연결로 해결

**문제 2: 모델 버전 404**
```
Error: models/gemini-2.0-flash is no longer available to new users
```
→ 사용 가능한 모델 목록 조회 후 `gemini-2.5-flash`로 교체

**문제 3: 마크다운이 별표 그대로 보임**

AI 답변에서 `**중요**`가 렌더링 안 되고 별표가 그대로 노출
→ `react-markdown` + `@tailwindcss/typography` 설치로 해결

결과와 배운 점

### 최종 결과물

**작동하는 세금 상담 챗봇 MVP**
- 상속세·증여세 전문 AI 상담 (Gemini 2.5 Flash)
- 실시간 스트리밍 답변 + 마크다운 렌더링
- 예시 질문, 답변 복사, 민감정보 경고, 전문가 안내
- 랜딩 페이지 + 개인정보 처리방침 + 404 페이지

**체계적인 문서 세트**
- 기획 문서 7개 (product overview ~ monetization)
- PDCA 문서 4개 (Plan, Design, Analysis, Report)
- 사례글 1개

### 배운 점과 꿀팁

**1. AI에게 "만들어줘"가 아니라 "어떻게 생각해?"라고 물어보세요**

코드를 바로 요청하는 것보다, 기획 단계에서 대화를 나누면 훨씬 좋은 결과가 나옵니다. 7개 기획 문서는 이런 대화에서 나왔습니다.

**2. MVP 범위를 과감히 줄이세요**

세무사 모집, 카카오 연동, 결제 시스템... 전부 하고 싶었지만 "챗봇이 잘 돌아가는 게 먼저"라는 한 줄이 MVP를 완성시켰습니다.

**3. PDCA 체크리스트가 "완성"의 기준을 만들어줍니다**

Design 단계에서 35개 체크리스트를 만들고, Check 단계에서 97%라는 숫자가 나오니 "이만하면 됐다"의 근거가 생겼습니다.

**4. 빌드 성공 ≠ 동작 성공**

Next.js 빌드가 통과해도, API 할당량, 모델 버전, 마크다운 렌더링 — 실제로 돌려봐야 보이는 문제가 있습니다.

### 시행착오

| 시행착오 | 해결 |
|---------|------|
| 처음에 Claude API 사용 → Gemini로 전환 | 12개 문서 + 코드 전체 일괄 수정 (PDCA 문서가 있어서 빠뜨림 없이 가능) |
| 세무사 모집까지 MVP에 넣으려 함 | "챗봇 우선"으로 과감히 범위 축소 |
| Gemini 무료 티어 할당량 소진 | 결제 계정 연결 (Gemini Flash는 매우 저렴) |
| gemini-2.0-flash 모델 사용 불가 | API로 모델 목록 조회 후 gemini-2.5-flash로 교체 |
| 마크다운 별표 그대로 노출 | react-markdown + tailwind typography로 해결 |

### 앞으로의 계획

**즉시:** Vercel 배포 → 실제 사용자 피드백 수집

**Phase 2 (1~3개월):**
- 세무사 파트너 모집·연결 시스템
- RAG 시스템 (최신 세법·판례 기반 정확한 답변)
- 카카오톡 연동 (타겟 사용자 40~60대의 주 채널)

**Phase 3:**
- 양도소득세, 가상자산 등 분야별 챗봇 확장
- 프리미엄 기능 (절세 리포트, 신고 기한 알림)

소감

클로드코드가 너무나 일을 잘 하지만, 결과물을 읽어보면 꼭 내가 생각한 것과 다른 부분이 나온다. 이를 무심히 넘어가지 않고 지적하면 수정도 잘 해준다. 이러한 작은 교정이 쌓여야 좋은 결과물이 나올것 같다는 생각을 했다.

1
1개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요